MoLTAR -- The Mobile Linux Testbed for Autonomous Robotics

Purpose:

The main purpose of this project is to develop skills for interfacing a Linux-based PC with various forms of hardware. The end result will also be great propoganda to bring more people in the Lexington, KY area into the Linux fold. It is sponsored (in a way) by the University of Kentucky Linux User's Group at the University of Kentucky. MoLTAR meetings will be held on Thursdays at 7pm in the Control Systems Laboratory in 559 Anderson Hall.

The project name was inspired by Moltar, the villian turned director on Space Ghost Coast-to-Coast on Cartoon Network.

NEW LOGO IN THE WORKS!! Check it out here.

Basic Conscruction:

MoLTAR came into being from bits and pieces that I have collected over the years. The main computing engine was a really neat little computer that I had -- a Dauphin DTR-1. There will be more on it below. The transportation platform for Moltar is the MOBAT (MOtorized BAttle Tank). It was sitting in my closet from my GI JOE days of yesteryear (circa 1982). The base battle tank contained a single motor and a transmission that would send power to both/either axel as requested to move/turn the tank. The transmission was engaged through a lever attached to the top of the tank. However, it ain't easy to get a computer to move a lever back and forth -- it's easier to have two separate motors that can be independently controlled. Therefore, a second motor was added and great modicifation to the transmission occurred (ie, most of it was cut away). So, I have a brain and I can move it around, now I need to see where I'm going. This was the one part that I did purchase -- a Black and White Connectix Quickcam. I got this from ebay for $20. I chose the B&W due to the slow nature of the machine -- the lower memory requirements of the 4-bit 320x200 (or smaller) image.

Pictures:



This is a side view of MoLTAR. The Quickcam is mounted on top of the Dauphin DTR-1 cover. The DTR-1 is then mounted to the MOBAT with 3/4" aluminum spacers.


Another view, this time head on (feel the fear....)


Another view from the other side. The space between the DTR-1 and the MOBAT is more visible


Another side view. The turret of the MOBAT will be replaced with a laser diode from a laser pointer and the black "sensor array" will be replaced with a spotlight. These can be controlled by the user.


A view of the DTR-1 with the cover removed. The serial port and the ethernet port would be visible if I had a decent camera


Another view of the DTR-1 sans cover. This time, the parallel,VGA, and keyboard ports are visible (on the right side of the DTR-1). The large connector on the left side is for the external floppy drive.


Block Diagram:

TitleDescription To Do listLinks
AWeb ServerThis is the fron end to MoLTAR. A user will be able to log in to the web server and control MoLTAR as well as view the feedback from the camera.
  • Java interface. This needs to coordinate the requests from the web (over eth0) with the commands being send to the robot and the images returning from the robot (over eth1).
  • TCP/IP communication with MoLTAR. The data concerning the speed/direction of MoLTAR needs to be passed from the interface to the robot. The implementation will probably be limited to whatever the DTR-1 can handle.
  • Image display. The image from MoLTAR will be a 4-bit grayscale bitmap (see Quickcam section). This image will either have to be displayed directly, or converted to JPEG/GIF/or some other browser-friendly format.
Java links:
Focus on Java
JFind.com -- Java Samples/tutorials
Digital Cats's Java Samples
Sockets Programming in Java
Loading Bitmaps in Java
Digital Cats' Java Bitmap Loader

TCP/IP links:
socklib
Netcat

BDTR-1 The DTR/1 is the "main brains" of MoLTAR. It is a 486sx/25 with 6 MB RAM and a 40MB HDD. The entire unit (including 640x480 vga grayscale display) weights about 3 pounds and is slightly larger than a VHS tape case. All of the main peripherals for MoLTAR interface to it -- the 10Base-T connection to the web server, parallel connection to the Quickcam, and serial connection to the 68HC12/motor controller. It has Slackware 3.2 installed on it, so all executables need to be compiled against libc5.
  • TCP/IP communication with web server.
  • streaming quickcam server. There are several packages out there to do this. We just need to get one and take all of the libjpeg stuff out and simply stream the bitmap
  • interface with the HC12 microcontroller. This is simple unidirectional serial programming.
DTR/1:
The Unofficial DTR/1 Homepage
Dauphin Technologies

Slackware Linux

Quickcam:
mpegCam: guerilla cinematography for Linux
Poor Man's Cam
Third-party Quickcam software page
WebCam & Linux
Robot Vision

TCP/IP:
socklib
Netcat

Port Programming
Serial HOW-TO
Serial Programming HOW-TO

C68HC12 / Motor Interface Since the Quickcam uses the paralle port, the serial port was the logical choise for interfacing the Dauphin with the motors. To facilitate the RS-232 communication, the Motorolla 68HC12 microcontroller was used as the interface, mainly because I already had it. A schematic of the interface circuit can be found here.
  • The motor driver is now wired. It is almost completed. Check out the images of the relay board here and here, and check out the image of the 68HC12 development board with the transistor drivers here.
  • HC12 code. probably about 30-40 lines of assembly code. It shouldn't take too long to do.

Motorola 68HC12:
Motorola 68HC912B32 Product Summary Page
Robot Links
Embedded Microcontrollers
Simulator for Motorola 68HC12
WebRing: Navigation
Assemblers
KO4BB's Motorola 68HC05/HC11 and Linux resource page
The 68HC912B32 PWM Module
Oliver Thamm's HC12 Web
More HC12 Links
Serial Programming on the HC12

DDC Power Supply We need to get power to all of the components. We need 12V/1.2A for the Dauphin, 12V/1.5A for the motors, and 5V, .5A for the HC12. We can use a PC power supply, but it would be kind of bulky. If someone has an old Commodore 64/128/Vic 20/Colecovision power supply, or any old small power supply that has at least +12V/2.5A and +5/500mA, it'll be great!
  • steal a power supply OR
  • build one
no links
EPhisical Environment Once we get this all done, we'll need a "track" for it to run on. Since we'll be tethered to the web server and the power supply, the track will need to be designed to try and reduce the possibility of cable twisting/tangling that can occur. Also, there needs to be some obstacles/images/etc. so that it isn't to terribly boring. This will be done last, after we determine exactly what MoLTAR can do (mechanically, visually> and where MoLTAR will live.
  • design the track
  • build it
no links

If there is information that you feel needs to be added, please email me and let me know. If you would like to participate in the project, either email me or come to the weekly meetings. Right now, we meet on Mondays after the UKLUG meeting at 5:30PM in room 208 of the White Hall Classroom Building on the University of Kentucky campus.


copywhatever RIGHT NOW by Breton Losch