Calibration
Owner
Kurt, Jeremy, Vijay, Rosen
Nodes
Add links to nodes as they are written.
Links
Camera_Calibration - Calibrates intrinsic camera parameters
Laser/Camera Calibration - Calibrates the 6D extrinsic parameters of a laser range finder and a camera with respect to their links. (This is running Rosen's linescan to checkerboard-plane matching method).
/collecting_laser_stereo_checkerboard_bags - Instructions for how to collect bag files with extracted corners from the stereocamera and the tilting laser. Needed for Vijay's checkerboard corner-matching calibration. This is still a work in progress
Optical_Flag_Calibration - Preliminary Results for optical flag tests on PR2
Motor_Torque_Calibration - Preliminary Results for transmission/belt flex tests on PR2
Updating Kinematic Calibration - Ideas about how to streamline updating the robot's kinematic model params (link lengths, joint offsets, sensor locations) on bootup or online
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
Hand-Eye Calibration Using Dual Quaternions - Daniilidis, 1998
- General joint calibration of multiple sensors - Quoc Le and Andrew Ng (work in progress)
Book, Chapter 3: Model-Based Control of a Robot Manipulator - An, Atkeson, and Hollerbach. amazon.com link
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