Pre-intro

This is a text I wrote for a case modding competition at www.epiacenter.com. I had to insert the pictures once again and did this in a quite sloppy way - sorry for this.

It represents the robots state in springtime 2005, since then there has been some mechanical, lets say "surface" improvement. Improvent in capabilities and software has not been sufficient compared to my aims, but htere is: Remote control via WLan, watch the webcam's view via Microsoft Netmeeting. Up to now there is no independent behavior, my programming skills are poor and time is scarce as always...

Intro

My dream of a home-built robot was smolding since the early 80ies. The floor of the young boy's room was covered with "fischertechnik" parts, and a robot which clears the mess seemed feasible... Well, it took some years until the project actually started. And this not only due to my personal capabilities as a mechanical engineer, but also in the environment of today's technologies: Webcams, WLAN, and last but not least powerful yet power-saving PC-Mainboards.

Concept

I always keep an eye on robot research like robocup or several japanese humanoids. And there is a lot of robot hobbyists on th web. But 95% stick to "two hacked R/C servos, AA batteries, a microcontroller, ability to follow a light / a line on the floor". Things that university teams built for micromouse contests in the 80ies. Where's progress?

I rather think of a PC on wheels. So many "sexy" things for robots are so easy: Speech output, camera, microphones, speech control, remote control via WLAN, facial expressions just by using a display as the head, behavior and navigation based on advanced programming. Compare a microcontroller: A few motors and lights, simple behavior programmed in assambler or a procedural language. That's it. Any of the mentioned "sexy" things means adding/inventing hardware.

I also wanted a handsome robot. I didn't fear size or weight, it just should be a nice, dressed robot and not a flat heap of wires. NEC's PaPeRo made great impact on me.

So I came to this sketch.

Mechanics

The lower body carries batteries, motors, the power supply electronics and a microcontroller for interfacing to the motors and sensors. For neat wheels, just look at children's push chairs! The wheels I use have a diameter of 180 mm. I wanted to be sure a sill or the edge of a carpet is never an obstacle. However, the rear supporting wheel (50 mm) already turns out to push and curl loose carpets rather than rolling on them. The motors are a industrial version of windshield wiper motors. I had them in my vast stock of "things to fit in a project some day".

Power Electronics

Today, you would just use one of those plug-in power supplies for Mini-ITX boards and look if it runs from a 12V lead-acid battery instead of the powerbrick. Or, if that doesn't work, get the car kit.

When I began dreaming of a PC on wheels, I started with a DC/DC converter board in my hands, which made 5V@5A and 12V@3A out of 36V. The 24V motors went oscitant slowly with 12V and pretty well with 36V. So I settled for that. Three 12V 7Ah lead-acid batteries in series weigh in at almost 8kg, so you already know you won't carry this robot over to a friend. At least not so often.

The whole power supply electronics is spiced with a microcontroller (C-Control), several relais that switch the PC's power and switch the batteries parallel to "sleep" and to be charged at 12V. In this state, it should be able to sleep for weeks before waking up on the microcontrollers real time clock. Another DC/DC (widerange input 7-42V) converter makes 5V Standby/USB for the PC and for the microcontroller. A simple linear regulator makes 3.3V out of 5V. The heat generated by the voltage drop is not severe.

Motor Drivers

Motor driver bridges for 36V are a bit expensive, as they are mostly equipped for high currents as well. My motors rarely consume more than 2A. So I decided to build the bridges myself, with pretty general P- and N-Channel Mosfets. Another advantage: I could integrate fork light barriers onto the board which will act as an incremental rotation encoder, together with an simple toothed disk on the motor's axle. Once the layouting was done, it was easy to build a clone for the second motor. I even unpacked my PCB etching equipment, which I built when I was at school in the late 80ies! This time, etching was accomplished without any damage to my clothes...

The Body

Pretty straightforward. There is generously space for 5.25" units, of which only the harddrive is essential. It's a notebook drive, suspended with rubber O-rings in a 5.25" frame. I will change some things from time to time - e.g. skip the floppy and CD drive, install a reasonable sized speaker as subwoofer for the tweeters in the robot's ears, or install finally a working version of the "trackball-bow tie". For these changes, it's good to have a mechanical standard for mounting these items.

The Head

A dwarf-like, nice robot needs a head and a face. You see a lot of attempts to produce facial expressions, mostly mechanical moving eyeballs, lids, eyebrows and mouth. I thought the easier way is a display. But LCD are expensive, and 9" or 12" CRTs hard to find. I had to wait for a coincidence, which came to me as a small b/w TV with real Video and Audio Input sockets. Doesn't have EPIA a TV Out? Yes, it has. The first thing to program after the EPIA was installed with Win2000 and Visual Basic, was a simple face made of a few circles and lines.

