SlideShare a Scribd company logo
Linuxベースのオープンソース
フライトコントローラの概要
日本Androidの会
ドローンWG
hsgucci
I. Linuxベースのドローン用フライトコント
ローラの紹介(NAVIO+とErle Brain)
II. フライトコントローラのソフト構成
III.マルチコプターの制御方法
IV.フィルター処理と応用
フライトコントローラって何?
• 姿勢制御やナビゲーションを行う装置
呼び方はいろいろ
「姿勢制御装置」「オートパイロット」「飛行制御装置」
機体に積むのが「フライトコントローラ」
地上のPC,タブレットなどが「グラウンドステーション」
ドローンでやりたい事
• FCをソースコードレベルで書き直す
• PCソフトを自作する
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
• ドローン本体を機能拡張したい!!
• 作業結果データをスマートに管理したい
DJI 3DR
機体:
地上側:
機体:
地上側:
Dronecode
DroneKit
Onboard SDK
Mobile SDK
現状
大手メーカーの動き
無茶言うな!
ラジオコントロール航空機
センサ
GNSS
マイクロコンピュータ
•ジャイロ
•加速度
•コンパス
•気圧
…etc.
センサ・コンピュータを使って
ラジコンを姿勢制御すること
→フライ・バイ・ワイヤ制御
GNSSを使ってラジコンの移動を
自動化すること
→ウェイポイント・ナビゲーション
ケイアンドエス
Sparkfun
InvenSense
•8bit
•16bit
•32bit
•64bit(?)
•GPS
•GLONASS
•Galileo
•北斗
•みちびき
(グローバルナビゲーションサテライトシステム)
日本Androidの会 ドローンWG Copyright hsgucci
フライトコントローラ
フライトコントローラ(FC)
① ラジコン操縦にはミキシングが必要
② フライバイワイヤで自動制御
③ GNSSを使って完全自動飛行
日本Androidの会 ドローンWG Copyright hsgucci2015/7/23
①ミキシング
• 送信機のスティックを1つ動かすだけで,
複数のサーボモータorモータアンプを動かす機能.
車だとスロットルアンプ1つだけ
前進命令
ヘリだと3つのサーボを同時に動かす
ケイアンドエス
日本Androidの会 ドローンWG Copyright hsgucci2015/7/23
②フライ-バイ-ワイヤ制御
• マイコンとセンサを利用した
「フライトコントローラ(FC)」が自動的にミキシング
操縦が飛躍的に簡単に!
•ジャイロセンサ
•加速度センサ
•磁気方位センサ
•気圧センサ
•GNSS
姿勢
方向
高度
緯度経度
センサで機体の状況を計測し、
機体を自動制御
初期のフライトコントローラはミキサーが主。
センサはジャイロだけで補助的な役割だった。
現在では
日本Androidの会 ドローンWG Copyright hsgucci2015/7/23
③GNSSを使った自動飛行
• 緯度経度の座標(ウェイポイント)を指定す
れば,そこへ自動飛行してくれる
ドローンをつくるには
最低限の構成
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
本体フレーム プロペラ&モータ&モータ駆動回路
フライトコントローラ
便利なキットを買う
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
http://www.sekido-rc.com/?pid=52727659
セキドラジコンセレクト
FCを買う
• 何を買う?
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
NAVIO+ Erle Brain
Raspberry Pi B+または2がベース Beagle Bone Blackがベース
そこでLinuxベースのフライトコントローラを!
様々なFC
2015/7/23
日本Androidの会 ドローンWG
Copyright hsgucci
kkMultiCopter
(ATmega168p)
Eagle X6
ArduPilot
(ATmega328p)
ArduPilot Mega
(ATmega2560)
ArduPilot Mega2.x
(ATmega2560)
PX4
(STM32F427)
MultiWii
(ATmega328p)
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
Naze32
(STM32F103C)
SmartAP
(STM32F405)
ミニサーベイヤAP
Pixhawk
(STM32F427)
DJI
A2
ZERO-UAV
YS-X4
Xaircraft
Super-X
Tarrot
ZYX-M
フライトコントローラの流れ
1. ATmega(ライタで書込)
2. Arduino
3. Cortex-M
4. Cortex-A
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
KKmulticopter
ArduPilot, ArduPilot Mega, MultiWii
PX4, Pixhawk, baseflight, CC3D, SmartAP
Raspberry Pi 2, Beagle Bone Black
FCの開発
1. フルスクラッチで書く
2. Arduino,mbed,Teensyなどに乗っかる
3. RTOSを組み込んで動かす
4. Linuxで動かす
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
イマココ
ドローンでやりたい事
• FCをソースコードレベルで書き直す
• PCソフトを自作する
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
• ドローン本体を機能拡張したい!!
• 作業結果データをスマートに管理したい
DJI 3DR
機体:
地上側:
機体:
地上側:
Dronecode
DroneKit
Onboard SDK
Mobile SDK
現状
大手メーカーの動き
無茶言うな!
NAVIO+ Erle Brain
Raspberry Pi B+または2がベース Beagle Bone Blackがベース
LinuxベースのフライトコントローラでDronecode!
Linuxベースだと何が良い?
• こだわりたいところだけイジればいい
– >姿勢制御(フィルタとか制御則とか)
– >GNSSの精度(RTKとか)
– >無線方式の変更
– >センサの追加
– >アクチュエータの追加
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
I. Linuxベースのドローン用フライトコント
ローラの紹介(NAVIO+とErle Brain)
II. フライトコントローラのソフト構成
III.マルチコプターの制御方法
IV.フィルター処理と応用
NAVIO+のセットアップ
• EMLIDのドキュメントページ
• ハードウェアのセットアップ
• Raspberry Piのセットアップ
• APMのセットアップ
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
http://docs.emlid.com/
http://docs.emlid.com/Navio-APM/hardware-setup-navio-plus/
http://docs.emlid.com/Navio-APM/configuring-raspberry-pi/
We provide an SD card image of Raspbian
with fully preemptive real-time Linux kernel.
リアルタイムカーネル入りの
Raspbianが最初からある!
wget http://emlid.com/files/APM/apm.deb
sudo dpkg -i apm.deb
ラジコン受信機はPPM(CPPM)だけなので注意
http://docs.emlid.com/Navio-APM/installation-and-running/
Debianのパッケージが
最初からある!
テレメトリはUARTでもTCP or UDPでも可
おまけ
• ラズパイ2ならビデオストリーミングも可能
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
Streaming real-time video from a drone powered
by a Raspberry Pi 2 has never been easier.
sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav
ということで
• Dronecodeに準拠したシステムは
比較的簡単に準備が可能
• 地上の操作者は Mission Planner
Droid Planner
DroneKit
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
(Win)
(Android)
を使う
I. Linuxベースのドローン用フライトコント
ローラの紹介(NAVIO+とErle Brain)
II. フライトコントローラのソフト構成
III.マルチコプターの制御方法
IV.フィルター処理と応用
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
ロール・ピッチ・ヨー角
wikipedia
基本原理
• 前後や左右の回転数を変えて、
推力のバランスを崩すことで姿勢を変える
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
基本原理
• 旋回
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
前
後
右左
CWの回転数を上げ、CCWの回転数を下げると、
反作用の相殺のバランスが崩れてヨー方向に回転する。
シングルコプターは
テールロータで相殺
基本原理
• 並進移動
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
揚力 高度を維持する
浮上力
前進力
高度を維持する
浮上力
高度を維持する
浮上力
高度を維持する
浮上力
後進力
左移動力右移動力
揚力
揚力
揚力
制御項目
• ロール・ピッチ・ヨー角
• 高度
• 緯度・経度
• ウェイポイントナビゲーション
• 送信機入力に対する反応
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
制御周期
最速が400Hz(2.5ms)周期
ブラシレスモーター駆動回路(アンプ)が
400Hzのサーボパルスなので
Mission Plannerのチューニング画面
http://copter.ardupilot.com/wiki/configuration/tuning/
制御アルゴリズム
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
センサー値の取得
フィルタ処理
制御則の計算
モータへの出力
PID制御
ミキシング計算
サーボパルス
機体の構造に応じて変更
数値積分、相補、カルマン…etc
ほとんどのセンサはI2Cで取得
センサー
• ジャイロ・加速度センサー MPU-6050
• 電子コンパス HMC-5883L
• 気圧 MS5611
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
Amazonだと600円前後。。。
PixhawkだとMPU-6000
派生版のMPU-9150,9250もある
Amazonだと300円前後。。。
10cm精度
MultiWiiではBMP180を使用
センサー
• GNSS ubloxシリーズ
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
3DRobotics: LEA-6H
RTK-LIB: LEA-6T
NAVIO+: NEO-M8N
DJIや3DRのGNSSモジュールは
電子コンパスも同じ基板に実装。
磁石から距離を離すため
DJIや3DRのGPSモジュール
フィルタ処理
• ローパスフィルタ(ノイズ除去)
• 相補フィルタ(センサフュージョン)
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
この辺のフィルタ処理が「制御」をややこしく見せている
PID制御
• ブロック線図...
KP
KI
KD
1
𝑠
𝑠
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
+
+
+目標値と
現在値の差
出力
多くの本がブロック線図でPIDを説明する ワカンネエ
例:原始的なPIDプログラム
now = millis();
timeChange = (now - lastTime);
error = x_desire – x_now;
errSum += error * timeChange;
dErr = (error - lastErr) / timeChange;
Output = kp * error + ki * errSum + kd * dErr;
lastErr = error;
lastTime = now;
// 現在時刻取得
// サンプリングタイム算出
// 目標値 ー 現在値
// 差の積分(長方形の面積)
// 差の微分
// 次回のループで使用
P項 I項 D項
もちろん、積分や微分の計算方法は、もっと複雑で正確な式がある
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
フライトコントローラの発展
• ロール・ピッチ・ヨー角
• カルマンフィルタ
• PID
2015/7/23 日本Androidの会 ドローンWG Copyright hsgucci
クォータニオンへ
姿勢推定精度の向上
内部センサだけで移動
ジンバルロックのない角度表現スタイルへ
セルフチューニング
現代制御理論

