机器人编程涉及编写计算机程序,使机器人能够感知其环境,制定计划和决策,并执行任务。例如,编程地机器人以自主地在建筑物内部导航,需要感测和感知,定位和映射,路径规划和路径跟随,执行器控件和其他任务。
机器人编程一般包括:
- 利用计算机视觉和深度学习算法对物体进行检测、分类跟踪和运动估计,使机器人感知环境
- 通过算法实现机器人自主同时本地化和映射(SLAM),避免碰撞和运动规划
- 通过设计模型预测控制、计算力矩控制和路径跟踪等控制系统来控制机器人的行为
- 用与不同嵌入式平台连接的传感器和执行器进行沟通和连接,例如CPU,GPU,FPGA和微控制器
在从机器人编程开始时,工程师经常开发机器人预期行为的状态机图。此外,编程语言如C / C ++,Python®, Java®, MATLAB®用于算法开发,机器人操作系统(ROS)等中间件用于硬件抽象、底层设备控制、进程间消息传递和硬件部署。
一步中的错误通常会影响整个机器人编程工作流程。软件中的建模和仿真有助于通过识别原型期间的问题来消除实现错误,而不是在现实世界环境中使用机器人或更糟糕的情况下。模拟系统还通过调整控制参数,帮助工程师通过调整控制参数来细化系统设计,而无需担心平台依赖性或访问机器人硬件。
MATLAB为机器人编程提供了几个内置算法和函数。例如,只需在MATLAB中使用几行开箱即用的深度学习算法,机器人就可以做到识别环境中的物体.万博1manbetxSimulink.®为使用基于模型设计的机器人编程建模和仿真提供预构建块。例如,Simulink中的ROS块使万博1manbetx机器人程序员能够订阅传感器数据,并通过ROS网络发布机器人命令,而无需编写代码。
使用MATLAB和Simulink万博1manbetx进行机器人编程,可以构建一个可伸缩的机器人仿真以低廉的成本建立原型,测试概念模型和调试。然后可以使用高保真模型进行验证,同时将其余算法保持在相同的仿真环境中。一旦在机器人仿真中获得了期望的结果,就可以用通用编程语言从Simulink模型中为嵌入式系统生成独立的可执行代码。万博1manbetx使用从MATLAB和Simulink到ROS网络的ROS连接,可以直接从MATLAB和万博1manbetxSimulink生成c++ ROS节点,以测试和验证支持ROS的机器人和机器人模拟器(如Gazebo)上的应用程序。
有关机器人编程的更多详细信息,请参见机器人系统工具箱™,导航工具箱™,ROS工具箱,MATLAB, 和万博1manbetx.