机器人编程

用MATLAB和Simulink编写机器人程序万博1manbetx

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

机器人编程一般包括:

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

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

一个通用的机器人编程工作流。

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

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

See example.

" data-toggle="lightbox">

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

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

有关机器人编程的详细信息,请参见机器人系统工具箱™导航工具箱™ROS工具箱MATLAB,万博1manbetx



机器人编程软件参考

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