Head, The Big Headed Robot

Meet Head, the big headed robot. Head's life is really simple being just joy and play. Well, for now at least. That may change in (near) future if I manage to get his friend, Hammer, ready and running. But that will be another story.

As a robot Head is pretty much a simple object avoider. Head's eyes are SRF05 ultrasonic range finder. SRF05 is placed quite close to the top of Head's head so he also has a front bumper for obstacles that are too low for SRF05 to catch. There's also some RGB leds inside the head to give his eyes some color and to be used as signal lights when turning.  Those small spots on the top edge of the head are infrared leds to help Hammer find Head (when I get Hammer finished). Head moves with two Solarbotics GM3 motors and he gets his power from four AA NiMH cells. Head has Picaxe 28x1 on Picaxe 28 project board for brains. Front bumper is done with micro switches.

 

 

 

 

 

 

 

 

 

 

 

A few words and pictures about construction

It all began with a hunt for suitable head. I was already thinking about using a tin can as a head when I was visiting my parents and spotted this baby:


Looks like a perfect robot head doesn't it

After some drilling, dremeling and sanding that can of Viennese Wafers turned to this:

Spooky eyes, huh

Head won't do much without a body so let's have a look at the chassis. Chassis started out as a battery holder, motors and a ping pong ball for a caster. Nothing fancy but it works and it's easy to make. Just glue on motors with hot glue and that's it.


Motors glued on and caster waiting for its turn

Then I needed something to put the head onto. I built a platform on top of the battery holder and motors and then placed a "mast" for servo. The "mast" and servo go inside the head. This way I could put the servo horn to the bottom (or top, depends which way you look at it :-) of the tin can. I was also hoping that attaching the servo this way would cause less strain on servo's attachment and shaft than if the whole head would be on top of the servo. I tried a micro servo first but the head seemed to be too much for it to handle so it was replaced by a standard servo.

Servo platform and "mast" are made of paint stirrers, hot glue and plumber's tape (surprise!) and this is how it looks like:

Front view


Back view

In those pictures above there are already nice green bumpers in place. As you can see they are made of plumber's tape and just painted with green spray paint. I don't have a heavy duty soldering iron so I used kitchen stove to heat that plumber's tape. Don't try this at home kids!

There's some tin foil to protect the stove. I didn't want solder all over it.


Used some wire to keep pieces in place. First solder joint already done.


Ready for painting.


Front bumper soldered together.

That front bumper came out a little bit too massive so I cut it in half before painting and attaching it. The front bumper is glued to two micro switches and there's also "suspension mechanism" giving it some support. The suspension mechanism is a left over from my LadyBugBot clone and you can find some more details about it here (look for "Nose suspension system"). I removed the spring from the suspension mechanism because it was making the bumper too stiff. The suspension mechanism is attached on a piece of polymorph with a screw and it can move left and right a little bit. This helps the bumper work in situations where an obstacle only hits it close to left or right edge.

Front close-up. You can see the attachment screw lurking behind the servo cable.

Here's a couple of close-ups of the rear too.

Rear close-up 1. Notice how nicely Picaxe Project Board's programming jack fits to plumber's tape's hole.


Rear close-up 2. There's a homemade "IC socket" made of polymorph and female pin headers placed on some outputs.


Close-up of that homemade "IC socket". There's resistor for servo signal on output pin 1.

