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