Only released in EOL distros:
Package Summary
A set of interactive markers for various methods of remote teleoperation manipulation of 6-DOF robot end-effectors
- Maintainer status: maintained
- Maintainer: David Kent <dekent AT gatech DOT edu>
- Author: David Kent <dekent AT gatech DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/remote_manipulation_markers/issues
- Source: git https://github.com/GT-RAIL/remote_manipulation_markers.git (branch: master)
Contents
About
The remote_manipulation_markers package contains interactive marker servers for a set of remote manipulation interaction approaches. The approaches include Free Positioning, Constrained Positioning, and Point-and-Click. These interactive marker servers are intended for use with rviz or with Robot Web Tools interfaces.
Remote Manipulation Interaction Approaches
This package includes three approaches: Free Positioning (FP), Constrained Positioning (CP), and Point-and-Click (P&C). The three approaches are shown below, with interaction points for setting initial poses shown in yellow, and interaction points for adjusting poses shown in blue.
Free positioning uses a ring-and-arrow marker which can be clicked and dragged to individually adjust translation along and rotation about each Cartesian axis. Constrained positioning uses a sphere marker to first set a grasp point, followed by setting an approach angle by clicking on the surface of the sphere. The approach angle is constrained to pass through the grasp point. Point-and-click makes use of autonomous grasp calculation, and involves the user selecting a previously calculated grasp for execution from a list of potential grasps. Further details on these can be found in A Comparison of Remote Robot Teleoperation Interfaces for General Object Manipulation, published in HRI 2017. The approaches are designed for both 2D and 3D visualization modes. For full details and a comparison of the efficiency and effectiveness of each approach in both 2D and 3D visualization modes, see our IJRR 2019 article Leveraging depth data in remote robot teleoperation interfaces for general object manipulation. Videos of the approaches in action can be found here and here.
Messages and Services
Newly proposed, mistyped, or obsolete package. Could not find package "remote_manipulation_markers" in rosdoc: /var/www/docs.ros.org/en/api/remote_manipulation_markers/manifest.yaml
Nodes
free_positioning
'free_positioning' contains the interactive marker server for the Free Positioning interaction approach, i.e. a 6-DOF marker that can be moved in free space with no constraints.Action Goal
execute_grasp/goal (remote_manipulation_markers/SpecifiedGraspGoal)- Execute a grasp action at the pose specified by the marker free positioning marker.
Action Result
execute_grasp/result (remote_manipulation_markers/SpecifiedGraspResult)- Grasp execution success.
Action Feedback
execute_grasp/feedback (remote_manipulation_markers/SpecifiedGraspFeedback)- String indicating the current state of grasp execution.
Actions Called
grasp (rail_manipulation_msgs/PickupAction)- Action client for grasp execution. The topic can be changed by setting the grasp_topic parameter.
Published Topics
gripper_marker_pose (geometry_msgs/PoseStamped)- Publishes the current pose of the gripper marker contained in the free positioning marker.
Services
reset_marker_pose (std_srvs/Empty)- Set the marker pose to the current position of the end-effector.
Parameters
base_link (string, default: "base_link")- Name of the base link in the tf tree used for creating the free positioning marker.
- Name of the end-effector link in the tf tree used for creating the free positioning marker.
- Sets the topic name for connecting to the grasp action server.
constrained_positioning
'constrained_positioning' contains the interactive marker server for the Constrained Positioning interaction approach, i.e. a set of markers for specifying a grasp point and an approach angle.Action Goal
execute_grasp/goal (remote_manipulation_markers/SpecifiedGraspGoal)- Execute a grasp action at the pose specified by the marker free positioning marker.
Action Result
execute_grasp/result (remote_manipulation_markers/SpecifiedGraspResult)- Grasp execution success.
Action Feedback
execute_grasp/feedback (remote_manipulation_markers/SpecifiedGraspFeedback)- String indicating the current state of grasp execution.
Actions Called
grasp (rail_manipulation_msgs/PickupAction)- Action client for grasp execution. The topic can be changed by setting the grasp_topic parameter.
Published Topics
gripper_marker_pose (geometry_msgs/PoseStamped)- Publishes the current pose of the gripper marker contained in the free positioning marker.
Services
clear_gripper_marker (std_srvs/Empty)- Remove the gripper marker.
- Remove the gripper and the sphere markers.
- Create a sphere marker at the given point.
Parameters
grasp_topic (string, default: "grasp")- Sets the topic name for connecting to the grasp action server.
point_and_click
'point_and_click' contains the interactive marker server for the Point-and-Click interaction approach, i.e. functionality for displaying and cycling through a set of calculated end-effector poses.Action Goal
execute_grasp/goal (remote_manipulation_markers/SpecifiedGraspGoal)- Execute a grasp action at the pose specified by the marker free positioning marker.
Action Result
execute_grasp/result (remote_manipulation_markers/SpecifiedGraspResult)- Grasp execution success.
Action Feedback
execute_grasp/feedback (remote_manipulation_markers/SpecifiedGraspFeedback)- String indicating the current state of grasp execution.
Actions Called
grasp (rail_manipulation_msgs/PickupAction)- Action client for grasp execution. The topic can be changed by setting the grasp_topic parameter.
Subscribed Topics
/grasp_sampler/sampled_grasps (geometry_msgs/PoseArray)- Set of calculated poses to be displayed. The topic can be changed by setting the calculatedPosesTopic parameter.
Services
cycle_grasps (remote_manipulation_markers/CycleGrasps)- Cycle the currently displayed end-effector pose forward or backward in the calculated poses list.
Parameters
grasp_topic (string, default: "grasp")- Sets the topic name for connecting to the grasp action server.
- Sets the topic name for subscribing to the calculated poses list.
gripper_marker_vis
A marker server that displays a non-interactable gripper marker at the gripper location specified by one of the other interaction approaches. This can be used with the Free Positioning and Constrained Positioning approaches, and will link the gripper pose to that of the free positioning or constrained positioning markers.Subscribed Topics
/free_positioning/gripper_marker_pose (geometry_msgs/PoseStamped)- Gets the current pose of the free or constrained positioning marker pose. The namespace for this topic can be set with the marker_node_name parameter.
Parameters
marker_node_name (string, default: "free_positioning")- Sets the namespace of the topic for connecting to another interaction marker.
Installation
To install the remote_manipulation_markers package, you can install from source with the following commands:
Startup
Each of the methods can be launched with its own launch file, as follows:
roslaunch remote_manipulation_markers free_positioning.launch
roslaunch remote_manipulation_markers constrained_positioning.launch
roslaunch remote_manipulation_markers point_and_click.launch
Note that free_positioning.launch and constrained_positioning.launch include a boolean parameter run_separate_vis. Setting run_seperate_vis to true will launch a gripper_marker_vis node that corresponds to the free or constrained positioning node.
Citation
If you use this package in your work, please cite our IJRR article:
David Kent, Carl Saldanha, and Sonia Chernova. Leveraging Depth Data in Remote Robot Teleoperation Interfaces for General Object Manipulation. The International Journal of Robotics Research, 2019.