乐高机器人
一位维基教科书用户认为此页面应该拆分为包含更窄子主题的较小页面。 您可以通过将此大页面拆分为较小的页面来提供帮助。请务必遵循命名策略。将书籍分为更小的部分可以提供更多重点,并允许每个部分都专注于一件事,从而使每个人受益。 |
本文介绍了一些机器人概念,并参考了一个示例:NXT 乐高 Mindstorms 套件。
迄今为止,机器人取得了巨大的成功,在过程控制和装配中自动化了重复性任务,极大地减少了生产成本,但朝认知和更像人类的行为迈出的下一步却难以捉摸。很难制造出能够像人类一样真正学习和适应意外情况的机器人,同时,努力开发出能够像任何动物一样平稳移动的机器也同样具有挑战性。目前还没有机器人能够在没有轻微不平衡的颤抖动作的情况下正常行走。今天的机器人设计师必须解决一些基本问题,才能让机器人像我们在电影中看到的那样,变得像我们一样多才多艺、独立和有用。
机器人的未来分为四个主要类别
这种类型的机器人允许人们从很远的地方进行远程控制的视频会议,而不是为了面对面地进行会议而长途跋涉。另一方面,远程呈现是让用户感觉不到实际存在与远程存在之间的区别的另一种方式。能够操作远程物体或环境的能力是真正的远程呈现系统的一个重要方面。在远程控制的远程呈现中,用户的双手的运动由有线手套和惯性传感器感知,然后远程位置的机器人会复制这些运动。
能够在远程位置(特别是敌对环境,“单调、肮脏和危险的工作”)看到和操作物体,仍然是移动机器人的关键应用。在军事领域,这转化为多种应用。例如,iRobot 的 PackBots 被部署在伊拉克和阿富汗,以查明大楼内的人员情况,以便士兵进入大楼之前了解情况。医疗保健行业也利用远程呈现应用程序,例如 InTouch Health 的移动视频会议机器人,可以让医生远程与医院的患者互动。
这种类型的机器人功能主要用于战争。它们被用于战场上帮助士兵清理建筑物,还可以感知建筑物内部是否有危险,以便他们进入之前知道情况。
美国陆军正在开发能够从战场上检索和搬运受伤士兵的机器人,这对人类士兵来说是一项非常危险的任务。Vecna Technologies 的战场提取辅助机器人 (BEAR) 是一款原型机器人,它可以利用红外线探测人员,将他们抬起来并运送到安全地带。从长远来看,该技术也可以用于医疗保健和家庭护理应用。
导航可以使机器人能够创建自己的路线来递送物品或扫描资产。另一方面,一个为导航目的而编程的机器人(例如)可能会引导人们穿过博物馆。
Aethon 的 Tug 机器人提供了一种先进的导航功能,允许它们下载建筑物地图(如医院)并使用航位推算从一个位置到另一个位置。它们可以感知物体和障碍物,并在必要时即时创建新的路线。Tug 机器人正在许多医院中使用,用于递送药物、餐点或其他用品。
这些类型的机器人是自主的,因为它们在达到目标时会改变环境。一个功能完善的自主机器人能够完成以下任务
- 获取有关环境的信息。
- 在很长一段时间内无需人工干预即可工作。
- 能够在环境中无需人工干预地移动所有部件。
- 能够避免对人员或财产有害的情况。
由于人形机器人试图模拟人类的结构和行为,因此它们通常比任何其他类型的机器人更复杂。人形机器人是为了模仿人类每天进行的一些身体和精神任务而创造的。来自不同领域的科学家共同努力,以便有一天人形机器人能够理解人类的智力,推理并像人类一样行动。
美国在人形机器人或仿人机器人方面活动很少,该领域以日本和韩国为主导(例如本田的 Asimo 和 Kokoro 的 Actroid)。然而,美国的一家公司 Hanson Robotics 正在开拓栩栩如生的头部,这些头部具有逼真的皮肤和特征。当有人接近时,这些头部会说话,并在交谈过程中保持眼神交流。
机器人的编程概念是描述所需的机器人行为,并且必须由编程系统支持。这些编程系统既可以通过目标区分,也可以通过编程方法区分。编程系统通常由开发人员在低级或中级任务之前完成。级别任务编程是由消费者分配任务。机器人编程概念是一种复杂的人机交互技术编程。机器人必须对人类程序员的意图进行建模和推理,并且能够识别人类提出的计划。
机器人系统对它们在真实环境中的复杂交互、它们复杂的传感器和执行器有特殊的编程要求。这些编程要求提供了适当的人机编程交互,例如编程语言、工具和分布式基础设施。机器人编程系统具有三个重要的概念性组件,包括
- 编程组件,包括编程语言、库和应用程序编程接口 (API) 的设计,这些接口使程序员能够描述所需的机器人行为。
- 底层基础设施包括支持和执行机器人行为描述的架构设计,特别是在分布式环境中。
- 交互式系统的设计,允许人类程序员与编程组件交互,以静态地或在执行期间创建、修改和检查程序和系统资源。
编程系统包含两种主要的编程方法,即手动编程和自动编程。
手动编程:涉及基于文本或图形的系统,这在工业中很常见,其中语言用于简单的机器人。基于文本的系统已经从机器人特定语言发展到开发更高级的编程,例如 C++、Java、Haskell、Robot C。
自动编程:包括通过演示编程 (PBD),它目前很流行,用于培训特定任务,尤其是在工业中。在这两种主要的编程方法中,人们付出了相当大的努力来改进 PBD 系统。例如,在自动编程中,机器人可能会挑选出重要的动作并自行规划点之间的路径,或者按不同的顺序执行关键步骤。
NXT 乐高 Mindstorms 套件包含以下机器人硬件
- NXT 智能积木
- 超声波距离和运动传感器
- 声音传感器,带有声音模式
- 光传感器,检测光强度
- 触摸传感器(按下/释放/碰撞检测)
- 三个交互式伺服电机
- 三个输出端口,六线数字平台
- 四个输入端口,六线数字平台
- 扬声器,8 kHz 音质
- 电源:六节 AA 电池
- 用户指南
- 易于使用的软件
- 577 个乐高科技零件
-
NXT 智能积木
-
声波传感器
-
光线传感器
-
触碰传感器
-
超声波传感器
-
指南针传感器
-
电机
-
电池仓
机器人控制中的主要组件是砖块形状的计算机,称为 NXT 智能砖块。它是最先进的可编程智能砖块,充当机器人的大脑。NXT 智能砖块可以接收来自多达四个传感器的输入,并控制多达三个电机。该砖块具有 100 × 64 像素的单色 LCD 显示屏和四个按钮,可用于使用分层菜单导航用户界面。扬声器也在砖块上,可以播放高达 8 kHz 采样率的音频文件。电源由 6 节 AA(每节 1.5 伏)电池供电,也可由锂离子可充电电池和充电器供电。除了 NXT 智能砖块外,机器人控制还具有以下功能
- 电机:电机是主要的动力来源。机器人将使用电机来移动、抬起负载、操作手臂、抓取物体、抽气以及执行任何需要动力的其他任务。还有不同种类的电动机,它们共享将电能转换为机械能的特性。
- 触碰传感器:触碰传感器的工作原理与门铃的按钮部分大致相同,按下时,电路就会闭合,电流会流过它。
- 光线传感器:光线传感器检测光线并测量其强度。尽管有局限性,您仍然可以在广泛的应用中使用它。
机器人控制面临的最大问题可能是整体系统可靠性。机器人可能会遇到以下任何组合的故障模式
- 机械故障:这些故障可能从暂时卡住的运动到卡住的齿轮系或严重的机械故障不等。
- 电气故障:这是指计算机本身不会出现故障,但电机和传感器的连接松动,这是一个常见问题。
- 传感器不可靠:传感器会提供噪声数据(有时准确,有时不准确)或完全不正确的数据(触碰传感器无法触发)。
机器人控制的任务可以通过引入三种不同的机器人行为来解决
- 推动物体
- 避开黑线>
- 四处游荡
机器人无法检查该区域是否没有必须清除的物体,并且可能在该区域内放置新的物体;这意味着机器人似乎在巡逻,热切地寻找要扔掉的不需要的物体。
这些行为应该通过一种伺服机制来实现,我们可以将其视为在传感器再次检查之前仅在非常短的时间间隔内执行选定行为的原则。
您需要先详细描述这些行为,并为每个行为指定在哪些触发读数条件下它们与执行相关。还要指定在多个行为可能的情况下,激活不同行为的优先顺序。
机器人控制的数学是系统设计和控制的强大工具,尤其是系统动力学模型。这适用于任何系统,但更具体地适用于人类和类人机器人。如果可以计算动力学,动态控制通常是理想的解决方案,因此动力学对特定控制问题很重要。随着新计算机的出现,计算时间迅速减少,一些动态问题(如连杆柔性)仍然被认为是耗时的。
机器人学起源于机器人运动学和动力学的数学建模。考虑了两条腿的行走,目的是产生稳定的步态,并且对手臂和手进行了建模,以便进行操作。例如,康复设备似乎适用于制作腿部、手臂和手的假肢的地方,以及制作手臂和腿的假肢的地方,从而导致了主动外骨骼。在尝试解决崎岖地形上的运输问题时,设计了一些多足机器人。关于数学描述,从机器人学的最开始就涉及完整的运动学和动力学。在这种行走的机器人的数学建模中,牛顿和欧拉方程用于描述机器人控制的数学。
还使用了一些其他的数学工具,例如,用于传感器数据采集,机器人编程中有三个连续的数学部分
- 平均值
- 插值
- 滞后
平均值是平滑单个读数之间的差异并忽略暂时峰值的有效工具。它们允许您对一组读数进行分组,并将其视为单个值。当您处理来自传感器的连续数据流时,移动平均值是处理最后 n 个读数的正确工具。
这是如何在程序中使用三个值的移动平均值
int avg, v1, v2, v3;
v2 = Sensor_1;
v3 = Sensor_1;
while(true)
{
v1 = v2;
v2 = v3;
v3 = Sensor_1;
avg = (v1+v2+v3) / 3;
}
插值是一类旨在从已知数据估计值的数学工具。当您想要估计落在两个已知限制之间的量的值时,插值技术非常有用。线性插值在图形中的两个点上画一条直线。然后,您可以使用该线来计算间隔内的任何值。
滞后将帮助您减少机器人为保持所需行为而必须进行的校正次数。通过在算法中添加一些滞后,您的机器人对变化的反应不会那么敏感。滞后还可以提高系统的效率。
此示例程序演示了滞后。该程序播放音调,要求您向左或向右转动。
#define GRAY 50
#define H 3
task main()
{
SetSensor(Sensor_1, Sensor_Light);
while(true)
{
If (Sensor_1>GRAY+H)
PlayTone(440,20);
Else If (Sensor_1<GRAY-H) // -H to +H is hysteresis domain
PlayTone(1760, 20);
Wait(20);
}
}
现代机器人编程语言的开发始于 70 年代中期。70 年代中期的一些编程语言示例包括 VAL(Adept 的 V+ 的前身)和 AML。这些编程语言代表了一些早期的机器人编程语言,这些语言具有复杂的數據結構。
没有一种可用的单一机器人编程语言,允许灵活地指定路径属性的功能相互依赖。选择哪种语言取决于以下几点
- 拥有以前的经验,并确保您对要使用的编程语言类型感到满意。
- 您计划用于该程序的时间和精力,因为并非每种编程语言都同样难或容易使用。
基于文本的编程在工业中很常见,在工业中使用简单的机器人语言,这些语言通常由机器人开发人员提供。随着当今技术的进步,基于文本的系统已从这些机器人语言中分离出来,以开发更通用的高级编程语言,这些语言适用于任何机器人。通常,这涉及扩展现有语言,如 C++、Java、Haskell。
乐高 Mindstorms NXT 套件附带可编程语言,称为 NXC。NXC 代表 Not eXactly C,这是一种用于乐高 Mindstorms 的简单编程语言。NXT 具有一个由乐高提供的字节码解释器,可用于执行程序。NXC 编译器将源程序转换为 NXT 字节码,然后可以在目标本身执行这些字节码。
NXC 不是通用编程语言,由于 NXT 字节码解释器的限制,有很多限制。NXC 应用程序编程接口 (API) 描述了程序可以使用的系统功能、常量和宏。所有应用程序编程接口都在一个名为“头文件”的特殊文件中定义,该文件在编译程序时会自动包含。NXC 语言和 API 都提供了编写 NXC 程序所需的信息。
与 C 和 C++ 一样,NXC 也是区分大小写的语言,这意味着标识符“xYz”与“Xyz”不同。类似地,“if”语句以关键字“if”开头,但“IF”、“If”或“IF”都只是标识符。NXC 还使用词法规则来描述源文件如何分解成单独的标记。这基本上包括编写注释的方式以及标识符的有效字符。
还有许多其他编程语言可用。
- NXT-G(Windows、Mac)
- 优点
- 易于快速创建简单的程序
- 编程流程易于查看
- 包含在标准套件中
- 缺点
- 功能有限
- 仅限整数 - 不支持浮点数
- 每个基本数学运算(加法、减法、乘法、除法)都需要一个单独的块
- 执行速度相对较慢
- 内存使用率高。
- Robolab(Windows、Mac)
- 优点
- 相当易于使用
- 可以进行相当高级的编程
- 与 LabVIEW 环境非常相似
- 包含在标准教育套件中
- 缺点
- 块连接可能会变得混乱
- 没有很好的方法来创建用于重用的块集函数
- RobotC(Windows)
- 优点
- 执行速度快
- 高级编程
- 缺点
- 基于文本的语言对于初学者来说更难
- 必须从套件中单独购买
- LabVIEW 工具包(Windows、Mac)
- 优点
- 免费
- 可以创建用于 NXT-G 编程的模块
- 高级数据分析
- 常见的行业编程环境
- 缺点
- 需要中级技能
- 高级编程比基于文本的语言更有限
- BricxCC(Windows)
- 免费的 Windows IDE,支持多种编程语言
- NQC(基于 C 语言的 RCX 语言)
- NXC/NBC(基于 C 语言和汇编代码的 NXT)
- C/C++
- Pascal
- Java
避障是机器人领域最重要的方面之一。如果没有避障方法,机器人的能力会非常有限,尤其是那些依赖需要它们在周围导航或到达特定位置的程序的机器人。例如,如果机器人被编程为从 A 点移动到 B 点,并且没有办法检测障碍物以避免它,那么如果到达指定位置的路径不是直线且没有障碍物,那么该机器人将无法到达其位置。机器人最终会撞到障碍物,并会继续尝试移动以克服它,因为它无法检测到路径中的障碍物。
有了避障方法,机器人将拥有更好的导航系统,并能够轻松地穿过障碍物。触碰或光传感器等检测器可以帮助机器人检测障碍物。通过使用程序,机器人可以被指示以多种方式绕过障碍物以避免它,一旦检测到它。机器人可以被编程为倒退然后转弯以找到不同的路径,或者简单地在检测到障碍物后向左或向右转弯。使用光传感器,机器人可以检测地板上的线条,它可以避免这些线条,也可以被编程为跟随这些线条。可以将线布置在路径中,一旦机器人拾取到黑暗线,它可以被编程为跟随它而不偏离其路径。
任务规划和导航是指机器人的编程以及它如何执行分配的任务,以及它如何能够在环境中导航并能够避开障碍物以避免碰撞,以便能够继续正常运作。机器人的导航系统非常重要。如果机器人无法轻松地在环境中移动并避开障碍物,那么它将无法正确完成其任务。
任务规划也很重要,因为它规定了机器人完成其任务的顺序。机器人可以被编程为完成多个任务,但是如果任务没有按照特定顺序完成,最终结果可能不理想。任务规划可以从按例行顺序规划任务,或者分支到不同的决策路径。例如,如果机器人被编程为直行,直到它遇到障碍物或检测到路径上的暗线,它可以被编程为根据程序员执行许多任务。任务规划不仅与机器人的决策有关,而且还控制着机器人满足特定要求后将执行的循环。任务规划很重要,因为它控制着机器人,以确保它按预期执行所有任务。一个无法正确规划其任务的机器人只会随意执行它认为合适的随机任务,这可能与程序员希望机器人执行的方式完全不符。
机器人使用传感器来导航周围的环境,以检测它是否离物体太近而无法避免碰撞。这只是机器人可能用来避免碰撞的一种类型的传感器。其他传感器包括光传感器,机器人可以使用它来遵循在地板上绘制的特定路径。例如,机器人的光传感器可以被编程为拾取深色。一旦传感器拾取到深色,这可能是在地板上的黑线,机器人将引导自己跟随这条线。这可以用来编程机器人来遵循特定布置的路径。触碰传感器可以用来帮助机器人避免与障碍物和墙壁发生碰撞。机器人可以被编程为在其环境中自由移动,一旦它撞到或碰到障碍物,触碰传感器将被激活,根据机器人的编程方式,它将备份并规划一条新路径,直到它遇到另一个障碍物。
导航可以定义为三种基本能力的组合
- 自我定位
- 路径规划
- 地图构建和地图解释
自我定位是指自动机器人估计其在环境中移动时的位置的能力。自我定位意味着相对于某个坐标系进行测量:这可以通过某些外部输入预先确定,也可以由机器人自动定义。然而,坐标系本身并不重要:重要的是机器人如何估计世界中感兴趣特征的相对位置(地标、障碍物、目标等)以及它相对于这些特征的位置。
路径规划用于确定从一个坐标位置到另一个坐标位置沿一组航路点的路线。例如,如果您有一个迷宫的图像,并且您需要确定从机器人当前所在位置到需要到达的位置的最佳路径,您将使用路径规划来确定到所需位置的最短或最佳路径。
地图构建是指机器人使用传感器信息生成环境地图,同时将其本身定位在地图中。这尤其具有挑战性,因为对于定位,机器人需要知道特征在哪里,而对于地图构建,机器人需要知道它在地图上的位置。此外,从其各种传感器中识别机器人的相对运动存在固有的不确定性。
视觉系统通常用于制造公司,执行简单的任务,例如计算在传送带上经过的物体、读取序列号或搜索表面缺陷。这些任务是简单的程序,通过安装在机器人上的相机来完成,并在扫描物体后进行检测。机器人不像人类那样处理图像。虽然人类可以依赖推理系统和假设,但计算设备必须通过检查图像的单个像素,处理它们并尝试在知识库和特征(如模式识别引擎)的帮助下得出结论来进行观察。机器视觉和计算机视觉系统能够一致地处理图像,但基于计算机的图像处理系统通常被设计为执行单个的重复性任务。
处理方法
- 像素计数:计算亮像素或暗像素的数量
- 阈值化:将具有灰度值的图像转换为简单的黑白图像
- 分割:用于定位和/或计数零件
- 斑点发现和操作:检查图像中连接像素的离散斑点(例如,灰色物体中的黑洞)作为图像地标。这些斑点通常代表用于加工、机器人捕获或制造故障的光学目标。
- 基于部件的识别:从视觉输入中提取几何体
- 鲁棒模式识别:定位可能被旋转、被另一个物体部分遮挡或大小不同的物体
- 条码读取:解码旨在由机器读取或扫描的一维和二维代码
- 光学字符识别:自动读取文本,例如序列号
- 测量:以英寸或毫米测量物体尺寸
- 边缘检测:查找物体边缘
- 模板匹配:查找、匹配和/或计算特定模式
机器人视觉系统可能包含的一些东西是
- 一个或多个数字或模拟相机(黑白或彩色),具有适合获取图像的光学器件
- 用于对图像进行数字化处理的相机接口(俗称“帧抓取器”)
- 处理器(通常是 PC 或嵌入式处理器,例如 DSP)
- 输入/输出硬件(例如数字 I/O)或通信链路(例如网络连接或 RS-232)以报告结果
- 镜头将所需的视野聚焦到图像传感器上。
- 合适的,通常是非常专业的,光源(LED 照明器、荧光灯或卤素灯等)
- 用于处理图像并检测相关特征的程序。
- 用于零件检测的同步传感器(通常是光学传感器或磁性传感器),以触发图像采集和处理。
- 某种形式的执行器,用于对缺陷零件进行分类或剔除。
机器视觉 (MV) 的应用多种多样,涵盖包括但不限于以下领域
- 大规模工业制造
- 短周期独特物体制造
- 工业环境中的安全系统
- 预制物体的检查(例如质量控制、故障调查)
- 视觉库存控制和管理系统(计数、条码读取、数字系统商店接口)
- 自动导引车 (AGV) 的控制
- 食品产品的质量控制和精炼
- 零售自动化
视觉系统通常用于制造公司,执行简单的任务,例如计算传送带上经过的物体、读取序列号或搜索表面缺陷。这些任务是简单的程序,通过安装在机器人上的摄像头来完成,并在物体扫描后被检测到。机器人处理图像的方式与人类不同。虽然人类可以依靠推理系统和假设,但计算设备必须通过检查图像的单个像素来观察,处理它们并试图在知识库和模式识别引擎等特征的帮助下得出结论。机器视觉和计算机视觉系统能够一致地处理图像,但基于计算机的图像处理系统通常被设计为执行单一的重复性任务。基于知识的视觉系统将允许机器人进行推断和假设。机器人将能够识别一个物体,然后能够确定该物体是否危险。机器人首先将获得一个要识别的物体列表。使用其知识系统,机器人将使用网络查找其被给予的项目的图像。一旦它找到并识别了所有物体,机器人将开始搜索这些物体。视觉传感器在这个过程中是必不可少的,运动控制也必须正常运行。机器人必须能够移动并穿过障碍物才能找到其目标。
基于知识的视觉系统反过来与机器人的人工智能相连。为了能够创建一个功能齐全的仿人机器人,机器人必须拥有一个工作的人工智能和一个工作知识库视觉系统。仿人机器人不仅能够独立思考,还能够像人类一样看待世界。无论机器人看到什么,它都能够做出自己的假设和对其周围环境以及它识别的物体的感知。
有一个叫做语义机器人视觉挑战 (SRVC) 的挑战,它最能描述什么是基于知识的视觉系统。SRVC 是一个旨在推动图像理解和从大型非结构化图像数据库(例如通常在网络上找到的那些)中自动获取知识的最新技术的研究竞赛。在这个竞赛中,完全自主的机器人会收到一个文本列表,其中包含他们要找到的物体。它们使用网络自动找到这些物体的图像示例,以便学习视觉模型。然后,这些视觉模型用于识别机器人摄像头中的物体。
一般来说
- 视觉传感器必须能够将坐标发送到运动控制器。
- 运动控制器必须能够接受命令。
- 视觉像素坐标必须通过视觉传感器、附加 PC 或运动控制器转换为真实世界坐标。
- 发送数据。
- 移动。
人工智能是计算机科学的一个领域,专注于创造能够从事人类认为是智能的行为的机器。创造智能机器的能力自古以来就吸引着人类,而今天,随着计算机的出现以及 50 年来对人工智能编程技术的探索,智能机器的梦想正在成为现实。
人工智能可以被描述为机器人的思维。这是它们学习、推理、解决问题、感知以及如何理解周围一切的能力。你可以构建一个机器人并对它进行编程以执行某些任务,但它不会是智能的。那个机器人只会执行它被编程执行的那些任务,在一个连续的循环中。如果你对机器人进行编程,让它在特定位置拿起一个盒子并将其移到另一个目的地,而你将起点处的盒子稍微移开它应该在的位置,机器人将无法在其脑海中处理盒子已移动的事实。它会记录到盒子不在那里,因此它会停止执行它被编程要执行的操作,直到盒子回到它应该在的位置。那个机器人可能能够移动并执行它被编程要执行的操作,但如果没有人工智能,它将无法学习或感知周围环境的变化。当今的主要挑战之一是将高级人工智能实现到机器人中。虽然机器人可能只能执行它们被编程执行的任务,但有一天,人工智能的创造将允许机器人像人类一样学习和思考。这些机器人不仅能够执行它们被编程执行的任务,还能够适应其环境和情况,学习、推理、解决问题,甚至能够处理和理解语言。机器人有一天将能够像人类一样思考和行动,甚至能够与我们互动和交流。
当大多数人想到人工智能及其在机器人中的应用时,最常见的图像将是人形机器人的图像。这个机器人的图像是一个可以像人一样说话和思考,并且能够做出自己决定的机器人。虽然这是人工智能可以在机器人中实现的一种方式,但它不是唯一的方式。人工智能不仅可以用于仿人机器人。如果将其应用到一个负责监控某件事的机器中,那么这台机器将能够更有效地执行其任务,并且能够做的不仅仅是简单的任务。
优点
- 提供对重复性决策、流程和任务的答案
- 保存大量信息
- 最大限度地减少员工培训成本
- 集中决策过程
- 通过减少解决问题所需的时间来提高效率
- 结合各种人类专家智慧
- 减少人为错误数量
- 提供可能给竞争对手带来问题的战略优势和比较优势
- 查看人类专家可能不会想到的交易
缺点
- 在决策中没有使用常识
- 缺乏人类专家能够做出的创造性反应
- 无法解释决策背后的逻辑和推理
- 自动化复杂流程并不容易
- 没有灵活性,也无法适应不断变化的环境
- 无法识别没有答案的情况