Currently, pymoveit2 implicitly uses the default pipeline_id and planner_id that the robot was configured with. However, for different motions, one may want to use different pipelines/planners. Hence, this PR allows users to configure those properties of the planning calls.
Testing
[x] Launch the simulated panda arm with log_level info: ros2 launch panda_moveit_config ex_fake_control.launch.py log_level:=info
[x] Have the robot move to a joint goal using the default planner. Verify in MoveGroup logs that it uses RRTConnect: ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[1.57, -1.57, 0.0, -1.57, 0.0, 1.57, 0.7854]"
[x] Restore to initial joint positions: ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[0.0, -0.7853981633974483, 0.0, -2.356194490192345, 0.0, 1.5707963267948966, 0.7853981633974483]"
[x] Have the robot move to a joint goal using a different planner. Verify in MoveGroup logs that it uses the specified planner (PRMstar): ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[1.57, -1.57, 0.0, -1.57, 0.0, 1.57, 0.7854]" -p planner_id:="PRMstarkConfigDefault"
[x] Restore to initial positions.
[x] Have the robot move to a joint goal using the default planner. Verify in MoveGroup logs that it uses RRTConnect: ros2 run pymoveit2 ex_pose_goal.py --ros-args -p position:="[0.25, 0.0, 1.0]" -p quat_xyzw:="[0.0, 0.0, 0.0, 1.0]" -p cartesian:=False
[x] Restore to initial joint positions.
[x] Have the robot move to a joint goal using a different planner. Verify in MoveGroup logs that it uses the specified planner (PRMstar): ros2 run pymoveit2 ex_pose_goal.py --ros-args -p position:="[0.25, 0.0, 1.0]" -p quat_xyzw:="[0.0, 0.0, 0.0, 1.0]" -p cartesian:=False -p planner_id:="PRMstarkConfigDefault"
Description
Currently,
pymoveit2
implicitly uses the defaultpipeline_id
andplanner_id
that the robot was configured with. However, for different motions, one may want to use different pipelines/planners. Hence, this PR allows users to configure those properties of the planning calls.Testing
ros2 launch panda_moveit_config ex_fake_control.launch.py log_level:=info
ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[1.57, -1.57, 0.0, -1.57, 0.0, 1.57, 0.7854]"
ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[0.0, -0.7853981633974483, 0.0, -2.356194490192345, 0.0, 1.5707963267948966, 0.7853981633974483]"
ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[1.57, -1.57, 0.0, -1.57, 0.0, 1.57, 0.7854]" -p planner_id:="PRMstarkConfigDefault"
ros2 run pymoveit2 ex_pose_goal.py --ros-args -p position:="[0.25, 0.0, 1.0]" -p quat_xyzw:="[0.0, 0.0, 0.0, 1.0]" -p cartesian:=False
ros2 run pymoveit2 ex_pose_goal.py --ros-args -p position:="[0.25, 0.0, 1.0]" -p quat_xyzw:="[0.0, 0.0, 0.0, 1.0]" -p cartesian:=False -p planner_id:="PRMstarkConfigDefault"