Only released in EOL distros:  

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

Package Summary

Miscellaneous Tools for CARL


The carl_tools package contains miscellaneous functionality and tools for the CARL robot. This currently includes an automatic calibration system for the transforms between CARL's sensors and their respective mounts, and an arm current logger.



This node automatically determines transformations between CARL's depth sensors and their respective mounts.

Subscribed Topics

asus_marker_tracker/ar_pose_marker (ar_track_alvar_msgs/AlvarMarkers)
  • AR marker poses detected from the Asus camera.

Published Topics

asus_controller/command (std_msgs/Float64)
  • Send position commands to the Asus servo controller.


calibration_marker_id (int, default: 200)
  • ID number for the calibration AR marker.


Log currents on the JACO arm and finger joints to a text file.

Subscribed Topics

jaco_arm/joint_states (sensor_msgs/JointState)
  • Arm joint states.


filename (string, default: "arm_currents.txt")
  • Name of file to save currents to. If the file already exists, it new current readings will be appended to the end of the file, otherwise it will create the file.


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

  •    1 cd /(your catkin workspace)/src
       2 git clone
       3 cd ..
       4 catkin_make
       5 catkin_make install


External camera calibration can be started with the following launch command:

  • roslaunch carl_tools camera_external_calibration.launch

Optionally, an rviz interface for visualizing the calibration process and final calculated transforms can be launched with:

  • roslaunch carl_tools view_calibration.launch

Current logging can be started by running the current_logger node, with an optional parameter for the output file name (replace <output_filename>), and it will continue to log currents until the node is terminated.

  • rosrun carl_tools current_logger _filename:=<output_filename>

Calibration Procedure

To calibrate the cameras, first make sure a unique AR tag is placed in a known location with respect to the robot. By default, the calibration node expects a maximum size (12 cm) AR marker with ID 200 centered on the screw holes of CARL's top plate. Once this marker is placed and unobstructed, simply launch the calibration node and wait. When the transform is calculated, further instructions will be provided in the terminal where the node was launched.

Wiki: carl_tools (last edited 2015-02-11 15:47:50 by davidkent)