PDA

View Full Version : [Project] R2Talk2 - a talking robot with rotating head



Macro Man
09-08-2009, 01:29 PM
Hi, i'm new to the forum (this is my 2nd post) so please don't be too harsh if I mess this thread up or make a mistake in forum etiquette.

I've been making a little robot just out of bits and pieces and a TalkBot robot controller and a couple of wheeled servos. I hope it doesn't look too amatuerish compared to all the highly polished expert robots in the projects section! You guys are amazing.

This is R2Talk2.
He's a talking 2-wheeled robot, with a rotating head (like R2D2).
He's a bit over 150mm (6") in diameter and about 220mm (9") tall.
I wanted to throw him together pretty quick mainly out of junk, to see if I could get a fun robot for very little cost.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/front1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1732&c=3&userid=3511)

Hmmm, let's see if I can get the pictures working!

Macro Man
09-08-2009, 01:36 PM
Trying full sized image;
http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back2.jpg

I wanted to make something with the new TalkBotBrain controller from
BlackRobotics. This little controller is a bit limited because it only
has 2k of onboard ROM and a handful of input/output ports, but it does
have 2 cool features out of the box;

1. It talks! With any words/sounds I want. Yay.
2. It drives up to 8 servos automatically.

These parts came from BlackRobotics.com
* TalkBot Controller PCB and 40mm speaker
* 2 HITEC rotation servos
* 2 servo->wheel hubs

Other bits from my junkbox;
* 1 HITEC HS422 normal cheap servo (for head rotation)
* Sharp GP2 sensors Infrared distance sensors (2 ranges; 150cm and 80cm)
* Toggle switch, wires, few LEDs etc

Stuff I had to buy;
* 6v 1.3Ah battery
* 2 Tamiya fat racing wheels
* Red plastic $2 bowl from supermarket

The idea was to see if I could build a bot that was fun and also
practical from the most basic setup, ie a TalkBot brain and a couple
of servos. The brain and wheel servos were a gift from a friend at
BlackRobotics and I had a junkbox head turn servo and some sharp
sensors kicking around , so the only real cost to me was the battery,
wheels and red plastic bowl, under $20 total. Total cost would be
a bit over $100 if you had to buy all the bits I guess.

Design Goal.

Well I knew the robot would talk, but I wanted to bump up the cool
factor. So I went for the rotating head!
This was an easy one since the
controller would drive the servo directly and it would also make
good use of 1 or 2 distance sensors as he can "scan" the
surroundings and get his bearings. So he can look around and say
"whats that?" or "who's there??" then trundle over to investigate
the thing he saw... You get the idea.

Some fat wheels to look cool, I really don't like those skinny
things normally attached to servos. These Tamiya ones are great.
Very grippy and air filled so they are a bit like suspension.

And finally some practicalities. A castor that will work on carpet
and tiles and also cost nothing, a flat smooth base so it won't snag,
some covers so he looks like a real robot etc.

And so R2Talk2 was born... Or is about to be born. :)

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back3.jpg

Macro Man
09-08-2009, 01:44 PM
Hmmm, need to try those large images again;

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back2.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1736&c=3&userid=3511)

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back3.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1736&c=3&userid=3511)

gdubb2
09-08-2009, 01:47 PM
Hi Macro,
Welcome to the forum.

I like this little guy, he's cute. Good job.

Gary

Macro Man
09-08-2009, 01:47 PM
The Rolling Base Design.

There is a flat base plate, but instead of mounting the wheel servos
to the base plate the base plate supports 2 vertical plates,
and the servos are just screwed into the vertical plates. A top plate
secures the vertical ones so it makes a basic box skeleton out of
4 plates. With 8 big wood screws it's very sturdy.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/servo1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1741&c=member&imageuser=3511)

I used 10mm nylon cutting board for the vertical plates. This was
a supermarket cutting board I had chopped up for something and
had enough left to make the 2 vertical plates. It's very stiff and
easy for screwing. The main screws are just some countersunk type wood
screws. 8 small wood screws hold the servos in. The other small
screws are junk that was pulled from old VCR's etc I like to keep
the pretty coloured ones.

