Basic topic
The basic topic is Robot Control Module (RCM) i.e. your task is to design a control module for a robot. The robot is a simple two wheel robot that uses two stepper motors for driving (See the picture below). The robot can be programmed to drive autonomously a certain path. A list of driving commands are first downloaded from a PC to the robot, after which the robot will drive automatically through the program.


The control module is required to contain the following peripherals:
- some external memory for saving the driving commands
- RS232 serial connection for the PC
- some buttons and an LCD display for operating the robot
- driver or amplifier IC:s for interfacing to the stepper motors
- programmer header or programming circuit for programming a real microcontroller


The main connections are presented in picture above. The minimum requirements for the RCM system to be built by each group are the following:
1) The driving commands can be uploaded from a PC to the RCM.
2) The robot can autonomously drive the programmed path.
3) The robot will stop when bumper hits an obstacle (optionally tries to avoid the obstacle).
4) The robot has a user interface, which is used with buttons and LCD-display. The UI is used at least for starting the driving and downloading data from PC.
5) The robot is operable with both battery and external dc-power.


The robot control module must be able to understand at least commands for driving forward and backwards a length specified in centimeters and turning an angle specified in degrees. For example a command for driving could be FW25, which takes the robot forward 25 cm or BW04, which takes it bacwards 4 cm:s. Similarly turning could be CW50, which turns the robot 50 degrees clockwise or CC24, which turns the robot 24 degrees counter-clockwise.
The command list, which will be uploaded from a PC, will consist of a series of these commands. For example using commands from the previous example, the list could be:
FW10
CC90
FW50
7
CW90
BW10
CW90
FW50
...
The previous commands are just examples. The groups may use them or create their own commands. We suggest you use ASCII commands in order to be able to test them easily with normal terminal programs such as HyperTerminal. However, any commands are allowed, as long as you are able too demonstrate it working.

For more information check the full project assignment.

Some bits of information for the RCM construction

- The diameter of a wheel is 69,5 mm
- The used stepper motor is bipolar type. Connection diagram in project assingment.
- The diameter of the robot is 230 mm (between wheels)