Precision landing using tether


I built a tethered quadcopter. I would like to use the cable as a mean for precision landing (i.e. have the cable pull the quad to the desired landing spot). Since the pixhawk doesnt know of the tether existance it fights back…

Does anybody have an idea of how to do this?

A possible solution: a combination of the althold and land modes would enable the cable to center the drone while descending. Can that be done?


You may be better off controlling the tether re-wind to take up the slack and allow the craft to land normally with the Land command.

The whole point is to aid the quad to land precisely in place (2-5 cm accuracy accepted)

You would need an RTK GPS system to do it to that precision with or w/o the tether. Pulling down on the craft while it’s in AltHold won’t work because as you say it will want to hold it’s altitude and I imagine throttle up trying to achieve it. Land mode is vertical speed controlled so you could encounter the same problem.

Hmm, interesting.

Land mode is position controlled, so it will fight you. However, there is such a thing as a “Land no GPS” routine, and I believe Land mode’s descent is only climb-rate controlled, not altitude controlled, so I don’t think Land mode will fight the tether for altitude control. The no-GPS land mode is usually only accessible through a failsafe action, but we can simulate it easily by disabling the GPS.

I suggest trying the following as an experiment:

  1. Set land_speed (and maybe land_speed_high) to some small value, like 10. This will make Land mode come down very slowly. This will allow your tether to keep tension and pull the drone down.
  2. Disable the GPS during land mode (set gps_type = 3). This will effectively disable the position control part of Land mode.

This should stop the drone from fighting you and let you test whether the tether by itself is sufficient to control the drone’s position and prove the concept.


Maybe you can try this

IRLOCK have developed a precision lading system.


Hi Alberto,

Thank you for your suggestion. I own such kit and tried it as well. I believe I can get better accuracy with less expense using the tether

1 Like

Thank you for the detailed reply.
I have tried to pull the cable while in land mode in the past. This does’nt sound nice… The quad fights back.

I am willing to adjust the tether pulling rate with the descend rate. What bothers me the most is the horizontal position. If the no gps land resembles the althold in terms of no x,y control, this could work.

How do I change the gps while in the air? Is it done via the parameters list? Can I use some sort of command line for that?

Where can I read about the no gps land mode?


Thank you. I am looking for a cheap solution. I believe the tether can do the job, if I only manage to make the pixhawk not fight back

Oh, of course it does. Nevermind what I said about that…

Yeah it behaves just like althold in x/y.

Actually for the experiment, you can just turn it off on the ground and hand-fly the drone and switch to land mode, I’m pretty sure that will work. After that, there’s three ways I can think of to do this:

  1. Create a custom flight mode for your use case which is a copy of Althold, but with a slightly modified Z controller.
  2. Use Land mode and an onboard companion computer or radio telemetry to turn on/off the GPS by changing that parameter
  3. Use the existing althold flight mode, but set RC3 to some value that causes it to descend, so it behaves like no-gps land mode. You can use a TX or companion computer/telemetry to override RC3. The max descent rate in althold can be modified with pilot_speed_dn.

Since you’re tethered, using wired telemetry would be an option instead of a radio.

It’s not a real flight mode, it is just a subroutine within Land mode that allows it to operate when there is no positioning sensor, so I guess it was wrong to say it’s usually accessible through a failsafe. The only place to read about it is the code itself.

1 Like

Thanks a lot. Will try and update.

How about an update on this @arikarbel ? I’m trying to do something similar myself.