The Leaf Project
A robotics project using artificial intelligence and vision
updated July 26, 2012
Now with Leaf 2.0 (ROS) info
These are the first three robots in the Leaf family.
From Left to right is Robin with her robot Mabel, Bruce with his robot Leaf, and Alex with Rocky.
All are equipped with microphones, speakers and webcam. Bruce's robot shows the sophisticated CSLU animated face; and Rocky shows the simpler animation image. In addition, Rocky shows an image captured from his webcam.
While Mabel and Rocky are almost identical twins, Leaf shows how the basic architecture can be customized extensively.
Meet Leaf, a short movie (1 MB)
RoboRealm is used by our members to give vision to their
Leaf robots. Click here to purchase or look into their
license program. Mention the Leaf Project
The Leaf Project is a group robot development program. The objective is to develop a robot platform that supports experiments with Artificial Intelligence, vision, navigation etc. For more, see Objectives.
Here are a some of the new Leaf Bots as of the end of 2008 Observe that a "Leaf robot" does not imply a form factor, just the electronics and software. All pictures can be clicked to enlarge..
Leaf began as an Artificial Life program that Bruce Weimer demonstrated at our robotics club, the Robotics Society of Southern California. Bruce's artificial person, Leaf, was inspired by the computer game Creatures, by Steve Grand, in which artificial beings hatch, develop, and interact in a simulated environment. Bruce's creature included personality, response to spoken commands and vision.
Alex Brown felt that it wasn't fair to keep Leaf locked up in a PC; he wanted to let him loose in the world. Leaf needed a body. He designed a simple platform supporting basic mobility, sensing and supporting control from an on-board PC environment.
Robin Hewitt provided a webcam implementation to give the Leaf bots vision and software to provide several visual capabilities including finding a homebase circle. See her website for details (in Software/Vision)
Many other capabilities have been added to Leaf. Some have been made standard in the code provided here and others have been added to specific builders' robots:
Interface to X10 household electrical control. E.g. tell your robot to turn on the lights.
Numerous vision tasks using both RoboRealm and OpenCV. examples are face recognition, following paths, finding wall sockets, etc.
This is an open source project. Use of existing software is limited to that which is commonly available or free. All new-development robot software is open source, free and fully documented. Hardware designs are either fully documented or have enough information and advice for a builder to develop their own compatible designs.
Building a large PC based robot is a big task for many of us, requiring learning a lot of new skills. We hope that this website will provide shortcuts to help others get starting building robots in the PC world.
You are welcome to join or just browse our mail list at: http://groups.yahoo.com/group/leaf_an_AI_robot/ . The list is quite active and is 500+ members strong. Everyone is welcome to participate or ask questions at any level.
Also, we have a wiki at en.wikibooks.org/wiki/Programming_AI_with_Leaf. This wiki is intended to be a repository for help in installing and troubleshooting the software as well as new functionality developed for Leaf.
Added documentation allowing a Leaf robot to operate ROS software. This is an advanced feature and is not intended to replace the standard Windows version of Leaf. Click the link below for more information.
Added updated version of SD84 dll software including how to incorporate SD84 access to the Lisp code (see Software / Utilities)
Added updated software for interfacing
to the SD84 I/O board.
Made numerous minor revisions to minimize obsolete material.
Repaired links to microcontroller wiring
Minor change to microcontroller assembly procedure. Changed reference to R15 in step 9 to R18.
Added a note not to install the Microsoft Speech API into Windows 7 or Vista. A better version is already in Vista and 7.
Update for Nav and Control is added. See Software / Nav and Control for details.
Next revision of Microcontroller code is
posted. Check the Software/Microcontroller page for details.
Added my new robot, Rocky 2, to the Family Tree page.
General upgrades to the text and/or
pictures on many pages
Updated microcontroller procedures and manuals to cover board revisions 0 to 3.
Got the Useful Links page (below) going.
Bruce has finalized his program for avoiding the 5 hour time limit on the LispWorks compiler. His new programs will allow Leaf to run indefinitely. For details and download, go to Software/Lisp page
Objectives: What our goals are for this project
Overview: A little history, current status and plans for the future
System Description: A brief description of how it all works
Hardware: Detail description of how the hardware was built and why
Electronics: Detail description of electronic components
Software: A description of all the software
Family Tree: Descriptions and photos of Leaf robots
Leaf's Scrapbook: Pictures of Leaf growing up.
Project Team: Leaf's parents, creators, contributors
Getting Started: How to get started on your own Leaf bot.
Useful Links: For learning or getting parts etc.
Proprietary rights: (or lack thereof)
Webmaster Alex Brown email@example.com