DJI Tello 的基礎操作與套件


-#DJI Tello 的基本介紹


DJI TELLO 外觀

重量: 80g(含槳葉與電池)
尺寸: 9892.541 mm
槳葉: 3英吋
內置功能: 紅外線定高,氣壓計定高,LED 指示燈,下視視覺,Wi-Fi 連接,高清 720P 影像
接口: Micro USB 充電接口
可拆卸電池: 1.1Ah/3.8V

性能

最大飛行距離: 100 米
最大飛行速度: 8m/s
最大飛行時間: 13 分鐘
最大飛行高度: 30 米

相機功能

照片: 500 萬像素
FOV: 82.6°
影片: HD720P30
格式: JPG(照片),MP4(影片)
電子防抖: 支援

既有功能

  • 掌上拋飛
  • 全向翻滾
  • 彈跳模式
  • 手掌降落
  • 定點環繞
  • 原地360度環繞
  • 一鍵飛遠模式

無人機軟硬體限制

  • 電池電力
  • 載重量
  • 通訊能力/資料與訊號傳輸
  • 機上計算能力
  • 搭載感測裝置能力
  • 飛行穩定度

Tello 的原廠APP


control App

電腦與空拍機的連線


DJI Tello 內建的方式是可以用wifi的連接

注意:因為圖像辨識傳輸的數據量大,訊號要強,必須使用外接wifi接收器

  1. 裝上電池,開啟Tello(開機按鈕於機身側面)
  2. 開機後,確認Tello 前方之LED燈是否亮起並閃爍
  3. 使用筆電 or 手機連接wifi: TELLO-XXXXXX

Tello的插件(另外要有python latest(2.7 or 3.7))

https://github.com/hanyazou/TelloPy

下載插件:

$ pip install tellopy

在python的飛行控制檔的使用:

$ python
>>> import tellopy
>>> help(tellopy)
Help on package tellopy:

第一個飛行程式(起飛再降落):

import tellopy #導入套件tellopy
from time import sleep
help(tellopy) #觀看套件的詳細說明
drone = tellopy.Tello() #建立物件tellopy.Tello()
drone.connect() #使程式與tello建立連接
drone.wait_fot_connection(s) #等待連接的時間, 秒數
drone.takeoff() #使tello起飛
sleep(3) #等待3秒(假如在wifi強度差的地方,請延長)
drone.land() #使tello降落
sleep(3)
drone.quit() #結束程式與tello的連接

Tello 的飛行動作指令

move:
drone.up(val)
drone.down(val)
drone.set_throttle(thr_val): -1~1(neg: down, pos: up )
drone.forward(val)
drone.backward(val)
drone.set_pitch(pit_val): -1~1(neg: back, pos: for )
drone.right(val)
drone.left(val)
drone.set_roll(rol_val): -1~1(neg: left, pos: right )

rotate:
drone.clockwise(val)
drone.counter_clockwise(val)
drone.set_yaw(yaw_val): -1~1(neg: left, pos: right )
val range: 0~100,此地方的值非速度或是距離,把她想像成傾斜程度

Macro function:
flip:
drone.flip_forward()
drone.flip_back()
drone.flip_right()
drone.flip_left()
drone.flip_forwardleft()
drone.flip_backleft()
drone.flip_forwardright()
drone.flip_backright()
land:
drone.palm_land() #手掌降落
take pictures: (need EVENT_FILE_RECEIVED!)
drone.take_picture()

影像接收部分


我們須要下載這幾倨套件 av, opencv-python, image, cv2, numpy
Install av:
need FFMpeg dependencies
http://docs.mikeboers.com/pyav/develop/installation.html
sudo ldconfig
then install av

  1. sudo python -m pip install av
  2. via source
    reference left pic, git clone this:
    https://github.com/mikeboers/PyAV.git
  3. anaconda:
    conda config --add channels conda-forge
    conda install av -c conda-forge
    
    其他下載
    pip install opencv-python
    pip install image
    
    空拍機的影像完整版請參考
    https://github.com/hanyazou/TelloPy/tree/develop-0.7.0/tellopy/examples

暫時的操都可以在大多數的linux系統以及windows 的subsystem運作,但是之後再使用ROS、FSM等操作就必須要用Ubuntu 16.04 Xenial ,否則可能會出現不相容或控制訊號無法發出的問題。

#ROS #drone #無人機 #空拍機 #AI視覺 #Python #Tello #TelloPy





本部分主要是用wifi的連接,以空拍機的協定控制空拍機的飛行行為。

留言討論