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