arctic-fire-development / dapper-gcs

node.js + HTML5 Ground Control Station for unmanned vehicles.
Other
9 stars 7 forks source link

What's causing jank when navigating? #303

Open brucecrevensten opened 10 years ago

brucecrevensten commented 10 years ago

Possibility when changing altitude: it's giving it very slightly different x/y so it wants to "spin" around or something. Maybe that's also the problem with guided waypoints.

brucecrevensten commented 10 years ago

Maybe?

http://diydrones.com/forum/topics/yaw-affects-pitch-roll

brucecrevensten commented 10 years ago

To be a bit more clear about this, there's two places where we've seen jank. One is more serious than the other.

  1. Changing altitude. This is more serious, we have seen the platform veer ~5 meters off its central loiter position. This can include rocking, but the baddie here is swooping to a non-nearby point.
  2. Flying point-to-point. Here, we've seen some rocking and swirling, though no deviations from goals (swooping) have been seen yet.

Possibility in the case of (1): sending so many consecutive messages to the platform may be confusing the autopilot (or even overwhelming it). As a part of trying to fix this issue we could try changing the alt control so it's just "enter a number" -- just for a hack, that's terrible ux, but completely removes possible problems due to the rate of messages getting sent.

(2) Could just be the nature of the beast. To test, we'd need to do some comparisons to using Guided mode on Mission Planner and see if it's an APM issue or what.

brucecrevensten commented 10 years ago

A likely gaggle of references, with this one being dead on:

https://github.com/diydrones/ardupilot/issues/879 https://github.com/diydrones/ardupilot/issues/1092

rayjanwilson commented 9 years ago

29Oct14 Test Flight

Expected Results:

Actual Results:

rayjanwilson commented 9 years ago

screen shot 2014-10-30 at 10 12 14 am

Notice the yaw jank. Red is destination yaw, green is actual yaw. Notice the destination yaw is set to some value, and then immediately changed to another value that is slightly off.

The same happens in pitch, but it also has noticeable lag screen shot 2014-10-30 at 10 15 13 am

Roll, however, is not showing the same jank, but it is lagging quite a bit. screen shot 2014-10-30 at 10 16 20 am

rayjanwilson commented 9 years ago

i'm wondering if the autopilot is amending the yaw command. since our gcs is not explicitly sending yaw commands, only destination x,y coords, i hypothesis it is occurring within the autopilot.

the lag displayed here can be attributed to physical system lag, in that yaw is more responsive naturally than pitch or roll.

brucecrevensten commented 9 years ago

We need to also look at any implementation of "follow-me" mode in other ground stations to see if we're not sending optimal messages. The other thing to follow up on here is to generate the same graphs after switching to ArduCopter V3.2+ to see if there's jank and/or same behavior.

brucecrevensten commented 9 years ago

Finally ready to test this on 3.2.1 in flight! We'll keep eyes open but expect it to be OK. Close after test flights.