PythonでDJI Telloを自動操縦しよう!


1. Telloとは?

Telloは、DJIとRyze Techが共同開発した小型ドローンで、手のひらサイズの軽量な機体を持っています。Wi-Fi経由でスマートフォンやPCから操作でき、Python などのプログラミング言語を使って自動操縦も可能です。

Telloの特徴:

  • 軽量でコンパクト
  • プログラムで制御可能
  • 720p HDカメラ搭載
  • 安定した飛行が可能

2. 事前準備

TelloをPythonで制御するには、いくつかの準備が必要です。

(1) 必要なもの

  • DJI Tello本体
  • パソコン(Windows, Mac, Linux どれでもOK)
  • Python 3(できれば最新バージョン)
  • Wi-Fi環境(TelloのWi-Fiに接続するため)

(2) Python環境のセットアップ

Pythonがインストールされていない場合は、Python公式サイトからインストールしてください。

次に、Telloを制御するためのライブラリ “djitellopy” をインストールします。
ターミナル(またはコマンドプロンプト)で次のコマンドを入力してください:

shコピーする編集するpip install djitellopy

3. Telloと接続する

TelloはWi-Fiで制御するため、パソコンのWi-Fi設定を開き、「TELLO-xxxxxx」 という名前のネットワークに接続してください。

Wi-Fi接続が完了したら、Pythonコードを書いてTelloと通信してみましょう!

(1) 基本的な接続テスト

pythonコピーする編集するfrom djitellopy import Tello

# Telloオブジェクトを作成
tello = Tello()

# Telloと接続
tello.connect()

# バッテリー残量を取得
battery = tello.get_battery()
print(f"バッテリー残量: {battery}%")

# 接続を閉じる
tello.end()

これを実行すると、Telloのバッテリー残量が表示されるはずです。もしエラーが出る場合は、Wi-Fiが正しく接続されているか確認してください。


4. 基本の飛行操作

次に、Telloを実際に飛ばしてみましょう!

(1) 離陸と着陸

pythonコピーする編集するfrom djitellopy import Tello
import time

tello = Tello()

tello.connect()
print(f"バッテリー残量: {tello.get_battery()}%")

tello.takeoff()  # 離陸
time.sleep(5)    # 5秒間ホバリング(空中で停止)
tello.land()     # 着陸

tello.end()

このコードを実行すると、Telloが 離陸 → 5秒間ホバリング → 着陸 します。


5. 自動操縦のプログラム

今度は、Telloを 自動で前進、回転、後退 させるプログラムを書いてみましょう。

pythonコピーする編集するfrom djitellopy import Tello
import time

tello = Tello()

tello.connect()
print(f"バッテリー残量: {tello.get_battery()}%")

tello.takeoff()  # 離陸
time.sleep(2)

tello.move_forward(50)  # 50cm前進
time.sleep(2)

tello.rotate_clockwise(90)  # 90度回転
time.sleep(2)

tello.move_back(50)  # 50cm後退
time.sleep(2)

tello.land()  # 着陸
tello.end()

このコードを実行すると、Telloは 前進 → 回転 → 後退 → 着陸 という動きを自動で行います。


6. 応用編:四角形を描く

Telloを使って四角形を描く飛行プログラムを作成してみましょう。

pythonコピーする編集するfrom djitellopy import Tello
import time

tello = Tello()
tello.connect()
print(f"バッテリー残量: {tello.get_battery()}%")

tello.takeoff()

for _ in range(4):
    tello.move_forward(50)  # 50cm前進
    time.sleep(2)
    tello.rotate_clockwise(90)  # 90度回転
    time.sleep(2)

tello.land()
tello.end()

このコードでは、4回繰り返して直線移動と回転を組み合わせる ことで、Telloが空中に四角形を描くように飛びます。


7. さらに高度な制御

Telloは カメラを使った画像処理 や、キーボード入力で操作するプログラム も作成できます。

(1) キーボードで操作

Pythonの pynput ライブラリを使えば、キーボードで自由にTelloを操縦できます。

(2) 画像処理と組み合わせる

Telloのカメラ映像を取得し、OpenCV を使って顔認識や物体検出を行うことも可能です。


まとめ

今回は、DJI TelloをPythonで制御する方法を学びました。

  1. Telloの基本情報
  2. Python環境のセットアップ
  3. TelloとWi-Fi接続
  4. 離陸と着陸の基本操作
  5. 自動操縦プログラムの作成
  6. 応用編として四角形を描く飛行プログラム

Telloをプログラムで動かせるようになると、ドローンの自動飛行や画像認識など、さまざまな応用が可能になります!
ぜひ、いろいろな動きを試して、自分だけの飛行プログラムを作ってみてくださいね!🚀✨

コメント

タイトルとURLをコピーしました