Precision Landing Not Working (using MAVLINK_MSG_ID_LANDING_TARGET)

Make sure your PLND_ parameters are correct. For MAVLink, PLND_TYPE = 1. If you are using the latest ArduCopter release and if you have set up everything correctly, on your GCS it should print something like “Target Detected”.

Once you have confirmed everything is working, just switch to mode land. It will automatically do a precision landing. You do not need to enable anything else

Thanks Rishab, will keep you posted. PLND is 1, target detected and target lost are printing on the hud. Precision loiter is on channel 7.

Will see what happens next.

Gaurav

@gmehta I would suggest actually keeping the precision loiter switch off. It’s not needed for precision landing. For the first time, if something goes wrong, you might want to recover using Loiter.

Hi Rishab,

I took off in stabilized mode, when marker was detected I switched to prec loiter by channel 7 and then land mode from radio, but no success.

I don’t see the uav centering on to marker at all. It detects it in the script as I can see rpi script running via ssh.

Any thoughts on this?

Gaurav

Gaurav

Precision loiter on ch7 shows as precloiter low, med and high on mavlink message depending on the position of the switch. Does it mean it’s activated all the time or i have to flip switch on any particular position

Hi. I followed the same steps as you, but in Mission Planner’s simulation, I couldn’t observe any change at the time of landing. The vertical descent continued. Did you do your tests during flight or did you use any simulation environment? Or any idea where I might be doing wrong? I would be very happy if you could help, thank you.

I am doing the same function. Precision landing with aruco marker. The vehicle not responding to landing _target_encode()

You will need to provide a LOT more details in order to get an answer.

I am using a raspberry pi b+ as companion pc. I am trying to land the UAV on a Aruco marker placed on the ground.
Here is the code:
def send_land_message(x,y):
msg = vehicle.message_factory.landing_target_encode(
0,
0,
mavutil.mavlink.MAV_FRAME_BODY_OFFSET_NED,
x,
y,
0,
0,
0,)
vehicle.send_mavlink(msg)
vehicle.flush()
x,y accoring to the aruco marker. But the vehicle not responding to the function. I have simulated the drone in gazebo with the same script, it works fine. Script activates land mode when the marker is detected, but no adjustments happening.

Can you tell me which firmware are you using. My vehicle not responding to the landing _target message

Do you activate precision loiter, and change the flight mode to landing?

The ArduCopter firmware version is not an issue here, that works fine for years now. Your code and procedures are.

Can I activate precision loiter using dronekit? Do I need to use mavlink2 as messaging protocol?

Probably you can.
No I do not think it is mandatory, but it is advisable.

I have tested with both precision loiter and land mode. Got a message saying “AP: Precland failsafe”. The vehicle continued normal landing .

Are you sending precland messages consistently at more than 5Hz?

I think yes. Iam using raspberry pi 3b+, Iam sending constant values in infinite loop.

Can I get your parameter file. I copied this, still no luck. Vehicle not responding to landing target

In our experience it must be in the 5 to 10Hz interval. anything outside of that interval will cause problems.

Changed frequency, still no use. Mavlink message showing “Precland Failsafe”. Do I need to change any parameters in firmware?