让机械臂动起来——MoveIt!与Gazebo仿真

淺唱寂寞╮ 提交于 2020-03-03 00:33:18

数字孪生,顾名思义,是指针对物理世界中的物体,通过数字化的手段来构建一个数字世界中一模一样的的实体,藉此来实现对物理实体的了解、分析和优化。

从理论的概念来看,Digital Twin数字孪生:是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。它是一种超越现实的概念,可以被视为一个或多个重要的、彼此依赖的装备系统的数字映射系统。

我们在ROS MoveIt!中也可以实现机械臂的数字孪生功能。

任务目标:实现物理机械臂与仿真机械臂的同步运动,手动拖拽机械臂时,ROS中的模型和物理机械臂姿态一致;使用ROS MoveIt!控制机械臂时,物理机械臂和模型运动状态一致。

任务步骤:

  1. 编译uArm机械臂的功能包:

将本任务使用的uArm机械臂相关功能包放到工作空间下,并使用catkin_make命令进行编译。

  1. 启动物理机械臂

使用USB线连接电脑和uArm机械臂,开启uArm机械臂的电源开关。

  1. 仿真模型与物理机械臂同步

关闭之前运行的所有终端,并打开一个新终端,使用如下命令启动uArm的仿真模型:

$ roslaunch swiftpro pro_display.launch

启动成功后,可以看到上图所示的机器人模型,此时可以用手拖拽物理机械臂,可以看到机器人模型会同步运动。

物理机械臂和仿真模型同步

关闭之前运行的所有终端,并打开两个新终端,分别使用如下命令启动uArm机械臂的驱动和MoveIt!控制界面:

$ roslaunch swiftpro pro_control.launch

$ roslaunch pro_moveit_config demo.launch

启动成功后,可以看到上图所示的MoveIt!控制界面,使用控制球选择一个机械臂的运动目标,点击“plan”、“execute”后,可以看MoveIt!会自动产生运动轨迹,物理机械臂和仿真模型同步运动。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!