Help us understand the problem. What is going on with this article?

Raspberry Pi Zero で自律飛行ドローンを作るぞ(第4回:気圧センサで高度を維持させる)

はじめに

前回のRaspberry Pi Zero で自律飛行ドローンを作るぞ(第3回:フライトコントローラを使いました...) では、フライトコントローラのpitch,roll,yaw姿勢制御のおかげでRaspberry Piからのスロットル操作で浮上させることができました。

今回は

設定した高度を維持する制御にトライしてみました。

距離センサ(VL53L0X)を使用して地上高400mmをkeepする。

結果:スロットルを少し下げると一気に降下してしまいます。降下を検知してスロットルを上げるのですがそのレスポンスが悪く大きく上下にふらついてしまいます。何度か値を調整しましたが結果は良くありませんでした。

20170819-3.PNG

動画はこちら(YouTube)
IMAGE ALT TEXT HERE

気圧センサ内蔵のフライトコントローラを使用して高度を維持させる。

制御プログラム改善の前に試してみたいのがフライトコントローラに内蔵の気圧センサの力を借りることです。
今使用しているフライトコントローラ(CC3D)は気圧センサは付いていないので、気圧センサ内蔵のフライトコントローラ(NAZE32)を使うことにしました。フライトコントローラ設定用アプリはCleanflightを使用します。※フライトコントローラの設定については割愛します。

↓構成は以下の通り。NAZE32はarm(アーミング)操作が必要なので制御信号を追加しています。baro(気圧センサ)制御信号も別で追加しています。
drone構成(naze32).PNG

結果:スロットル操作した時の降下と上昇が緩やかになった感じです。もう少し検証を続けますが気圧センサの効果はありそうです。下図は高度400mmを検知してスロットル制御をしているのですが、実際は750mm付近で高度が維持されているのがわかります。

設定値
#define MINIMUM_GROUND_CLEARANCE    40 //最小地上高
#define MAXIMUM_GROUND_CLEARANCE    400 //最大地上高
#define DEBUG_MAINLOOP_TO           7 //デバッグ用メインループタイムアウト指定(sec)
#define FLIGHT_TIME                 5 //DEBUG_MAINLOOP_TO - FLIGHT_TIME = landing time
#define OFFSET_POWER                600
#define LANDING_POWER               450

20170907-68.PNG

動画はこちら(YouTube)
IMAGE ALT TEXT HERE

今回検証した機体の外観

  • 表側
    20170907_164340-1.jpg

  • 裏側
    20170907_164401.jpg

今回の感想

気圧センサはあくまでも補助なのだと感じましたので、次にやることは高度制御プログラム改善を考えています。

コード(GitHub)

https://github.com/shigeru-yokochi/drone

追記

2020/01/04 この機体は大きすぎるのでマイクロドローン機への乗り換えを検討中です

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした