いよいよ面白くなりTelloを飛ばすことはできましたが、本来の機能であるカメラ画像の送信が生かされていない( ;∀;)
まだお持ちでない方、2台目希望の方 プログラミングドローン ”Tello” の購入はこちらドローンのプログラミングでどうやって画像をPCに送信したらいいだろう? YouTubeをたまたまみていたTechの部屋に出会いました。しかし私はプログラミング初心者でしかもTechの部屋のPCはMAC かなり勉強になりましたが、私はPCはWindowsでしたので、参考にして我流でしてみました。オープンソースはGitHub Tech の部屋「Pythonで小型ドローン Tello EDU を飛ばす!」サンプルプログラムからダウンロードできます。
まずOpenCvのダウンロードからです。
OpenCV(正式名称: Open Source Computer Vision Library)とは、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。
画像処理 (Image Processing)構造解析 (Structural Analysis)モーション解析と物体追跡 (Motion Analysis and Object Tracking)物体検出 (Object Detection)などが可能です。

リリースのウインドウズをクリックしダウンロードします。ダウンロードしたら展開してopencvのフォルダーをCドライブの直下に置きます。OPENCVのファイルの中のbild→x64→vc15→binを開きこのアドレスをコピーし、コントロールパネルから
システム&セキュリティのシステム環境変数に追加するため、Pathに先ほどコピーしたアドレスを追加します。
pythonでopencvを使いたいので opencv-pythonをpipを使用してインストールできます。
インストールする場合は以下のコマンドを使用します。
pip install opencv-python

