Sorting Robot
A large programming and construction project to create an autonomic robot for sorting and delivering colored cubes. It was an assignment given as a part of an extended mobile communication programming course, lasted a semester i.e. 4 months.
Outline
The following specifications was given and everything outside of this was up to us to include and expand on:
- Build a remotely controlled unit with a certain degree of autonomy
- Describe the function of the system by using a SDL (Sequence Description Language) model
- Include a unit to remotely control the vehicle
- Must include a set of remotely accessible control commands (start, stop, order)
- Continuously send status messages back to the remote control
- Front wheel spinning free
- Be based on a Atmel ATmega1280 microcontroller - Arduino Mega 1280
- Microcontrollers used for sensors, drivers, communication module hoop-up
- Wireless communcation over Digi Xbee-modules
Report
The following report contains all the details of the system, implementation and code, unfortunately it's in Norwegian but the photos, diagrams and code do tell part of the story.
- Sorteringsrobot (Norwegian) - PDF
Functional diagram
To get a sense of how the robot functions and the flow between the processes, take a look at the functional diagram. It's created in Cinderella SDL and follows most of the SDL markup rules.
Download
To open and compile the control terminal and sorting robot projects, download and configure Eclipse C/C++ with the avr-eclipse plugin. There are guides showing this, like this one.
- Sorteringsrobot C code - ZIP
The GUI is designed using Netbeans and to run the serial communication part requires the RXTX Comm Java library (included).