Skip is my first robot which has presented several technical challenges including vision processing which is still under development. A good background in computer graphics should speed development or so I hope.
(click to enlarge images)
Skip has been recognized at DPRG Robo-Rama contest and Talent Show contest including
"Da Vinci Award" - Robo-Rama September 2003
"Best Engineered Award" - Talent Show November 2003,
"T-Time" - Robo-Rama September 2003 (2nd Place)
"Quick Trip" - Robo-Rama September 2003 (Nearly 2nd Place)
Skip, AKA Skipper, is a wireless remote controlled robot designed to be operated by human or computer. Skip carries an onboard wireless (x-10) video camera for sending video images to video monitor or PC video digitizer for image processing and motion control decision making by the PC.
![]() |
A Keypad transmitter was constructed for command
transmission by human. Also, the keypad
transmitter contains a serial port for connection to a PC. The keypad contains a
Atmel Tiny26 microcontroller and a Linx 418 MHz On-Off-Keyed (OOK)
transmitter module.
Apparently this photo was taken before the unit was fully debugged. |
Skip's onboard computer is an Atmel AtTiny26 8 bit RISC microcontroller (also one used by the keypad). The Tiny26 contains only 1024 words of program memory which made it a bit of a challenge to squeeze in Skip's PID motion controller (no "I" term implemented just P&D), a software UART with filtering for spurious radio noise, simple command interpreter and canned routines to allow Skip to autonomously run the patterns used in the Dallas Personal Robotics Group (DPRG) Robo-Rama contest which it participated in September 2003.
The off-board computer was not used to deliver the commands for the contest due to radio link problems encountered a few days before the contest. I was forced to add the canned routines to Skip's onboard computer. Later, the cause of the radio link problems was discovered. Small punctures in the antenna housing causing detuning of the antenna due to distortion of the coiled antenna wire within. The Cause? I am uncertain..


To simplify Skip's motion profile execution it accelerates then decelerates for the same amount of time with a hard coded acceleration rate, but for a variable amount of time. This can be viewed as a triangular motion profile versus a trapezoidal profile - this works well For Skip because it is using direct motor drive - no gear reduction.
The direct drive method is certainly not efficient, but it is quiet and simple.
Skip uses differential drive and can turn just a few degrees or move a few millimeters with its smallest duration of acceleration/deceleration time.
Skip also has the ability to accelerate for a given time then maintain constant velocity. This allows successive motion commands to be used to accelerate or decelerate either or both motors. For example: A Forward move command begins forward motion (left and right wheels rotating a velocity V) and robot keeps moving then adding a Rotate right command starts a right rotation by stopping the right wheel, but not reversing it as would be the effect for just a turn alone ( e.g. +V left -V right = turn on a dime). The left wheel is turning at 2V Now, another forward command and the Left wheel is turning a 3V while the right is turning at V. This technique allows a remote computer to adjust rate of turn smoothly.