battery line (bared section of wire that would touch ground
when the robot was moving and bouncing along the floor).
With the current provided by the battery, the heat
caused the plastic of the robot’s chassis to melt and the
intermittent short became solid. Fortunately, we got
through the demo without any problems, but when I picked
up the robot, I discovered that the bottom of it was
blistering hot and molten plastic was dripping onto the
palm of my hand. Trying to keep a pleasant smile on my
face, knowing that it wasn’t a good idea to state that a
product designed to be used by children was about to
catch fire, I excused myself to walk calmly to the bathroom
and thrust my hand in the coldest water I could get out of
the tap. The final product not only is designed to prevent
this situation in the future, but also has a temperature
sensor on the battery.
While introductory users can program the Jade robot
from its built-in OLED based UI, this is somewhat limited
and does not give the same level of control of a more
traditional programming environment. Most small, low cost
robots have the ability to have programs downloaded into
them, but the inclusion of the user interface meant that
program storage would be handled differently.
One of the things that makes Jade significantly more
advanced than other robots is the built-in file system that is
integral to the operation of the robot. Along with
executables, the file system also stores images, sounds,
text, and UI definition (called “panel”) files. When the user
creates an application, it is downloaded into the file system
and can either be executed from the UI or using the “Jade
Support” integrated development environment (IDE).
Originally, the Jade robot could only
be programmed in a version of C (Figure
13) that was created for it, but this has
been recently enhanced with the inclusion
of its own version of the Scratch
programming language (Figure 14). This
programming language allows neophytes
to very quickly and simply create
applications and — with Jade Support —
download and debug them. Because of
the high degree of integration in Jade (the
object sensors, light sensors, line sensors,
motors, expansion peripherals, and built-in
user interface; see Figure 15), there is a
large number of APIs available to access
them.
In C, all these APIs and all the features
of the UI panels are available to the
programmer. Scratch provides the user
with a subset of these functions, but does
so without the need for reference
information. So, while C programming will
require documentation when accessing
different capabilities of Jade, Scratch does
SERVO 12.2014 51
Figure 13. Programming the Jade robot is fast and easy.
Figure 14. The Jade Support Integrated Development Environment showing a
Scratch program that's ready for downloading into the robot.