realman - controls a real robotic arm

overview

The output interface after MoveIt! completes the motion planning is an action named "FollowJointTrajectory", which contains a series of planned path point trajectories. Unlike using MoveIt! to control the robotic arm in Gazebo, the virtual robotic arm has a gazebo The ros_control plug-in automatically helps us obtain the action information of follow_joint_trajectory, but now to the real robot, we need to program and add a server to subscribe to this action and process and then control the real robot.

Robot controller rm_control

The robot controller rm_control function package adds a server to subscribe to the action information output by MoveIt! after completing the motion planning, and then subdivides the robot arm trajectory planned by Moveit through cubic spline interpolation, and sends it to the rm_driver node according to the control period of 20ms. See the source code for the specific implementation.

Robot driver function package rm_driver

The rm_driver function package realizes the establishment of a socket connection with the robotic arm through the Ethernet port, subscribes and publishes the topic information of the robot, and sends the path point track of the robotic arm after processing the rm_control to the real robotic arm through the socket to realize the real robotic arm. At the same time, it receives the information returned by the robotic arm and publishes it to the move_group through the topic to complete the synchronization of the robot in rviz. See the source code for the specific implementation.
insert image description here

Guess you like

Origin blog.csdn.net/weixin_42990464/article/details/130924696