Encoder Front Page
SRS Home | Front Page | Monthly Issue | Index
Google
Search WWW Search seattlerobotics.org

A Collection of Robots

by Ryan Wistort

During the last five years I have taken up the hobby of building robots. Here are a few of the projects I have been involved with. I am currently studying Electrical Engineering at the University of Washington and can be reached at:

Rwistort@u.washington.edu

www.RyanWistort.com

 
 
 
           
           
 
   
 
Introduction

The pictures above show a robot that I am currently working on with the University of WA. The project is run by a group in SEAL lab in the EE department. The goal is to build a semiautonomous system to inspect underground power cables. One of the major challenges is to develop small sensor systems that are usually the size of a briefcase at smallest. The system should be able to save the power industries money by detecting a future failure in a power cable before the cable fails  
Mechanical
The robots base is just under a meter long and is constructed out of aluminum. There are four small drive motors which move the robot along the 8cm diameter cable. Two clasps hold the drive motor assembly. The clasps are able to open and close in order to negotiate obstacles on the cable. One of my tasks on the team is to redesign the robots mechanics. To the right is a drawing of a piece of the new design which has the drive system on the robot instead of on the claps in order to maintain contact with the cable at all times. The new system is being designed in a 3D CAD program and will be machined on a CNC mill and lathe.    
     
Electrical
Most of the robots components are not processor intensive. We are using several Atmel AVR microcontrollers to control the robots motors and to interface to a host computer through a RF serial modem. Our robot is currently being developed to have three sensors on it. The simplest of the three is an Infrared sensor being used for thermal analysis of the cable. Detecting hot spots in the cable is a way to indicate that a cable is failing. In addition to a thermal sensor we are also using a dielectrometry sensor to test the cables dielectric properties. A high frequency acoustic sensor will also be used to sense partial discharges that are generated in a failing cable. To process the data these sensors generate, we will be using either a DSP or PC-104 type system.
Software
The Atmel AVR microcontrollers are being programmed in C with a GNU GCC compiler. A communications network has been made between the host computer and the robot as well as the host computer and other computers being used as terminals. This system allows multiple computers on a LAN to communicate to the robot through one serial connection. Our terminal software was written in Borland builder 5 C++. If a PC-104 system is implemented, we will be able to develop code quickly with standard engineering software tools and then convert later to an embedded system running a RTOS.
         
         
     
   
When Built:
  June - Oct 99  
   
Lines of code:
250
   
Processor:
3: PICf84
   
Size:
12x10x12 (in)
   
Axis of freedom:
8 plus head
Power supply:
6 AA
 
Introduction

Rodney is one of the first real robots that I made. Named after MIT prof. Rodney Brooks, the little robot came from humble beginnings and eventually gained the ability to walk. Every part of Rodney has been reprogrammed machined and wired at least three times. I consider the robot finished because I have depleted the robots processor potential. Currently the robot has a fixed gate and no navigational system.  
Mechanical
I used a combination of Plexiglas and aluminum piping to build the base of this robot. The RC servos being used are all from an RC airplane show. The Plexiglas base was formed by heating it with a torch and then forming the sheet of plastic.  
Electrical
Originally Rodney was controlled by a basic stamp I, which was enough to make the robot walk. I later switched to a system using three PIC processors to control the robots gait. Six AA batteries provide the motors and the brains of the robot power. The servos are powered directly and the processors are powered through a linear regulator.  
Software
Developing the software for this robot was definitely the most time consuming part of the project. When using the Basic Stamp, I tested positions in the robots gait by loading a new program over and over again into the Stamp. With the PIC setup, I wrote a program on a TRS-80 laptop to interface with the PIC and increment the robots appendages. A list of positions would be generated and then used to write a walking program. The Final result is a system where two PIC processors are controlling the robots gait by sending a sequence of positions which makes the robot walk. Some of the movements in the robots gait are incremented and others are made as fast as the servo motors can handle.  
         
         
     
   
When Built:
  Feb 2001  
   
Hours to build:
40
   
Processor:
Basic Stamp 1  
   
Size:
5x5x4 (in)
   
