0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dronecode Devマニュアル抜粋&翻訳 - Flight Tasks

Last updated at Posted at 2020-06-17

#この記事は
前回の FlightModes に引き続き、
Dronecode本家サイトのFlightModesページの抜粋・翻訳です。

今回このページはYoutube動画での説明が主なので、動画を抜粋&翻訳します。

※主に自分の理解用に書いています。

Flight Tasks

フライトタスクとは、特定の移動動作を提供するためにフライトモード内で使用されるものです。

※以降は動画
https://youtu.be/-dkQG8YLffc

冒頭 0:00 ~ 0:37

自己紹介等

0:38 ~ 3:02

システム全体像の説明と、この動画が扱うのはどの部分かの説明。
固定翼機やVTOLやなどで構成は異なるが、ここではマルチコプターについてを扱うとのこと。

下の図の赤い部分(NavigatorとPosition Control)についての説明

  • どこへ移動するのか、などを指示するモジュールの高位の概念
  • 開発者は任意のモードを追加できる
ScreenShot 157.png

3:03 ~ 4:20

前述のNavigatorとPosition Controlについての詳細

  • おそらく、以前から大きなリファクタリングを行った模様で、なぜリファクタリングしたかの説明
ScreenShot 158.png

4:21 ~ 6:21

  • リファクタリングにおいて設定した目標の説明
  • いくつか目標があり、その一つはMCU(Micro Controller Unit)でも動作するようにするなど
  • ここでFlightTaskという概念が出てくる
ScreenShot 159.png

6:22 ~ 7:25

  • (どうやら赤枠のNavigatorの一部がFlightTaskの事を指す模様)
ScreenShot 160.png

7:26 ~ 9:32

  • FlightTaskがPositionControlに対して行う事の説明

  • 位置指定ができる

    • 移動の軌跡を指定することもできる
    • NANという指定もある
  • 各種制限指定ができる

  • ScreenShot 161.png

9:33 ~ 11:46

(ここから話者が変わる)

  • Flight taskライブラリの説明(ソースコード寄りな説明)
ScreenShot 162.png

11:47 ~ 15:56

  • Flight task関連のクラス図
  • Flighttasksはファクトリクラス、Flighttaskインスタンスを生成する
ScreenShot 163.png

15:57 ~ 18:14

  1. 作成したいFlightTask用のディレクトリを作成する
  2. "1"のディレクトリにFlightTaskを継承したクラスを作成する
  3. CMakeLists.txtを設定する
ScreenShot 164.png

18:15 ~ 19:58

  • パラメータ設定によって既存のモードを拡張して新しいFlightTaskを作成する方法
    • 新しい機能を作るというより、既存のモードの動きを少しスムーズにしたい、といった場合など
  • クラスの継承で作成する
    • SportやManualPositionSmoothやManualPositionSmoothVelは、ManualPositionを継承して作成している
ScreenShot 165.png

19:59 ~ 20:40

  • MAVLinkコマンドから新しいFlightTaskを作成する方法
  • (この手法の詳細はプレゼンではスキップされた?)
ScreenShot 166.png

20:41 ~26:09

  • FlightTaskを作成する例
  • Continuous yawというフライトタスクを作成してみる

Continuous yawというフライトタスクの条件
ScreenShot 167.png

作成するファイル配置
ScreenShot 168.png

FlightTaskContinuousYaw.hppFlightTaskContinuousYaw.cpp
ScreenShot 169.png

パラメータ設定
src/modules/mc_pos_control/mc_pos_control_params.c

src/modules/mc_pos_control/mc_pos_control_main.cpp
ScreenShot 170.png

21:10 ~ 28:10

(最初の話者に戻る)
まとめ
ScreenShot 171.png

28:11 ~

質疑応答

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?