数字孪生,顾名思义,是指针对物理世界中的物体,通过数字化的手段来构建一个数字世界中一模一样的的实体,藉此来实现对物理实体的了解、分析和优化。
从理论的概念来看,Digital Twin数字孪生:是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。它是一种超越现实的概念,可以被视为一个或多个重要的、彼此依赖的装备系统的数字映射系统。
我们在ROS MoveIt!中也可以实现机械臂的数字孪生功能。
任务目标:实现物理机械臂与仿真机械臂的同步运动,手动拖拽机械臂时,ROS中的模型和物理机械臂姿态一致;使用ROS MoveIt!控制机械臂时,物理机械臂和模型运动状态一致。
任务步骤:
- 编译uArm机械臂的功能包:
将本任务使用的uArm机械臂相关功能包放到工作空间下,并使用catkin_make命令进行编译。
- 启动物理机械臂
使用USB线连接电脑和uArm机械臂,开启uArm机械臂的电源开关。
- 仿真模型与物理机械臂同步
关闭之前运行的所有终端,并打开一个新终端,使用如下命令启动uArm的仿真模型:
$ roslaunch swiftpro pro_display.launch
启动成功后,可以看到上图所示的机器人模型,此时可以用手拖拽物理机械臂,可以看到机器人模型会同步运动。
物理机械臂和仿真模型同步
关闭之前运行的所有终端,并打开两个新终端,分别使用如下命令启动uArm机械臂的驱动和MoveIt!控制界面:
$ roslaunch swiftpro pro_control.launch
$ roslaunch pro_moveit_config demo.launch
启动成功后,可以看到上图所示的MoveIt!控制界面,使用控制球选择一个机械臂的运动目标,点击“plan”、“execute”后,可以看MoveIt!会自动产生运动轨迹,物理机械臂和仿真模型同步运动。
来源:CSDN
作者:樱桃木
链接:https://blog.csdn.net/qq_24624539/article/details/104617960