Wiki

Only released in EOL distros:  

arm_navigation: collision_free_arm_trajectory_controller | move_arm | move_arm_head_monitor | move_arm_msgs

Package Summary

The move_arm package provides an implementation of a action (see the actionlib package) that, given a goal in the world, will attempt to reach it with a robot arm. The move_arm node links together a planner, trajectory monitor and trajectory controller to acheive its goal. It supports any planner that provides a GetMotionPlan interface and any controller that provides services for setting, querying and canceling trajectories. The node is designed to be modular and so uses ROS services for planning, control and IK and does minimal computation within the node itself.

arm_navigation: arm_kinematics_constraint_aware | arm_navigation_msgs | collision_map | collision_space | constraint_aware_spline_smoother | geometric_shapes | joint_normalization_filters | kinematics_base | kinematics_msgs | mapping_rviz_plugin | motion_planning_rviz_plugin | move_arm | ompl | ompl_ros_interface | planning_environment | planning_models | robot_self_filter | sbpl | spline_smoother | trajectory_filter_server

Package Summary

The move_arm package provides an implementation of a action (see the actionlib package) that, given a goal in the world, will attempt to reach it with a robot arm. The move_arm node links together a planner, trajectory monitor and trajectory controller to acheive its goal. It supports any planner that provides a GetMotionPlan interface and any controller that provides services for setting, querying and canceling trajectories. The node is designed to be modular and so uses ROS services for planning, control and IK and does minimal computation within the node itself.

arm_navigation: arm_kinematics_constraint_aware | arm_navigation_msgs | collision_map | collision_space | constraint_aware_spline_smoother | geometric_shapes | joint_normalization_filters | kinematics_base | kinematics_msgs | mapping_rviz_plugin | motion_planning_rviz_plugin | move_arm | ompl_ros_interface | planning_environment | planning_models | robot_self_filter | spline_smoother | trajectory_filter_server

Package Summary

The move_arm package provides an implementation of a action (see the actionlib package) that, given a goal in the world, will attempt to reach it with a robot arm. The move_arm node links together a planner, trajectory monitor and trajectory controller to acheive its goal. It supports any planner that provides a GetMotionPlan interface and any controller that provides services for setting, querying and canceling trajectories. The node is designed to be modular and so uses ROS services for planning, control and IK and does minimal computation within the node itself.

arm_navigation: arm_kinematics_constraint_aware | arm_navigation_msgs | collision_map | collision_space | constraint_aware_spline_smoother | geometric_shapes | joint_normalization_filters | kinematics_base | kinematics_msgs | mapping_rviz_plugin | motion_planning_rviz_plugin | move_arm | ompl_ros_interface | planning_environment | planning_models | robot_self_filter | spline_smoother | trajectory_filter_server

Package Summary

The move_arm package provides an implementation of a action (see the actionlib package) that, given a goal in the world, will attempt to reach it with a robot arm. The move_arm node links together a planner, trajectory monitor and trajectory controller to acheive its goal. It supports any planner that provides a GetMotionPlan interface and any controller that provides services for setting, querying and canceling trajectories. The node is designed to be modular and so uses ROS services for planning, control and IK and does minimal computation within the node itself.

ROS API

This package provides the move_arm node which is a major component of the arm navigation stack. The node uses ROS services to connect to an environment server for most of its internal needs: e.g. checking trajectories and states for collisions, performing inverse kinematics, talking to controllers, etc.. It communicates with users using an action interface.

API Stability

ROS Parameters

Parameters

~move_arm_frequency (double, default: 50.0) ~group (string, default: "") ~ik_allowed_time (double, default: 2.0) ~trajectory_filter_allowed_time (double, default: 2.0) ~controller_action_name (string, default: /r_arm_controller/joint_trajectory_action/)

Action API

The move_arm node provides an implementation of a SimpleActionServer (see actionlib documentation), that takes in goals containing move_arm/MoveArmGoal messages. You can communicate with the move_arm node over ROS directly, but the recommended way to send goals to move_arm if you care about tracking their status is by using the SimpleActionClient. Please see actionlib documentation for more information.

Action Subscribed Topics

move_arm/goal (move_arm_msgs/MoveArmGoal)

move_arm/cancel (actionlib_msgs/GoalID)

Action Published Topics

move_arm/feedback (move_arm_msgs/MoveArmFeedback)

move_arm/status (actionlib_msgs/GoalStatusArray) move_arm/result (move_arm_msgs/MoveArmActionResult)

move_arm required services

Move arm uses service calls to get information about the robot and the world, compute IK, call planners and do control. It performs minimal computation within the node itself. The service calls are presented below categorized according to the type of service they provide.

Services

Utility services
These are the services that move_arm uses to perform utility functions like figuring out all the joints in a group. get_joints_in_group (planning_environment_msgs/GetJointsInGroup) get_robot_state (planning_environment_msgs/GetRobotState)
Monitoring/Checking services
These are the services that move_arm uses to monitor the environment, check the plan that it receives, check whether a goal state has been reached and monitor the safety of a executed trajectory get_environment_safety (planning_environment_msgs/GetEnvironmentSafety) get_execution_safety (planning_environment_msgs/GetJointTrajectoryValidity) get_trajectory_validity (planning_environment_msgs/GetJointTrajectoryValidity)
IK service
This service allows move_arm to perform inverse kinematics on a particular link on the robot using a particular set of joints arm_ik (kinematics_msgs/GetConstraintAwarePositionIK)
Planning service
This is the service that move_arm uses to call a planner to compute motion plans (motion_planning_msgs/GetMotionPlan)
Filtering service
This is the service that move_arm uses to filter paths before sending them out to the controller filter_trajectory (motion_planning_msgs/FilterJointTrajectoryWithConstraints)

move_arm topics

Visualization topics
These are the topics on which move_arm publishes the planned path and the desired joint goal display_joint_goal (motion_planning_msgs/DisplayTrajectory) display_path (motion_planning_msgs/DisplayTrajectory) allowed_contact_regions_array (visualization_msgs/MarkerArray)

Additional Configuration Details

Additional configuration details are provided on the Configuration page.

Wiki: move_arm (last edited 2010-10-14 00:15:24 by KenConley)