Plan and execute a motion with Moveit2
Before you start
Make sure the robot is ready to accept commands before starting any controller:
AUTO mode (or MANUAL, but with the motion enabled)
E-Stop not pressed and safety restarted if needed
Brakes open
Motion enabled (press “pause” button, the blue LED should be ON and not flashing)
Bringup robot control and MoveIt2 move group
In a first terminal, launch the Staubli robot control node (i.e., ros2_control):
source install/setup.bash
ros2 launch staubli_bringup launch_robot_control.launch.py \
robot_model:=tx2_60l \
use_mock_hardware:=false \
start_controller:=joint_trajectory_controller \
gui:=false
This will start the Staubli hardware interface in ros2_control, along with two controllers:
* Joint State Broadcaster to publish the joint state of the robot;
* Joint Trajectory Controller to execute joint trajectory commands.
In a second terminal, launch MoveIt2:
source install/setup.bash
ros2 launch staubli_bringup launch_moveit.launch.py robot_model:=tx2_60l
You should be able to plan and execute a trajectory as follows:
Drag the handle attached to the end effector in Rviz to set the desired robot pose.
Press Plan in the MoveIt widget on the left.
If successful, press Execute to start robot motion.
Warning
When testing the driver with Moveit, start planning trajectories with a (very) low velocity and acceleration scaling (e.g., 10% max). It is also recommended to check the expected motion in Rviz before executing it.