The carl_moveit_package includes configuration files for running the CARL robot with MoveIt!. The package also includes a ros node that acts as a wrapper for relevant MoveIt! functionality that CARL uses, and a node that provides simple execution of common actions such as arm readying, retracting, and lifting.

Newly proposed, mistyped, or obsolete package. Could not find package "carl_moveit" in rosdoc: /home/rosbot/docs/en/api/carl_moveit/manifest.yaml



'carl_moveit_wrapper' provides a convenient wrapper to commonly used MoveIt! functionality for CARL, such as motion planning for end-effector poses, end-effector Cartesian trajectory generation, and inverse kinematics.

Action Goal

carl_moveit_wrapper/move_to_pose (carl_moveit/MoveToPoseGoal)
  • Plan a trajectory to a pose goal, and execute the trajectory if planning was successful. Note that the pose is for the jaco_link_hand frame.
carl_moveit_wrapper/move_to_joint_pose (carl_moveit/MoveToJointPoseGoal)
  • Plan a trajectory to a joint configuration goal, and execute the trajectory if planning was successful.

Action Result

carl_moviet_wrapper/move_to_pose (carl_moveit/MoveToPoseResult)
  • Success/failure of motion planning and trajectory execution to a given pose.
carl_moveit_wrapper/move_to_joint_pose (carl_moveit/MoveToJointPoseResult)
  • Success/failure of motion planning and trajectory execution to a given joint configuration.

Actions Called

jaco_arm/joint_velocity_controller/trajectory (control_msgs/FollowJointTrajectoryGoal)
  • Joint velocity control based smooth trajectory generator and follower, provides smooth trajectory execution for any valid point-to-point trajectory in the arm's workspace.

Subscribed Topics

joint_states (sensor_msgs/JointState)
  • Joint state updates for CARL.
carl_moveit_wrapper/cartesian_control (geometry_msgs/Twist)
  • Experimental direct end-effector control using Jacobian pseudoinverse methods.
jaco_arm/arm_homed (std_msgs/Bool)
  • Listen for the arm to complete a home action using the Kinova API.

Published Topics

jaco_arm/angular_cmd (wpi_jaco_msgs/AngularCommand)
  • Send angular commands to the JACO.
carl_moveit/computed_trajectory (moveit_msgs/DisplayTrajectory)
  • Trajectory visualization for debugging planned paths.


carl_moveit_wrapper/cartesian_path (carl_moveit/CartesianPath)
  • Compute and execute a Cartesian path for CARL's end-effector.
carl_moveit_wrapper/call_ik (carl_moveit/CallIK)
  • Compute inverse kinematics given a only a pose (automatically handles other parameters MoveIt! needs for IK).

Services Called

compute_ik (moveit_msgs/GetPositionIK)
  • Get inverse kinematics from MoveIt!.
clear_octomap (std_srvs/Empty)
  • Clear the octomap (environment collision voxel grid).


'carl_moveit_common_actions' provides a quick way to call preprogrammed actions that require motion planning, such as resetting the arm to its home position with obstacle avoidance.

Action Goal

carl_moveit_wrapper/common_actions/arm_action (carl_moveit/ArmAction)
  • Perform a pre-defined arm action, such as moving the arm to the ready position or retracted position using motion planning for obstacle avoidance.
carl_moveit_wrapper/common_actions/lift (rail_manipulation_msgs/LiftAction)
  • Raise the end-effector up by 10 cm using Cartesian path planning and execution.
carl_moveit_wrapper/common_actions/pickup (carl_moveit/PickupAction)
  • Execute a complete pickup action on a given pickup pose.

Action Result

carl_moveit_wrapper/common_actions/arm_action (carl_moveit/ArmResult)
  • Success/failure of arm action.
carl_moveit_wrapper/common_actions/lift (rail_manipulation_msgs/LiftResult)
  • Success/failure of the lift action.
carl_moveit_wrapper/common_actions/pickup (carl_moveit/PickupResult)
  • Success/failure of the pickup action.

Actions Called

carl_moveit_wrapper/move_to_joint_pose (carl_moveit/MoveToJointPoseGoal)
  • Call to the move arm action server that will plan and move to a joint goal.
carl_moveit_wrapper/move_to_pose (carl_moveit/MoveToPoseGoal)
  • Call to the move arm action server that will plan and move to an end-effector goal.
jaco_arm/manipulation/gripper (rail_manipulation_msgs/GripperAction)
  • Gripper open/close action.
carl_moveit_wrapper/common_actions/lift (rail_manipulation_msgs/LiftAction)
  • Call to lift action.

Subscribed Topics

jaco_arm/angular_cmd (wpi_jaco_msgs/AngularCommand)
  • Angular command publisher for the arm.

Services Called

jaco_arm/erase_trajectories (std_srvs/Empty)
  • Stop any currently running arm trajectory.
jaco_arm/get_angular_position (wpi_jaco_msgs/GetAngularPosition)
  • Read joint positions from the arm.


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

  •    1 cd /(your catkin workspace)/src
       2 git clone https://github.com/WPI-RAIL/carl_moveit.git
       3 cd ..
       4 catkin_make
       5 catkin_make install


The carl_moveit package contains many launch files that are used for configuring MoveIt! for CARL. They can be used to run MoveIt! on CARL, on a simulated robot, run benchmarks, visualize motion planning, and adjust parameters. Primarily, the carl_moveit_full.launch file can be used to run everything required for MoveIt! on CARL, as well as carl_moveit_wrapper and carl_moveit_common_actions:

  • roslaunch carl_moveit carl_moveit_full.launch

Wiki: carl_moveit (last edited 2015-04-02 18:10:29 by davidkent)