-
Notifications
You must be signed in to change notification settings - Fork 0
install software
All the software we have could be roughly split in two parts: programs running on robot's on-board computer and programs running on remote computer.
On-board software consist of the following parts:
-
Linux operating system. We are using Angstrom distribution which is in turn based on OpenEmbedded framework. We are providing the layer which is the way to customize the distribution with OpenEmbedded.
-
Kernel driver (sources, [[documentation | tb6612fng-doc]]) for TB6612FNG motor controller with the set of test utilities.
-
Module to talk to I2C sensors such as on-board sonars, light sensor and compass.
-
Module to control servo-motor to rotate the head with mounted cameras.
-
Module to work with video cameras. In particular, it captures video, compress it with h264 in real-time and send video stream to remote computer.
On the remote computer (it could be notebook or server in the cloud), the following applications could be installed:
-
Cockpit application. The main purpose of this application is to visualize sensor data received from the robot and allow manual control.
-
Joystick sensor. We are using the distributed sensors/actuators paradigm for our software. Joystick is just yet another type of sensors. However, typically joystick is connected to the same computer where Cockpit application is running and that is why, the joystick-sensor daemon should be installed on the same computer.
In addition, there is a set of examples written in Python. They could be run either on remote computer or direct on robot. This portability offers great flexibility while choosing the deployment model. If the robot should be completely autonomous, then it is possible to run the control algorithms on on-board computer. If, however, communication link (WiFi or 3G) is available and great calculation power is required to run complex algorithms, then control software could be deployed on the server or even the server farm.

