Evil Robot

Ian Shafer / Sean Smith / Deborah Ford
Cse466 / Aut01 / Final Project


Table of Contents


Introduction

Evil Robot is built from a circa 1985 German kit, manufactured by Fischertechnik. The robot originally came with an interface and software (5.25" disks), for the Apple][ line of computers. With Apple][ computers having recently become outdated, we decided to create an interface to the arm using more modern technology.

Beginning with a CerfBoard and breakout board, we first designed an interface to the robot's motors and sensors. At the same time, we designed a hardware interface that would allow full control using limited serial outputs. Several IC components, and a few relays allow us to drive the arm via the device driver.

Finally, we wrote some CGI to give the arm a web-interface. Now, the robot can be controlled by any computer that browses to Evil Robot's webpage. The web address will depend on the particular CerfBoard being used, but will look something like:

http://123.45.6.78/RobotArmLogin.html

If another user is currently operating the robot, a "Login Failed" page will appear (Ian's the man!)


Components

To construct Evil Robot you will need the following:

  • one Fischertechnik TrainingRobot kit
  • one CerfBoard with breakout board
  • one SN74LS138N 3 to 8 demultiplexer
  • one SN74LS04N hex inverter
  • one LM44B00 DPDT (double pull double throw) reed-type relay
  • four Radio Shack 275-232 SPST (single pull single throw) reed-type relays
  • a breadboard, 5V and 6V power supplies, and wire
  • leather gloves, goggles and other protection for working with and handling Evil Robot.


    Design Explanation

    Only one session is allowed at a time. A session is controlled by writing commands to the device driver e.g. writing "start session" starts a session, writing "end session" ends a session. If another user tries to start a session while one is in progress, the attempt will fail. Any number of users can have the device driver file open, but only one can have a legitimate session.

    To start a session, a user must login. This is done via an html page, RobotArmLogin.html. Once a session is started, the user can control the robot arm. The page used to control the robot arm is generated by a cgi binary, robarm_control.c.

    To end a session, a user must click the logout button on the robot arm control page.


    Code

    The following list contains links to the c, cgi and html code for the Evil Robot system.




    Schematic

    The following schematic was created using Microsoft Paint. Using Paint to do this was tedious and boring, but at least it doesn't crash like DesignWorks. Click on the image to see a readable image:




    Evil Robot in Action

    We don't have any pictures right now because Evil Robot broke the digital camera. Evil Robot can be a handful!


    Future Work

    In the future, with very slight modification, Evil Robot will be eventually take over the world. If this proves to be impossible (unlikely), then Evil Robot will eventually take over the hardware lab. Using scrap parts and miscellaneous hardware, Evil Robot will be able to build clones able to communicate with eachother. Evolution will ultimately occur, and the Evil Robots will develop into a complex society, much like our own. One day, (Evil Robot willing), Cse466 will be taught to Evil Robots, by Evil Robots. This will not be a computer engineering class, per se, but rather a history class, so that Evil Robots will learn of their origins.