Interactive Manipulation for CARL
- Maintainer status: maintained
- Maintainer: David Kent <dekent AT gatech DOT edu>
- Author: David Kent <dekent AT gatech DOT edu>, Peter Mitrano <pdmitrano AT wpi DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/carl_bot/issues
- Source: git https://github.com/GT-RAIL/carl_bot.git (branch: master)
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'carl_interactive_manipulation' publishes interactive markers that can be used to control the end effector pose, visualize manipulable objects, and issue manipulation commands.
Actions Calledjaco_arm/manipulation/gripper (rail_manipulation_msgs/GripperGoal)
- Call open and close actions for the gripper.
- Call object lift action for the arm.
- Move the arm to the home position, or to a defined position via the home position.
Subscribed Topicsjaco_arm/joint_states (sensor_msgs/JointState)
- Updates for arm and finger joint states.
- Updates for segmented and recognized objects.
Published Topicsjaco_arm/cartesian_cmd (wpi_jaco_msgs/CartesianCommand)
- Send Cartesian commands to the arm.
Services Calledjaco_arm/kinematics/fk (wpi_jaco_msgs/JacoFK)
- Forward kinematics for the arm.
- Conversion from quaternion to Euler xyz rotation representations.
- Initiate autonomous pickup on a segmented object.
- Remove an object from the list of segmented objects.
- Read Cartesian position from the arm.
- Arm software emergency stop.
- Stop any currently running arm trajectories.
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:
rosrun carl_interactive_manipulation carl_interactive_manipulation
The interactive manipulation frontend can be started by launching the following, which will bring up an rviz interface:
roslaunch carl_interactive_manipulation im_frontend.launch