Servers by jDrones

Companion Computer Precision Landing Oscillations

Hey everyone,

So I’m currently setting up a companion computer precision landing setup using fiducial markers and I’m getting mixed success and I’m wondering if anyone can help me make that into a non-mixed success.

The basic description of what I’m trying to do is land a drone from an altitude of roughly 50ft using a large fiducial marker (~1m x 1m.) The marker is large enough that the camera is able to see the tag at these high altitudes and give accurate positioning data.

I’ll start with the success… It works! but only in the last 10-15 feet of the landing. The non successful part happens at above 10-15 feet. You can observe wild oscillations when the drone (Tarot x6) sees the marker and is trying to position itself above the marker.

I have scrubbed through all of my code to assure that I am passing all of the data the firmware is expecting correctly and in the correct axis frames. I am sending the firmware angle.x angle.y and distance (magnitude of xyz to the tag.)

My initial thoughts at this point is that this could be a tuning problem but honestly I’m not positive at this point and would like some input from the experts (that’s you guys.)

Any thoughts would be greatly appreciated. Params are attachedTarot_PrecLand.param (14.9 KB)
Logs: https://www.dropbox.com/s/iu0ch7gxnnchwx0/2020-05-20%2015-32-16.bin?dl=0

1 Like

Can you post more data on the hardware you are using, and which firmware are you using?

Ryan

Yeah sure,

Firmware: Arducopter 3.6.12
FCU: Cube
Frame: Tarot X6 Hex.
Companion computer: Jetson Nano using ROS/MAVROS
Camera: FLIR Firelfly
Lens FOV: ~90 x 63 degs.

Since I have searched down dead end threads countless times, I’m not going to let that happen to anyone reading this one.

It seems as though this is relatively solved. The landing isn’t perfect but the wild oscillations have been subdued, they are now slower and must less drastic oscillations. These might be tuning issues, that is yet to be seen. Here is the px py graph with the filter enabled if anyone is interested.

It was solved by enabling the kalman filtered precision landing parameter instead of using raw sensor data. (Setting param: PLND_EST_TYPE to 1.)

Beware of the Kalman filter as it can induce what we call the “Psycho Wasp” behaviour under certain conditions like moderate wind.

You should update the firmware to latest release (4.xx)

Is the “Psycho Wasp” problem fixed in the newer versions or is the precision landing functionality just improved using raw data on the newer firmware?

Not really, but for optimal support we have to work with latest releases.

Best processing speed is key, if you can get 15-20 fps it should be OK

Alright, I’ll consider updating. There is other development work outside of precision landing going on so, it’s always a little frightening to upgrade the firmware. You never really know what other pieces might break somewhere else.

Agree, but that is the only way to offer support as we all use the same release.

Servers by jDrones