Programming AI with Leaf/Development/Leaf and Linux

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Leaf and Linux[edit | edit source]

Leaf has been built on windows XP and uses LispWorks as the Lisp development environment. This provides a readily available environment for anyone wanting to build a Leaf robot.

A number of people have expressed interest in trying to port Leaf to a Linux environment. These pages record the trials & tribulations of people’s attempts to do the port.

A message from one of the Linux crowd[edit | edit source]

A warning to anyone considering a Linux port. The Leaf project is windows based and is a very successful environment for this project. There are a number of features that have been implemented in windows that are going to be VERY challenging to get working under Linux.

Build a standard Leaf before you try to use linux. Please do not expect the Leaf developers to provide any support for Linux. They are doing an excellent job with windows and this is where they will continue to work.

If you are still keen remember you are on your own but not alone.

Major component[edit | edit source]

The Leaf environment has several major components that we will need to duplicate to be able to do a port.

1) Speech recognition

2) LISP compiler/interpreter environment

3) Text to Speech

4) Face Animation

5) Micro controller interface software (Nav & control program)

Because of the wide range of environments available in Linux it is important to understand what a person is using when they offer a contribution to the Linux port.

People have asked for recommendations on which distribution to use. The distribution is not as important as the kernel version and the version numbers of any software installed.

Contributors & systems

Name: Robin Hartley
Hardware: HP Compaq F551AU Turion 64 X2 (I do NOT recommend purchasing this hardware*)
Distro: Gentoo 2007.1 AMD64 bit.

* For Linux the dual core & support chips has poor linux compatability & the Broadcom WiFi has limited support.
For Windows systems the machine comes with Vista basic and has sound compatability issues. 
HP does not supply drivers and the hardware is NOT compatable with a standard XP pro install. 

Speech Recognition[edit | edit source]

This is likely to be the hardest part. Speech recognition work on Linux appears to have stopped around 2000 when the ViaVoice package was removed from the market.

The most likely candidate is one of the Sphinx versions. Experimentation is under way with both Sphinx 2 & Sphinx 3. So far recognition rates have been about 10%

Until this is greatly improved there is little point in progressing the other modules.

Lisp environment[edit | edit source]

The LISP package is Steel Bank Common LISP (SBCL)

The development environment is SLIME which uses the EMACS editor

LispWorks has a graphical interface, which is only used to set the options at start up, the McCLIM package has been used to get this functionality. McClim is a free software implementation of the CLIM standard

So far the options selection interface has been ported to Linux.

Text to Speech[edit | edit source]

There are several TTS engines in the public domain. Festival seems to be the most popular and is the same TTS engine used by Cuanimate.

No work has been done on this yet.

Face animation[edit | edit source]

X-Face looks a likely candidate for this part of the application.

No work yet.

Micro controller program[edit | edit source]

This is likely to be a re-write of the Nav & control program. This will be done using GCC compiler.

No work yet.