コマンドプロンプトからですがアプリの右クリックで管理者として実行で起動させます。
オープンソースはGitHub Tech の部屋「Pythonで小型ドローン Tello EDU を飛ばす!」サンプルプログラムからダウンロードしたファイル cli.py(先のTello3.pyと同じプログラム) & vc.py(画像送信プログラム)
OpenCVが使われている箇所を強調してみました。
#vc.pyの内容は以下の通りです。
Tello Python3 Control Demo
http://www.ryzerobotics.com/
1/1/2018
Modified by MPS
#
import threading
import socket
import time
import cv2 ⇒ ここでOpenCVがインポートされている
host = ”
port = 9000
locaddr = (host, port)
Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
tello_address = (‘192.168.10.1’, 8889)
sock.bind(locaddr)
def recv():
while True:
try:
data, server = sock.recvfrom(1518)
print(data.decode(encoding=”utf-8″))
except Exception:
print(‘\nExit . . . RECV\n’)
break
print(‘\r\n\r\nTello Python3 Demo.\r\n’)
print(‘Tello: command takeoff land flip forward back left right \r\n up down cw ccw speed speed?\r\n’)
print(‘end — quit demo.\r\n’)
recvThread create
recvThread = threading.Thread(target=recv)
recvThread.start()
sock.sendto(b’command’, tello_address)
print(‘command ok’)
time.sleep(0.5)
sock.sendto(b’streamon’, tello_address)
print(‘stream on’)
time.sleep(1)
sock.close()
cap = cv2.VideoCapture(“udp://%s:%s?overrun_nonfatal=1&fifo_size=50000000” % (‘192.168.10.1’, ‘11111’)) ⇒ #ここでビデをキャプチャーでTelloのカメラから画像受信
print(‘start cap’)
while True:
try:
ret, frame = cap.read()
if ret:
cv2.imshow(‘tello’, cv2.resize(frame, (360, 240))) #受信画像を画面表示
cv2.waitKey(1)
except KeyboardInterrupt:
cv2.destroyAllWindows()
cap.release()
print(‘\nExit . . .\n’)
break
をデスクトップでも貼り付けます。
あとは 各ファイルを実行できるようにコマンドプロンプトを2つ起動させます。
それでは、準備が整いましたので 2つのプログラムを同時に実行させてみます。動画をとってますので御覧ください。
次にOpenCvによる顔認識の仕方こちらへどうぞ!!
youtubeチャンネル登録お願いいたします(^^♪
エラー: 接続されたアカウントがありません。
アカウントを接続するには、YouTube Feeds の設定ページに移動してください。
-
未来のドローンはここまで進化する!

AIが切り開く空の新時代 近年、ドローンは「空撮する機械」から、人々の生活を支える重要なインフラへと進化してい…
AIが切り開く空の新時代
近年、ドローンは「空撮する機械」から、人々の生活を支える重要なインフラへと進化しています。
AI(人工知能)の発達により、未来のドローンは私たちの想像を超える能力を持つようになります。
今回は、未来のドローンがどのように社会を変えていくのかをご紹介します。
① AIが自律飛行する時代
従来のドローンは操縦者が必要でした。
しかし未来では、
- 人を自動追尾
- 障害物を自動回避
- 最適なルートをAIが判断
- 悪天候を予測して飛行
など、人が細かく操作しなくても安全に飛行できるようになります。
まさに「空飛ぶロボット」と呼べる存在です。
② ドローンタクシーの実現
世界ではすでに
- 空飛ぶタクシー
- eVTOL(電動垂直離着陸機)
の実証実験が進んでいます。
将来的には
- 神戸空港
- 三宮
- 六甲アイランド
などを数分で移動できる日も来るかもしれません。
交通渋滞のない空の移動は、新しい都市交通として期待されています。
③ 災害時の救世主
日本は地震や豪雨が多い国です。
未来のドローンは
- 被災者の捜索
- 医薬品配送
- 通信中継
- 夜間救助
- AI画像解析
など、人命救助の最前線で活躍するでしょう。
④ 配送革命
ネット通販の増加により、
ドローン配送はますます重要になります。
例えば
- 山間部
- 離島
- 高齢者宅
- 災害地域
へ短時間で荷物を届けることが可能になります。
⑤ AIとの融合
未来では
- ChatGPTのようなAI
- 音声認識
- 映像解析
- 顔認識
などがドローンに搭載され、
「考えるドローン」
へ進化していきます。
例えば
「○○さんを探して」
という音声だけで飛び立ち、
目的の人物をAIが発見する時代もそう遠くありません。
⑥ エンターテインメントも進化
未来では
- AIがリアルタイム演出
- 音楽に合わせて編隊飛行
- ARやVRとの融合
- 観客参加型ショー
など、新しいエンターテインメントが誕生していくでしょう。
まとめ
AIとドローンの進化によって、私たちの生活は大きく変わろうとしています。
「空を飛ぶカメラ」だったドローンは、これからは
- 人を助ける
- 荷物を運ぶ
- 命を守る
- 空の交通を支える
未来のパートナーへと進化していくでしょう。
これからも「マッキーの趣味のドローン」では、最新のドローン技術やAIとの融合、未来の空の世界について分かりやすく紹介していきます。
-
ドローンプログラミング体験
ドローン飛行シミュレーター このアプリではドローンの飛行を体験できます。 ・三角飛行・四角飛行・円飛行・多角形…
ドローン飛行シミュレーター
このアプリではドローンの飛行を体験できます。
・三角飛行
・四角飛行
・円飛行
・多角形飛行
-
知りたかった、Telloの中身をのぞいてみた・これがTelloだ!!

DJI Tello 基板【ちょっと解説】 ※DJI公式非公開のため、一部は分解事例・基板配置からの確定度の高い…



DJI Tello 基板【ちょっと解説】
※DJI公式非公開のため、一部は分解事例・基板配置からの確定度の高い推定です
① メインフライトコントローラ(SoC・System on a Chip))写真右上中央(大きな黒IC)
正体
- ARM Cortex系 SoC(DJI独自仕様)
役割
- 飛行制御の中枢
- PID制御
- センサーフュージョン
- モーター出力計算
- 通信制御の司令塔
教育的表現
「考えて・判断して・命令を出す“脳”」
② セカンダリ制御IC(制御補助 / センサーハブ)写真右中央(①の下)
正体
- 制御補助用MCU or DSP系IC
役割
- センサー処理の分担
- リアルタイム性の高い処理
- メインSoC(System on a Chip)の負荷軽減
「脳の右腕(反射神経担当)」
③ Wi-Fi / 映像処理SoC。 写真左中央(金属枠内)
正体
- Wi-Fi通信+映像エンコードSoC
役割
- 映像圧縮
- UDPストリーミング
- SDK通信
Pythonで
streamonした時に働く心臓部④ ESC制御+モータードライバ(その1) 写真右上(3R3表記の横)
正体
- ESC電源・制御系IC
役割
- モーター回転制御
- 高電流制御
ブラシ付きモーターを直接制御
⑤ ESC制御+モータードライバ(その2)写真右上(①の左)
役割
- 別モーター系統担当
★ ④⑤+⑩などで 4モーター分
⑥ 下向きToF / VPS電源・制御部・写真下中央(USB近く)
正体
- 距離センサー制御回路
役割
- 高度検出
- ホバリング安定
「床との距離を測る目」
⑦ IMUセンサー(6軸)写真左下(白シール横の小IC)
正体
- ジャイロ+加速度(6DoF)
役割
- Pitch / Roll / Yaw 検出
⑧ 電源管理IC(PMIC) 写真左下端
役割
- LiPo 3.7V → 3.3V / 5V
- 過電流・低電圧保護
電気の交通整理係
⑨ 下向きカメラコネクタ・写真左側フレキ接続部
役割
- 光学フロー用カメラ入力
GPSなしで止まれる理由その1
⑩ ESC制御+モータードライバ(その3) 写真右側中央
④⑤⑩+反対側で 4ch ESC完成
⑪ モーター電源ライン(+)写真右上下の「+」マーク部
役割
- バッテリー電力供給
- モーター駆動用大電流ライン
⑫ RF / クロック / デバッグ系・写真上中央小IC
役割
- 通信補助
- クロック生成
- 製造時デバッグ
工場専用(触れない)
Telloの中身は大体わかったので。。。
ドローンを自作してみたくなった(^_-)-☆
自作ドローンの入門用としてプログラミングを学んだり、センサーを追加・カスタマイズしたりするのに最適で、GPSや映像伝送(OSD)なども統合していきたいです。
しかし、これはFPVブラッシレスモーター用専用ソフトなので、いろいろコストがかかるので、とりあえずサーボモーターでやってみた。結果はサーボモーターではTRI機Yaw角度しかできなかったです。
したいことは、MultiWii(マルチウィー)など、Arduinoというマイコンボードをベースに、Wiiのコントローラー(モーションセンサーなど)と組み合わせて、マルチコプター(ドローン)を制御するためのフライトコントローラー(飛行制御装置)今回はMPU6050(ジャイロセンサー)とそのソフトウェアを使いすることです。
MultiWiiConf は Java必須です。https://www.java.com/ja/download/ それとProcessing から MultiWiiConf を起動する Processing をインストールhttps://processing.org/downloa(Processing 3.x を推奨)