For the top and bottom plates I didn't have enough chopping board
and it would have been a bit thick anwyay. I found some old 6mm
white perspex (acrylic) from an old sign or something. It had
holes drilled in it and was a bit messy but most of that won't be
seen in the finished bot so it was good enough.

The size of the bot was based on the nice red bowl I found in the
supermarket. This bowl had a flat top and totally flat conical sides
both are handy features. I designed the top and bottom plates
to suit that size. The wheels were moved forward a bit from true
center, making him more stable, likewise the castor was moved
rearward as much as possible.

The octagonal shape was changed a little to suit the new wheel
positions and still match the head bowl. And maybe look nice.

Macro Man
09-08-2009, 01:50 PM
Hi Macro,
Welcome to the forum.

I like this little guy, he's cute. Good job.

Gary

Hi Gary! And thanks man! :)

I wrote up some texts last night to go with the pictures, and i'm still trying to work out the easiest way to cut and paste it into the thread. It wouldn't let me edit post2, something to do with the html image links I stuffed up probably.

Macro Man
09-08-2009, 01:54 PM
http://forums.trossenrobotics.com/gallery/files/3/5/1/1/bottom1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

The plates were cut on a bandsaw (some bits with a hacksaw) and
shaped up with files and the gaps kept small so it wouldn't snag
too much on carpet or wires on the floor.

The castor was my own design, I didn't want the cost or size of
an omni wheel or the snagging hair-grabbing problems of the
small castors. This "ball" system worked really well.
I cut a hole in a ping pong ball and just filled it with some
epoxy stuff to make it a hard solid ball. Then drilled a hole
through it to spin freely on a 6mm steel rod that came from an
old bubblejet printer. Once I could hold it central on the rod
I also ground the 2 sides of the ball flat to make it more like
a wheel.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/side1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

There is another bit of nylon board holding the 6mm shaft for
the castor. This is just clamped down with 2 screws to the bottom
plate and can be removed easy for service and cleaning. I set
the height with some cardboard to adjust it a fraction to make
the bot level.

The castor works perfectly. It rolls in forward and reverse,
and when turning it just slides it's real slippery on carpet and
even on hard floor and tiles.

I cut a recess out of the back vertical plate to hold the battery
weight so it only needs a little clamp to secure the battery to
the plate. A 6v sealed gel type battery was chosen because it's
cheap and neat. The TalkBot has a nice low-dropout 5v regulator
and will work fine from 5.1 volts up, and the servos can run
direct from the 6v battery that is normally about 6.5v in
operation. Also the servos are efficient, under 200mA to move
the whole bot and he doesn't move all the time so a 1.3Ah
battery will give many hours of life between recharging.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

The TalkBot brain was added and I made a switch and LED bracket from
bending a little bit of alloy sheetmetal. I plugged in the 2 wheel
servos and with a bit of quick C programming R2Talk2 started
doing a little forward-backward-turn dance on my living room floor...
He's alive! Yay.

Macro Man
09-08-2009, 01:58 PM
http://forums.trossenrobotics.com/gallery/files/3/5/1/1/back_mech1.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

Rotating Head Design Spec.

I wanted to get this right. The head should be able to do the
full 180' (half turn) that the servo can do, but be smooth
and not have cable problems. The solution was pretty simple
with just a saddle clamp to secure the cable and some spiral
sheath to make the cable slippery. It works well, mainly
because the top plate is flat and smooth so the cable can
slide as the head turns. The cable gets a bit tighter as
the head turns 90' left, and it gets a bit looser as
the head goes 90' right (see above).

I soldered the cables direct to the 2 Sharp sensors, this
gave a bit more room and only needed 4 wires from the brain
to the sensors; +5v, ground, signal1 and signal2.

The whole servo to head-bowl setup looks simple but I spent a
bit of time thinking it through before building it. The
overall height had to be right so the bottom of the headbowl
sits right on the top plate and the entire outer rim of the
bowl acts like a bearing for strength and looks.

The other thing that I really wanted was for the head rotate
and IR sensors to be fully functional with the head bowl removed.
This means he can be tested and inspected when operating
the head or even operating the whole robot without his "dome".

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/head_mech1.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

The 2 servo risers were cut from the nylon board again. They
are positioned on the top plate so the shaft axis of the servo
is the center of the bowl, and the whole bowl centers nicely on
the top plate.

Some thin alloy sheet was cut to size and bent (I just used
a bench vice and some wood to bend it). This holds the 2 Sharp IR
sensors. Just a standard plastic servo horn connects the alloy bracket
to the servo, and another bit of white plastic sets the height
and gives something thick enough for the screws to bite into.

I added a donut of soft green foam rubber around the servo
horn. This gives some extra friction and stops the head from
jerking when it turns because it was turning too easy and the
extra mass of the whole head was causing an oscillation sometimes.
With the green foam and a software tweak it now turns super
smooth and steady.

Macro Man
09-08-2009, 02:03 PM
http://forums.trossenrobotics.com/gallery/files/3/5/1/1/front_mech1_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

Testing the 2 Sharp IR sensors. He has a good field of vision,
the forward facing sensor is the 150cm type, so he can see
any objects up to 4 feet away in his 180' scan field.

I ended up pointing the other 80cm range sensor down at an
angle. This means it will only detect vertical objects in close
range 20cm or so (8") BUT it will find things on the floor
at about 30cm range (12").

The 2 sensors work well as a team. The longer range sensor is
perfect for finding walls, chairs etc for navigation, it will
easily see a vertical pencil at 3 foot distance. Quite impressive
especially coupled with the ability to slowly scan the head
and determine an accurate angular position to the object.

And the closer range sensor tilted downward acts more like an
emergency "bumper", it tells R2Talk2 if something has got too
close like a small object on the floor that might represent a
hazard. Like a sleeping cat's tail... Very hazardous! :)

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/front2.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1737&c=member&imageuser=3511)

The head cover bowl works pretty good! A big square hole
was cut in the front of the bowl to fit the sensor array.
The head cover bowl quickly slips on, right over the sensor bracket,
and just one black screw on top secures the head bowl and makes
R2 look like... Well like an R2.

That's about it for now.

At this point i'm quite happy about how R2 is shaping up.
He has good mobility, trundling easily over all my household
flooring including doormats etc.

Construction was kept real simple and easy to do again,
the 4 body plate construction works good and can be operated
independent of the covers and likewise the head rotation
assembly works great for such a simple system. Everything
is rugged and should be reliable. This method of construction
might even work for a larger R2 type robot, I've been eyeing
off a nice 250mm plastic dome bowl...

His head rotation is smooth and/or fast. Sensor performance
is good. So little R2 is no longer lame or blind. But he's still
stoopid (no AI programming yet) he's still mute (need to load
some voice recordings in him and connect his speaker) and
worse still he's totally nekkid!

Next job is to cut some outer cover panels and give little R2Talk2
some clothes, and a front panel sounds like a good place to
mount that 40mm speaker.

xx2747
09-08-2009, 09:03 PM
That looks cool!
Just another great example of what can be built at home without much $!

BTW, how did you attach the plastic boards together?

Great robot!

Macro Man
09-09-2009, 10:14 AM
Hi xx2747 thanks for the compliment. :)

For the 2 vertical plates, i clamped them together and cut them to exactly the same length. Then clamped them in a vice in the drill press, and drilled down vertically to make 2 holes in the end of each plate. Then drilled and countersunk in the top and bottom plates. Then screwed the 4 plates together with 8 large countersunk-head wood screws (about 40mm long or 1.5"). It's really strong. That nylon cutting board is fantastic for self threading screws like wood screws.

If you look at the bottom of the bot (post7 top pix) you can see the 4 large woodscrews sunk into the base plate.

I cut some cover panels today out of clear acrylic to go around his waist. Still trying to work out if he will look best just with clear covers or if they should be painted with rivets etc to look like a real robot.

Macro Man
09-11-2009, 09:11 PM
Got a couple hours spare today to make some clothes for little R2.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/rt_back_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1750&c=3&userid=3511)

The back cover was cut from a kitchen chopping mat, it's thin polyethylene (about 0.8mm or 0.030") and flexible, but after I scored it and bent to the octagonal shape it's quite rigid now.

He's looking a bit fat now with the back cover on, and sort of plain. I'm going to dress him up a bit with some stickers I think.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/rt_side_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1751&c=3&userid=3511)

I drilled and shaped the 3 front plates made from clear acrylic, these make for easy access to the brain and plug connectors. They are not finished yet they need a charging connector and some cleaning up.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/rt_front_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1752&c=3&userid=3511)

Macro Man
09-11-2009, 09:27 PM
I used cutout reliefs for the screws on the front plates (see the top red screws). These are like the ones on some commercial telecoms equipment, you only need to loosen the screws a fraction, then the cover can lift straight up and off. It's only like 2 seconds to remove a plate because the screws don't have to come out.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/rt_frontclose.jpg

I cut a hole for the talking robot speaker and glued it to the back of the plate with hot melt glue. It needs a longer wire to plug into the talkbot controller.

The left front plate got a rectangular hole for the power switch and PSU leds. I also added a 10mm (3/8") hole near the bottom so it can have a charging socket mounted inside (on the bottom plate) but the charge lead can go through from the front. All the front plates can be removed (to access the brain and connectors) without affecting the robot apart from the middle plate which has the speaker plugged in the 2pin connector so that's quick to disconnect anyway.

I think i'll add 2 more screws to join the red flaps to the front clear covers, just to make the red cover a bit more sturdy.

The next thing will be to clean up the covers (remove the felt tip pen markings) and laserprint some white stickers with "roboty" graphics like panels and rivets etc. I will put some stickers on the head, and one the outside edge of the clear plates too but leaving a clear area to see the brain and it's indicator leds.

Then it's time for some AI and put some sound samples in.

http://forums.trossenrobotics.com/gallery/files/3/5/1/1/rt_workshop_thumb.jpg (http://forums.trossenrobotics.com/gallery/showimage.php?i=1754&c=3&userid=3511)
(R2 on the floor looking about and wondering why his wheels dont turn - I unplugged them)

jes1510
09-11-2009, 09:57 PM
Gorgeous work! How did you get the slot in the acrylic so clean?

Macro Man
09-11-2009, 10:17 PM
Thanks for the compliment jes1510, I would like to say I just drilled it and used a file but that would be lying haha. I have a little vertical mill a "Sieg X2" type, it cost a bit over $500 USD new and has been worth every cent. For the holes I used a 1/2" diameter endmill they make great rectangle holes with smooth round corners. The speaker hole I used a woodwork holesaw and filed it smooth.

But I did most of the robot parts with bandsaw, hacksaw and files to its not really cheating to use the mill on a couple of holes I guess. ;) The point of the project was to throw a robot together without too much work or care, and not need special equipment, and (hopefully) still get a cool fun 'bot as the result.

LinuxGuy
09-12-2009, 12:21 PM
I've been making a little robot just out of bits and pieces and a TalkBot robot controller and a couple of wheeled servos. I hope it doesn't look too amatuerish compared to all the highly polished expert robots in the projects section! You guys are amazing.
Great design! My robot (W.A.L.T.E.R.) is also an eight sided two wheeled rover design. :)

You have this TalKBot controller, which sounds interesting. Where did you get it? I'm interested in adding a voice to W.A.L.T.E.R. at some point, in addition to his usual beeps and whirs as he roams around detecting things.

8-Dale

Macro Man
09-13-2009, 06:45 AM
Hi LinuxGuy. :) I checked out your link to WALTER, he looks cool!

The Talkbot Brain is pretty new on the scene, from www.BlackRobotics.com you can put your own voice or sounds in it (up to 256 words/sounds) and tell it which sound to play using a serial command. It also controls 8 servos. It's mainly meant as an add-on device to let your bot talk (as in your case). I'm taking advantage of the fact it uses a PIC and is open source firmware so in my case it will make a whole robot controller even though it's a bit limited in number of I/O pins and processing power etc. Black robotics are a bit slow promoting it but it's been out for about a month.