越来越多的技术公司进入到人工智能(AI)领域,将 AI 应用到其产品和应用中。可以看到,AI 已经融入我们的日常生活,有时我们甚至并不知道,和我们打交道的设备正在使用 AI 技术。这些 AI 应用包括:智能音箱中的语音交互,手机上的人脸识别,以及交通出行中的辅助驾驶等等。
AI 技术的演进也在影响着机器人(RoboTIcs)领域的应用。 德国宇航中心(DLR)开发的“Agile JusTIn” 机器人就采用了 AI 技术,利用立体视觉来观察周围环境,利用触觉传感器来感知物体,执行类似人类的行为动作/任务。
在工业领域,机器人正在被大规模的应用于工厂自动化、仓储物流等场景,AI 技术在其中发挥着重要的作用。 ◆ ◆ ◆ ◆
AI 应用于机器人的典型场景
机器人这样的自主系统,一般由传感/感知,规划/决策,以及控制这样几个核心部分组成。传感/感知领域,是目前AI应用最多的地方。
语音感知
日本安川电气在开发机器人 Motoman(MotoMINI)——一种抓放(pick-and-place)机器人时,使用语音驱动的控制技术,实现人机交互,其中的语音识别,就利用了 AI。
机器视觉感知
作为本身包含非常丰富信息的图像,也经常被机器人系统用于对物体的感知和识别。安川电气的研发团队将深度学习 DL 应用在计算机视觉上,帮助机器人实现基于图像的物体检测。
另外,视觉信息还可以在 AI 的帮助下,用于检测工业场景中的工件异常。 武藏精密,一家全球化的工业公司,利用 AI 技术,开发了一款用于汽车制造的自动视觉检查机器人,自动化的执行每月上百万工件的缺陷检测任务。
3D 视觉感知
随着3 D 视觉处理技术和低成本深度传感器的飞速发展,在不断提高的计算机算力的支持下,3D 视觉图像的获取和处理越来越方便,在机器人领域已经有很多 3D 视觉的应用案例,比如,可以将 RGB-D 图像数据应用于机器人的环境感知和三维目标识别。 香港应用科技研究院(ASTRI)开发的机器人,基于 3D 视觉,利用深度学习 DL 对被 *** 作工件的位置和方向进行估计。
自主决策与控制
在决策和控制方面,AI技术同样也能发挥作用,其中,强化学习(Reinforcement Learning, RL)是工业机器人方向的一个研究热点。 RL 以“试错”的方式进行学习,通过与环境进行交互获得的奖赏来指导行为,使机器人自主的发现并优化特定的行为模式。通常来说,RL支持机器人处理解决非常复杂的问题,比如让足类机器人通过使用视觉信息来沿着特定路线直立行走的问题、抓取类机器人对 *** 作物体的平衡问题等。
在工业环境下应用RL虽然还在探索阶段,但已经有很多的原型系统被开发出来,从中我们发现,仿真技术是RL产业化应用的一个重要支撑。
采用 AI 技术的机器人系统开发
机器人系统是一个包含机械、电子、电气、软件等的复杂多域系统,而 AI 技术本身也具有很高的复杂性,涉及 AI 模型的设计、训练和部署。将二者结合起来,开发出可在工业场景下使用的机器人应用系统,对机器人领域的工程师和专注 AI 算法的数据科学家们都提出了很大的挑战。 MATLAB/Simulink 集成了对机器人和AI的支持,是开发基于AI的机器人系统的理想工具。
下面我们就来看看开发基于 AI 的机器人系统的基本流程,同时也了解一下MATLAB/Simulink 提供的典型功能。
基本流程
基于AI的机器人系统开发通常可以简要概括为四个阶段,即:数据准备,建立 AI 模型,机器人系统仿真与验证,以及应用部署。
下面我们以 pick-and-place 抓放机器人的开发为例,看看这四个阶段都会涉及哪些关键问题,以及如何在 MATLAB/Simulink 中来处理。
这个机器人的主要任务是,基于视觉感知来识别 PVC 工件形状,完成对 PVC 工件的分类拣选。
第一步:数据准备
丰富的、高质量数据是开发AI应用的前提。 数据采集和数据合成是我们获取数据的两种主要手段。
数据采集下的图像,能够真实的体现整个环境对数据的影响,必然包括噪声。对于那些包含很大噪声、质量不佳的图像/数据,我们要采用适当的图像增强(滤波)技术,对其进行预处理,生成可用于 AI 模型训练的高质量图像/数据。 考虑到采集的成本和效率等因素,数据合成是丰富 AI 模型训练集合的一个有效补充。在仿真环境下,工件形状、光线条件、工件背景等都可以由脚本程序灵活控制,这样就可以非常小的人力投入,获得非常丰富的数据(内嵌真值标注信息)。
第二步:建立 AI 模型
由于我们的任务是 AI 工程应用,所以通常在这个步骤并不需要从零开始设计 AI 算法,而是可以借用已有的研究成果,从大量可用的 AI 算法中选用符合任务需求的 AI 模型,进行裁剪定制,利用高质量的训练数据集对其进行训练,从而得到我们想要的 AI 模型。 建立 AI 模型的过程是迭代的、复杂的。 MATLAB/Simulink 可以为这项任务提供很多帮助:
随软件提供丰富的AI模型及参考实例,帮助工程师快速上手 AI 应用;
提供多种图形化的小程序加速 AI 算法开发:Deep Network Designer, ClassificaTIon Learner, Experiment Manager;
支持 ONNX,方便与各类社区开发的 AI 模型进行集成;
第三步:机器人系统仿真与验证
在仿真环境(MATLAB/Simulink)中,构建包括 AI 算法模型的整个机器人系统模型,来对 AI 算法模型的有效性和性能等方面进行确认和验证。
可以看到,除了应用了 AI 的感知部分,整个机器人系统还包括传感、规划、控制等,这些部分的嵌入式系统开发可以使用基于模型设计的方法来开展,具体参考 基于模型的设计。 有了仿真环境的支持,我们可以很方便的获取机器人系统各个处理环节的输出结果,从而基于这些中间处理结果对各环节的算法或程序进行评估和改进。
第四步:应用部署
首先根据项目需求(如成本、性能等)选择合适的处理器(GPU/FPGA/CPU)作为目标处理器,然后编码实现这个经过验证的 AI 模型,最后将可执行代码部署到目标处理器中。
AI 应用属于计算密集型应用,需要很大的计算资源和存储资源的支持,调用和管理这些资源、将 AI 算法通过软件来实现,是一个非常耗时耗力的任务。 MATLAB/Simulink 提供的代码生成工具,将大大减少应用部署的工作量,支持根据经过验证的 AI 模型自动生成可部署到目标处理器/环境的可执行代码。
更多类型机器人的开发
机器人系统是复杂多样的,这里整理了一些往期文章,您可以点击直接阅读,了解更多使用MATLAB/Simulink 开发机器人的信息:
1. 机械臂相关:
a. MATLAB 中的机械臂算法——运动学
b. MATLAB 中的机械臂算法——动力学
c. MATLAB 中的机械臂算法——路径规划
2. 足类机器人:
在 MATLAB & Simulink 环境中开发机器狗控制算法
3. 无人机:
使用 MATLAB/Simulink 设计无人机飞行控制系统
4. 水下机器人:
a. 无人潜水艇的设计与仿真-上
b. 无人潜水艇的设计与仿真
审核编辑:刘清
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)