Failsafe Landing bug in PX4 1.14?
-
Hi devs
I'm encountering an odd behavior with PX1.14 (SDK 1.0).
Indoor flight with VIO. GPS antenna not attached.
PX4 is configured to transit to Land when a link loss (not RTL) is encountered.- Takeoff the aircraft and move horizontally somewhere away from the takeoff point.
- Close QGC application to simulate loss of link.
- The aircraft goes into Land mode - but while the aircraft is descending, it translates in the direction of the takeoff point as well until it touches the ground.
- Verified this by simulating loss of link at various positions relative to the takeoff point and it always translates in the direction of the takeoff location.
I'm certain that this behavior wasn't present in 0.9.5. Failsafe Landing ought to be completely vertical.
Anyone with any idea what is happening?
-
After further testing, i can confirm that this behavior does not occur to failsafe landing only but normal Landing mode as well (ie. operator select flight mode).
-
Anyone encountered this too?
-
Hi
Can i seek some assistance pls to look into this issue?
Its a safety hazard when the aircraft translates in position while descending.I believe the same behavior is present on the Starlingv2 as well.
Much appreciated.
-
@hmlow We will try to replicate with a Starling
-
@hmlow Do you have any logs that you can share?
-
Yes pls refer to this ulg log:
horizontal translation while landing
I did a couple of landings in Land flight mode. The first and second landing was from a positive and negative x position (NED) with respect to the Home location, respectively. You will be able to see that during the descend, the aircraft translates in the x-axis toward the home location without any stick inputs from me. There are local position setpoints generated during the descent/translation, which suggests that it is a programmed behavior.
I did a couple of more landings at various positions/orientations with respect to the Home location after that.
-
Any luck? Does the log make sense to you?
-
@hmlow We did a quick check with HITL simulation but in that case the landing is perfectly straight down every time. So we need to have our flight team recreate this with a real drone to see if it can be replicated but that will take a few days for them to get to it.
-
@Eric-Katzfey Thanks keep me posted
-
@hmlow Our flight team was able to recreate the issue today. Now we just need to figure out what is causing that to happen.
-
@hmlow This seems like a fundamental bug in PX4 when dealing with EV modes so we're working with the PX4 developers to figure out who and how this will be addressed.
-
@Eric-Katzfey thanks for the update. At least the issue has been identified. Looking forward to some fixes in the near future..
-
@Eric-Katzfey hi. Any progress on this?
Thanks -
@hmlow Not really. I don't think anyone in the px4 community has time to assist on this so it's going to be up to ModalAI to fix it. Unfortunately, I can't offer any estimate on when we will be able to resolve this yet.
-
@hmlow I have been able to recreate the issue in HITL with the Gazebo simulator so that should help with testing and investigation on this issue.
-
@Eric-Katzfey that's good. Looking forward to the fix
-
@hmlow This fixes it in HITL:
diff --git a/src/modules/navigator/mission_block.cpp b/src/modules/navigator/mission_block.cpp index 565b2f2150..ac36732214 100644 --- a/src/modules/navigator/mission_block.cpp +++ b/src/modules/navigator/mission_block.cpp @@ -664,8 +664,8 @@ MissionBlock::mission_item_to_position_setpoint(const mission_item_s &item, posi return false; } - sp->lat = item.lat; - sp->lon = item.lon; + sp->lat = static_cast<double>(NAN); + sp->lon = static_cast<double>(NAN); sp->alt = get_absolute_altitude_for_item(item); sp->yaw = item.yaw; sp->yaw_valid = PX4_ISFINITE(item.yaw);```
-
@hmlow But that probably only works for VIO mode. Not sure what it would do in GPS mode. So it isn't a fix that will be acceptable for general use. So it still needs more work but that is the heart of the issue.
-
-