Erlang & Robotics
Francesco Cesarini (Erlang Consulting)
Mon Mar 10 08:54:00 CET 2003
was built as a Master's thesis project using Erlang and a Lego robot. I
never got my hands on the thesis, as the page containing it was taken
down. But from the above page, you find out that Andy Allen used a
486SLC2-50 with 16 Meg of Ram running off of batteries with the help of
DC/DC converters. Real Time Linux, Erlang, and Improv comprise the
software, along with low level parallel port drivers. The 486
communicates with the ARobot's Basic Stamp through an RS-232 connection.
The 486 is simply a vision coprocessor, subordinate to the Basic Stamp.
This basic system of an x86 on top can be used for many other tasks as well.
Ulf Wiger wrote:
>On Sun, 9 Mar 2003, david wallin wrote:
>>I've been interested in doing something with robotics, and
>>would hate to give up on Erlang because of that. I know
>>there's been others who has shared this interest in the
>>past and hoped to make the Erlang runtime small enough for
>>the processors (+memory) found in these devices (in the
>>affordable segment of the market. Think Lego Mindstorms).
>I've figured that the Erlang programming model would be
>ideal for robotics programming.
>>Did anyone succeed in doing this ? Could Erlang be 'pruned'
>>of some of it's features to make this happen (Erlang
>>Lite?), and in that case, what would that be ?
>>Another fundamentally different approach would be "Erlang
>>Mindstorms": A programmable brick using the almost
>>existing Erlang processor combined with Bluetooth. This
>>would be extremely exciting stuff, unfortunately, I fear
>>this won't be realized. (Feel free to prove me wrong).
>The Erlang Processor was certainly aimed at environments
>similar to this: where you'd need a dirt cheap, low-power(*)
>chip with a very lightweight "device OS" (like the Erlang
>kernel). Another plus should be the garbage collection
>design, which relied on sub-instructions to
>increment/decrement references, and where the actual release
>of garbage didn't steal CPU cycles from the application
>(i.e. no GC freezes).
>(*) The Erlang Process used about 30x fewer machine
>instructions than BEAM to run an average Erlang program.
>This can be used either to speed up execution, or to build
>simpler (=cheaper) chips.
More information about the erlang-questions