Robotic Car Controller 1.0
Library to manage a two wheeled robotic vehicle (Stepper Motors)
Robotic Vehicle Library

This library is designed to provide core mobility functions for an autonomous two-wheeled robotic vehicle using stepper motors controlled using the MD_Stepper library.

This library provides the code infrastructure that allows the car to travel in a controlled manner, on top of which specific applications can confidently be built.

This library is designed around a custom designed two wheel drive (+ idler castor wheel) vehicle chassis depicted below. The software also be suitable, with little or no modifications, for more capable platforms with similar mechanisms.

The vehicle hardware and control system are made up of a number of subcomponents that are functionally brought together by the software library:

The control hierarchy implemented in the library is shown in the figure below. The library implements the control elements from "Motion Control" to the right of the figure. The components to the left of 'Motion Control' are defined into the application that defines the vehicle's behavior.

The library is designed to control 2 types of autonomous movements:

  • Precisely controlled movements (eg, spin in place), where the ability to manoeuvre the orientation of the vehicle at low speed is important. Independent control of motor directions and how far it spins are used as control parameters for this mode type of movement.
  • General movements (eg, traveling at a set speed in a set direction), where the ability to move more quickly in an specified path is important. This type of motion is managed using unicycle model control calculations.

Library Topics

Additional Topics

Library dependencies