Skip to content

Library architecture

Dimitris Platis edited this page May 9, 2016 · 10 revisions

Architecture

In this page, you can find various resources that illustrate the software architecture of the Smartcar shield library.

Contents

Description

The Smartcar platform, is a user friendly system that allows the user to control the miniature car easily and sports a high level API. The car can use two different kind of motors. Throttling motors and steering motors. Throttle motors can either be simple DC motors or motors controlled by an ESC. The throttle motors can be set to a speed.

Steering motors on the other hand, can also be either simple DC motors or a Servo motor. The steering motors can be set to an angle.

The Smartcar also uses odometers for calculating the traveled distance, as well as a heading sensor that can measure angular displacement. The currently supported heading sensor, consist of the Gyroscope.

Furthermore, the system supports various distance measuring sensors. The distance measuring sensors are either infrared sensors or ultrasonic sensors. The ultrasonic sensors can be the SRF08 or the HC-SR04 model. The infrared sensors are all SHARP infrared models. Particularly, those are the GP2D120, GP2Y0A02 and GP2Y0A21. Moreover, the infrared sensors are characterized by a maximum and minimum distance that they can measure. Finally, all of the distance measuring sensors can return the measured distance or perform a series of measurements and return the median distance.

Class diagram

In the following picture you can see a UML class diagram, that abstractly depicts the various classes of the Smartcar shield library and the associations between them. The various method names and attributes have not been added for better clarity.

Smartcar shield library UML Class diagram

Clone this wiki locally