home | FAQ | project | download | prototype | community | links
Q. What is the status of this project?
This project was conceived in February 2001, and was pretty much
dormant until June 2003, apart from a little background research that was
going on. The project is now revived, and development is well
underway to design the code and electronics that will
come together to form a PC-based mobile robot.
The scope of the project has been reduced somewhat since it was first
conceived. In hindsight, the original scope of developing a complete
set of interface standards, and then implementing them, was a little
too ambitious. The redefined scope now focuses on quickly developing useful
components using existing standards, code and methodologies.
All of the custom hardware and firmware modules that fall within the scope of
this project have already been developed. The software development
tasks that remain to be
before Version 1.0 of the project is officially released are
(in chronological order):
- Develop driver code using the Player framework.
- Integrate some existing Player client code such as Jim Bruce's Color
Machine Vision module, Chris Jones' Vector Field Histogram module (for
goal seeking and obstacle avoidance), and Andrew Howard's Adaptive Monte
Carlo Localization algorithm.
- Integrate code for stereo vision.
- Develop a higher-level "pluggable" middleware framework for behaviours
and task programs, possibly leveraging Pyro or ROS.
- Develop code for human interaction via the on-board keypad and LCD display,
voice synthesis output, and robot-hosted web interface.
The web interface will allow an operator to:
- tele-operate the robot,
- view or listen to pictures or audio captured by the robot,
- upload and download behaviour and task program software modules either from the local filesystem, or perhaps from an Open Automaton Project user-community web site.
- Compile a small library of "starter" behaviours and task programs to
bundle with the release (so that the robot can perform some of the tasks listed below, under
What kind of things will such a robot be able to do?).
The project administrator is keeping a
personal diary at robots.net, where more detailed progress updates
Q. What kind of robot can this project produce?
Here's the project administrator's vision of the kind of robot that should
be possible to implement based on the Open Automaton Project:
- Locomotion: 3-wheel differential-drive, capable of navigating
one floor of a typical indoor home or office environment. Powered by
a pair of modest 12V d.c. motors for a top speed of around one foot per second.
The two motors are each connected to a drive wheel, and the third wheel is
a freely rotating balancing caster.
- Size: 12" x 12" base. Approximately 24" high.
- Weight: Approximately 30 pounds.
- Computing hardware: PC mainboard with 1GHz CPU or better,
512MB RAM, 20GB IDE hard disk,
USB ports, FireWire ports, serial ports. Powered by a DC-DC converter with
- Endurance: A 13Ah sealed lead-acid battery should allow the robot
to have a couple of hours of continuous operation between charges.
- User Interface: The primary user interface is implemented using
a small robot-mounted LCD display and a keypad. A secondary
user interface is remote control (e.g. radio or IR). The
robot also has a synthesized voice for speech output.
- Vision: Binocular stereo vision for detecting obstacles and
building a map of the robot's environment. Mounted on a pan-and-tilt
head constructed with hobby servos.
- Other sensors: Precipice detection using three downward
facing sonar sensors. A few outward facing sonar sensors also augment the
vision sensors for mapping and navigation. A sonar sensor and a passive
infrared detector (to detect heat sources, such as humans) are also mounted on
the pan-and-tilt head (so that they're always 'looking' in the same direction
as the robot's eyes). Battery level and charge level sensors provide
information for power management.
Q. What kind of things will such a robot be able to do?
- Map its environment, and move around avoiding obstacles.
- Come to you when summoned by remote control.
- Go to a target destination you specify and deliver a message
or take a picture, or record audio.
- Obey a sequence of high-level tasks (e.g. go to location A, speak B,
wait for up to 1 minute for an
acknowledgment, go to location C, take a picture, return to me).
This sequence of tasks is programmed on the robot's
on-board graphical user interface.
- Patrol for intruders when you are away, record images and sounds
of any intruders detected, and contact you.
- Sense when its battery voltage is low, and autonomously navigate
to its docking
station and initiate battery charging.
Some capabilities are those of a PDA
(personal digital assistant). For example:
- Record a conversation.
- Play chess with you.
- Maintain your shopping list or todo list.
- Wake you up in the morning, and remind you of upcoming birthdays
Many more possibilities are available if a wireless network connection
(e.g. using 802.11) is implemented. For example:
- Communicate directly with the robot via a web browser using a dedicated
web application hosted on the robot itself. This would allow you to play back
images and sounds recorded by the robot, enter new programs, and tele-operate.
- The robot could notify you when you've received email (and read it
aloud to you).
- Read your favourite news web pages or "blogs" aloud to you.
- Act as a portable radio for listening to your favourite web radio
- Act as a mobile speakerphone (using IP telephony/VOIP).
- Allow "telepresence", i.e. remote control from anywhere via the web,
so that you can check up on your home from afar (video and audio).
Q. What skills are needed to build a robot based on this project?
- You should be fairly proficient in using GNU/Linux systems.
- Some basic knowledge of electronics is useful if you are going to
attempt to assemble the circuits in this project. At the very least
you should be able to interpret circuit schematics, and assemble
circuits on veroboard by following the schematics.
Q. I've subscribed to the mailing list. How do I make changes to my mailing list preferences?
Navigate to the
Open Automaton Project Mailing List Administration Page and enter your
email address in the field at the very bottom of the page, then click
the Edit Options button.
Copyright © 2001-2009 Dafydd Walters. All rights reserved.
This page was last modified on November 27, 2009