Team Six/Final Paper
Contents |
Introduction
Janky the cocoabot won the competition on MASLAB 2015. It had a very simple design and its code was very modular.
Software
The whole code can be found on our github repository: [1]
Language and Libraries
The whole code was written in C++11, with the exception of the code present in our Arduino, responsible for communicating with the color sensor, which was written in C.
We decided first to use C++ since most of the example code for the sensors was in C++ and no one in the group felt inclined about making use of JNI to interface with the hardware. Then later, we moved to C++11, to make use of the Thread support library "<thread>" and Date and time utilities "<chrono>".
We used Opencv for our computer vision code. We used standard C++ libraries, "string", "unistd", "cmath", "cstdio", "fstream", "iostream", "signal.h", besides libraries related to containers, such as vector.
Design
We had 8 threads running on the robot. A high level decision code, a motor control thread, a servo control thread, an actuator thread, a sensors thread, a logging thread, and two threads listening for interrupts for the encoders.