Calibration

Owner

Kurt, Jeremy, Vijay, Rosen

Nodes

Add links to nodes as they are written.

Scope

  • Each sensor calibrated internally
  • Mechanism parameters calibrated accurately
  • Calibration of relationship between sensors and mechanism (including mechanism they are mounted to)
  • Timestamp calibration and synchronization

Requirements

  • Calibration that can be performed accurately and permanently before leaving Willow Garage should be done and stored
  • All regularly run calibration routines should be fully automatic
  • Calibration of the system will be evaluated on end-to-end performance, not on error in independent components
  • Storing, loading, and interacting with calibration parameters must be easy enough that everyone will understand and use the system

Parameters to be calibrated

  • Camera models for fixed-focus cameras
    • Intrinsic camera parameters (Full model from Trucco and Veri is good).
    • Hooks for extracting extrinsic parameters to calibrate placement of cameras on system
    • Calibrated estimate of time-delay between image acquisition and time-stamping
    • Expectation is subpixel accuracy over full field of view
    • Color model? Reference target on robot?
  • Camera models for PTZ cameras
    • A useful calibration for the camera intrinsics over the full range of zoom and focus
    • Calibration of pan and tilt axes should include - offset and scaling (plus non-linear terms if required), repeatability error model, worst-case movement time model that allows programs to wait until pan/tilt/zoom command has executed without waiting much longer than required.
  • Stereo pair
    • Stereo calibration for fixed location, fixed-focus cameras on stereo head
  • Hokuyo laser sensor for navigation
    • Position and orientation relative to robot base coordinate system
  • Panning hokuyo laser sensor
    • 6-dof position and orientation of scan relative to pan-tilt stage
    • Model of timing of point acquisition within a scan and of latency between point acquisition and reading it in from the USB that allows accurately determining location of each scan point while pan-tilt stage is moving
    • Error model of scanner (distribution of returns for a given target distance) that is reasonable over a wide range of reflectivity
  • Mechanism
    • Calibration of all encoder offsets as accurately as possible.
    • Calibration of link lengths and 6-dof offsets between rotation axes. There will be estimates from the CAD which may be the best available estimates, but these should at least be verified.
    • Target is <1mm position error everywhere in the system

    • Calibration of CG, moment of inertia, and mass for each link in the arms. Good estimate from CAD or other sources for all links in the system.
    • Estimate of friction (static, coulomb, and viscous)
    • Ideally, a full estimate of the dynamics of the system (friction, inertia), can be maintained from arbitrary trajectories and used to monitor the system and be aware if system parameters are changing significantly.
  • Hand
    • Calibration of hand sensors (location and pressure response of each element). Details TBD
    • Calibration of grip-strength with respect to motor current
  • Base
    • Calibration of effective wheel diameters for dead-reckoning (Wim, Sachin)

Resources

Starting to accumulate some useful resource papers:

Evaluation and milestones

Single sensor calibration

  • Calibrate a sensor fully (stereo head would be good) and use known ground-truth objects to show that the calibration is accurate

Full system coverage

  • Demonstrate a system which finds an estimate of each of the above parameters, and provide approximate accuracy of each estimate.
  • Demonstrate the full calibration procedures required to gather all data and do that calibration

Analyze system and prioritize problem areas

  • Evaluate result of previous milestones
  • Identify areas which will be most problematic for reaching <1mm accuracy throughout the system

  • Set parameter-specific calibration goals

Meet component calibration targets

  • Demonstrate ability to calibrate parameters in the system to accuracy goals determined in previous milestones
  • For areas where this is difficult, clearly identify primary source of error in calibration and barriers to reducing it

Multi-sensor calibration

  • Demonstrate calibration accuracy by estimating a real-world measurement (e.g. position of a target) based on data from multiple sensors and showing that the estimates agree with one another to within 1mm over a broad range of positions

Kinematic (Closed-loop) calibration

  • Demonstrate closed-loop calibration accuracy <1mm between arm postioning and the sensor head (e.g. localize the end of the hand via stereo data and via encoder data).

Resources

Fully accurate calibration

  • Be prepared to demonstrate good calibrated accuracy for any combination of mechanism and sensors on the robot. All closed-loop tests performed should have accuracy values that are within goals set out at start of project.

User testing

  • Provide sufficient documentation on the calibration system and procedures for a random person to follow your instructions and calibrate the arms to the sensor head within 1mm accuracy.

Status meeting 5/2;

Russians working on improving chessboard location Kurt working on OpenCV stereo calibration algorithm.

Need to get tilting hokuyo in working condition and leave it that way.

Need filtering on Hokuyo (filter out veils, etc.)

Hokuyo firmware mods arrive next week (by 5/9) to allow intensity-based calibration (working with Paul at Stanford)

Device status:

  • Videre stereo heads easy to get Need to look at solution. Kurt likes dual Stereo head. ~2months for prototypes. Pt. Grey cameras - put them up and compare them? Good use of time if we have bodies (good intern program) Hokuyo delivery date

Keenan - Planning to make new heads of new rev. Delivery late June.

  • Tilting Hokuyos most important.

Kurt - build 3D models of building.

  • Erratic Hokuyo Scanning Hokuyo Fixed camera

Higher-risk hardware development

  • Flash random pattern Flash LED, pattern, lens.

Meeting notes

5/15/08

Stereo status:

Calibration:

Stereo calibration [1w to spec, 2w for russians]

  • Intrinsics work well in OpenCV. Have good GUI.
  • Need to change interaction model (perspective, distortion, reprojection matrices)
  • Need to expose image rectification

Checkerboard finder [1w to spec 2w for russians]

PNP solution for laser-camera calibration [Intern project? JD Chen? 4w]

  • Exists in a paper from LePetite

  • Will be automatic based on Hokuyo image returns

3d hardware

  • Stereo
    • Nominal design seems good
    • Unstructured light project is biggest issue. Proof of concept works. How to do it compact and synched? Generate texture from optics or from pattern and diffusion.
    • Videre-design stereo heads for development will just get improved. Wide and narrow angle?
  • Light-striper
    • Kurt Working with Morgan on proof of concept.
  • Hokuyo on tilt head
    • Needs point-cloud filtering [2-4w w/o research] (Alex Teichmann?)

Stereo disparity

  • OpenCV stereo BIrchfield is bad [0]
  • SAD Fast stereo is almost done in software [Start of June]. BSD-license and OpenCV. Project to reimplement FPGA code is starting now at Videre.
  • Graphcuts is slower but better with fill-ins.

Non-calibration vision thoughts from meeting

Better image features

  • 45 degree integral-image

Visual odometry?

Visual SLAM?

Application: Full 3d reconstruction of building? Mesh reconstruction

??? old_date

Kurt doing first pass on Stereo Calibration

Hokuyo Firmware Mods for intensity data

Stereo to Tilting Hokuyo Calibration using checkerboard

Median Filtering - Jermey

Russians online on the 9th of may

  • - to do better calibration

Videre Stereo Head

  • - End of Judy of the 4 camera head - We need additional stereo heads

Flash random patten

  • - LCD projector - Overhead projector - Keenan will look into finding and outside contractor

Hokuyo pan stage mount for laser line projector - Keenan

Wiki: camera_calibration/calibration_notes (last edited 2009-11-16 18:48:30 by MeloneeWise)