Skip to content

kth-ros-pkg/camera_robot_calibration

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Camera-Robot Calibration

This package offers a rosnode that, given a set of pose measurements of the robot end effector w.r.t. a base frame, and the position of a point attached to the robot e.e., measured in a other frame (e.g. a camera measuring a marker position w.r.t. the camera frame) it computes the transformation of from the base frame to the camera frame (and the position of the marker w.r.t the end effector, as a collateral effect).

The package contains two python files:

  • a rosnode
  • a python module

The python module is self standing and can be tested either with saves data (the data.txt brings an example) or with randomly generated data.

Usage of the test
./camera_robot_calibration_module [-h/--help][-i/--inputfile file_of_input][-p/--plotgraph True/False]

Options:

-h: shows help
-i: name file containing the data (if not provided, 
    random poses for robot and camera-marker will be generated, with noise)
-p: plot the graph of max and average residuals (defaults to True)

Rosnode description

A video showing the employment of the node (calibration of a kuka and a asus xion using ar_kinect marker tracking) is available here: http://youtu.be/ihWAxj-8IWM

parameters
  • base_frame_name : name of the common frame
  • camera_frame_name : Name of frame in which is represented the marker (attached to the 3d measurement system), e.g. /camera_link
  • robot_ee_frame_name : name of the frame attached to the robot link that supports the marker, e.g. /lwr_arm_link_7
  • target_frame_name : name of the frame that is measured by the measurement system, e.g. /marker_frame
  • nominal_pose_camera : initial guess of the pose between base_frame and camera_frame (defaults to identity)
  • robot_ee_marker : initial guess of the position between robot e.e. and the marker (defaults to identity, only the position matters, as orientation is never used)

All these frame are expected to be published as tf

Operations
  • read_tfs : store internally the measurement (the marker w.r.t. camera and e.e. w.r.t. base).
  • reset_frames : cancel all measurements
  • compute_frames compute the camera pose. can be called more than once.
Tf transforms

listens to

  • base_frame_name -> robot_ee_frame_name
  • camera_frame_name -> target_frame_name

sends

  • base_frame_name -> camera_frame_name
  • robot_ee_frame_name -> target_frame_name

About

Rosnode for extrinsic calibration of a 3D measurement device w.r.t. a robot

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.6%
  • CMake 1.4%