
Found a problem with my algebra in the 2-d navigation box, and reduced the X-Y position error down to about 1/2 m per min when the robot is moving countinuously, and less when it's moving sporadically.
I even managed to mount the components neatly on a bit of plastic! The whole thing (with room for tiltmeters and GPS) is around 5x5x1 cm. Of course, it's not in a box, yet. :)
There was also some kind of problem with the C library's trig functions, that mean converting from robot polar co-ords to Cartesian world co-ords had a whole lot of noise added every now and then. So I stopped converting and the world is now in polar coords wrt the robot's original position.
But enough of 2-d, I've moved on!
By turning the 2-axis accel on its side (so that Y points up/down and X points along the axis of the tankbot), I now have a 3-d nav board with the world in cylindrical co-ords. Again, the drift is a modest 1/2 m per min in terms of "distance" (i.e. X and Y and about 75 cm per min each).
And so I'm ready to start playing the differential GPS.
I got a cheap old Trimble ACE II from a guy scrapping sat dishes and it was pretty easy to get it going.
The 8-pin header on the board provides 2 serial ports (one with NMEA output; another with Trimbles own TIPS protocol to config the board) and power supplies (has a 3.3 backup as well as vdd 5v).
Initial experiments seemed to be successful, although I'm still reading the NMEA spec.
As I said, the unit is pretty old, so only has 8 channels of sat input, and takes a remarkable 45 sec to cold start (i.e. between power-on and first NMEA position output). But it takes (apparently) 15-30 mins to upload a complete database so position requests can't be more than a couple a minute until that time.
As part of the experimentation, I fudged some GPS correction commands and managed to activate the differential mode. According to the probably dated manual, DGPS on the board can get position errors down to 2 m.
So the design path is clear -- add the GPS into the filtering regime and feed back INS corrections to the GPS board.
According to docs for "GPS-only" el-cheapo navigation boxes, even *just* the GPS should filter down to a pretty good position estimate. With the INS and motor controls in the mix, it should be able to do even better.
But I'd be happy with a few cm "inside" and a couple meters "outside".
Among other recent deliveries are a couple of long-range IR sensors. I didn't know Sharp made anything that ranged beyond 30 cm, but the A700 can detect up to 5.5 m out -- beyond the range of some cheap sonar sensors! But it's a monster!
The attached vid is the latest "Wall-E" promo to hit my inbox.
Comments
Looking good Kym :) Was
Looking good Kym :)
Was that GPS unit from an actual satellite dish? Is that for an auto calibration function or something?
According to Jim ("stand-up
According to Jim ("stand-up comic, race car driver and ham radio operator. I must have issues!"):
"This is a GPS receiver PCB removed from a functioning satellite transponder. "
So I presume he means an earth-side transponder/repeater.
Post new comment