Locimotion:
Differential
Power supply:
4 AA
 
Introduction

Bob was a very short project made to compete in a science fair when I was in the tenth grade. For the science fair I compared two different light seeking algorithms.
Mechanical
Bob was made out of plexiglas which gives it a nice look. By using a differential drive system the robot was simple to build and control. 4-40 screws hold the robots little base together.
Electrical
The electronics on the robot are very simple. Readings from two photo resistors are used by the Basic stamp to control the robots two drive motors. The photo resistors are measured by measuring the duty cycle generated by an RC circuit. The motors are RC servo motors that are controlled by generating pulse of different widths.
Software
The algorithm being used to control the robot takes the two values returned by the sensors and computes the difference of the two. When the difference reaches a certain value, the robotís goes into a turning mode. The direction of the turn is decided by which sensor has the greatest value. The magnitude of the turn is proportionate to the delta value of the two sensors.
         
           
     
   
When Built:
  July 01 - Feb 02  
   
Lines of code:
1000
   
Processor:
Plam pilot, BasicX, Cognachrome vision  
   
Size:
25x16x25 (in)
   
Axis of freedom:
17
Power supply:
6,12v NiCad
   
Introduction

Stampy is the longest project I have worked on. The majority of the year and a half project was spent on the mechanical end of the robot. When finished the robot was able to walk with a fixed gate and track objects with its head using color recognition. Originally the robot was built to walk with a gait which was flexible and responsive to tilt current and pressure sensors. Due to the weight of the robot, the only algorithm that was implemented was a fixed gait to make the robot walk strait.
Mechanical
Each of Stampies legs have four axis of freedom. The joints of the legs are powered by servo motors with the power being transferred through linkages to the appendages. One of the challenges which I was faced with on this project is the trade off between torque and range of motion in the legs. If I could rebuild this project I would build the base out of aluminum to make it lighter and would uses DC motors with feed back to a central processor. This type of system could handle more complex algorithms and by using a belt or gear system in the drive train there would be more torque without the sacrifice of range of motion.
Electrical
The gait on Stampy is controlled by using a servo controller and a palm pilot. The palm holds scripts in a database to define the robots gait. The database is sent through a serial line to the servo controller were the information is relayed to the robots legs. There is also a vision system on the robot which is used to control the motion of the head. Information extracted from a composite video signal is sent to a BasicX microcontroller which is used to control the heads position.
Software
The palm pilot was programmed using a language called pocketC which is an on board C compiler for the palm. The BasicX uses a language similar to Visual Basic.  
         
         
     
   
When Built:
  July 01 - Feb 02    
   
Lines of code:
1800
   
Processor:
Plam pilot, BasicX  
   
Size:
14x14x7 (in)
   
Axis of freedom:
15 plus head
Power supply:
7.2 NiCad
 
Introduction

Charlotte was made to compete in the ISEF international science fair. Originally the robot was going to have a more advanced control algorithm but due to a time crunch for the science fair, I used a simpler fixed gait system. At the science fair the robot was used as a possible search and rescue robot. With this in mind I made the robot autonomous as well as RC. The robot has the ability to walk in every direction as well as turn from left to right. Sonar guides the robot and is used to map its surroundings on the palm pilot. Video is sent from a color CCD camera to a monitor through a 2.4 GHz system.  
Mechanical
I created the robots base out of high density Styrofoam or expanded PVC. This allowed me to build the base fairly quickly. My goal when creating the robot was to make the legs as small as possible. By doing this, the robot was given as much power as possible in the legs. Each leg has three axis of freedom, two of which are directly driven by RC servos. One of the axis is driven by a servo through a linkage which gives the leg a slight mechanical advantage. All of the legs are placed symmetrically around the robots pentagon shaped base. Creating a walking algorithm was difficult due to the robots odd shape and lack of natural example to compare to.  
Electrical
The robot is powered by a 7.2v NiCad battery system. One of the big challenges with this robot was keeping the power supply clean when using 16 motors. To prevent power glitches I used a switching power supply with the sonar unit and the color camera. Every other component on the robot uses either a linear regulator or an isolated power supply. The Palm pilot makes most of the decisions on the robot and is primarily used to store complex motion scripts and display information to the user. A BasicX is used to process information from the RC inputs from the user, control the robots head, sonar and relay this information to the palm pilot. Information is exchanged by a servo controller. A parallel data byte is sent from the BasicX to the servo controller where that information is sent back to the palm through a serial line.  
Software
Between the software on the BasicX, Palm Pilot and the motion scripts used to control the robot there are over 1800 lines of code running on the robot. The Palm Pilot was programmed using PocketC and the BasicX was programmed using a language similar to Visual Basic.  
  Walking Diagram (234k) This document was part of a science fair display and describes how Charlotte walks with its unusual five leg design.  
  Lab Notebook (1.56 Mb) This large file contains a step by step look at what is takes to build a walking robot. There are many explanations for the different aspects of the robot and its operation.  
         
         
     
   
