implemented on the real
robot should respond
proportionally in this
In addition to receiving
commands from the PC,
implemented on the
microcontroller of the
external robot has to return
sensory data to RB.
requires that the robot
return five bytes of sensory
data every time it receives a
command, thus ensuring synchronization. Three pieces of
data (information from the bumper sensors, the perimeter
object detection sensors, and the line sensors) are very time
sensitive and are nearly always returned in the first three of
these five bytes (in the order listed). Data from these
sensors is automatically extracted by RB and used
appropriately whenever a program asks for it by using the
functions rBumper(), rFeel(), and rSense().
handle the communication exchanges between itself and
RB, but that only has to be done once. Furthermore, the
majority of the programming for the microcontroller is
limited to reading sensors and motor control. The complex
algorithms involving the intelligence of the robot can be
implemented in the high-level language, making the
development cycle far more straightforward.
There are no files to compile and nothing to download.
If several people in a robot club or school classroom have
RB compatible robots, they can easily share entire
programs, or even library routines of behaviors that they
develop with their robot or just using the simulator alone.
This sharing is possible even if each of the robots uses
totally different microcontrollers.
It is worth noting that many industries have
successfully used the principle of simulate then
deploy for decades.
The embedded code for different robots might be
totally different of course, but each robot will respond in
the same manner to the algorithm implemented by the
SERVO 01.2011 47