工学メモ
三相交流
三相交流は,位相が互いに120度ずつ異なる3つの交流が特徴.Electronic Speed Controller(ESC)を用いて生成される.ここでの「Speed」は周波数を指し,流れてきた直流をESCを通じて特定の周波数を持つ交流に変換するプロセスを指す.
フライトコントローラ(フラコン)
フライトコントローラは,ドローンの状態推定と力学制御を行う主要部品である.
状態推定
位置(GPS),速度(速度計),姿勢(IMU: Inertial Measurement Unit),視覚情報(VIO: Visual Inertial Odometry)を用いて行われる.
状態推定の手法には非線形最適化やカルマンフィルタを使用する解析的なアプローチがある.
力学制御
現在のドローンの状態から望ましい状態へ移行するための制御戦略を計画する.
ドローンの動力学
ドローンはスラスト(推進力)とトルク(回転力)を生成することで操縦される.
回転数$ \Omega
モータの回転数は,rpm(毎分回転数)または度/秒で表される.
MPC (Model predictive control)
あらかじめ定義された状態空間モデルを用いて,未来の状態を予測し,最適な制御入力を計算する.
PWM(Pulse Width Modulation)
モータの制御において,PWM信号を用いてモータの速度を制御する.
スラストとトルクへの変換は直接的には観測できないため,ゲイン調整などによるチューニングが必要とされる.
通信技術
デジタル通信
UART,I2Cなどのシリアル通信があり,複数のデバイスと高度な情報交換が可能である.
アナログ通信
PPM,PWMといった信号を用い,デューティ比により連増量をクロックで伝送する.
下書き
三相交流
位相が1/3ずつ違う交流が流れる
ESCで作りだす(Electronic Speed Controller)
Speed = 周波数と同義
流れてきた直流をESCである周波数の交流に変換する
過充電・起電力・
マンパンで4.2V → 平均3.7V
フライトコントローラ
状態推定と力学制御を行う
状態推定
GPS / IMU / VIO
$ \bm{x}, \bm{v}, \bm{w}, \mathbb{R}
速度v, 角速度 w
非線形最適化をする場合と,解析的な場合があり,後者はカルマンフィルタ
力学制御
ある状態をある状態に近づけるためにはどうすればいいか?
ドローン
スラスト (単位: ニュートン)とトルク
上に対する推進力と回転力
$ \Omega: 回転数 (角速度と次元は同じ)
rpm(1minに何回転するか) / degree per sec.になることもあり
MPC (Model predictive control)
ある状態をある状態に近づけるためにはどうすればいいか?
ドローンであれば,状態空間モデルに変換し,uについて解く?
PWM
観測できているのは $ \Omegaではなく,モータを制御するための周波数しかわかってない
状態推定を行い,力学制御を行う.
ただし,$ \Omegaからスラストとトルクへの変換はブラックボックスになるので,何かしらの形でチューニングしてあげる必要がある.(一般にゲインと呼ばれる)
フラコンの中にマイコンがあって,その中にプログラムを書く
URDF
フラコンとFCUは違う
通信
デジタル・アナログ
デジタル=高次な情報量を扱える
パラレル通信
シリアル通信
UART
I2C
アナログ=全てはクロック
PPM
PWM
クロック
連続量をデューティ比で変換して送る
受取先がクロックを連続量に戻す
ESCではマイコンが搭載されている
ESCのファームウェア
BLHeli-S
BLHeli32
MovROS / MovLink
ROS
publish / scribe
node単位
nodeを全てまとめてlanuchファイル
Vins mono
ardupilot
フラコンの一種
デベロッパーキット
キャリアボード
マザボに近い
Jetson Xavier NX
ドローンの要件定義
大きさ
飛行時間
ペイロード
ホントはペイロードから逆算したい
推力計算とかは入ってないらしい?
Tobas
MPCではなくPIDを用いている
MPCにあまり意味がないから.
Sliding Mode 制御は微妙?
多脚ロボット
MPCを採用している
歩くロボットだったら,足の反力→物理的制約条件が多いので,MPCを使っている
JetsonとFCUの接続
DC-DCで5Vが出るようなものを使う
大きいドローンで試して,そこからサイズを小さくしていく.
小さいドローンとなると,基板を自分で作っていかないといけない
懸念点
①ちゃんと飛んで,受粉が可能なのか?風外乱も考慮するとどうなん?
② Visual SLAMだけで位置把握ができるのか?
③小さいのが作れるか?
自己位置推定・制御の位置合わせ