…or, Billfred Lets His Marketing Degree Show Proudly
Over the summer, Los Pollos Locos is working on an autonomous vehicle project a little beyond our norm: an autonomous pace car designed for 30 miles per hour (44 feet/second). The conditions are impractical for camera or encoder methods of navigation. This sounds like a job for GPS!
But wait–for all the times GPS has saved us on competition trips, we’ve never used GPS on a robot!
Having searched through sites like Adafruit and Sparkfun, I see plenty of modules to choose from (channels, interfaces, antenna types…) and plenty of differing amounts to spend. What should I be looking for in a module like this? Am I even barking up the right tree by looking at these types of sites?
(For reference, the track is roughly 38 feet wide according to Google Earth. Much of the track has very few obstructions nearby thanks to run-off areas, though there are two straights of 300-400 feet that have trees very close by. And while our exact canvas is TBD, my car is 5’9" wide for the sake of argument.)
I have used the older version of this GPS with this antenna with great success. We recently flew it on a balloon payload to 103,126 feet, getting data the entire flight except for an incorrect altitude during the first two minutes or so of flight (unknown reason, perhaps surrounding hills?) It reached a temperature of around zero Fahrenheit, and survived an ~80 mile (~130 minute) flight which included wind speeds up to 200 mph and a downward plunge at well over 500 MPH after balloon burst. (Not that those numbers have any impact whatsover on this device, but it’s interesting to know how quick it got going at some points). I’ve yet to test it after impact/landing, but I have no reason to believe it wouldn’t still work. It seemed to have no trouble getting a signal inside our foam payload box which was covered in mylar.
We use several of this type of antenna… http://www.trimble.com/timing/bullet-gps-antenna.aspx
It is designed to screw onto a pipe and the interior of the mount has a TNC connector for coax. The antenna is an up looking device with preamp inside. All of the equipment we use these with provide the power for the preamp, either 3.3 or 5 volts. Other than the squirrels chewing through the coax, we have not had any problems in years of service. We use the GPS primarily for the timing reference it provides. That is a steady signal at 10.0000 MHz and time code locked to the Naval Observatory.
Ah, that’s the easy part. The hard part is getting GPS data in a mobile environment that’s accurate enough to stay on the road. 6’ wide on a 38’ trach should be OK though, unless you have a need to actually stay in the center.
To my knowledge, we have no need to stay centered or maintain any semblance of a racing line–just on track and away from any caution-causing issues.
For staying on track: The notion has crossed my mind to bolt the Kinect from the kit on the side (and one for the other side, since it’s a road course)–its range of 2.3-20 feet would be close enough to catch things like the posts that line the inside of most turns (in-car footage). If we’re in the vicinity of the turn and we see the posts, all is well.
For caution-causing issues: A Kinect isn’t going to cut it–the 20-foot range is less than a half-second to react to something ahead if it’s on the track. Establishing communications between our car and the other track vehicles (tow truck, emergency vehicles…) could be done in theory, but that still doesn’t eliminate a regular car being stuck on track. This is one of those known unknowns at the moment; our worst-case scenario is to manually slow and steer the car to get around a particularly tricky patch. This is, after all, a safety matter.
Just looked some up on eBay since most vendors don’t just toss their prices online. I wasn’t quite expecting them to be worth orders of magnitude of the cars we’re looking at for using! :ahh: I’ll have to do more searching after work.
My Lunabotics team initially was thinking about using a Kinect as a rangefinder/obstacle detector. When someone pointed out that the tent we’d be in was going to be taking some direct IR from the sun, even through the tent, we switched gears and went to a LIDAR unit (matter of fact, I think it was the first one in the first link), as a preliminary test showed that said Kinect wouldn’t work well in sunlight. Now, we didn’t buy the unit outright, we borrowed it from the school’s robotics groups. When it became obvious we weren’t going to be able to do full autonomy, the LIDAR didn’t make the trip to Florida from South Dakota–something about we didn’t want to risk having to come up with the 4-figure price tag for breaking something we weren’t using.
Well, RADAR is probably the best bet for this kind of use. That’s what cars use, and they surely have some smart people designing them.
But perhaps having a person inside for safety isn’t such a bad idea. 4000 pounds at 30 MPH is a lot of energy.
Collision avoidance could be done with a camera. In theory, the view ahead of a pace car should be fairly well characterized - basically nobody in front - and so if anything not normal is ‘seen’ >>go to safe mode.
Additionally, the car could navigate with a combination of inertial, odometry, magnetic compass, camera and GPS.
Inertial means accelerometers and rate gyroscopes. Odometery measures distance. You know what a compass does. The camera can spot visual cues placed around the track (think “vision target”, like 3 orange dots( And GPS. Take all these together, correlate them with one another, and you can probably get it to follow a race line…
But this task is not trivial, and safety remains a concern. I would bet this is beyond the capabilities of a high school robotics team. A little help from college students would change that, but this is almost a DARPA-level thing.