# simple example demonstrating how to control a Tello using your keyboard. # For a more fully featured example see manual-control-pygame.py # # Use W, A, S, D for moving, E, Q for rotating and R, F for going up and down. # When starting the script the Tello will takeoff, pressing ESC makes it land # and the script exit. # 简单的演示如何用键盘控制Tello # 欲使用全手动控制请查看 manual-control-pygame.py # # W, A, S, D 移动, E, Q 转向,R、F上升与下降. # 开始运行程序时Tello会自动起飞,按ESC键降落 # 并且程序会退出 from djitellopy import Tello import cv2, math, time tello = Tello() tello.connect() tello.streamon() frame_read = tello.get_frame_read() tello.takeoff() while True: # In reality you want to display frames in a seperate thread. Otherwise # they will freeze while the drone moves. # 在实际开发里请在另一个线程中显示摄像头画面,否则画面会在无人机移动时静止 img = frame_read.frame cv2.imshow("drone", img) key = cv2.waitKey(1) & 0xff if key == 27: # ESC break elif key == ord('w'): tello.move_forward(30) elif key == ord('s'): tello.move_back(30) elif key == ord('a'): tello.move_left(30) elif key == ord('d'): tello.move_right(30) elif key == ord('e'): tello.rotate_clockwise(30) elif key == ord('q'): tello.rotate_counter_clockwise(30) elif key == ord('r'): tello.move_up(30) elif key == ord('f'): tello.move_down(30) tello.land()