This project proposes to develop the digital components of a robot that does the line following.
An array of six IR sensors will be utilized by the A2D converter and the readings will be mathematically combined to form a signed error signal (Positive if too far left of the line, negative if too far right of the line). This error signal will be used in a PID control algorithm to determine the drive to each motor pair (left/right) to steer the follower. The digital core provides an 11-bit signed number for each motor pair (left/right) that represents the magnitude and direction (forward/reverse). The Motor Cntrl block converts these numbers into PWM signals that then drive the motors (through an external driver chip). There are stations along the path of the line that will have “barcodes”. A 7th IR sensor (that sits to the extreme left of the follower) is configured to give a serial bit stream as the follower drives over a station ID barcode. The follower will receive a command from the Bluetooth module (sent via UART) to go to a specific station and stop there. There is also a forward looking proximity sensor (looks 10cm ahead). If the path is clear it asserts OK2Move. If this signal falls the follower should hit the brakes and buzzes the piezo buzzer.
The system is divided into several modules. The description of each is listed below.
<style> </style>Module | Contains | Docs |
---|---|---|
A2D interface | Interface that changes analog signal to digital counterpart | wiki |
Digital Core | Core function of the robot which does major calculation/logic processing | wiki |
Barcode Reader | Reader that reads the barcode at the station to stop | wiki |
UART | Bluetooth UART module that receives signal from Bluegigia BLE module | wiki |
Motor Control | sends out PWM signal to control motor | wiki |