Servobot

A platform for experiments in the use of genetic algorithms to improve and adapt robot walking gaits. The robot prototye "Servobot," right, hosted most of the experiments. The nitino-activated robot prototye, "Stiquito," was an alternate target.

Subsequent to the research project, a graphical user interface was developed with the goal of using Servobot to introduce K-12 students to robotics and control programming.

Servobot+Thinkpad.jpg* h202.jpg@ protos.gif
purpose: research
K-12 education
dates: 1997-present
students: Gary B. Parker, David Braun,
engineering: Ingo Cyliax, Willie Hunt
faculty: Steve Johnson
information: IUCS TR494

Parker's cyclic genetic algorighms (CGAs) are a class of optimization algorithms for repetitive actions, such as walking gaits. Parker developed his research experimentally using a hexapod robot model. He showed that within a reasonable number of generations, his CGAs arrived at near optimal gaits. He demonstated these results on a prototype robot designed by David Braun, activated by servo motors, applying his research not only to the walking action of "Servobot" but also to the flexing action of individual legs. The "Stiquito" robot, pictured on the right, uses Nitinol "muscle wire" to move its legs. CGAs were also shown to work on Stiquito.

These robots are small (the Stiquito is about 5 inches long) and relatively inexpensive. They were developed to host other research in multi-agent and adaptive robotics.

The system pictured to the right shows a commercial version of Servobot tethered to a power supply and driven by software running on a notebook computer. On top of the robot is an interface board which takes serial character data from the notebook computer and translates it to control signals to the server motors. The notebook computer hosts a prototype graphic user interface (GUI), developed with theo goal of using the robot to introduce elementary and middle school students to programming and robotics. The interface, shown below displays a sequence of frames, or steps, that constitute a a control loop: in each step, the operator uses a mouse to select positions each of the legs, up or down, and forward or backward. The program then cycles through the steps sending each configuration to the robot to make it walk.