Open Automaton Project

[ home | FAQ | project | download | prototype | community | links ]


* Project Source Code

The most recent stable release is version 0.1. The Unix/Linux archive (.tar.gz) for version 0.1 may be downloaded from SourceForge here.

The latest "bleeding edge" project source code, circuit schematics and documentation are available from the Subversion repository.

The following components are included in the project:

Component Subdirectory Description
Input Module input_module Part of the human-robot interface; this component consists of custom hardware and firmware to receive input from a human via an on-board keypad, or by IR or RF remote control.
RF Remote Module rf_remote Part of the human-robot interface; this component consists of custom hardware and firmware for a handheld RF remote control to use in conjunction with the Input module.
Power Management Module power_management_module This component consists of custom hardware and firmware that controls the power source to the robot's main 12V rail (either main battery, or external), and also controls the signal to initiate battery charging. This module is also responsible for continuously monitoring the main battery voltage, and the voltage of the external power source. All communication between this module and the robot's mainboard is via the I2C interface using the SMBus protocol. This module resides on board the robot, and beams commands to the ground-based Docking Station module via infrared.
Docking Station docking_station This is a fixed hardware device that provides an external power source as well as a battery charging power source for the robot when "docked". The PICMicro in the Docking Station turns on the external power source and charger only when signaled to do so by the robot itself via an infrared signal emitted from the Power Management Module on board the robot. When the robot is not docked, the docking station power supply and charging contacts are kept in safe mode (open circuit). This Docking Station component consists of custom hardware and firmware.
Sonar Array Module sonar_array_module This component consists of custom hardware and firmware to interface with up to 16 Devantech SRF04 sonar sensors. The module communicates with a host mainboard via I2C using the SMBus protocol.
Head Control Module head_control_module This component consists of custom hardware and firmware to drive two RC servos (for Pan and Tilt head control). The unit also interfaces with the Eltec 442-3 passive infrared body heat detector. The module communicates with a host mainboard via I2C using the SMBus protocol.
Motor Control motor_control_module This component consists of custom hardware and firmware to generate two high frequency PWM signals for the main DC drive motors, and for counting the pulses from two quadrature encoders. The module communicates with a host mainboard via I2C using the SMBus protocol.
I2C Parallel Port Interface Module i2c_para_module This is a custom hardware device that plugs into the mainboard's parallel port to provide an I2C bus interface for the other hardware modules. This module is not required for mainboard's that have their own integrated I2C header.
Utilities utils Various command-line utilities that run on the robot's mainboard system, for testing and calibrating various system components.
  • oap-power: Power Management Module utility. This program is for testing I2C communications with the PMM, monitoring the state of the battery and charging status, setting calibration coefficients in the configuration file (/etc/oap.conf), and configuring the PMM.
  • oap-sonar: Sonar Array Module utility. This program is for testing I2C communications with the module, reading sensor data, and setting or querying module configuration settings.
  • oap-head: Head Control Module utility. This program is for testing I2C communications with the module, reading sensor data, setting servo target positions, and setting or querying module configuration settings.
  • oap-motor: Motor Control Module utility. This program is for testing I2C communications with the module, passing motor drive commands from the host, and querying the module's counters, state and configuration settings.
Configuration etc Configuration files that reside in the robot mainboard system's /etc directory.

Please read the project page for more information about the project components.

* Drivers

The latest driver code can be found on their own web sites, but downloads of the versions used in building the prototype droid are provided here for convenience, as they are known to work with the project software.

* Third Party Software Components

As with the drivers, the latest thrd party software components can be found on their respecitve web sites, but downloads of the versions used in building the prototype droid are provided here for convenience, as they are known to work together.

Festival Speech Synthesis System

Website: http://www.cstr.ed.ac.uk/projects/festival/

Coriander

Website: http://www.tele.ucl.ac.be/PEOPLE/DOUXCHAMPS/ieee1394/coriander/

libdc1394

Website: http://sourceforge.net/projects/libdc1394/

* Data Sheets


SourceForge Copyright © 2001-2009 Dafydd Walters. All rights reserved.
This page was last modified on November 27, 2009
Valid HTML 4.01