I connected PWM signals from port C to L293D motor driver just in case I would need them. Note: At this point I didn't remember that Picaxe has some difficulties doing servos, PWM, sounds and other timer stuff simultaneously. Because Picaxe 28 Project board's motor driver socket has enable pins directly connected supply voltage I bent enable legs of the L293D upwards so that I could connected them to PWM pins with wire. Note: If you ever try to bend IC legs like this be extra careful not to break them! (I didn't.) Unfortunately I lost all photos of the modified L293D but here's how it looks like in its socket:


Modified L293D in its socket. Enable pins are connected to PWM pins. Some hot glue in there too to give extra support to bent legs.

Now let's have a look at that head again. SRF05 eyes have some polymorph on them too. Polymorph's job is to make eyes look nice by "diffusing" RGB leds' light.

Close-up of eyes.


Eyes inside the head. Servo horn in the picture is for micro servo that I tried first. It's now replaced with standard servo.


IR and RGB leds are in place.


It looks like a can of worms.

In addition to SRF05 and leds there's also a "led driver board" inside the head. The board has ULN2803 for driving those RGB leds and it had resistors for all leds. When making this board I kinda forgot that resistors have power rating too and after trying it for the first time I quickly noticed that 100mA IR led is too much for those tiny 1/4 watt resistors even though I tried two resistors in parallel. My solution to this was to make a separate "power board" for those IR leds. Because I didn't have any high power rating resistors and I don't have any electronics shop nearby I now used three resistors in parallel to distribute power. Those resistors still get warm but I don't burn my fingers on them anymore.

Led driver board (with IR led resistors still on board).


Led driver board from the solder side.


Fixing the "Hot head": Separate power board for IR leds


It's all in there.

That's pretty much all there is to it unless I'm forgetting something. Here's the completed Head, the big headed robot, once again:
Does my head really look so big?

 


Editors note: That remote_soccer_demo_01.zip attachment is more related to this. But it contols Head's head remotely so I attached it here (beware of real ugly code).

 

Navigate around via ultrasound, avoid some obstacles, play Monty Python tunes

  • Actuators / output devices: 2 x solarbotics GM3 motors
  • CPU: Picaxe 28x1
  • Power source: 4 x AA NiMH Batteries
  • Programming language: Picaxe basic
  • Sensors / input devices: SRF05, bumper switches
  • Target environment: indoors

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/head-the-big-headed-robot

Bwa ha ha !

10+ on character … hilarious !
The can design really looks good.
Great design - perfect color.

I like your use of polymorph as a light diffuser, and a connector holder, and a structural material, and a wire tie and … and .and

made me laugh … I like that… 

Thank you too

And thank you too GroG.

I’ll just have to remember that idea of “trash can bot” you gave me a moment ago in the shout box. Idea of trash can driving around and begging for something to eat is just too good to ignore :slight_smile:

 

i like the style

very compact!i guess the update is a balance bot?

HAhaa nice design!It has

HAhaa nice design!

It has this destinct rythm when it looks to the sides. It apears to me that there should be a change; The pauses do not match the distance the servo has to travel. Now it is something like:

Move short to left, wait long. Move long to the right, wait shoirt. Waiting period and traveling ditance could match more - it would be a good drill if you would be searching to make it more efficiant and fast. Which you of course may not be looking for at all :slight_smile:

It’s cute, and my daughter likes it as well :slight_smile:

Nice! :DNow ignoblegnome’s

Nice! :smiley:

Now ignoblegnome’s Blind Lemon has a brother! :smiley: Very nice job you did there!

Balancing bot would be fun

Balancing bot would be fun but if you are referring to the future friend of Head, Hammer, it is not quite so. Hammer will be another bot that will chase Head :wink:

And thanks for your comment.

 

Nice!

Nice done! :slight_smile:

You probably had a mess to wire this thing up. (I got that problem if I try to wire in small spaces.)

For the rest: Great job, nice design and nice done with the color changing eyes.

Nice catch

Nice catch. You have an eye for these things. When Head check distances left, forward and right it does this:
read_distances:

servopos PIN_SERVO, SERVO_POS_LEFT

pause DELAY_SERVO_TURN_FULL ’ Full delay just in case

pulsin PINC_DIST, 1, dist_left

 

servopos PIN_SERVO, SERVO_POS_FORWARD

pause DELAY_SERVO_TURN_HALF

pulsin PINC_DIST, 1, dist_forward

 

servopos PIN_SERVO, SERVO_POS_RIGHT

pause DELAY_SERVO_TURN_HALF

pulsin PINC_DIST, 1, dist_right

 

servopos PIN_SERVO, SERVO_POS_FORWARD ’ No need for delay here

 

return

I took the code of Beep as my working base and only change in the snippet above is the actual distance reading (from Sharp to SRF05). There’s that “Full delay just in case” comment after pause command when servo turns left and the reason why it’s there is this: When beep bot beeped it also turned its head to random direction so I couldn’t be sure which way he was looking in the beginning. Head doesn’t turn his head like that so that first pause could be shorter. One solution for both bots would be keeping track of servos position (storing the last used position) and calculating actual time needed to turn to correct position by using a servo speed constant (ms/step). That speed constant can be calculated roughly from servo specs and tuned by trial and error. At this point I got lazy and just left the code it as it is :wink: But in any case you are correct: Distance measuring could be more efficient.

I’m glad that you mentioned cuteness. That’s what I was aiming for. Mainly because it would hopefully add some “drama” to the scene when Hammer arrives.

One thing I could do to distance checking is to add random factor so that the check doesn’t always start from left. Doing distance check starting randomly from left or right would probably add a bit to the cuteness factor. Now the distance check looks a bit dull and “machine like”.


I realized the similarity too

I realized the similarity too. In the very moment I painted the head yellow I remembered Blind Lemon. At one point I was about to make the front bumper look like Blind Lemon’s bump switch but then I thought that it would probably look a bit too… uhm… erect for a cute bot :slight_smile:

 

Hot glue is the salvation

Hot glue is the salvation when wires give you hard time. You can place drop a hot glue close to wires, dip your finger in water and press wires against the glue and they stay there pretty nicely (I learned this from Frits). That ribbon cable was a little tough though. I had to try several positions for it before I got it placed so that it didn’t get stuck anywhere.

And thanks for comments.

Realy nice art work, nuumio.

Realy nice art work, nuumio. The eyes wink give him a kind of human touch. For other PICAXE robot builders the PWM patch is realy helpful

This writeup counts as a dozen walk throughs

Thanks for taking the time to write and photograph all this. Excellent work. The robot is also awesome. So much beautiful detail in a machine whose job it will be to get hammered!

I take it that the IR LEDs around the “scalp” are there so that Hammer has something to hunt for? Do they emit plain light or is it coded?

Thanks

Thanks. Too bad that Picaxe lacks ability to handle multiple functions using timers. At least I was able to use hpwm to slow down the right motor a bit so Head goes somewhat straight when he’s driving forward.

 

No problem

No problem. I myself that the text is a bit too short (there’s so much to say) but I was already getting tired last night. But I think I got at least most of the stuff in there.

Yes, those IR LEDs are for Hammer.  Right now they are emitting plain IR light. I did some quick tests with simple modulations too. I’ll probably make a blog or forum post about it when I have time (have to do some soccer things first :-).

Cool robot… wanna see

Cool robot… wanna see hammer trying to get it… lol! but… when i saw that first time i think it’s only missing a little thing…

Smile! what do you think?

 

haha :smiley: that is just awsome!

haha :smiley: that is just awsome!

Nice!

Nice!

I did have some ideas how to make a (mechanical) mouth for Head but I wasn’t that sure if they would have worked so I didn’t even try. Maybe in some future bot then.

Perhaps you could use

Perhaps  you could use something like fritsl posted here to make Head smile.

Nice one

That’s a nice one. I was thinking more along the line of trying to make lips out some material (dunno what) that could be bent by servos without braking. I don’t really know when I can give it a try. Feels like robotic ideas are really piling up right now. But that’s a good thing!