More Related Content

PPTX
Drone programming with ArduPilot
PPTX
Dronecodeの概要とROSの対応について
PDF
あれから2年、オープンソースによる ドローン開発はここまで来た!
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
PDF
C/C++プログラマのための開発ツール
PPTX
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
PPTX
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
PDF
DockerとPodmanの比較
Drone programming with ArduPilot
Dronecodeの概要とROSの対応について
あれから2年、オープンソースによる ドローン開発はここまで来た!
これからのネイティブアプリにおけるOpenID Connectの活用
C/C++プログラマのための開発ツール
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
DockerとPodmanの比較

What's hot (20)

PDF
なぜOpenID Connectが必要となったのか、その歴史的背景
PDF
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
PDF
文字コードに起因する脆弱性とその対策(増補版)
PDF
Djangoフレームワークのユーザーモデルと認証
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
PPTX
ウェブセキュリティのありがちな誤解を解説する
PDF
Azure ADとIdentity管理
PPTX
コンテナネットワーキング(CNI)最前線
PPTX
GraphQLのsubscriptionで出来ること
KEY
やはりお前らのMVCは間違っている
PPTX
async/await のしくみ
PDF
CyberAgentのインフラについて メディア事業編 #catechchallenge
PDF
LINE Login総復習
PDF
FIDO認証によるパスワードレスログイン実装入門
PDF
Dockerからcontainerdへの移行
PDF
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
PDF
基礎から学ぶ組み込みAndroid
PDF
分散型IDと検証可能なアイデンティティ技術概要
PPTX
Keycloakのステップアップ認証について
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
なぜOpenID Connectが必要となったのか、その歴史的背景
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
文字コードに起因する脆弱性とその対策(増補版)
Djangoフレームワークのユーザーモデルと認証
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
ウェブセキュリティのありがちな誤解を解説する
Azure ADとIdentity管理
コンテナネットワーキング(CNI)最前線
GraphQLのsubscriptionで出来ること
やはりお前らのMVCは間違っている
async/await のしくみ
CyberAgentのインフラについて メディア事業編 #catechchallenge
LINE Login総復習
FIDO認証によるパスワードレスログイン実装入門
Dockerからcontainerdへの移行
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
基礎から学ぶ組み込みAndroid
分散型IDと検証可能なアイデンティティ技術概要
Keycloakのステップアップ認証について
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
Ad

