Send_ned_velocity on Alt_Hold Mode

Hello everyone ı want to send velocity command on Alt_Hold mode. But send_velocity commmand only works when mode was GUIDED. How ı can change that ?

My main purpose is to keep the copter in the air without GPS. The copter I mentioned is connected to the ground controller by tether. I want to ensure that the copter always makes a 90 degree angle with the ground controller. And also I can always measure the angle made by the tether with the IMU on tether. So I want to control the copter with the angle of the tether without GPS.

Can anyone give me suggestions?

You can use send_velocity for z as well, not just x, y. You could set a desired altitude, then write a basic PD controller to adjust the z command as it drifts? Still using GUIDED mode that is. So basically implementing your own version of ALT _HOLD while in GUIDED.


def stabilise_alt(alt_target):

    gain_Pz = something
    gain_Dz = something

    alt = self.altitude
    vz = self.velocity[2]

    command_z = - gain_Pz * (alt - alt_target) + gain_Dz * vz  // In NED!
    // send command_z ...

Where vz is the drones velocity in z axis. I use dronekit to do this.