Hi guys. I would check the code myself if I was able to, but its all chines to me. As you know buy now, I setup and tune a new pixhawk airplane almost every week. Do multiple take of and auto landing test before shipping them. I use Lightware lidar and reverse thrusting on all. Quite confidently can say, more than anyone here. I am guessing most DIY people would land in FBWA. However my planes are mostly for people that cannot fly.
This way I can really noticed discrepancies that I can only associate to coding. I will list them here and hope to get some input. I can add logs and video too, I have a few of those. In the mean time just take it from me, from performing 6 auto landings per day that these ARE issues.
Again remember that I have both reverse trust and lidar use enabled. Just mentioning this as it might only be related to this particular subroutine of the code. PS this is the reason I cc MagicRub. Firmware is 3.8.2.
Land then disarm. This function only work 50% of the time. I wonder what the condition for this is. That is when does the UAV consider itself landed. I have a feeling that this is related to No2. issue as well.
I have this set to 10 seconds. About every second landing on average, the plane does not auto disarm. Even if I wait 5 minutes.
Lidar is almost more hassle than not. I thought I knew how it worked, but now I am no longer sure. So would appreciate some input. I use Lightware, which so far has be incredibly good/correct with the AGL. So that is definitly not an issue. I was under the impression that if lidar is available, and setting is set to use lidar alt for landing, then it is 100 used for landing. Now I have a feeling that it is not really the case and only used to correct offset or something like that.
The reason I say this is that on multiple occasion the motor/prop would still spin even after the plane hit the ground and the lidar is showing 10cm AGL. Mean while flare is set to 2-4m (depending on UAV weight).
I was under the impression that throttle is basically 100% disabled after passing the flare point, what is when lidar gives AGL lower than 2-4m (whatever is set in the parameters).
This point I think is somehow related to the first one. It seems to me that for some reason a “marker” or “milestone” is skipped for whatever reason and the UAV does not realize that is is on the ground, static.
If lidar use is enabled and lidar is providing data correctly. Then why would it not consider itself landed when AGL is 10cm?
The curious thing is that the messages reported in the mission planner, would say, lidar engaged at… and pre flare and flare and so one. But still it would land while stll trying to fly. Making me think that it does not consider it self on the ground yet.
This has been mentioned before and MagicRub was kind enough to open a issue on github for this. So I am just repeating. If there is the slightest of elevation which would make the new landing slope 5 degrees different from the old one, then the offset is corrected in the barometer and the landing is repeated. The problem is that the offset correction is taken from a bad place. That is not the touch down point, but rather somewhere on the approach. So the repeated landing in cases tries to dive into the ground. Sort of like the scene in Die Hard 2
I will add some concrete examples shortly. In the mean time, I am really interested in the answer to question one…