isaac_ros_manipulation_pose_to_pose#

Source code available on GitHub.

Overview#

The isaac_ros_manipulation_pose_to_pose package provides the pose-to-pose workflow node for Isaac ROS Manipulation. The node plans and executes motions between target frames using the cuMotion MotionPlan action server for planning and the MoveIt ExecuteTrajectory action server for execution. It cycles through a list of target frames, looking up each frame in TF and sending a goal pose to the cuMotion planner. It is launched via isaac_ros_manipulation_bringup (e.g. pose_to_pose.launch.py) as part of the Goal State Estimation component in the reference architecture.

API#

ROS Parameters#

ROS Parameter

Type

Default

Description

target_frames

string array

['target1_frame', 'target2_frame']

List of frames that the node should target. The node will target each frame in a round-robin fashion.

plan_timer_period

float

0.01

Desired period in seconds between planning requests

world_frame

string

base_link

Reference frame used for TF lookup and in which goal poses are expressed (typically the robot base frame)

link_name

string

base_link

Link name used for the goal pose reference

motion_plan_action_server_name

string

cumotion/motion_plan

Name of the cuMotion MotionPlan action server

execute_trajectory_action_server_name

string

execute_trajectory

Name of the MoveIt ExecuteTrajectory action server

time_dilation_factor

float

0.2

Time dilation factor passed to the cuMotion planner to control trajectory execution speed

update_esdf

bool

true

Whether to request an ESDF update from nvblox before planning

ROS Action Clients#

ROS Action

Interface

Description

cumotion/motion_plan

isaac_ros_cumotion_interfaces/MotionPlan

Sends goal poses to the cuMotion planner for trajectory planning

execute_trajectory

moveit_msgs/ExecuteTrajectory

Sends the planned trajectory for execution on the robot