[Documentation] [TitleIndex] [WordIndex

carl_bot: carl_bringup | carl_description | carl_dynamixel | carl_interactive_manipulation | carl_phidgets | carl_teleop | carl_tools

Package Summary

Interactive Manipulation for CARL


The carl_interactive_manipulation package provides a backend and frontend for object manipulation based on interactive markers. It includes markers to directly control the end-effector pose, visualization of segmented and recognized objects, and commands to autonomously pickup specific objects.



'carl_interactive_manipulation' publishes interactive markers that can be used to control the end effector pose, visualize manipulable objects, and issue manipulation commands.

Actions Called

jaco_arm/manipulation/gripper (rail_manipulation_msgs/GripperGoal) jaco_arm/manipulation/lift (rail_manipulation_msgs/LiftGoal) carl_moveit_wrapper/common_actions/ready_arm (wpi_jaco_msgs/HomeArmGoal)

Subscribed Topics

jaco_arm/joint_states (sensor_msgs/JointState) rail_segmentation/segmented_objects_visualization (rail_segmentation/SegmentedObjectList)

Published Topics

jaco_arm/cartesian_cmd (wpi_jaco_msgs/CartesianCommand)

Services Called

jaco_arm/kinematics/fk (wpi_jaco_msgs/JacoFK) jaco_conversions/quaternion_to_euler (wpi_jaco_msgs/QuaternionToEuler) rail_pick_and_place/pickup_segmented_object (rail_pick_and_place_msgs/PickupSegmentedObject) rail_segmentation/remove_object (rail_segmentation/RemoveObject) jaco_arm/get_cartesian_position (wpi_jaco_msgs/GetCartesianPosition) jaco_arm/software_estop (wpi_jaco_msgs/EStop) jaco_arm/erase_trajectories (std_srvs/Empty)

Manipulation Objects

This package visualizes segmented and recognized objects, and provides menus for interacting with both. Segmented but unrecognized objects will be shown in red, and recognized objects will be shown in blue, labeled with their names.


Selecting the pickup option for an unrecognized object will initiate an attempt to recognize the object, and upon successful recognition, pick up the object. Selecting the pickup option for a recognized object will simply initiate an autonomous pickup attempt. Selecting the remove option for both recognized and unrecognized objects will remove the object from the segmented/recognized object list.


To install the carl_bot package, you can install from source with the following commands:


Interactive Manipulation Backend

The interactive manipulation backend can be started by running the carl_interactive_manipulation node, as follows:

The interactive manipulation frontend can be started by launching the following, which will bring up an rviz interface:

2020-02-15 12:31