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