CoDroneのアナログスティック操作を実装してみた。

▼この記事をSNSでシェアする▼

スポンサーリンク

スポンサーリンク

トンビ
久しぶりにドローンいじった

たぶん7月ぶりです。

前回の記事がこちら

ドローン(CoDrone)を空中で操るのが楽しすぎる

  • 開発環境の構築(なぜか仮想Linux上にarduino環境を設定)
  • USB接続の確立
  • ライブラリの導入など
  • ドローンとの接続確立
  • 主要コマンドの実装

この辺りまでは終わってます。

詳しいことは過去記事を見てください

CoDroneとは

おさらいしておきましょう。

一言でいうと、プログラミングできるコントローラで操作するドローン

逆に言うと、コントローラをカスタマイズするプログラム(Cベースのアルディーノ言語)を書いて、arduinoボードに書かないといけません。

robolink社のチュートリアルページを見つつ開発を進めています。

英語っていうのが難点ですね。言語はCoDroneのライブラリ特有のものですが、基本的な変数とかロジックの使い方はほかのプログラミング言語とそんなに大差はないのでそんなにとっつきにくくはないと思います。

値段は初心者用ドローンと本格派のドローンの中間くらい。

本格的な機能を実装できるドローンの中ではお手頃。

今回はアナログスティックのパラメータとドローンの動きの関係を紹介します!

1.アナログスティックのパラメータ

1.1.各ピンの役割

  • 22番ピン:左スティックの左右方向の動き
  • 23番ピン:左スティックの上下方向の動き
  • 24番ピン:右スティックの左右方向の動き
  • 25番ピン:右スティックの上下方向の動き

デフォルトでは+100~-100ではなく、1023~0が実際に格納されているデータです。

上の各ピンの役割は、プログラミングする人によってカスタマイズできますが、

今回は

左スティックの動き:水平方向の動き

右スティックの動き:それ以外の動き

として、わかりやすいようにプレステのコントローラを模して設定します。

1.2.必要なCoDroneライブラリの関数

analogRead(ピン番号):各ピンの1023~0のデータを取得する。

AnalogScaleChange(アナログデータ):アナログデータ(1023~0)を±100に変換する。

→YAW,THROTTLE,ROLL,PITCHの数値の範囲に合わせる。

1.3.実際のプログラムに反映する。

注意点

  • 左スティックの動きを、左に倒したとき左に行くように、-1をかけることで正負を反転させます。
  • 右スティックの動きは、左に倒したとき左回転するように、-1をかけることで正負を反転させます。

イメージとしてはこんな感じ。

2.実際の動きとプログラム(完全版)

2.1.デモ動画

動画がこちら。うまくとるの難しい。。。

粗いですが、右スティックを上にすると、ドローンが浮上します。そのあと右スティックを右に倒すと、右回転しています。

そのあと左スティックを倒すとその方向に進んでいます。

2.2.ソースコード

1で説明したことを用いて、実装しています。

setup()で用いている関数とかは、過去の記事(コードの下のリンク参照)をご覧ください。

3.感想

トンビ
IRセンサで前に前後左右とかの動きを実装したけど、スティックのほうがやりやすい!!

IRセンサには、時間間隔で動く特殊な動きとかスティックでは難しい規則的な動きを実装させるのがよさそうな気がします。

スポンサーリンク

▼この記事をSNSでシェアする▼

フォローする

メニュー・主な記事カテゴリ

おすすめ特集!




「ゆとり鳥日記」について
ITを中心に関心の赴くままに好きなように書いていく雑記ブログ!管理人が二人います。
◆フクロウ(19卒就活生)
◆トンビ(社会人1年目SE)

詳しいプロフィール
お仕事の依頼・ご要望

ゆとり鳥日記をBTCで応援する