[Edu-sig] The Educational Robotics Platform

Morris, Steve smorris@cereva.com
Tue, 20 Mar 2001 16:55:50 -0500


 > Let me see if I understand you correctly.  JavaVM fits in 
 > smaller places
 > than Python because it was written tight from the start.  
 > uController's
 > are often very small memory systems, 64k maybe.  So you're 
 > VM (and with
 > Python we use this term very loosely) has to fit in about 
 > 32k or less.  
 > Getting down that small is essential if you want to have a robot
 > price-tag of $100 or under - which would be, in your opinion, the
 > threshold to broadly introducing robots in the classroom. 

I didn't mean anything that specific. Mostly I was just rambling. I do think
robotics teaching in the classroom is price sensitive. The lower the price
the more it will be used. That doesn't mean there isn't value at other price
points. It just means that there will be a lower level of acceptance. Here
is a simplified price/performance analysis. I have skipped the lowest price
(PIC etc.) solutions.

LEGO already owns the middle low end. There is no point in competing there.
Here the potential value add is in software. Nobody has got it right yet for
this kind of application. Mindstorms graphical interface is a toy and
LegOS/pbforth etc are too hard for the entry level user. Python would be
ideal however you are unlikely to get Python into 32k of the LEGO bricks.
The LEGO brick also suffers badly in communication back to the host which is
required for serious development. Hacking the board to replace the
unreliable IR with a real serial port would be a "Great Leap Forward" for
this platform.

The next price point is possibly 16 bit bus micros with a larger address
space. Something based on the 68k with 1/2 meg of ram would easily fit Pippy
and generally increase usability by an order of magnitude. A total system
cost of less than $300 might be possible in this space. The Palm Pilot comes
to mind in this category because it is the Pippy target. Its PowerBall micro
is 68000 based. A Palm with I/O added (maybe a Handspring type I/O card)
would be a powerful low end Robotics controller. It has good development
tools (including Pippy) and is low power. The Palm has a Linux port also.
The Palm was one of the original targets of embedded Linux. Ideally you want
a smaller data bus (lower price) with some kind of extended addressing
(beyond 64k) combined with a good C compiler, preferably gcc. (gcc gives you
the ability to port things like Pippy.) You also want someone else to make
the board in volume so this is a search for, not a make selection process.

With your project (PC/104 based) you are talking about the next level which
is machines that are 32/64 bit bus with multi megabyte address range but can
still run stripped down real time Linux Kernels. This opens development
choices substantially. I think it is worthwhile to work on this platform but
the end price for hardware, motors and sensors will likely be in the
$500-$700 price range which will restrict its target audience. This is the
Cadillac of low end robotics machines but will definitely be the winner as
prices come down. Working in this space you would have to be happy with
lower initial acceptance. I like RTLinux as the OS of choice for this kind
of platform for various reasons I don't need to address on this list (which
is probably already getting annoyed with this level of detail on such a
speculative project.)

 > Because Python was not written with such small memory environments in
 > mind, it is hard to retrofit it.  You end up trying to 
 > rewrite the core
 > so you can leave out things.  (Pippy for example can get 
 > down to about
 > 70k, if you chuck the parser/compiler, floating point, and some other
 > stuff.)  You doubt that Python can get down to the 32k 
 > requirements to
 > fit it on the cheap uProcessors.  

Yep.