Crabbing into the wind

I’m new to Ardupilot, so please bear with me.

As I understand it Arduplane does not use computed wind direction to crab into the wind in order to maintain a straight course between waypoints. Instead it heads directly to the next waypoint. Is this the case? If so, what is the reasoning?

Arduplane does crab to maintain course. There have been several threads about some planes that fly in a slip while on an auto mission. It tends to be aircraft with large propellers, like the Skywalkers with 12” props. The issue is related to the propeller torque or spiraling slip stream hitting the vertical stabilizer. It requires a lot of rudder trim to correct, but then it flies in a slip when gliding. This was all several years ago and I don’t know if the code has been modified to correct this since. It was an intermittent problem that only affected some aircraft.

This is technically correct; the crab angle is not calculated from the wind vector. HOWEVER arduplane’s waypoint navigation uses a tunable controller that trims out deviation from the waypoint path and ultimately corrects for the wind perfectly. I’ve seen as much as 55 degrees of “crab” to maintain the waypoint path with extreme crosswind. Arduplane will maintain a course directly from one waypoint to the other as long as your airspeed is greater than the wind speed.

1 Like

Thanks for the explanations folks. I appreciate the feedback.

Is there no way to completely disable the wind crabbing feature, that is, to enable pure-pursuit only? As far as I can tell, the only parameter that is even close is NAVL1_XTRACK_I, but setting this to zero does nothing to enable pure-pursuit of waypoints.

While the vast majority of aviation situations desire that we reduce cross-track error, for my situation, the crosswind is comparable to the aircraft airspeed, and it makes more sense to try to transit through the region of severe crosswind as quickly as possible rather than prolong an infinite battle against the crosswind by committing most of the aircraft velocity vector component into the wind.

I’ll repeat my query that I posted on the general_dev channel on the ArduPilot Discord:

Is there a way to disable the Wind Crabbing feature? i.e. disable L1 Cross-Track correction? In this particular situation, I know that there is extreme cross wind in my present location, but that the wind direction and intensity is going to be favorable if I just keep pointing toward the desired waypoint in pure-pursuit. Some of the ideas I’ve tried:

  1. I tried setting NAVL1_XTRACK_I = 0 . No change in behavior, the aircraft still crabs into the wind.
  2. NAVL1_DAMPING = 0 . This actually locks up the SITL instance, I wouldn’t be surprised if the firmware instances also locks up.
  3. I’ve tried mode=GUIDED with Mavproxy, and then setyaw . This does not do anything, appears to be only for Copter?