Palm Pilot Robot
Software and Source Code

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.



Last updated: 01/31/2002 11:50