W.A.L.T.E.R.

Over the weekend I have been playing with an SRF08 sonar with I2C on my Pro. I believe that it is working reasonably well.

[code]SDA Con P4 ’ Define Data pin
SCL Con P5 ’ Define Clk pin
SRF08a Con 0xE0 ’ 1st Sonar I2C Address
SRFCmdReg Con 0 ’ Sonar Command register
SRFLightReg Con 1 ’ Sonar Light sensor register
SRFRangeReg Con 2 ’ Sonar 1st Range register

srfLightVal Var Byte ’ Light sensor
srfAdr var Byte
srfRange Var Word ’ 16 bit variable for Range
SRFPing[srfAdr]
I2COut SDA, SCL, SRFPFail, srfAdr, SRFCmdReg, [80] ; do a ping in inches…
pause 67

; lets try to wait until the Ping completes
i2cin SDA, SCL, srfAdr, SRFRangeReg, [srfRange.HighByte, srfRange.LowByte]
return srfRange

SRFPFail
return 0xffff

SRFLight[srfAdr]
i2cin SDA, SCL, srfAdr, SRFLightReg, [SRFLightVal]
return srfLightVal
[/code]
I am getting what appears to be some reasonable results where right now on my brat if I hit the TV/Video button on my remote control, it does a ping and senses the light and outputs the results on an LCD display. Next is to work with the servo that it is mounted on.

As for serial input/output on the Pro if you are not using the hardware serial port (which I have not tried yet), that the output to the serial LCD was garbled when output at 9600 baud. Note this program in using the ENABLEHSERVO command which eats up I believe about 3% of the CPU. Also the TV Brat code uses interrupts for a timer as well as for reading inputs on Input 3. These also impacted the serial IO. So when I am doing outputs to the LCD, I diable these interrupts during the IO and output at 2400 baud and the LCD is now working like a champ.

Good Luck

Wonderful stuff! I only have a Basic ATOM though, but have been considering getting a PRO also.

8-Dale

I have designed the new body a friend is going to help me make for Walter. There are a total of three diffrenent decks that should allow me to do anything I want with an octagonal shaped robot. I really like the octagonal shape for a round style robot because the angles of the sides provide what I consider to be the perfect angles to mount sensors at without having to do a lot of measuring and trial placement.

Wheeled Bottom Deck:
http://www.thedynaplex.org/robotics/rovers/walter/img/walter2-wheel-bottom-deck2.jpg

This deck can accomodate wheels up to 5 1/2" diameter and 3" wide completely within the body diameter. This deck’s wheel placement is centered within the body, so will allow Walter to rotate completely within his diameter.

Legged Main Deck:
http://www.thedynaplex.org/robotics/rovers/walter/img/walter2-legged-deck2.jpg

Two of these decks can also be used to create a regular roun d octapod walker.

Top or Main Deck:
http://www.thedynaplex.org/robotics/rovers/walter/img/walter2-top-deck2.jpg

This deck would be used with the wheeled bottom deck to create the same configuration Walter has now with the smaller body.

These decks are 12" diameter across opposite sides. I may also create a slightly smaller 10" diameter deck set.

8-Dale

There are two new videos of W.A.L.T.E.R. available both on my website and on YouTube:

Walter v1.9.0 running software 1.4.0, Part 1 of 2, and Part 2 of 2.

8-Dale

Well done!!

BTW where on earth did you get those amazing wheels?? I like em! :smiley:

Thanks. :slight_smile: I got the wheels at Budget Robotics. Same place I got the Octabot II robot kit. The wheels can be a little difficult to mount, but otherwise they work pretty well. Walter sometimes does wheelies when he gets a lot of traction. :slight_smile:

8-Dale

wow, thanks for the tip. Good work with WALTER.

So far, software v1.4.1 is working wonderfully. I just had Walter run between my bathroom and kitchen twice (once each way) without crashing and burning at all, even on the bathroom doorway. He made it through that doorway twice without help. :smiley:

Walter now has full use of all three of his IR Ranging sensors for obstacle avoidance as well, as the turret IR Ranger for scanning to find clear paths (or “interesting” objects). I just have to get a cable for the PING ultrasonic sensor on the turret to activate that.

I am thinking about using two more PING sensors to detect across Walter’s wheels. Those spots are still blind spots, since I moved the two IR Rangers to each side of the IRPD.

8-Dale

There will be a 1.4.2 release soon… It seems I created a bug that made the pan/tilt turrent go all wonky. It’s fixed now. :smiley:

8-Dale

Since I now made very good progress on code to read the PING sensor, I have decided to rearrange the sensors on W.A.L.T.E.R. a bit. I am pretty sure I am getting some interference between the IRPD and the Sharp IR ranging sensors, since the IR rangers are right on each side of the IRPD. I have decided to put PING sensors in their place and move the IR rangers to near the wheels where I had them to start with. This will fill the blind spots in front of the wheels and will give W.A.L.T.E.R. full front sensor coverage with 5 sensors. The IRPD covers the front.

Technical term… :smiley:

Ummm, yes, that’s it - a technical term. It’s one of my favorites. :smiley::smiley:

8-Dale

One of WALTER’s problems has been not having the ability to see low obstacles such as the bases of upright fan, and other things that are not more than an inch or so above the floor. Well, I believe I have fixed that problem now.

I dismantled WALTER’s top sensor turret and have created a low pan/tilt base for a single sensor, which is a PING in this case. The PING is barely 1/4 inch above the floor but can be raised if needed. The pan range is 45 degrees either side of WALTER’s center point at the front. I mounted the PING upside down to get it closer to the floor when it is all the way down.

My current plan is to have one of my Sharp IR sensors set across each of WALTER’s wheels to cover those blind spots. I am going to design a new pan/tilt sensor turret for WALTER’s top deck.

This new turret design will use a 5" U channel for sensor attachment, connected to an L bracket which attaches to a C bracket and the tilt servo. The new turret will be able to hold two Sharp IR sensors, two PING or other ultrasonic sensors, and eventually a TPA01 thermal sensor and possibly a small camera. I realize I will have to use beefier servos than the HS-422 to be able to move all this added sensor weight. :smiley: The new turret will have a full 90 degree range each side of center, just like the old turret did.

I have also moved WALTER’s front castor back to its stock position, which should fix any over balance problems. With the new sensor setup, the IRPD will be moved to cover WALTER’s rear.

8-Dale

Be careful with the ping as it may see reflections from the floor if is so low.

Yes, I know. That’s why I have a servo to control how it is aimed. I can raise it as needed to avoid reflections from the floor or obstacles. :slight_smile: I also have the possibility of mounting the PING right side up (it is currently mounted upside down) to get it higher, and then use the servo to aim it downward.

8-Dale

That would work fine.

Can you provide a video of it in action? I’d like to see it!

It sounds like you have an impressive setup going on here. Do you have any pictures posted of WALTER? I don’t recall if I’ve seen him or not. It sounds very interesting. You’ve put alot of work into this guy.

Here is a picture of WALTER’s new front sensor turret. The PING sensor faces forward when the turret is in this position, mounted to the C bracket.

http://www.thedynaplex.org/robotics/rovers/walter/img/walter-front-turret.jpg

Right now, I have the PING sensor mounted upside down to get it closer to the floor, but if this proves to be a big problem with echoes off the floor, I can mount it right side up and use the servo to aim it where I want it. I get a +/- 45 degree range on the panning, which should cover what the IR sensors across WALTER’s wheels do not see.

If I had a dual sensor bracket, I would add an IR Range sensor to this turret for dual coverage.

8-Dale

That is relatively the same Idea I am using for the Pan and tilt on my Spy 2 Rover robot. I use it for under-car-surveillance and getting a close image of what is on the terraine around the bot. I think it works great so Im sure it would be perfect to pan and tilt a ping sensor.

heres what my pan and tilt setup looks like:

lynxmotion.com/images/jpg/wlkstk4l.jpg