Let's Make Robots!

Walter 1.4


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.

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

walter is excelent Chris 

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

tom 

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! 

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. 

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!

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...

 

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!

 

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?

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.