Skip to content

HLP R Manipulation Actions

David Kent edited this page Nov 15, 2016 · 6 revisions

Description

HLP-R Manipulation Actions is a ROS package that provides action server, service, and topic implementations of commonly used MoveIt! functionality, as well as more complex reusable manipulation actions (such as pick and place). The package includes three nodes: a wrapper for basic MoveIt! calls (hlpr_moveit_wrapper), complex manipulation actions (#common_actions), and simple movement primitives (primitive_actions). Detailed breakdowns of what's included in each node, how to run each component of the package, and examples are included below.

HLP-R Manipulation Actions mainly uses rail_manipulation_msgs for communication and assumes you are using the MoveIt! config for HLP-R.

Menu

ROS Nodes

hlpr_moveit_wrapper

This node wraps common MoveIt! calls. It comprises of the basic functionality that common_actions and primitive_actions build on, but it can also be used standalone for basic motion planning. Relevant action servers, topics, and services are as follows:

  • Action Servers
  • hlpr_moveit_wrapper/move_to_pose(rail_manipulation_msgs/MoveToPose)
           plan and move to a task-space pose (end-effector pose)
  • hlpr_moveit_wrapper/move_to_joint_pose(rail_manipulation_msgs/MoveToJointPose)
           plan and move to a joint pose
  • Published Topics
  • hlpr_moveit_wrapper/computed_trajectory(moveit_msgs/DisplayTrajectory)
           trajectory visualization (for debugging)
  • hlpr_moveit_wrapper/grasping_state(rail_manipulation_msgs/GraspingState)
           whether the gripper is holding something, and if so, what it is
  • Services
  • hlpr_moveit_wrapper/cartesian_path(rail_manipulation_msgs/CartesianPath)
           plan and move for a task-space linear trajectory (warning: this often fails over long distances, and will fail near singularities)
  • hlpr_moveit_wrapper/call_ik(rail_manipulation_msgs/CallIK)
           inverse kinematics; get a joint pose for an end-effector pose
  • hlpr_moveit_wrapper/attach_closest_object(std_srvs/Empty)
           attach the closest collision object to the end-effector (e.g. after the robot grasps something)
  • hlpr_moveit_wrapper/detach_objects(std_srvs/Empty)
           detach all collision objects from the end-effector
  • hlpr_moveit_wrapper/prepare_grasp(rail_manipulation_msgs/PrepareGrasp)
           disable collisions on the gripper so it can contact objects
  • hlpr_moveit_wrapper/reactivate_grasp_collision(std_srvs/Empty)
           enable collisions on gripper (used after hlpr_moveit_wrapper/prepare_grasp)

common_actions

primitive_actions

Launch Instructions

in progress...

Examples

in progress...

Clone this wiki locally