What else? To cover the knobs on the side of the TV, and to achieve an even more dwarf-like look, I added ears. They have a black grille front which will hide tweters, microphones, webcams (I will try to have stereo vision) and a narrow band of light generated by LEDs. First I planned two 10W Halogen spotlights, but those would resemble eyes and make a confusing look togehter with those eyes displayed on the TV. The following picture shows the head with real pre-formed ears, simply black painted fronts. The red light is fake made with Photoshop.

Edit: The right picture shows the final output! The LEDs are very bright and can serve as a illumination for the onboard webcam as well. I'm very proud of it.

Haute Couture

Well dressed from top to bottom.

Did you notice the bow tie just below the head? For the moment it's just a model made of different painted plastic sheets. But it should be a working trackball with two buttons some day. Until now, I did'nt find a reasonably priced unit with a big, black ball. Maybe I have to hack a normal mouse, replace the rubber ball with a hard one, fit rubber rings around the sensor axles, and so on. Needs diligence, comes later. But it would be cool to have an input device onboard. Who knows when speech recognition will really work.

The coat is made of felt.This gives a warm and soft touch to the whole thing. And I don't have to build a plastic coat that will need years of priming, sanding, priming, sanding, priming and painting to look good. The coat is stuffed with foam "shoulder pads". It surely still needs some sewing work around the neck, but the snap fasteners look preppy, don't they?

The belt is a fridge gasket. If the robot bumps to a wall, it should not damage it. So it had to be soft. And not made of black rubber. Luckily, I found a shop that sells spare parts in pale grey, as white would have been a "fashion sin".

Finally the bottom. It is basically made of very stiff foam, coated with a thin layer of glass fiber and epoxi resin, and yes, here I did the exhausting prime/sand/paint job.

Edit: At the time I wrote this text, this description was a bold lie. There was just a primed foam body. Now the work is really done, I made a very smooth positive model out of the foam body, casted it with a 2K silicone rubber and laminated the real bottom with epoxi resin an glass fiber, which was then painted and looks almost perfect now. See the additional pictures.

 

 

Software/Capabilities

Normally, a mod article ends here. The bizarre housed but otherwise regular PC is ready, everybody knows what to do with a PC. In my case, I feel a slight commitment to describe the software, and what the robot is able to do at this point.

Unfortunately, I'm more a mechanic than a programmer. So I can't show you very much.

Sensors to know where he is: Just three Sharp distance sensors looking in different directions. Robot builders know these sensors as neat things: They measure a distance of 10cm to 80cm geometrical, almost not influenced by the ambient light or the reflecting quality of the measured object. They have a voltage output, and together with an microcontroller with A/D converter the job is done.

Microcontroller: The "C-Control" of Conrad Electronic, a well known mail-order house for electronics in Germany. It's limited, but easy to handle. The program (written in BASIC) communicates via RS-232 with the EPIA and can operate in two different modes: First is a joystick-like teleoperation of the robot's motors with the numerical pad, with any ASCII-Terminal application on the EPIA. There is also a possibility to store and playback sequences of motions. The other mode is direct: The microcontroller pushes the raw information from the sensors continuously as fast as he can (three bytes plus a sync byte @ 9600Baud), and can receive the information for driving the motors packed into on single byte.

Operating system: Sorry, just Windows 2000 professional. No real-time, no Linux. The barrier is too high.

Programming Platform: Visual Basic 4.0! You see, I really need low barriers. But it works.

Programs: Driving some curves "blind" and singing a birthday song was soon achieved, still in microcontroller mode 1. Together with the sensors I made my first attempts to misapply my setup as a real-time steering system. And was impressed how good it worked. Ok, the robot runs pretty slowly. But with a 50millisecond timer, I was able to convert the sensor data into real distances, log the data in a file, and run a algorithm that keeps the robot in the middle of a corridor of 70cm width. The robot itself has 38cm width. After this, it was easy to program the strategy for a maze and I was ready for a competition.

The robot didn't do very well on the competition, but that's another story.

Edit: Still, the software hasn't grown very much. The best is that remote control via WLan works now, and I can also see the webcam image while steering the robot within my WLan network at home. The webcam transmission works just with Microsoft Netmeeting, we haven't found something better/faster.

There was another exhibition in November 2005, the robot was programmed to serve a beer (once it was adjusted by remote control to point directly towards the lucky recipient), and blinking its LEDs meanwhile.

The main target, autonomous navigation, is still an untilled field.