Автономный полёт дрона с помощью Web-камеры
Зависание в точке
import ZuzaNanoRC
import ZuzaNanoMocap
import time
import cv2
deviceId=1
focus=1150
frameWidth=640
frameHeight=480
fps=40
try:
Controller = ZuzaNanoRC.ZuzaNanoRC('COM4')
if not Controller.Connect():
print('Ошибка связи с портом '+Controller.PortName+'!')
exit()
# запуск Mocap класса автономного управления P I D 120 0.35 700
ZuzaNanoMocap = ZuzaNanoMocap.ZuzaNanoMocap(deviceId, frameWidth, frameHeight, fps, focus,(0,142,0),(255,255,255), 3, cv2.COLOR_BGR2LAB, 0.100, True, 5,
[0,0,-2.7], 127,[120, 0.35, 700],[210, 0.4, 0], 1.3).start()
print(">запуск Mocap класса автономного управления")
time.sleep(1.0)
if ZuzaNanoMocap.max_area==0:
print('НЕ вижу ЖУЖУ!')
exit()
# бинд
print(">Бинд")
Controller.Bind()
time.sleep (6)
# включили моторы
Controller.SetThrottle(0)
time.sleep(0.1)
Controller.SetThrottle(127)
time.sleep(1)
#print(">включили моторы")
# взлетаем
Controller.SetThrottle(90)
time.sleep(0.05)
print('>Взлетаем, подключаем controller')
ZuzaNanoMocap._dist_i=[0,0,0]
ZuzaNanoMocap.write_avi = False #Установить значение True, если нужно записать видеопоток с камеры
ZuzaNanoMocap.Controller = Controller
#пауза - зависание дрона
print(">Взлетели, пауза...")
time.sleep(30)
# посадка, установим целевой Z = -10м
print("> Посадка! ")
ZuzaNanoMocap.dd_Target[2]=-10
time.sleep(3)
ZuzaNanoMocap.stop()
except KeyboardInterrupt:
print('>KeyboardInterrupt!')
ZuzaNanoMocap.stop()
Controller.SetThrottle(255)
Полёт по квадрату
Last updated