MATLAB 和 Simulink 在机器人和自主系统中的应用

从感知到运动,开发自主应用,优化系统级行为

机器人研究人员和工程师使用 MATLAB® 和 Simulink® 来设计、仿真和验证自主系统,涵盖从感知到运动的各个方面。

  • 对机器人系统进行高度细化的建模,包括传感器噪声和电机振动。
  • 仿真具有精确的运动学、动力学和接触属性的机器人系统。
  • 设计和优化高级自主性和低级控制。
  • 使用经过维护的算法库合成和分析传感器数据。
  • 从仿真到硬件在环 (HIL) 测试,逐步验证机器人设计或算法。
  • 通过 ROS 将算法部署到机器人,或直接部署到微控制器、FPGA、PLC 和 GPU。

“借助基于模型的设计和自动代码生成,我们能够处理 Agile Justin 高达 53 自由度的复杂系统。如果没有基于模型的设计,我们不可能为如此复杂且具有严苛实时性能要求的机器人系统构建控制器。”

Berthold Bäuml, German Aerospace Center (DLR)

成功案例

设计硬件平台

为自主车辆、无人机和操作臂创建三维物理模型或机电模型,用于控制算法的仿真、优化和强化学习。

  • 从 URDF 文件或 CAD 软件导入现有三维模型。
  • 在模型中实现动力学、接触、液压和气动以准确反映其物理特性。
  • 通过添加电气图层来完成数字孪生。

 


处理传感器数据

使用 MATLAB 和 Simulink 中功能强大的工具箱实现传感器数据处理算法。

  • 通过 ROS、串行和其他类型的协议连接到传感器。
  • 可视化来自相机、声纳、激光雷达、GPS 和 IMU 的数据。自动执行常见的传感器处理任务,如传感器融合、滤波、几何变换、分割和配准。

 


感知环境

使用内置的交互式 MATLAB App 来实现目标检测和跟踪、定位和地图构建算法。

  • 对用于图像分类、回归和特征检测的各种神经网络进行试验和评估。
  • 自动将算法转换为 C/C++、定点、HDL 或 CUDA® 代码以部署到硬件。

 


规划和决策

如果机器人被定义为质点,或具有带运动学和动力学约束的系统,则可借助主动维护的算法库实现二维或三维路径规划。使用 Stateflow® 执行任务规划,定义实时决策所需的条件和动作。


与平台和目标通信

将自主算法部署到基于 ROS 的系统和微控制器,如 Arduino® 和 Raspberry Pi™。通过 CAN、EtherCAT®、802.11™、TCP/IP、UDP、I2C、SPI、MODBUS® 和 Bluetooth® 等协议与嵌入式目标通信。


“借助 MATLAB 和 Simulink,我们可以在一个集成式环境中进行控制算法开发、调试、数据分析等工作,而不必在多个工具之间来回切换。这种集成缩短了项目整体开发时间,减少了出错的机会。”

Dr. John Wen, Rensselaer Polytechnic Institute