RoArm-M2-S 8. 使用指令控制机械臂
来自Waveshare Wiki
| ||||||||||||||||||||||
|
8. 使用指令控制机械臂
保持 roarm_driver 机械臂驱动节点运行的终端窗口,打开一个新的终端,运行用于指令控制的 Launch 文件,本例程依赖 Moveit2 进行动作规划:
cd ~/roarm_ws_em0/ ros2 launch roarm_moveit_cmd command_control.launch.py rviz_config:=~/roarm_ws_em0/src/roarm_main/roarm_moveit_cmd/config/command_control.rviz
注意:执行该指令后,机械臂将会转动(小臂伸向正前方,与水平面平行),请勿在机械臂周围放置易碎品,远离儿童。
想让 Rviz2 中显示机械臂,可以参考 4.2 运行 Moveit2 拖拽交互例程里面的操作步骤。
8.1 获取当前点位置
开启第三个新的终端,进入机械臂 ROS2 的工作空间,启动用来获取当前位置的节点:
cd ~/roarm_ws_em0/ ros2 run roarm_moveit_cmd getposecmd
再开启第四个终端,进入机械臂 ROS2 的工作空间,调用用来获取当前位置的服务:
cd ~/roarm_ws_em0/ ros2 service call /get_pose_cmd roarm_moveit/srv/GetPoseCmd
8.2 控制机械臂末端运动到指定位置
开启一个新的终端,进入机械臂 ROS2 的工作空间,启动用于运动控制的节点(用于接收目标位置):
cd ~/roarm_ws_em0/ ros2 run roarm_moveit_cmd movepointcmd
再开启一个新的终端,进入机械臂 ROS2 的工作空间,调用用来控制机械臂末端点位置的服务:
cd ~/roarm_ws_em0/ ros2 service call /move_point_cmd roarm_moveit/srv/MovePointCmd {"x: 0.2,y: 0,z: 0"}
xyz 为机械臂目标位置的坐标,单位为 m。你可以通过调用这个服务来控制机械臂运动到目标位置。
8.3 在固定高度上画圆
在 Rviz2 中,点击 Add,添加 RobotModel。
在 RobotModel 选项卡内,找到 Description Topic,选择 /robot_description,就会出现 Links 的选项。
在 Links 选项中,找到 link4,展开后勾选 Show Trail,用于查看末端 Link4 的轨迹。
接着在新终端中启动用于画圆的节点:
cd ~/roarm_ws_em0/ ros2 run roarm_moveit_cmd movecirclecmd
调用这个服务,来让机械臂在指定位置画圆:
cd ~/roarm_ws_em0/ ros2 service call /move_circle_cmd roarm_moveit/srv/MoveCircleCmd {"x: 0.2,y: 0,z: 0,radius: 0.1"}
就可以看见 Rviz 2 界面中机械臂画出的圆。