Similar to Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S ) (20)

PPT
フィルタドライバ入門
PDF
NPAPIを使ったandroid標準ブラウザの拡張方法
PDF
HoloLensハンズオン:AirTap & SpatialMapping編
PDF
Windows 8 Developers カンファレンス
PDF
インフラエンジニアのためのKrypton For DevOps入門
PDF
runC概要と使い方
PDF
Css nite(2010.09.23)
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
Smart at drone
PDF
ニフティクラウドを使った安定運用のススメ
PDF
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
PDF
DRONE BORG 第一回ドローンビジネス勉強会資料
PDF
Nifty cloud automationでクラウド構築・運用の自動化
PDF
真Drone入門
PDF
Chrome DevTools.next
KEY
SnapDishの事例
PDF
I rex2013 rtミドルウェア講習会ー原
PDF
20110212 Silverlight から Bing Maps に触れる
PDF
Firefox OSを使ってFPV戦車を作った話
PDF
20200516 selenium-meetup-winappdriver
フィルタドライバ入門
NPAPIを使ったandroid標準ブラウザの拡張方法
HoloLensハンズオン:AirTap & SpatialMapping編
Windows 8 Developers カンファレンス
インフラエンジニアのためのKrypton For DevOps入門
runC概要と使い方
Css nite(2010.09.23)
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Smart at drone
ニフティクラウドを使った安定運用のススメ
災害監視無人機システムと 災害監視無人機システムとFOSS4Gとの関わり ((独)宇宙航空研究開発機構 都甲 様)
DRONE BORG 第一回ドローンビジネス勉強会資料
Nifty cloud automationでクラウド構築・運用の自動化
真Drone入門
Chrome DevTools.next
SnapDishの事例
I rex2013 rtミドルウェア講習会ー原
20110212 Silverlight から Bing Maps に触れる
Firefox OSを使ってFPV戦車を作った話
20200516 selenium-meetup-winappdriver
Ad

