Last
month Sony begun the celebration to commemorate the third anniversary
of the first AIBO Entertainment Robot, originally launched in May 1999.
They introduced a new addition to the LM series, the "bulldog slash
pug-impersonator", AIBO ERS-31L. It is marketed as "smarter, faster,
and better looking", although some (including me) will argue that it is
actually uglier, strongly resembling other members of the LM series
(the ERS-311/312). The ERS-31L now supports photo-taking capabilities,
a 75-word vocabulary, interactive and expressive sensors, and more than
200 new behaviors. Best of all, its price has also been reduced to $599
in North America. But there's more good news...
In addition to the new
hardware, Sony has also begun publishing details of AIBO's system
architecture in an attempt to get developers to work on independent
software packages. Although the company has sold more than 100.000
units, interest from consumers has begun to wane recently, and these
are attempts to generate more interest in the future. AIBO's operating
system was closed and proprietary, but some successful attempts to hack
the system architecture and extend its functionality were severely
penalized in the past. A vice president of Sony's Entertainment Robot
America once even sent a letter to Aibopet.com
- a site owned by an AIBO fan, providing free programs and other
add-ons - citing the Digital Millennium Copyright Act and the possible
consequences. Fortunately, the times have changed, and they are now
actively promoting the OPEN-R, a standard interface for the entertainment robot systems.
OPEN-R is the free
cross-development environment based on gcc (C++) where
you can make software that works on AIBO (ERS-210, ERS-220, ERS-210A,
and ERS-220A). ERS-310 is left out of the loop because a wireless LAN
connection is not available for that model, which makes debugging
process very difficult.
I recently downloaded
the SDK, and it really provides a load of interesting and useful
information. The source code of sample programs are also provided,
including head motion with ball tracking and similar examples. You can
learn from and customize these programs. However, some really advanced
features are still almost impossible to implement:
The following features found in commercial AIBO applications are
typically controlled by the proprietary Sony OPEN-R middleware layer
and/or application layer (called the "level-1" interface):
- AIBO's walking style (gait)
- Voice recognition
- Object recognition
- Play MIDI sounds
These interfaces
are not provided in the freely-available OPEN-R SDK, because the
purpose of the OPEN-R SDK is research, not commercial applications. To
implement the functionality listed above, you must implement these
features yourself "from scratch"... Commercial AIBOware is made by
different tools, not by the OPEN-R SDK.
Of course, high-level
programming using the R-CODE is still available. R-CODE is a
high-level, interpreted script language created for AIBO Master Studio.
It is intended for hobbyists and end-users. An R-CODE script is
interpreted and executed by the appropriate interpreter object, which
is actually an OPEN-R application object. However, it is not suitable
for computing-intensive processing.
Last week was full of good news for robotics enthusiasts, as Evolution Robotics
unveiled what it calls a "personal robot system" - essentially a
robotic framework centered around the standard laptop computer. ER1
retails for $499 in a do-it-yourself kit or $599 in a pre-built format.
It includes a robot base, a Web cam, hardware control electronics, two
stepper motors, two 4-inch diameter drive wheels and a 360 degree
caster wheel. Looks like a standard low cost robotics platform, but the
advanced operating systems enables it to learn on the fly. This
platform should help enthusiasts move robotics beyond the assembly line
and research lab, and into the home and workplace. "In the same way
that the Netscape browser made the Internet accessible to the masses,
we think this new software will make robots accessible to regular
people," said Bill Gross, one of the founders.
Besides ER1, Evolution
Robotics offers a broad spectrum of products, including the Evolution
Robotics Software Platform, a professional development system for
writing software for robots and robotic-enhanced products. It takes
care of all the low-level systems and complexities inherent in robotics
and delivers highly functional, ready-to-go capabilities, which
manufacturers and developers can use to build custom applications for
new robotic products. This software provides a range of options to let
you program at the level you want, from coding in C++ to dragging and
dropping behaviors in a Behavior Composer GUI. An XML-based Behavior
Interpreter is included to let you script and immediately run programs,
or you can write programs and develop new behaviors directly in C++.
The software also features a tele-presence utility for controlling your
robot over the network.
Besides the commercial
SDKs, there are numerous related open source projects that provide the
basis for the development of robotics applications. Over the last few
years, open-source and free software initiatives have given computer
users a remarkable collection of tools and capabilities. The Rossum Project
aims to extend the same kind of collaboration to the development of
robotic software. The first major software release for the Project, a
2-D robot simulator known as Rossum's Playhouse (RP1), is now available. James Wilson is now putting the final touches on his C/C++ API for the RP1 mobile robot simulator.
RobotFlow is a mobile robotics toolkit based on the Overflow
project. Overflow is a data-flow oriented architecture, similar to
Simulink (Matlab) or Labview that is free (LGPL) and versatile. The
visual programming interface provided in the Overflow project will help
people to better visualize and understand what is really happening in
the robot's control loops, sensors, actuators, by using graphical
probes and debugging in real-time.
MotoRobots Software Libraries
project aims to develop a collection of embedded software libraries in
C/C++ for robotics applications, along with a comprehensive User Guide
and code examples to document the libraries. The initial focus of this
library is the 68332-powered Mini Robo Mind (MRM) robot controller board. However, the scope of this project includes all 68K/ColdFire and PowerPC micros.
Lego Mindstorms RCX
microcontroller is a programmable brick that comes with Lego's Robotics
Invention System. Several development projects recently focused on
providing enhanced Java-based operating systems and APIs for that
platform, including leJOS, RCXJVM, RCX Java API and TinyVM. lugnet.robotics.rcx.java
is a focused discussion group for JVM/Java/Jini firmware or software
for the Mindstroms RIS with in-depth technical discussions,
collaboration, planning, architecture, analysis, etc.