$50キット“M5Stamp Fly”に0から実装!
ドローンの姿勢制御プログラミング


推力測定からモデリングまで!高安定飛行に成功するための要点



上下降,左右傾き,前後傾き,水平回転を制御する

図1 クアッドコプタの姿勢はプロペラの回転速度を調整して制御する.基本的な運動量は,上下降,左右傾き(ロール),前後傾き(ピッチ),水平回転(ヨー)の4つ.画像クリックで動画を見る.または記事を読む,StampFlyで学ぶマルチコプタ制御(全200頁),[著]伊藤 恒平

クアッドコプタの運動原理と姿勢制御の実装

1.クアッドコプタの基本運動原理

クアッドコプタの制御は,プロペラの回転速度を調整することで,機体の運動を制御します.基本的な運動には「上昇・下降」,「ロール回転(左右傾き)」,「ピッチ回転(前後傾き)」,「ヨー回転(機体の水平回転)」の4つがあります.

  1. 上昇・下降
  2. すべてのプロペラを同時に加速または減速することで実現される.プロペラの推力が重力を上回ると上昇し,逆に小さくすると下降する
  3. ロール回転
  4. 左右のプロペラの回転速度を調整することで,機体を横方向に傾ける
  5. ピッチ回転
  6. 前後のプロペラの速度を変えることで前後方向に傾き,進行方向を決める
  7. ヨー回転
  8. 時計回りと反時計回りに回転するプロペラのバランスを調整することで実現する.この回転は機体全体の向きを変えるために重要

これらの運動は合計4種類に集約され,これらの組み合わせによってクアッドコプタの安定した飛行が可能になります.前後移動や左右移動は,ピッチやロールの回転と連動した推力の調整で間接的に実現します.

2.「M5Stamp Fly」での姿勢制御プログラムの構築

“M5Stamp Fly”は,C/C++言語でプログラミング可能な小型ドローン・キットです.このキットは,基本的なAPIがオープンソースとして提供されており,PID制御などの手法を用いた飛行制御プログラムの作成を容易にします.

PID制御とは,プロポーショナル(P),積分(I),微分(D)の3要素を組み合わせたフィードバック制御で,ドローンの姿勢安定化に広く使われています.

M5Stamp Flyの主要ハードウェア構成

  1. ブラシ付きDCモータ.各プロペラの回転を制御
  2. ジャイロセンサ・加速度計.機体の傾きと加速度を検知し,リアルタイムな姿勢の把握に使用
  3. 距離センサ.地面との距離を測定し,安定したホバリングを支援
  4. 300mAh 1Sバッテリ.軽量化を実現し,飛行時間を確保

PID制御と安定性

PID制御は,センサから得られるデータに基づいてプロペラの回転速度をリアルタイムで調整する手法です.

  1. P成分
  2. 現在の誤差(目標値と実測値の差)に比例した補正する
  3. I成分
  4. 過去の誤差の積分値に基づく補正で,長期的な誤差を解消する
  5. D成分
  6. 誤差の変化率に基づく補正で,急激な姿勢の変化を抑制する

これにより,クアッドコプタは環境の変化や外乱に対して安定した姿勢を保つことが可能です.

ロール・ピッチ・ヨーの調整

クアッドコプタの回転運動では,モータ間の推力バランスが重要な要素です.たとえば,ロール回転では左側のモータを高速回転させ,右側のモータを低速にすることで,機体が右に傾きます.この原理を理解することで,スムーズな方向転換や姿勢の安定化が可能になります.〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • ドローンやロボットの自作を通じて制御工学や関連技術の生涯勉強情報を提供
  • 防衛大学大学校 航空宇宙工学教室,筑波大工学博士
  • 陸自入隊,対戦車誘導弾などの装備品開発,国際高専教員,金沢工業大学教員
  • ロボット・ランサ優勝,マイクロマウス・ニューテクノロジー賞受賞,指導者としてつくばチャレンジバンナム賞,飛行ロボコンマルチコプタ部門1位など
  • 北海道函館出身,工学博士

著書

  1. つぶやき制御工学(YouTube)
  2. 理系的な戯れ(ブログ)
  3. X:こうへい(Kouhei Ito)技術情報をポスト

参考文献

  1. [VOD]Pythonで一緒に!ロボット制御のモデルベース設計【ロバスト制御編】,ZEPエンジニアリング株式会社.
  2. [VOD]Pythonで一緒に!ロボット制御のモデルベース設計【PID制御編】,ZEPエンジニアリング株式会社.
  3. [VOD]Pythonで一緒に!ロボット制御のモデルベース設計【状態フィードバック制御編】,ZEPエンジニアリング株式会社.
  4. [VOD/Pi2W KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.
  6. Pythonによる制御工学入門(改訂2版),オーム社(2024).
  7. "[VOD/Pi KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
  8. [VOD/KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
  9. [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
  10. [VOD/KIT]確率・統計処理&真値推定!自動運転時代のカルマン・フィルタ入門,ZEPエンジニアリング株式会社.