Software Designs
This section documents the state of software for Brak.
The project's software at this point consists of:
- BRAK
Software Abstraction Layer (BRAK/SAL):
We're developing a model for
interconnecting all the Brak software using sockets. This will
allow any control-level algorithms to work with either the simulator
or the "real" Brak base without recompilation. It will also allow
the GUI (or multiple GUIs) to monitor activity on the robot or the
simulator remotely over the network.
- USB Drivers for Linux:
We're also begun to look at using the Universal Serial Bus (USB)
to connect Brak with its external components such as cameras, sensors
and motors. Linux now includes support for USB and some pretty
cool USB controller devices have appeared, so our migration has
begun with understanding how to get data from here to there.
- Brak simulator:
Work is underway on developing a simulator for Brak. Our simulator
currently is based on code derived from the
Khepera
simulator; as time progresses (and the students on the project
get a better feel for what a simulator should do)
it will be entirely rewritten. The two main modules of the simulator
will be (1) a GUI interface of the robot's state and (2) a robot
model of Brak itself. These modules are being designed to run
together or independently (the GUI will work with the "real" Brak
base as well).
-
Other Linux device drivers:
The device drivers are the direct link from Linux to the hardware such
as the
I2C controller board, the ultrasonic
driver boards and the motor board (and any other electronic hardware we
add later). This work pretty much revolves around maintenance these
days, but software is software.
|