In order to take part in a game, I have done the function of visual aids landing. We set the scene is, the UAV in the automatic cruise technology is mature, how to automatically drop to the designated position. The recognition target is a two-dimensional code of 7x7, the UAV can get the position of the target in the image through the camera, and the target position can be calculated, so that the automatic landing function can be realized.
Due to lack of load, I did not use the cloud terrace. The camera will tilt with the UAV, resulting in image distortion of the target, the deviation increases, as shown below,
So when I calculate the center position of the target, I will consider the deviation caused by the tilt.
In the scheme, the distance sensor is not added, but the height is calculated by the proportion of the image. This leads to too much to get the exact proportion, too close to get all the information of the target. If you want to get more accurate height data, you need to add the distance sensor.
In the early scheme, the target position is only a two-dimensional code. In this way, when the UAV is far away from the target, the camera gets the information difficult (image is too small or distortion), and the distance is too near, the camera is easy to lose the target. If it is expected that the UAV flight is more stable, more than two dimensional codes (different sizes and angles) can be considered.
I was based on the original code to add the location of the control code, mainly to modify the Land model in the part of the function. This function replaces the original GPS position information with the position information of the image processing, and completes the navigation control.
Share a picture,
a datasheet in the test,
LEVEL/VERTICAL are The offset of the target center in the image(0~10000,5000 means center)
Other lines are the Physical deviation calculated(-50cm~50cm,0 means center)