Internet Rover
Internet Rover - SigOps EOH 2001

Internet Rover - SigOps EOH 2001

.



What is it?

The internet rover is a remote controlled car that can be steered and controlled by anyone with an internet connection (probably by going to a webpage where an applet will be installed onto the browser). The rover is a modified rear-wheel drive black Power Wheels Ford F150. It has a maximum speed of 3.5 miles per hour both forwards and backwards and has a 65 pound carrying capacity. The remote user will issue commands that will be received by our Linux notebook by wireless ethernet. The notebook will then transmit the instructions via serial cable to the HC11 microprocessor inside the rover. The microprocessor then issues instructions to the motor (for forward and backward motion) as well as the servo to control the front wheels (for directional steering). A Logitech webcam mounted to the rover will stream live video back to the remote user.

click to enlarge






Remote Access

Any pc user can go to a certain webpage to issue instructions to the rover. In order to pass objects between the remote user and our notebook, an applet will be run on the remote pc. The Java applet will give instructions for the user on how to use the keyboard to send the directions. A streaming picture will also show up on the screen.





Notebook

The notebook will have Linux Red Hat 7.0 for its operating system and has a total (after upgrade from 32 MB) of 96 MB of memory. It will have 802.11b wireless ethernet capabilities through the PCMCIA interface, a standard interface for connecting peripherals to portable computers. We will be using Lucent Technology's Wave LAN (Local Area Network) adapter card. On the download, we've seen a 252 Kb transfer rate through the wireless ethernet. To communicate between the remote user and our notebook, we are implementing Remote Method Invocation (RMI). It is a standard for distributed objects written in Java. RMI is a remote procedure call (RPC), which allows Java objects stored in the network to be run remotely. The Java Virtual Machine, a Java interpreter, built into the browser is interpreting the instructions. It is software that converts the Java intermediate language (bytecode) into machine language and executes it. JVM's are integrated in web browsers in order to execute Java applets. An applet is a small Java program that is downloaded and run from the browser. The remote user will run an applet from the web server. The notebook will also have a serial interface for the cable going to the serial communications interface on the HC11 on the rover. *current goal: install Windows 95 or higher to be able to stream video because the driver isn't working for the Linux system. The notebook will route streaming video packets to the internet and handle the controlling mechanisms for the rover. A second notebook will have Java applications doing the video compressions and sending it to the client, where the video will then be decompressed. The streaming video is a one-way transmission of the images and uniterrupted motion from the USB webcam on the rover to the client. The client side buffers a few seconds of video data before it starts sending it through the internet, which compensates for momentary delays in packet delivery. The second notebook has an onboard LAN that allows it to communicate with our first Linux notebook.






HC11 Microprocessor

Inside the rover, performing the necessary calculations will be the 8 Mhz, 512 B Motorola HC11 Microprocessor. It will be receiving information through the cable connceted to its serial communications interface (SCI). A digital logic block will be taking the output from the HC11 and make it compatible with the proprietary bidirectional current driver we are using for a motor control unit and the servo. Heat sinks attached to the protoboard prevent the protoboard from overheating. Two current regulators requiring a minimum of 9 volts will also be used. The HC11 has a digital converter. Therefore, it can read values on the position of the rover's wheels from the potentiometer and send this feedback to the notebook.






Front Wheels and Controls

The Power Wheels car was designed for a child to sit in it and provide manual steering. To allow for remote control instead of manual control, we have constructed a servo-controlled cam that converts the rotational motion into translational or linear motion. A servo is an electromechanical device which uses feedback to provide precise starts and stops for such functions as motors.


The front wheels will be the ones to steer the rover left and right while the back wheels move the rover forward and backwards. Power steering has been implemented on the rover. There are two input pins: one to control the direction (left and right) and the other to turn the rover on and off. A potentiometer (a variable resister) allows feedback of the position of the wheels to be sent back. Limit switches will prevent the wheels from turning too far.





Back Wheels and Controls

The original Power Wheels motors will drive the back wheels to go forward and backwards and draws a maximum of 12 (during acceleration) and an average of 9 amps.



last modified: February 25, 2001