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