Moveit servo how to update the scene
Hi all,
I have an arm that has to track continuosly some given poses. What I usually did is to use a PID to generate Cartesian velocities from the target poses and then IK to command the robot joints.
I would like to do this with Moveit (ROS1 Noetic) to exploit its features (mainly obstacle avoidance). I managed to set up my robot from the moveit tutorials and I can use move_group
to plan and execute a collision free trajectory.
Now I was trying to follow the moveit servo tutorial, in particular I saw the pose tracking example which seems the right one for my needs. But I have problems about something:
In the servo tutorial, the
move_group
node is launched, as well the servo_server. Why are they both necessary? Do not they command the sameros_controllers
?I cannot update the arm status within the pose tracking node. In particular, the arm is starting in a homing position, but this node sees all the joints positions to zero, even if the
PlanningSceneMonitor
is active. The node is subscribed correctly to thejoint_states
topic which is filled with the correct joint values.
When I used themove_group
node (without servo) the status was correctly syncronized. How the scene is kept updated in themove_group
node?
Nobody in both cases publishes on theplanning_scene
topic. Should I use this? I saw thatmove_group
internally usesmoveit_cpp
. Should I use it in thepose_tracking
node as well?
Thanks for any help :D