Esempio n. 1
0
class Mi_Dron():
    def __init__(self):
        self.tello = Tello()
        self.estado = 'Desconectado'
        self.conectado = False

    def conectar(self):
        # conectar con el dron
        try:
            self.tello.connect()
        except:
            self.estado = 'PROBLEMAS CONEXION DRON...'
            self.conectado = False

        else:
            self.conectado = True
            self.estado = 'DRON CONECTADO...'

    def takeoff(self):
        self.estado = 'DESPEGANDO...'
        if self.conectado:
            self.tello.takeoff()
            sleep(5)
            self.estabilizar()

    def land(self):
        self.estado = 'ATERRIZANDO...'
        if self.conectado:
            self.tello.land()

    def subir(self):
        self.estado = 'SUBIENDO...'
        if self.conectado:
            self.tello.send_rc_control(0, 0, 50, 0)
            sleep(3)
            self.estabilizar()

    def adelante(self):
        self.estado = 'ADELANTE...'
        if self.conectado:
            self.tello.send_rc_control(0, 50, 0, 0)
            sleep(3)
            self.estabilizar()

    def atras(self):
        self.estado = 'ATRAS...'
        if self.conectado:
            self.tello.send_rc_control(0, -50, 0, 0)
            sleep(3)
            self.estabilizar()

    def bajar(self):
        self.estado = 'BAJANDO...'
        if self.conectado:
            self.tello.send_rc_control(0, 0, -50, 0)
            sleep(3)
            self.estabilizar()

    def derecha(self):
        self.estado = 'DERECHA...'
        if self.conectado:
            self.tello.send_rc_control(50, 0, 0, 0)
            sleep(3)
            self.estabilizar()

    def izquierda(self):
        self.estado = 'IZQUIERDA...'
        if self.conectado:
            self.tello.send_rc_control(-50, 0, 0, 0)
            sleep(3)
            self.estabilizar()

    def giro_derecha(self):
        self.estado = 'GIRO DERECHA...'
        if self.conectado:
            self.tello.send_rc_control(0, 0, 0, 45)
            sleep(3)
            self.estabilizar()

    def giro_izquierda(self):
        self.estado = 'GIRO IZQUIERDA...'
        if self.conectado:
            self.tello.send_rc_control(0, 0, 0, -45)
            sleep(3)
            self.estabilizar()

    def estabilizar(self):
        self.tello.send_rc_control(0, 0, 0, 0)

    def adelante_plan(self):
        self.tello.send_rc_control(0, 50, 0, 0)
        sleep(5)

    def atras_plan(self):
        self.tello.send_rc_control(0, -50, 0, 0)
        sleep(5)

    def giro_der_plan(self):
        self.tello.send_rc_control(0, 0, 0, 45)
        sleep(3)

    def giro_izq_plan(self):
        self.tello.send_rc_control(0, 0, 0, -45)
        sleep(3)

    def izquierda_plan(self):
        self.tello.send_rc_control(0, -50, 0, 0)
        sleep(5)

    def derecha_plan(self):
        self.tello.send_rc_control(0, -50, 0, 0)
        sleep(5)

    def takeoff_plan(self):
        self.tello.takeoff()
        sleep(3)

    def land_plan(self):
        self.tello.land()
        sleep(3)

    def subir_plan(self):
        self.tello.send_rc_control(0, 0, 50, 0)
        sleep(5)

    def bajar_plan(self):
        self.tello.send_rc_control(0, 0, -50, 0)
        sleep(5)

    def mostrar_estado(self):
        datos = 'ESTADO : ' + self.estado.upper() + '\n'
        if self.conectado:
            datos += 'Batería: ' + str(self.tello.get_battery()) + '\n'
            datos += 'Altitud: ' + str(self.tello.get_barometer()) + '\n'
            datos += 'Temperatura: ' + str(self.tello.get_temperature()) + '\n'
            datos += 'Velocidad X: ' + str(self.tello.get_speed_x()) + '\n'
            datos += 'Velocidad Y: ' + str(self.tello.get_speed_y()) + '\n'
            datos += 'Velocidad Z: ' + str(self.tello.get_speed_z()) + '\n'
        return (datos)
Esempio n. 2
0
##############################
####### state functions :
##############################

drone.get_pitch()
# pitch in degree

drone.get_roll
# roll in degree

drone.get_yaw
# yaw in degree

drone.get_speed_x()
drone.get_speed_y()
drone.get_speed_z()
# get speed in int

drone.get_acceleration_x()
drone.get_acceleration_y()
drone.get_acceleration_z()
# get acceleration in int

drone.get_height()
# get height in cm

drone.get_distance_tof()
# current distance from tof in cm

drone.get_barometer()
# barometer measurement in cm