机器人编程

用MATLAB和Simulink编程机器人

机器人编程包括编写计算机程序,使机器人能够感知环境,制定计划和决策,并执行任务。例如,编程地面机器人在建筑物内自主导航需要感知和感知、定位和绘图、路径规划和路径跟踪、执行器控制和其他任务。

机器人编程通常包括:

  • 通过使用计算机视觉和深度学习算法进行目标检测、分类和跟踪以及运动估计,使机器人能够感知环境
  • 通过算法实现机器人自主同步定位与测绘(SLAM),避免碰撞和运动规划
  • 通过设计模型预测控制、计算转矩控制和路径跟踪等控制系统来控制机器人的行为
  • 与连接不同嵌入式平台(如cpu、gpu、fpga和微控制器)的传感器和执行器进行通信和接口

在开始机器人编程时,工程师通常会为机器人的预期行为开发一个状态机图。此外,编程语言,如C/ c++, Python®, Java®, MATLAB®用于算法开发,而机器人操作系统(ROS)等中间件用于硬件抽象、底层设备控制、进程之间的消息传递和硬件部署。

一个常见的机器人编程工作流。

一个常见的机器人编程工作流。

一个步骤中的错误通常会影响整个机器人编程工作流。在软件中建模和仿真有助于消除实现错误,因为它可以在原型制作过程中识别问题,而不是在机器人生产过程中,甚至在现实环境中使用时识别问题。模拟系统还可以帮助工程师通过调整控制参数来优化系统设计,而不必担心平台依赖关系或访问机器人硬件。

MATLAB为机器人编程提供了一些内置算法和函数。例如,只需MATLAB中的几行开箱即用的深度学习算法,机器人就可以做到识别环境中的对象.动态仿真模块®提供了使用基于模型设计的机器人编程建模和仿真的预构建块。例如,Simulink中的ROS块使机器人程序员能够订阅传感器数据并通过ROS网络发布机器人命令,而无需编写代码。

See example.

" data-toggle="lightbox" class="add_margin_0 ">在Simulink中使用ROS块发布和订阅消息。

在Simulink中使用ROS块发布和订阅消息。看到的例子。

利用MATLAB和Simulink对机器人进行编程,可以构建一个可伸缩的机器人仿真以低成本建立原型、测试概念模型和调试。然后您可以使用高保真模型进行验证,同时将其余算法保持在相同的模拟环境中。一旦在机器人仿真中获得了预期的结果,就可以从Simulink模型中用通用编程语言为嵌入式系统生成独立的可执行代码。使用从MATLAB和Simulink到ROS网络的ROS连接,您可以直接从MATLAB和Simulink生成c++ ROS节点,以测试和验证在启用ROS的机器人和机器人模拟器(如Gazebo)上的应用程序。

有关机器人编程的详细信息,请参见机器人系统工具箱™导航工具箱™ROS工具箱MATLAB,动态仿真模块



机器人编程软件参考资料

参见:机器人和自主系统机电一体化Simscape多体控制系统工具箱Stateflow自动驾驶的工具箱计算机视觉的工具箱嵌入式编码器MATLAB编码器仿真软件编码器PID控制逆运动学云机器人路径规划惯性导航系统

Baidu
map