More from 博宣 今村 (20)

PDF
「ドローンや移動するロボット産業におけるIoTとAIの応用」(2018-05-11).pdf
PPTX
IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)
PDF
オープンソースを使ったドローンの開発@金沢工大 2018-07-21
PDF
第3話 オープンソースを使った産業用ドローンの開発
PDF
組み込み/通信業界から見たドローン開発
PDF
「ドローンや移動するロボット産業におけるIoTとAIの応用」(2018-05-11)
PDF
第4回川崎市ドローン研究会(2018-02-16)
PDF
IoTビジネス共創ラボ 「ドローン」+「LoRaWAN」の応用例2018-01-19
PDF
北海道IoTビジネス共創ラボ ドローンWG紹介
PDF
OSSコンソーシアム記念講演(2017-07-10)
PDF
ET WEST「オープンソースを使った国産フライトコントローラ開発 プロジェクトの概要」(2017-07-13)
PDF
ドローン+IoT+Azureで新たなビジネスチャンスを!
PPTX
Dragon board+iotアプリコンテスト(2017 07-22)
PDF
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
PDF
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
PDF
「オープンソースによるドローン開発とクラウドサービス」
PPTX
オープンハードで、こんなガジェット欲しくね~?(2010 03-06)
PPTX
本気で語り合おうオープンソースのドローン開発とIoTの事(2017 01-10) 公開版
PPTX
ドローンの仕組み( #ABC2015S )
PPTX
オープンソースによるドローン開発の概要( #ABC2015S )
「ドローンや移動するロボット産業におけるIoTとAIの応用」(2018-05-11).pdf
IoTビジネス共創ラボ 第2回ドローンWG勉強会(2018/07/25)
オープンソースを使ったドローンの開発@金沢工大 2018-07-21
第3話 オープンソースを使った産業用ドローンの開発
組み込み/通信業界から見たドローン開発
「ドローンや移動するロボット産業におけるIoTとAIの応用」(2018-05-11)
第4回川崎市ドローン研究会(2018-02-16)
IoTビジネス共創ラボ 「ドローン」+「LoRaWAN」の応用例2018-01-19
北海道IoTビジネス共創ラボ ドローンWG紹介
OSSコンソーシアム記念講演(2017-07-10)
ET WEST「オープンソースを使った国産フライトコントローラ開発 プロジェクトの概要」(2017-07-13)
ドローン+IoT+Azureで新たなビジネスチャンスを!
Dragon board+iotアプリコンテスト(2017 07-22)
IoTビジネス共創ラボ 第4回勉強会(2017 07-03)
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
「オープンソースによるドローン開発とクラウドサービス」
オープンハードで、こんなガジェット欲しくね~?(2010 03-06)
本気で語り合おうオープンソースのドローン開発とIoTの事(2017 01-10) 公開版
ドローンの仕組み( #ABC2015S )
オープンソースによるドローン開発の概要( #ABC2015S )

Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )