Let's Make Robots!

Walter 1.4

Chris the Carpenter's picture

After many, many tests and trial runs, I have started cleaning up Walter's electronics and mechanics to a state that is a little bit closer to what it will be when done. I decided to start a new post about Walter as the last thread is quite long anddocuments most of the "getting it working" tests. This thread should be about building the final project.

 

***Update 4.2.09***

Head moves, remotes and autodrive... All found in top video **TING!**

Walter_Autodrive_Update_002.jpg

I have finished my new remote in adding 4 "soft keys" below the LCD. This allows me to  select any of the options displayed on the LDC above. I am able to toggle between RC and Auto drive as well as many other options. During RC mode, I have installed a "reverse lockout" which prevents the wheels from being inadvertantly clicked into reverse at high speeds --this could either be driver error but more, just a small bit of bad data being sent or received. I have overcome my problem of noise coming from my Sharp sensors by simply turning them off for RC drive and on for auto drive. When they are on, an IR signal, instead of a RF signal is used to return to "menu mode". 

I have built a new teaching pendant for encoding head moves using a playstation joystick, which requires less travel than a std. pot to get from 0 to 255. Also, the "rotate" is geared to modify a 3/4 turn pot into a 1/2 turn. I included nice big start and stop buttons used during recording and I wired a 9-pin d-sub connector to allow me to quickly plug it into walter.

I have cleaned up some sensor limits during auto drive and again, improved the "stuck in a corner" code. I have a good start on syncing the head moves (slave) with the drive code (master)

Coming Up:

Adding my Wheel Encoders

Adding a PIR motion sensor

Adding some "curb-feelers" --Some actual bump-switches to deal with chair legs and the like that the distance sensors miss.

Doing some recoding for some more personality (head moves, etc.) during different driving actions.

Starting work on Walter's arm! --Thank you so much pravoka !!! --He has been good enough to send me the very first (and most important part for walter's arm...

Foto_225_.jpg

 

 

***Update 3.14.09***

As you may have seen in the blog post "Walter... Fail", I had run into some pretty big issues with Walter's initial set-up. We have gone through a full tear-down and now, are back in the ball game and steering toward much better results. The major problems I had was the fact I had no designated master and slave, and many serial and I2C lines were shared by both the head/display picaxe and the drive chip. Now, I have a much better Master/master/slave system. First, instead of menu options (auto drive, RC drive etc) being on-board on the display chip, they have been moved to a 28x1 inside of my new remote. This constitutes the first "master" which has first priority over all other chips via an inturrupt then a serin "everyone stop and listen to the remote" command. Second, the drive chip is the on board master. In terms of the automous drive (which is really what this update is about) the head/display chip simply sits there and waits for commands from the drive chip in terms of when and where to move the head. There are no "handshakes" anymore and each chip has it's own servo driver now --no more sharing I2c lines, no more "I'm talking -you wait" crap. 

I discovered quickly the top-of-the-head mounted sonar was no good... Simply too far up and was just not effective for auto drive. I have moved it to the underside of the chassis and also added 4 sharps. 2 sharps catch the corners of the chassis where the sonar is blind, while 2 more shoot straight forward. Because the sonar is "sweeping" there is a chance it could be looking right as something suprises it on the left -The 2 fwd sharps are simply a low-accuracy back-up for the sonar. I am still working on cleaner "stuck in a corner" code as well as adding more head (personallity) moves to be sync'ed with the drive moves. Eventually, I would like to mount all the sensors sunken into the edge of the chassis for a snazzier look. Word.

The Remote:

Walter_Autodrive_006.jpg

The remote is simple eonugh. Radio shack box, play station joystick and Picaxe LCD. For now, being as broke as I am, I can't afford any RF units so on one side there is a 1/4" mono earphone jack used for a patch cable down to walter. Yes, it is a "wired remote". --Does anyone remember when VCR's had them? At any rate, I am using simple serin/serout commands. Walter has a 14m onboard (also connected to the remote) who's only job is to sit on a serin command waiting for any data to come. When the 14m is triggered, it sets an output high triggering inturrupts on the 2 main 40x1 chips. The drive chip and head/ display chip then simply goto to a "I'm waiting for info from the remote" chunk of code and respond accordingly. Having the extra 14m keeps me from having to waste time on either of the main chips constantly looping back to check a serin pin --Inturrups are wicked faster.

Overview:

I am much happier with this rebuild. I have been working much slower and getting each chunk solid before continuing. This is advice I have given many people, I just now seem to be listening to my own advice.

Chris begs for free parts:

Just to throw this out there... I have no money, and it can't hurt to ask, so if anyone wants to make donations...

You will be rewarded in Heaven or in Karma or in the next life you won't be a slug...

Needed:

RF TX/RX units -Even the cheap ones (begger can't be choosers)  just data-in, data-out

SLA batteries --I need 6v and 12V as well as a charger. (the charger is less important) The 6v can be anything, the 12v must be at least 18ah or higher.

IRFZ44NPBF-ND MOSFETS N-CH 55V 49A TO-220AB (I am down to my last pair... one more smoke and walter looses his drive)

Chocolate Cake (Homemade with cream cheese icing)

--See I don't ask for much!!

 

 

 

***Update 2.24.09***

The head is done! Each of the Sharp IR sensors are independantly controlled with individual servos, as well as the IR beacon sensor on top and the pop-up sonar. The "IR Beacon" is simply a standard IR sensor (the kind that works with Sony codes) stuck at the back of a long tube. In this configuration, the sensor will only see an IR beam from directly ahead. Tie this with the posistion of the servo and Walter will be able to drive to a "beacon" be it a recharge station etc. The sharp sensors are posistioned in an object follow set-up. I have also ditched the large wooden board I had everything mocked-up on and have started hard-mounting parts to the chassis. Two more sharp sensors are mounted below the frame and can rotate from directly fwd to 90 degrees out to the sides. 

Included in the video is a simple demo program to show off my coolie pop-up sonar!!

Walter_1_3_003.jpg

***Update 1.17.09***

I can officially program all of Walter's head moves in real time into my EEPROMS. I could type for hours here, but it would be best to simply watch the video. I am starting to feel that each of these "sub-systems" are becoming more solid so I might be getting close to a "semi-perminate" mounting of all these parts on to the frame. I still hesitate a bit, as all these head and eye movements seem to be taking a lot of processing so I might have to add a second 40x1 which would change my main "brain board" a little. At any rate, go watch the video!!

Head_Prog_Still_and_Ipod_hat_003.jpg

 

 

***Update 1.10.09***

 

I have the finished the basic idea of Walter's head and got my LCD working. At this point, I am trying to figure out the most efficent way of controlling 3 axis of movement with the most use of EEPROM space and the least amount of variables. I also need to play with the geometry of servo arms and push rods I am using, I think I can get a lot of the herky-jerky out of it. It will look pretty good though, when it is all sanded down, filled and painted.

Walter_Head_002.jpg

 

Walter_Head_004.jpg

 

Walter_Head_005.jpg

 

The next thing you should see it all of this actually on Walter and in good, smooth opperation.

 

 

 

Walter's First Thread 

First off is the main board...

Walter_1_0_003.jpg

I custom made PCB's for the Main 40x1 (with 14m helper), the 20-Servo Driver, Motor Driver and (8) 256 EEPROM's. The wires need to be cleaned up a little, but this will be the basic set-up.

I also finished welding Walter's trailer hitch:

Walter_1_0_008.jpg

The welds still need to be ground-down, but there it is. Now, you are probably asking "why is the trailer-hitch in the middle?" Well, if it was in the back, and the robot turns on it's center, the trailer would just get wrapped around. With the hitch on the center line, and a long tounge on the trailer, the robot can still spin a 360 with no problems.

Also, I am working on a mock-up of the head design (I think I called it a brain in the video):

Walter_1_0_004.jpg

Basically, the head rests on a 2-axis pivot allowing for up, down and tilt as well as a combination of all three. This is just a test, I hope to clean the final one up quite a bit.

 


 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Jimmy_K's picture

Job well done!!  Who said you weren't an electronics guy lol

tom_jones's picture

walter is excelent Chris 

ive been following him since i joined the site and am in awe

tom 

alfaster's picture

Hi

Im a beginner in this kind of hobby. 

i choose Society of Robots Axon Microcontroller for use.

How this microcontroller  work with stepper motors. What stepper motor controller working with Axon Microcontroller?

Link:

http://www.robotshop.ca/society-of-robots-axon-microcontroller.html

Thank's! 

OddBot's picture

You should ask this question in the forum. If you read this post then you would see that Chris does not use axon microcontrollers or stepper motors.

Post a forum with an explanitory title, not "Question" and if anyone know about that controller then they will help. Stepper motors can be controlled by any micro controller but may need a stepper driver. Depending on the size of your stepper motors then a L293 or L298 would work.

Use the search bar at the very top of the page to search for information on this site. 

OddBot's picture

If you want R2D2 style sounds then you could try what I did with SplatBot MkII in the first video. The sounds were the results from the sonar scaled to work with the sound command. Apart from sounding cool it is a handy diagnostic tool. The closer an object is, the higher frequency the beeps got.

The code for the sound is posted in this comment.  b0 is the distance 0-255. b1 is b0/2 because pure notes (no white noise) are from 0-127.

You could apply this to any analog input such as your IR sensors.

 

I've been checking out Walter since before I signed up here on LMR and I've been watching him progress and it's really inspired me, knowing that with enough hard work and practice, even I can make a robot as good as walter ;) Good luck with Walter!
Chris the Carpenter's picture

Thanks for all the good comments, folks I really appreciate it but (and this sounds silly) I couldn't do it without you guys! --Really, I think EVERY sub-system on Walter has a correspoding "how do I do this" post somewhere on this site.

Now, I don't want to toot my own horn, but there is so much more to come! I have a lot of refining on the head moves... As of now, they are really just a random collection of individual moves, I am cleaning up the code to exactly sync the drive motions with the head moves. I am also working on Walter's little "IR beacon finder" on the top of his head. So far I have had some great success with it finding a "beacon" --just need to sync the drive system to drive toward 12:00... Yup, Oddbot... I am getting closer and closer to the holy grail: A robot that will go get you a beer -seriously.

I just finished painting my wheels last night and got my wheel encoders installed. Looks like I have a few days of code-play ahead but it should lead to some very cool body moves during "stuck in a corner" and the like.

Walter_Autodrive_Update_008.jpg

I am also installing some pop-up "whiskers" -the idea being I might be able to actually let walter loose in the house (free-range, without a fence) with these "whiskers" catching anything the sonar and Sharps miss. Is it just me or is it impossible to code or add enough sensors for a robot to actually see and drive around chair legs?!?! One more, I picked up a PIR sensor as well, I might even get to the point where I can leave Walter on all the time and start himself up only when moving people are around!

 35135-Parallax-PIR-555-28027-L-300.jpg

Oh yeah, Frits... I didn't forget about the sound, yo. I though about a speak-jet for a while but decided I think a R2-D2 style non-speaking robot can actually be a lot more person-like! I have the LM386 amp already soldered, the installation and code is just a little futher down the list...

 

pravoka's picture

MARVELOUS!

Realy like Walter head and the way it moves. Your job with Walter realy inspire my to continue with my projects and to improve them. Looking to see a lot more of Walter!

 

fritsl's picture

6 minutes of smiling, watching, needing words, just smiliong :D And still just smiling, need words!

"Cool" just doesnt do it :D

One comment though; Add a speaker, and throw in a few beeps to accomplish the head / personality; 10 minutes solder, 10 minutes programming, extremely much more contact; Beep when IR on, Beep when obstacle in front and to both sides, beep when turned on etc..

How can any of our projects ever top this one in the category?

RobotFreak's picture

Walter definitily becomes one of my favorite. With its moving head it looks to me like a curious child in a toy shop. 

Well done CTC. Good job. 

Edgee's picture
Amazing, the build quality and attention to detail is spot on. Walter is the robot that brought me to lmr. I really look forward to his next step in lfe! 
OddBot's picture
Great new video Chris. I think you'll beat me to building a robot that fetches beer from the fridge at this rate.
droidbuilder's picture

Hi Chris,

GREAT UPDATE! Looks like Bondo has very little fear of robots. So much for your robots plans for world domination! :-) My dogs on the other hand, tend to get as far away from any moving robot as they can... I like the little nods and head movements, gives Walter some "life". In the right circumstance, one could even describe it as "creepy".

I've run across the noise problem with Sharp sensors as well. As you may have guessed, it is due to a surge current when the sensor transmits the IR "burst" to determine range, which causes a ripple on the logic power supply rail. Several things you might try: One that works for me - is to put a 220uF capacitor directly across the power connections to the sensor, just as physically close to the sensor as practical (if that doesn't work, you could try an even larger value cap). Another approach might be to put the sensors on their own power source, just be sure to tie the sensor ground to your logic ground so the microcontroller is happy! Then of course another approach is what you already did, switch the sensors off when you don't need range data...

Mr.M's picture
I really like the look of the new remote! Lookin Good!
the walter bot maybe ur first big robot only 8 inches smaller than wall-e lol
nice head design. is it homemade? because the eyes look sorta look like eve the hoverbot's eye
alfaster's picture

Very-very nice work, Chris.

Your walter is something different. ( i like it) 

Your metod of motion capturing of Walter's head realy cool.

I'm the beginner-robobuilder. But i'm always want to attempting it.

I'm allready began to building my first.

Sorry for my english. 

 

gimmelotsarobots's picture
Wow, I really like the pop up sonar. Looks like you got his eyes programmed in too! Can he go autonomously yet? You know, simple obsticle (spelling?) avoiding?
droidbuilder's picture
Great project Chris! The peekaboo sonar takes it to the "beyond cool" level. I'd give you more stars than five if this site would let us. :) I guess 5*+ will just have to do...
Calculon320's picture
excellent. i love the peekaboo action.
npaiva's picture
Awesome the head popping out!!!(Again!)
TheCowGod's picture

That head is awesome. This robot is turning out damn nice. I'm jealous :)

Dan

Chris the Carpenter's picture
Oregon you say... I have to say I have allready been and gone!! I lived in Redmond (outside Bend) for 3 years or so! I dearly miss OR too. I remember the gorge, getting drunk in BLM land and trips to Eugene to hang out with my Hippie friends. I still have a couple friends there but none are geeks.
GroG's picture

CTC.

A carpenter is a very honorable trade, however, I would say you've passed the "Mad Scientist Crazy Robot Builder" title qualifications many months ago ... although the acronym is rather weighty (CTMSCRB) - BTW you are a programmer, you can't be a MSCRB without knowing how to program.

Great work - excellent documentation - now move to Oregon so we can play.

I like the recent addition and appreciate the way you have followed successful biological mechanism in your design.  Now tell me where do I find one of these so I copy the spraying acid blood and super strength in my project?

 

aliensmouth.jpg

npaiva's picture
That sonar popping up is just genius, I loved it!!!Really...
jka's picture
For the 2.24.09 video I get a "We're sorry, this video is no longer available" message.
OddBot's picture
Google/Youtube is messing with you,  I watched the video earlier today and again after reading this post. It is still there :-)
jka's picture
Strange. I'll try again when I get home.
OddBot's picture
Youtube did an upgrade recently. Maybe it is only affecting you now.
jka's picture

Using the "eat the cookies and click on everything" approach, I found out, that it works in High Quality, but not in Normal Quality. Strange.

 

Oh, yes - the popup-sensor is cool!

guibot's picture
The sonar looks like an alien poping out of his head!!   :D
Awesome!!
rik's picture

You did paint the mini head to match I hope? Ohh ooh ohh! Make a new one to encase the popup sensor! Very "Alien" indeed. Or "Mini Me"...

Walter made it into _nb.txt again!

mintvelt's picture
That ultra-sound popup is brilliant!
fritsl's picture

Laughing my head off first time time I saw the Ultrasound pop up!

WAY WICKED!!! :D

rik's picture
I hope mini-walter's head does not pop up too high - above the trailer hitch. That could cause a nasty decapi-mini-tation.
OddBot's picture
I'm starting to get jealous, Walter just gets better and better. Damn your good!  :D
brooksware2000's picture

Amazing.  This is coming along really nice.  Are you actually planning this design out or are you kind of improvising as you go?  It seems as though you are learning a lot of new concepts from this project and I'm sure a lot of design techniques will make there way into Walter 2.0.  I can definitely see you design something like this guy did in the following link:

http://www.flickr.com/photos/28127470@N03/

 

LOLGeek's picture
I want me one o those... lol
LOLGeek's picture
Kick ass... :D The sonic sensor poping up like that is awesome... almost as awesome as my robots lol... :P
ezekiel181's picture
Awesome stuff CtC! The mini head makes me think of a jack-in-the-box, or Aliens :0
electrictape22's picture
I was watching the video and thinking to myself, this robot is really really awesome. And then the ping sensor popped out and I was utterly amazed. Incredible job ctc
gimmelotsarobots's picture

The mini-head is inspiring. I think I'll do that to program my acrylic arm.

The world's best motto: When all else fails, use a bigger hammer.

OddBot's picture

When you mentioned earlier (might have been shout box) about recording head moves I was wondering what you were talking about as I never considered "pre-programmed" movement. Now I understand. Your robot will have a lot of your personality as a result.

 

Chris the Carpenter's picture
I've thought about that. I simply have not tried to run the head at the same time as I am "recording". It is some super simple code to stick in there, I just haven't done it yet! I'll give it a go.
TheCowGod's picture

Wow man, that's awesome. This is a robot that will really have potential for some personality. I love the idea of using a display as his "eyes", very clever. And that little mini-head for input is damn smooth. Is it not feasible/practical to update the servo positions in realtime as you're recording, so that the real head mimics the mini-head? It seems like the feedback might be helpful. Or maybe it'd just be distracting since the mini head already provides a sort of direct visual feedback, but it'd look damn cool to see them mimicing each other, at least :)

Dan

Mike's picture

As well as recording head moves on min-Walter and eye moves you should also record your commentry and sync that in.

Mike

fritsl's picture
Latest video: Brilliant!!! :D
rik's picture
I guess you got tired of remming those numbers through the keyboard huh! Great improvement! (And cool tripod)
rik's picture
Why do you need a static tripod when there is this awesome 3-axis camerarobot in the house!? Motion capturer and everything!
Chris the Carpenter's picture

Hey folks,

One of the best things I have ran into is a VEX robotics kit I got in trade for doing a little handyman work. Really, I got this $300+ kit for just an hour or two of work. Since then, and to this day, I am still stealing parts from it. The VEX robot system is really a bunch of crap in that you can really just make a remote control car out of it but if you just use the parts and add your own brain, it is a godsend. All of the neck parts are from this VEX kit and have allowed for the solid joint you see. Everything else is custom made.

In terms of the programming, I started trying to program moves manually (sorta using some math to do it). It was a real pain, but more to the point, it used 7 byte variables and 3 word variables which was just not acceptable. With this "real time" system, I am down to just 4 --3 bytes (one for each servo) and one word for the main "counter". Simple is the best! --Not to mention, I figure that if you want a robot to act like a human, it seems having a human to program the moves is a good way to go.