A new
article on the Sun developer site advocates the use of Java in
robotics applications. Specifically, it describes the potential robot
applications of the Java APIs for speech recognition, speech synthesis,
and image capture. They also describe the Open Source leJOS Java environment for the
LEGO RCX brick. The article includes sample source code and links to
related websites.
I tried the Java vision API last year when I was looking for a way to
do stereo vision, and it was really pretty terrible. It was very slow
and fundamentally was just a wrapper around the old Video For Windows
system so it didn't support multiple cameras.
Pretty terrible and very slow are good words to describe my experiences
with Java too, except that I would add it's impossible to get the same
results from a piece of code on two different platforms - it's probably
the least portable code I've every worked with. Yuck. Some folks love it
though.
The Lego RCX already has MindScript which if you put semicolons after
every statement, then it starts to look like Javascript. Then they have
NQC which also looks very similar.
I suspect they are simply using Javascript to compile to bytecode for
the onboard firmware interpreter already built into the RCX.
I tried a embedded-Java system a while back, and after taking forever
to get it to install and run, found it to be terribly slow, fragile,
full of bugs, besides being barely functional. It needs a lot more work.
What i hate the most is the code examples were all useless as they
didn't work. No one updated the examples after updating the system.
My problem is that what I want to use old laptops (286, 386, P1) for a
robot brain. Java's really for high powered systems and doesn't
support old systems at all. Even if it did, it would be very slow. (I
guess you'd need a power system like a P3 or better if you wanted to
use Java for a robot app). I'm sort of stuck to using some old
technology like DOS and Turbo C++, so I can't really use Java even if I
wanted to.