Skip to content

This repository implements a novel approach to odometry calibration independent of the robot's steering geometry. Also, other methods proposed in the literature are implemented for comparison purposes (as shown in the article elaborated).

License

Notifications You must be signed in to change notification settings

sousarbarb/optiodom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OptiOdom: A Generic Approach for Odometry Calibration of Wheeled Mobile Robots - GitHub Repository

About the Project

This repository implements a novel approach to odometry calibration independent of the robot's steering geometry. Also, other methods proposed in the literature are implemented for comparison purposes (as shown in the article elaborated).

Getting Started

Prerequisites

  • MATLAB R2020

Data format

  • Synchronized odometry and ground-truth data
  • CSV files
  • See examples in the data/ folder

Metadata file: [directory/fileID_metadata.csv]

type  , [ diff / tricyc / omni3 / omni4 ],
ngear , [ n ],
encRes, [ Ce ],
Li , [ l (diff/tricyc/omni3) / l1, l2 (omni4) ],
Di , [ D1 , D2 , ... , Dm ],
Thi, [ ThOff (tricyc) ],
N  , [ N (total runs) ],
L  , [ L (square side-length, only needed for UMBmark and Jung&Chung) ],
imarkers,[...], (not required)
gt_ti ,[...],   (not required)
gt_tf ,[...],   (not required)
odo_ti,[...],   (not required)
odo_tf,[...],   (not required)

Data files: [directory/fileID_run-[01..N].csv]

# Differential drive
[ time (s) ] , [ xgt (m) ] , [ ygt (m) ] , [ thgt (rad) ] , [ odoR (tcks/cycle) , odoL (tcks/cycle) ],
...

# Tricycle
[ time (s) ] , [ xgt (m) ] , [ ygt (m) ] , [ thgt (rad) ] , [ odoWh (tcks/cycle) , ThWh (tcks/cycle) ],
...

# Omnidirectional
[ time (s) ] , [ xgt (m) ] , [ ygt (m) ] , [ thgt (rad) ] , [ odo1 (tcks/cycle) , ..., odoM (tcks/cycle) ],
...

Installation

  1. Clone the repository

    git clone https://github.com/sousarbarb/odometry-calibration.git
  2. Copy the metadata file and experiments data to the data/ folder

  3. Execute the odometry calibration method (go to the respective src folders for further instructions):

See Documentation for further details.

Usage

Example for a differential drive robot on an arbitrary path with the calibrated kinematic parameters computed by OptiOdom using a circular or an arbitrary calibration path:

diff-arbitrary

Example for a tricycle robot on an arbitrary path with the calibrated kinematic parameters computed by OptiOdom using a circular or an arbitrary calibration path:

tricyc-arbitrary

Example for a three-wheeled omnidirectional robot on an arbitrary path with the calibrated kinematic parameters computed by OptiOdom using a square or an arbitrary calibration path:

omni3-arbitrary

Additional media content is available on a YouTube playlist (link) to help perform different possible calibration paths for OptiOdom and the ones proposed in the odometry calibration methods considered in the article.

Contributing

Any contributions that you make are greatly appreciated. Please proceed as follows:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/NameFeature)
  3. Commit your changes (git commit -m 'Add some NameFeature')
  4. Push to the branch (git push origin feature/NameFeature)
  5. Open a pull request

License

Distributed under the MIT License. See LICENSE for more information.

Contacts

If you have any questions or you want to know more about the work developed by us, please contact one of the contributors of this project:

Project Link: https://github.com/sousarbarb/odometry-calibration

References

Sousa, R.B., Petry, M.R., Costa, P.G. et al. OptiOdom: a Generic Approach for Odometry Calibration of Wheeled Mobile Robots. J Intell Robot Syst 105, 39 (2022). https://doi.org/10.1007/s10846-022-01630-3 (preprint)

Sousa, R.B.: Odometry and Extrinsic Sensor Calibration on Mobile Robots. Master's Thesis, Faculty of Engineering of the University of Porto (FEUP), INESC TEC - Institute for Systemsand Computer Engineering, Technology and Science, Porto, Portugal. https://doi.org/10.13140/RG.2.2.27052.28802 (2020)

R. B. Sousa, M. R. Petry and A. P. Moreira, "Evolution of Odometry Calibration Methods for Ground Mobile Robots," 2020 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), 2020, pp. 294-299, doi: 10.1109/ICARSC49921.2020.9096154 (presentation)

Acknowledgements

Funding

This work is financed by the ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme, and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within project SAICTPAC/0034/2015- POCI-01-0145-FEDER-016418. This work is also financed by the ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the FCT - Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) as part of project UID/EEA/50014/2013.

About

This repository implements a novel approach to odometry calibration independent of the robot's steering geometry. Also, other methods proposed in the literature are implemented for comparison purposes (as shown in the article elaborated).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages