Precision Landing with Realsense T265 Camera and AprilTag - Part 1/2

Sorry for the late reply. This probably means you need to change the mavlink protocol of the serial port to 2 (serial?_protocol is set to mavlink2 for that port).

Thanks for your reply.

If I want to make a visual landing with a normal camera, how to set the camera parameters in this code?My current camera is a wide-angle distortionless camera with a 110-degree field of view and a focal length of 2.8mm, not the Intel T265。

May I suggest you open a new thread as we won’t mix subject and keep focus on T265

1 Like

very sorry about that. I’m just trying to figure out what the camera parameters in this code mean, like focus,fov.

Hi @beyond21299, regarding the question about changing parameters for your camera:

  • I would suggest to start with reading up on the OpenCV’s fisheye camera model: https://docs.opencv.org/3.4/db/d58/group__calib3d__fisheye.html. All the parameters in the code would correspond to this model, so it helps to understand them first.
  • Once it is clear what the parameters mean, you can put your camera’s coefficient directly into these parameters. The first half of the program is there only to simplify the process of obtaining those two lines of code.

Hope this helps.

thank you very much,I’ll try.

I used raspberry PI 4 and T265 together for the precise and automatic landing of APM flight control.
But every time I charged raspberry PI, I had to plug the USB interface of T265 again to connect it to raspberry PI. Have you ever met this situation and how did you solve it?

@beyond21299 Get the latest linux kernel and the latest T265 device drivers from intel. The problem might have been fixed upstream. Intel knows about this problem for a long time now.

Thank you. I’ll try it later

I am now using raspberry PI +T265, and LANDING_TARGET messages can reach 13-15 Hz, but the speed of descent is unstable, sometimes very fast, sometimes relatively normal.

Can I stabilize the speed of descent to a lower value, a constant speed of descent, and I just focus on the adjustment in the horizontal range?

Unfortunately, I am unsure which parameters would directly affect the landing speed, but you can take a look at the related PLND_ parameters and other landing-related params such as LAND_SPEED. @ppoirier and @rmackay9, hope you can provide more details on the matter?

@beyond21299,

If you have a dataflash log I can probably have a peek and see if I see anything. If the copter’s descent is normal in a regular Land (i.e. no precision landing enabled) then I suspect the reason is that precision landing’s mini EKF is estimating that the vehicle is far away from the target. This could be caused by sudden changes in the apparent horizontal position of the target.

Thank you for your reply. My log file has not been produced successfully.I will test this problem again according to your analysis.

@beyond21299 have you solve the problem yet?

Hi , @LuckyBird , I want to implement a vision based precision landing (and not precision flight) with a companion computer running openCV and dronekit . I have done some online research on existing methods. I see 2 major approaches .

  1. Using a realsense T265 tracking camera , using its embedded VIO VSLAM to get precise absolute position data and its image data (which is not real depth data as this is not a real depth camera) with openCV to do april tag detection. based on Precision Landing with Realsense T265 Camera and AprilTag - Part 1/2

  2. Using a 2D camera (e.g. RPI camera) and vision in openCV based on the code from : https://github.com/goodrobots/vision_landing . This method seems to me quit simple, yet robust and accurate but less popular .

I wonder if method 2 with a simple 2D camera is less accurate or robust than the method 1 with a T265 Realsense camera ? In theory using absolute position data from the T265 seems to me overkill for only doing precision landing . I predict there must be a good reason as a Realsense T265 is far more expensive and complex than a simple 2D camera .

Hi @Vic_Couck, thank you for the questions.

The Realsense T265 is first and foremost a VIO tracking sensor to enable precision flight in GPS-less environment. From that starting point, if possible why not utilize the available data from the T265 for other tasks since they are readily available? This blog post introduces one possibility, specifically precision landing.

Hence, if you are already using the T265, it makes sense to follow method 1 and as you said, for the task of precision landing only method 2 would be sufficient.

2 Likes

Thanks @LuckyBird , this explains why I found examples where a T265 is used. I understand that for doing e.g. precision flight or visual odometry the T265 is ideal, but not necessarily for precision landing purposes .

1 Like