The Palm Pilot Robot Kit is an easy-to-build robot that is controlled by the Palm handheld computer it carries. We are currently still developing a set of easy-to-program tools for robot programming on the Pilot. In the meantime, this page documents some simple test programs that can be used as a bare-bones starting point for programming the Palm robot.
A Beginners Guide to PPRK Programming -- "Starting From Scratch..." Click here. |
Necessary libraries:
MSL Runtime Palm OS (4i).Lib
MSL Runtime Palm OS (2i).Lib
Programs written by the PPRK community! Click here.
"Pen Follow" Program
PenFollow.prc -
download and install a "stylus-guided navigation" program. This program allows
you to move the robot by moving your stylus on Palm Pilot's screen. The robot
will always try to keep the stylus near the center of the screen, thus allowing
you to "move" the robot just by sliding the stylus over Palm's screen. [Note:
this program needs MathLib.prc to be
installed on your handheld before installing PenFollow.prc]
PenFollow.zip - source code for Pen
Follow program.
Sample Programs:
The following sample code was written in C++ using the Metrowerks Code Warrior
programming environment under Windows. Each test program is an event-driven Palm
application that provides a minimal user interface. Internally, it includes a
typical main function, an event handler, and a few subroutines to issue commands
to an SV203 board that generates control signals for the servos and to read back
sensor readings from the three range sensors. More details are documented in the
source code.
Application Structure:
The control of the robot was achieved by creating two classes - one to control
communication between SV203 board and the Palm Pilot and the other for higher
level functions of the robot. For example, the SV203
class includes functions such as Rc() and Tx() to transmit and
receive serial data; whereas the Robot class
has appropriate functions to drive motors and read sensors.
This is illustrated below in the Application
Structure diagram.
Code Warrior:
Palm, Inc. currently provides a version for free of the Code Warrior
compiler that runs under Windows. It is called Code Warrior Lite and may be downloaded
from the Palm web site. The Palm may be also be programmed using the GNU C
Compiler under Windows
or Linux, however, we
do not yet provide PPRK code for gcc.
PRC Files:
These are precompiled applications that may be installed directly via HotSync.
MathLib.prc - must be installed before
installation of most robotics programs.
ServoTest.prc - a simple user interface
program to control servo motors.
Robot1.prc - this program includes several
features including wall-following, target following, moving while spinnning,
ability to read and display values of IR sensors, etc.
Project Files:
ServoTest.zip – source code, forms and
resources required for ServoTest program.
Robot1.zip – source code, forms and
resources for Robot1 program (includes MathLib math library).
Application
Structure:
The diagram below illustrates structure of Palm Pilot Robot's programs:
Source
Code:
Simple demo program (sample.cpp)
The following files provide necessary headers / libraries required for
running programs such as sample.cpp.
sv203.h - SV203 class
header.
sv203.cpp - Implementation of SV203
class.
robot.h - Robot class
header.
robot.cpp - Implementation of Robot
class.
vecmath.h - Vector math class and its
implementation.