When Built:
  June 02    
   
Lines of code:
200  
   
Processor:
Basic Stamp 1    
   
Size:
18x8x10 (in)  
   
Axis of freedom:
4  
Power supply:
AC converter: 6v
   
Introduction

Wanda was the most enjoyable robot to build and probably one of the most useful robots I have built. The robot is programmed to take a can of fish food and shake two shakes of fish food into a bowl and then put the food back in the position it started in. The robot is not extremely graceful but is very consistent at grabbing the fish food and shaking it into the bowl. The feeding routine starts at power up and can repeat when a button is pressed. This allows the user to press the button when they want to feed the fish or they can put the robot on a light timer to feed the fish everyday.  
Mechanical
I created the robots base out of high density Styrofoam or expanded PVC. This allowed me to build the base fairly quickly. My goal when creating the robot was to make the arm as simple as possible. Four servos control the motion of the arm. The wrist is the only axis I am not happy with. The wrist works but I would like to build a new one which does not give as much stress on the servo motor. Every other axis is coupled with a brace or apparatus which takes all of the side stress off of the servos.  
Electrical
I used a DC wall converter to power this robot, a five volt regulator supplies power to the Basic stamp which runs the control algorithm. If I build another fish feeder arm I will design a more stable power supply that can handle a large spike in the power signal.  
Software
The software on Wanda is very simple but takes up every last byte of memory on the basic stamp. A lookup table is used to store the sequence of positions that the robot uses to move. The program is run in a loop. Every time the loop is cycled a new position is set as the target position for the arm. The servo motors are incremented until the actual position is equal to the target position. To find the positions that should be used I created a program which can increment the robots servos through buttons and then debug the values to a screen.  
         
           
     
   
When started:
  Aug 02      
   
Hours to build:
80 so far  
   
Processor:
Atmel AVR, Cognachrome Vision  
   
Size:
12x8x10 (in)  
   
Lines of code:
300 so far    
Power supply:
7.2 NiCad
 
Introduction

This is my latest personal robotics project. The purpose of the robot is to retrieve tennis balls and perhaps act like a pet. Currently the robots mechanics and electronics are finished. The software on the robot still needs to be developed. The robot currently can run small diagnostics programs that control the drive motors with PWM and parse serial streams sent by the robots vision system.
Mechanical
The base of Wimbledon is also made out of the high density Styrofoam which allowed me to build it very quickly. An interesting design was used on the front of the robot to pick up tennis balls. A roller is mounted on the front of the robot that rolls the balls into a cavity where the ball can be held off the ground. Switches are placed to sense when the ball has been fully loaded into the robot. There is also a camera mount on top of the robot that is able to change the pith of the robots camera in order to track the tennis balls.
Electrical
This robot is using an Atmel AVR processor for control as well as a vision system to process the composite video signal generated by the video camera. The AVR is using a switching power supply to clean up the power supplied by the 14.4v NiCad batteries. A DC-DC converter is used to provide clean power to the vision system.  
Software
The AVR is being programmed with a GCC compiler which is extremely powerful. The PWM and serial line parsing is done through interrupts in the background of the processor. The robot has not been finished but is close to being able to operate. All that I need to do is spend a couple days on the software. A couple of days is really hard to find in college.