机器(qì)人系统开发中(zhōng)的关键技术的(de)理(lǐ)论阐述
近年(nián)来,随着工业 4.0 标(biāo)准(zhǔn)的不断推进和人(rén)工(gōng)智能、物联网、大数据等技术的快速(sù)发展(zhǎn),机器人产业迎来新一轮浪潮(cháo),正逐步向系统化、模(mó)块化、智能化的方向发展。除了传统的工业机器人外,在特(tè)种机(jī)器人和(hé)服务机器人领域,如水下机器(qì)人、娱乐机器人(rén)、医疗机器人、教育机器人、物(wù)流机器人等(děng)也都得到了大量的(de)应用。
那么如何利用(yòng)机器视觉(jiào)、多传感(gǎn)器融(róng)合、自(zì)主(zhǔ)导航、交互系统等技术进(jìn)一步(bù)加(jiā)速(sù)机器人产(chǎn)品的智(zhì)能化融(róng)合,如何快速有效地提高产(chǎn)品开(kāi)发效率,促进产品(pǐn)迭代(dài)周期就(jiù)成(chéng)为业界(jiè)产品研发的重要课题。本(běn)文聚焦于感知(zhī)、决策和执行等机器人系统开(kāi)发全面环节,阐述如何利用(yòng)MATLAB& Simulink将机(jī) 器人构(gòu)想、概念转变为自主(zhǔ)系统的相关技术环节,并展示系统级建(jiàn)模、仿真、测试(shì)及自(zì)动(dòng)代码生成技术在(zài)产品开发中(zhōng)的实(shí)际(jì)应用。Iframe
(自主机器人(rén)的路径规划(huá)和导航)
使用 MATLAB 和(hé) Simulink,您能够:
使用您(nín)开(kāi)发(fā)的算法(fǎ)连接并控制机(jī)器人。
开发跨硬(yìng)件的算法并连接到机器(qì)人操作系统 (ROS)。
连接到(dào)各种传感器和作动器,以便您发送控制信号或(huò)分析多种类型的数据。
可(kě)采用多(duō)种语言,如 C++/C++、VHDL/Verilog、结构化文(wén)本和 CUDA,为微控制(zhì)器(qì)、FPGA、PLC和 GPU 等嵌(qiàn)入式(shì)目标自动生(shēng)成(chéng)代码,从(cóng)而摆脱(tuō)手动编码。
使用预置的硬件支持包,连接到低(dī)成(chéng)本硬件,如 Arduino 和 Raspberry Pi。
通过创建可共享的代码和应用(yòng)程序,简化设计评审。
可(kě)利(lì)用遗留代码,并(bìng)与现(xiàn)有机(jī)器人系统集成。
使用 MATLAB 和 Simulink 简化机器人路径规划和(hé)导航的复杂(zá)任(rèn)务。此演示介绍了如何仿真自主机器人(rén),只使(shǐ)用三个组件:路径、汽车模型(xíng)和路径跟(gēn)踪算法。
一、机器人物理(lǐ)系(xì)统建(jiàn)模
在机器(qì)人系(xì)统开发中,通过对被控物理系统进行准确(què)的建模仿真,可(kě)以帮助开发人员更加容易设计出(chū)实(shí)现预定控制目标(biāo)的(de)控(kòng)制(zhì)器并且评估机(jī)器(qì)人物理系统的行为。
在设计(jì)机器人硬件平(píng)台时,利用MATLAB和Simulink可以设计(jì)和分析三维刚体(tǐ)机械(xiè)机构(如汽车平台和机械臂)和执(zhí)行机构(如机电或流体(tǐ)系统)。通过(guò)直(zhí)接(jiē)向 Simulink 中(zhōng)导入URDF文件或利用 SolidWorks和Onshape等CAD 软件,可以直接使用现有(yǒu)CAD文件,添加摩擦等约束条件,使用(yòng)电气(qì)、液压或气动以及其他组(zǔ)件(jiàn)进行多域系统建模。运行后,可将设计模型重用为数字映(yìng)射。
在机器人物(wù)理(lǐ)系统设计领域,MathWorks的Simscape产品系列提供全面的物理系(xì)统(tǒng)设计组件,包括机械、电器(qì)、磁场(chǎng)、液压、气(qì)压和热等,可跨(kuà)越复合物理区域进行建模。
二、机器人环境感知
机器人环境感知是智能机器人的神(shén)经中枢,作用是(shì)获(huò)取机器人(rén)内(nèi)外部环境信息,并把(bǎ)这些(xiē)信息(xī)反馈给控制系统进行决策。
开发人员可以开(kāi)发跨(kuà)硬件的算法并连接到机器人(rén)操(cāo)作系统 (ROS),通过(guò) ROS 连接到(dào)传感器(qì)。摄像机、LiDAR 和 IMU 等特定传(chuán)感器有ROS消息(xī),可转(zhuǎn)换为MATLAB数(shù)据类型进行分析和可视化。设计(jì)人员(yuán)可以实现常(cháng)见传感器处理工作流程自(zì)动化,比如导入和批处理大型数据集、传感器校准、降(jiàng)噪、几(jǐ)何变换、分割和配准。
在获取到传(chuán)感器的数(shù)据之后,利(lì)用内置的 MATLAB 应(yīng)用程序,可(kě)交互地执行对象检测和追踪、运(yùn)动评估、三维点云处理和传感器融合。使用卷积神经网络 (CNN),运(yùn)用(yòng)深度学习进行(háng)图像分类、回归分析和特征学习。将算法自动转换为 C/C++、定点、HDL 或 CUDA 代码(mǎ)。
三、机器人路径规划和(hé)轨(guǐ)迹控制
运动规划是机器人控(kòng)制的重要决策依(yī)据,是确(què)保机(jī)器人达到目的的最优路径并(bìng)不与任何障碍(ài)物碰撞的(de)手段。
在进行机器人运(yùn)动规(guī)划和轨迹控制时,可以通过以下的(de)方式实现
1)使用 LiDAR 传感器数据,通过 Simultaneous Localization and Mapping (SLAM) 创建(jiàn)环境地(dì)图;
2)通过设计路(lù)径规划算(suàn)法进行路径和(hé)运动规划,在受(shòu)约束的环境中导航;
3)使用路(lù)径(jìng)规划器,计算任何给定地(dì)图中的无障(zhàng)碍路(lù)径;
4)实现状(zhuàng)态机,定义(yì)决策所需(xū)的条件和行动;
5)设(shè)计决策算法,让机器(qì)人在面(miàn)对不确定情况时能(néng)做出决策,在协作环境中(zhōng)执行安全操作。
四、基于AI的(de)机器人控制系统(tǒng)设计
如何赋予机器人自主学习的(de)能力(lì),是(shì)人工(gōng)智(zhì)能领域的(de)重要发(fā)展方向,为适(shì)应日(rì)趋(qū)复(fù)杂的应(yīng)用场(chǎng)景,需要(yào)机器人系统(tǒng)学习大量的(de)输入数据,自动优化控制(zhì)策略。
利用MATLAB & Simulink可以(yǐ)实现基于强化学习的机器人控制系统设计。设计人员使用(yòng)算法和应用程序,系统性(xìng)地(dì)分析、设计(jì)和可视化(huà)复杂系统在时域和频域中的行为。使用交互式方法(如波特回路整形和根(gēn)轨迹(jì)方法)来自动调节(jiē)补偿器参数。还(hái)可以调节增益调(diào)度控制器并指定多个(gè)调节目标,如参考跟踪、干扰抑(yì)制和稳定裕度。并且(qiě)可以实(shí)现代码(mǎ)生成(chéng)和需(xū)求(qiú)可追溯性,有助(zhù)于验证设计人员的系统,确认符(fú)合要求。