Source: https://robot.gmc.ulaval.ca/fileadmin/documents/Theses/marc_arsenault.pdf