Skip to content

Scripts to calibrate a conversion between image and real-world coordinates

Notifications You must be signed in to change notification settings

BOTSlab/puck_calib

Repository files navigation

Introduction

Calibration Process

Scripts to calibrate a conversion between image and real-world coordinates.

Context: A mobile robot operating in the plane, viewing a set of targets (pucks). Given the position of a puck in the image (xi, yi), we would like to obtain the corresponding real-world coordinates (xr, yr). The approach taken here is to lay out a set of targets in a grid, capture an image, then get the user to manually select these targets by running correspondences_from_picks.py. Then run interpolator.py to interpolate between the selected points. The result is interpolated_correspondences.csv which can then be used as a lookup-table to convert from (xi, yi) to (xr, yr).

This approach was first described in the following paper:

Vardy, A., Vorobyev, G. & Banzhaf, W. Cache consensus: rapid object sorting by a robotic swarm. Swarm Intell 8, 61–87 (2014). https://doi.org/10.1007/s11721-014-0091-5

Instructions

Set the name of the input image along with parameters of the calibration grid in input.py. Now run correspondences_from_picks.py. If using ROS, you could potentially use correspondences_from_tags.py from AprilTags detected in a camera or stored image, but this file has not been touched in many years. The result is known_correspondences.csv.

Next, run interpolator.py. It produces the file interpolated_correspondences.csv.

History

First written around April 2014. Updated in April 2025.

Andrew Vardy bots.cs.mun.ca

About

Scripts to calibrate a conversion between image and real-world coordinates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages