-
Notifications
You must be signed in to change notification settings - Fork 555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Location jump in Follow-Me mode #1128
Comments
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
A concern I have about this is that the change will only allow Follow Me to operate below 15 meters per second. Having this as a user selectable preference would probably be best. Someone trying to use this in a car (hopefully on a closed road etc.) or to chase another plane or smaller vehicle (RC car, four wheeler) won't work if they go above 15 meters per second. |
@PaulLoizeaux I was thinking about this too. 15 m/s is kind of arbitrary. As an improvement (or an amendment to this change), I could also track average speed, and only accept new locations if they indicate a speed within some reasonable range of the average. E.g. if the average speed is 10 m/s and suddenly seems to jump to 30, the new location would be filtered. What do you think about be a reasonable speed difference threshold to accept in that case? |
ArduPilot has a GPS glitch detector. Maybe check that out? But are we sure that a gps glitch was even the problem? It seems like that FusedLocation would have somehow filtered that out already. |
@squilter I'm heading out in a few minutes to do some more testing, and validate it's actually the problem. Initial tests this morning didn't show the problem, but I'd like to be sure. |
Just came back from another round of testing. I took care to not get a GPS fix on the Android device before starting DroidPlanner, and got no sudden moves once I started Follow-Me and started walking. Accuracy was ~40m at first. It did hesitate to follow at one point, which it might have been doing instead of running off to find me at the spurious location. I looked at FusedLocationProvider, and didn't see anything that looked like it's filtering for spurious locations. |
@kellyschrock Thanks for testing this out. Note that since v2.7.10-rc2 the UI now shows when the follow-me code is still waiting for a GPS lock (Red button) or is running (blue state). |
I noticed that yesterday, and I think it's a handy feature. This problem Thanks, |
@kellyschrock What phone are you using? This might have to do with the GPS module in it, since I don't think I've ever seen this happen. |
I've tested and seen this specific issue on a Nexus 5, Nexus 7, and Nexus To see the issue, open any app that uses GPS (Maps, etc), after waking the It's perfectly normal to pull a phone out of your pocket, hook the On Mon, Oct 6, 2014 at 1:31 PM, squilter [email protected] wrote:
|
Yes, I've seen that before. We even discussed it a bit in the googlegroup, but never found a good solution. You said: |
After testing for a couple of hours yesterday, I was fairly confident the What I don't like about the solution is the upper limit of 15 m/s. I have Another option would be to replace the 15 m/s limit with a user-specified On Mon, Oct 6, 2014 at 2:15 PM, squilter [email protected] wrote:
|
Take a look at the Ardupilot gps glitch detector which I linked to above. |
I looked at that not long ago, and the idea behind what I'm doing is On Mon, Oct 6, 2014 at 2:28 PM, squilter [email protected] wrote:
|
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Ignore location updates in Follow-Me which cause a sudden jump in location. Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
Filter out spurious location updates using average speed (vs. arbitrary speed limit). Fixes DroidPlanner#1128
On 3 occasions after starting Follow-Me mode and starting to move in a specific direction, the UAV follows for a minute or so, then flies suddenly away to a point 10-20 meters away. Then it starts following again. This is without any changes to the FollowMode, and always happens within a minute or so of me starting to move. Prior to starting Follow-Me mode, I'm not moving around from the point where my Android device first acquires a GPS fix when this happens. And, prior to starting DroidPlanner, I'm not using any apps that receive GPS locations.
Android Location accuracy changes fairly dramatically between the first fix and subsequent ones acquired when the device is on the move. Accuracy as high (bad) as 80 meters, and as low (good) as 2. It seems reasonable to think that as it changes, it could cause a "jump" in the Android device location sent to the UAV, causing it to fly to the new spot suddenly. In Follow.java, I see a check for location accuracy of < 10.0, but if the change in accuracy is what's causing these jumps, it seems like something else may be needed. Something tracking the distance between locations as they arrive, and ignoring them if the results are spurious.
I could be wrong about what's causing it, but I thought I would log the issue in any case. The sudden flight to an unexpected location can be kind of hard to manage.
The text was updated successfully, but these errors were encountered: