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