Hi All,
Before posting an issue or a problem in the ArduRover Discussion Forum, please check the wiki table of contents, review the firmware release notes in the subforum, and search that subforum for existing answers to your question. Help avoid duplicate threads by finding other members with the same issue and their solution.
When formulating your post, use a descriptive title such as "rover will not navigate to waypoints in the Auto mode" (not "HELP!" or "Problem").
Please include the following information to help diagnose your query:
- Describe the problem you are having. What is the expected verses the observed behavior?
- Provide hardware information such as the brand and version of your autopilot, GPS, radio, and compass, as well as any other pertinent details about your rover setup.
- What version of the APM: ArdurRover2 firmware version are you running?
- For navigation issues, provide your tlog and/or dataflash log. Click here for instructions on retrieving a dataflash log.
TCIII
Comments
@KM6VV the main link to read is the oreillynet one. The summary is there are so many sources of error that unless you can do some fancy stuff, two GPS aren't better than one. I confess I don't grok it, but I sorta-kinda get the gist.
My poise entering the circle is usually within several degrees of the waypoint, at least in practice. On asphalt. But easily within FOV of any normal camera.
I haven't coded my bot for RoboMagellan but I would do like you said and have a vision system, like CMUcam, provide the angle. That could be fused in with the other sensors, I'm sure.
Probably good to have a sanity check for expected angle from poise estimate versus what the camera reports to prevent chasing a poodle in an orange sweater :)
Do the competitors know the exact coords of the cone ahead of time? If so then the cone is essentially a beacon / calibration point all by itself.
@Randy,
I don't think they would be beacons. You would have to transmit and then receive the deltas to the fixed GPS location.
Alan KM6VV
Randy
@Bot,
Thanks for the links. I went to the group last night (late), but failed to follow the other two threads. ...So not much luck there. I still need to "walk" the course with a GPS, preferably the same model. So either I buy a second ublox, or make the one on my 'bot removable (rules say we can't let the 'bot walk the course).
What's your poise when you enter the target circle? If entered on an edge, then you should be aligned (hopefully) with the target. Then a visual (or sonic) target bearing takes over?
I joined DIYRovers, thanks again for the link.
Alan KM6VV
@KM6VV re: 2 GPS -- I thought that too but apparently not. I mentioned that we discussed that on diyrovers. Not sure if you saw my link. Here's the info:
https://groups.google.com/d/msg/diyrovers/C_FB2fqE3bA/ULbDyLr1ew0J
And the direct links to pages explaining the issues.
http://www.oreillynet.com/pub/a/wireless/2000/12/29/two_gps.html
http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=109246
I'm converting to grid coordinates onboard. It made some critical calculatons much, much, much faster (ie, fast enough to actually run at 100hz). I set a radius threshold for distance to waypoint; within it, the robot slows down. Another threshold initiates turning.
So are people translating Lat/Long into grid coordinates? And then working in those grid coordinates to calculate heading and range to target?
So target heading error is calculated from target and current heading.
Watch range to target decrease until within a specified limit, and then change behavior to target tracking? You poise should already be "pointed to the target".
Then start driving to the target by calculating from vision bearing minus current bearing?
Well I guess that takes one away from APM a little. Although APM should be using much of this calc for us.
Thoughts?
Alan KM6VV
@Derek,
I agree, don't see just using two ublox receivers on the 'bot. BUT, one at "home" (the bench near the starting location" and one on the 'bot could give you your own DGPS of sorts. This assumes that you can take the 2nd identical ublox to each of the waypoints (start to finish).
Heading is probably more important. Calculating heading from odometry usually isn't too accurate. Range to target can be updated as you get closer, you'll run right up to it! GPS should give you the best heading, which will refine as you move.
With a differential, you can "adjust" your 'bots location as read from GPS with the differential, and still use the same waypoint locations.
Thoughts?
Alan KM6VV
@Vijay,
Thanks for the link, there's a lot of stuff on that website. I thought I'd transversed it all!
I'll review the tutorial.
Alan KM6VV
P.S. you type "@Vijay" like a salutation. Don't know where it came from, maybe texting?
My robot relies on dual rear wheel encoders for distance and speed and it seems to be accurate enough. Heading accuracy seems to matter quite a bit more.
I don't yet have a good direct to measure accuracy/precision of estimated heading. All I have to go on is that running the 270m course several times in a row, the ending lateral error was around 1.5m-ish by eyeball compared to where it started (and should have finished). That of course doesn't tell the entire tale, but it did seem to be quite precise, driving very close to the same path each time. I'm itching to get more accurate testing than "eyeball" and "I think" and "seemed to" :)
I found the gps positions reported by Venus and SiRFIII weren't precise enough, or at least that the DR with heading/encoder was quite a bit more precise. I don't use GPS speed either but have plotted it alongside wheel encoder a number of times. I haven't looked at the charts in months but my recollection is that it wasn't bad, most of the time, but there were times when it would go wonky.
@KM6VV
Go to ublox site - > Resources and Docs -> Tutorials - > GPS Compendium
It's a long read but very well done. If you are going to use GPS you must read this - the you will understand why having multiple GPS receivers does not really improve accuracy.
- Vijay