Getting Started

    First, the GOOD news:  Two of the three main software components, Artificial Intelligence and Vision can be set up and run on your existing Desktop or Laptop.  The only necessary accessories are a webcam and a microphone.  Just follow the set up instructions in the Lisp and Vision sections of the Software link to get going.  If you have any problems, just ask on the mail list (http://groups.yahoo.com/group/leaf_an_AI_robot/).

    This will allow you to play around with Leaf's personality, have verbal interactions with him/her (you can rename your Leaf bot to anything you like).  You can make changes to Leaf's speech repertoire and change the way it reacts to various situations.  It will be helpful to learn a little Lisp to do this, but it is relatively easy to find where Bruce has implemented various functions and then use these examples as templates.

   The vision software can be run with the AI software or independently.  We are currently using RoboRealm (free download at RoboRealm.com) and OpenCV (free download at http://sourceforge.net/project/showfiles.php?group_id=22870.   RoboRealm is much easier to get started with.

     Of course, if you are enthused by the above and want to make a mobile platform for your Leaf, it gets to be a little more complicated.  Much of a robot body can be customized however you like.  This gives you the possibility of designing something that doesn't work well at the expense of both money and time.

    Most of the electronics and wiring is pretty standard and relatively easy to build.  The risky part is the mobile platform base and its motors and drive trains.  All the current robots are simple two motor/wheel differential drive units with casters to keep the robot upright.  Other configurations are possible, such as four wheels or tracks.  However, these are relatively heavy robots (70 to 100 pounds range) and it takes a lot of power to do four wheel or track skid steering.  Two wheels and casters move and turn easily.  Also,  the motors (or wheels) must have high resolution quadrature encoders (at least 1 click per millimeter of motion, 20 or 30 clicks preferred).

    The website shows how Rocky was built (the original Leaf prototype).  This configuration works well although the specific motors are difficult (or impossible?) to find surplus anymore.  However, other equivalent motors are available.  Basically, this is just a suggestion that if you want to design your own robot base (and who doesn't?), discuss it on the mail list to see if anyone sees any problems.

    Even selection of a laptop has issues.  Again, it depends what you want to do.   Rocky, for instance, is running on a 2.4 GHz Celeron Dell laptop ($599).  In general, it seldom is using more than 10 or 20% of its available thruput. 

    However, the Celeron doesn't process as fast as a Pentium.  Running just the Lisp and Nav and Control software is easily done.   Currently, the vision software is only taking and processing occasional pictures and has little impact.  However, future plans may involve real-time continuous vision processing which will inevitably expand to use all the available throughput (doesn't software always do this?).  Also,  Many of the robots are using a high fidelity face simulation with lip movements synchronized to speech.  This is nice, but on the Celeron, it eats up 80% or more of throughput;  on a Pentium it is more like 10%  (might have something to do with graphics accelerators also).  Hence, Rocky uses a simplified animation image which only uses a couple percent.

    Of course it must have the standard microphone and speaker outputs and USB connections for the microcontroller board and othe peripherals.  Lots of memory is good.  We are using both internal and external (optional) WiFi connections.  A serial port might be useful if you want to play with the microcontroller code; however, few laptops have a serial port anymore, but a USB to serial adaptor works just fine.

   

    A suggested order of build might be:

    1.    Build the base and motor/drivetrain and verify it will be able to move your robot around.

    2.    Build the body on top of the base and make shelves and attachments to install the battery, microcontroller board, laptop PC and other PC components.

    3.    Build the microcontroller board and test it.

    4.    Add wiring to power and interface all the components

    5.    Add software and GO.

    6.    Adding sensors can be done last and will depend on what you want to do. Most programming for sensor interfacing will be done in the laptop Nav and Control software. 

    Most anyone CAN build one of these robots.  Your best resource is the mail list where you can ask any questions you may have.