Moveit Servo
MoveIt Servo allows you to stream End Effector (EEF) velocity commands or actuate joint angle by streaming angular velocity to your manipulator and have it execute them concurrently. This enables teleoperation via a wide range of input schemes, or for other autonomous software to control the robot.
Example demo of Moveit servo panda arm
(In our case it will be UR5, and the working will not be same in our case as shown in the video)
Getting started
- Launch the gazebo and rviz launch file as we did in the previous section control_ur5.
- Start the moveit_servo by triggering the service, using the following command:
ros2 service call /servo_node/start_servo std_srvs/srv/Trigger {}
-
Now use the topic
/servo_node/delta_twist_cmds(similar to this) as defined inservo.yamlfile to publish linear velocity commands to the end-effector. You can set the values of x, y, z to move them accordingly. -
Read more about the servo configuration in this link.
For example to make the ur5 EEF move up:
ros2 topic pub /servo_node/delta_twist_cmds geometry_msgs/msg/TwistStamped "header: auto
twist:
linear:
x: 0.0
y: 0.0
z: 0.2
angular:
x: 0.0
y: 0.0
z: 0.0" -r 125
Practice task
- Try to move the end-effector in an angular fashion, revolving around its tip.
HINT: Find out angular x, y, z corresponds to what kind of rotation in end-effector
- Also try out
delta_joint_cmdscommands.