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