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