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