Skydroid T12で水上ドローンのスラスト制御量の計算
今考えている水上ドローンはこんな感じで、3つのスラストの方向を変えて動くもの。
とりあえず、スラストが120度ずつで外側を向いてプロポのスティックを動かしたときに、動かした方向に応じてスラストが変化するのを考えました。
中心が0、最大値が0.5として、スティックを前に傾けると、右モータ(motorR)、左モータ(motorL)が0.25、テールモータ(motorT)が-0.5になるように、スティックの制御量を3方向に分配します。
スティックの上下左右で二乗平均して中心からの制御量とatan2関数で角度を出して、3方向との差のコサインを計算するプログラムで問題いようです。
実際には、前に進むときは、下の写真のようにスラストをサーボで進行方向に向ける制御を同時に入れたいです。
斜めに行くときも斜めにスラストを傾けるように制御。
ということで次は角度を計算するプログラム作成。
動画はこちら。
amazonで購入→ 水中スラスター
とりあえず、スラストが120度ずつで外側を向いてプロポのスティックを動かしたときに、動かした方向に応じてスラストが変化するのを考えました。
中心が0、最大値が0.5として、スティックを前に傾けると、右モータ(motorR)、左モータ(motorL)が0.25、テールモータ(motorT)が-0.5になるように、スティックの制御量を3方向に分配します。
スティックの上下左右で二乗平均して中心からの制御量とatan2関数で角度を出して、3方向との差のコサインを計算するプログラムで問題いようです。
実際には、前に進むときは、下の写真のようにスラストをサーボで進行方向に向ける制御を同時に入れたいです。
斜めに行くときも斜めにスラストを傾けるように制御。
ということで次は角度を計算するプログラム作成。
動画はこちら。
amazonで購入→ 水中スラスター
Skydroid T12のS.BUSをArduinoで受信。
Skydroid T12の受信機はS.BUS信号を出してくれるのでフライトコントローラにつなぐにはいいんですが、今作ってる水上ドローンはフライトコントローラのカスタム設定ではできそうもないのでArduinoで制御することにしました。
以前もどこかのサイトからサンプルをコピペしてS.BUS受信はやったことあったんですがどこだったか探してみると、以下のサイトでした。
ほいほい堂blog さん(実はご近所)。
http://www.hoihoido.com/blog/wp/?p=2677
最後の方に修正があるのでそのリンクも。
http://www.hoihoido.com/blog/wp/?p=3133
使用したのはArduino MEGAです。シリアルポートが複数使えるので。
直接シリアルポートのRX2にS.BUSを入れて信号を読み取るとこんな値がでてきました。
どうもおかしいです。
T12のS.BUS信号もやっぱり反転してるようなので、トランジスタ1個使って反転回路を作ってArduinoで受信。
(ベース、コレクタに1kオームの抵抗でエミッタ接地反転増幅回路を入れただけ)
すると正常に読み取れました。中心は1500のつもりで設定したのですが、なぜか1002.
でもプロポのスティックを動かすとちゃんと変化してくれるのでまあOK.プログラムでどうにでもなります。
プロポの方のチャンネル設定は、Androidスマホのアプリで設定します。
メーカーのサイトから、Device Helper.apk をダウンロードして許可を与えてインストール。
Blutoothで接続して、ADJUST PARAMETERSを選択すると以下の画面がでます。
ここで、チャンネルと振れ幅を入力してSAVEすればよいです。
慣れている右スティックスロットルのモード1の設定にしました。
ArduinoでS.BUSを受信して読み取った値をプロットしながら写真撮ったのがこちら。
次は、スティックと水上ドローンのスラストの回転をどう割り当てるかをプログラミング。
以前もどこかのサイトからサンプルをコピペしてS.BUS受信はやったことあったんですがどこだったか探してみると、以下のサイトでした。
ほいほい堂blog さん(実はご近所)。
http://www.hoihoido.com/blog/wp/?p=2677
最後の方に修正があるのでそのリンクも。
http://www.hoihoido.com/blog/wp/?p=3133
使用したのはArduino MEGAです。シリアルポートが複数使えるので。
直接シリアルポートのRX2にS.BUSを入れて信号を読み取るとこんな値がでてきました。
どうもおかしいです。
T12のS.BUS信号もやっぱり反転してるようなので、トランジスタ1個使って反転回路を作ってArduinoで受信。
(ベース、コレクタに1kオームの抵抗でエミッタ接地反転増幅回路を入れただけ)
すると正常に読み取れました。中心は1500のつもりで設定したのですが、なぜか1002.
でもプロポのスティックを動かすとちゃんと変化してくれるのでまあOK.プログラムでどうにでもなります。
プロポの方のチャンネル設定は、Androidスマホのアプリで設定します。
メーカーのサイトから、Device Helper.apk をダウンロードして許可を与えてインストール。
Blutoothで接続して、ADJUST PARAMETERSを選択すると以下の画面がでます。
ここで、チャンネルと振れ幅を入力してSAVEすればよいです。
慣れている右スティックスロットルのモード1の設定にしました。
ArduinoでS.BUSを受信して読み取った値をプロットしながら写真撮ったのがこちら。
次は、スティックと水上ドローンのスラストの回転をどう割り当てるかをプログラミング。
Skydroid T12 接続テスト
カメラ接続については、以前に楽天ブログに書きました。
https://plaza.rakuten.co.jp/cpu4edu/diary/202012230000/
こっちにもコピペ。
日本向けのページで,電波法承認済みと書いてあるのを信じて以下のサイトから購入してみました.
(実際は購入依頼してどこかの仲介業者さんが入った)
skydroid T12 FPVプロポセット デジタル画像伝送送受信機 4in1セットカメラ付属 電波法承認済|LA0139|プロポ・受信機 (rchobby-jp.com)
説明書もないし,URLもない.来たのはブツだけ.
アプリをつないで設定するようなので,GooglePlayからskydroidを検索してそれらしいアプリを2種類インストール.
しかし,起動できず落ちる.スマホのバージョンが合わないか,設定が合わないか,あれこれ格闘が始まった.
違うAndroidタブレットにインストールして動かそうとしてもアプリが落ちる.アプリの設定も調べるも原因不明.
それからYoutubeで動画を探す.
以下の動画ですんなり接続して説明してたが,アプリが起動しないことには何ともならない.
(1) SkyDroid T12 - Overview, System Setup & Latency Test - YouTube
GoogleでSkydroidを検索すると,商品を販売してるページにばかりにつながるが入念に探すと,会社のページがあった.
Quanzhou Yunzhuo Technology Co., Ltd. (skydroid.xin)
開いてみると,すごく重たい.ページ移動も時間がかかる.辛抱して待ちながらサイトをめぐると,T12のページ
test prdoct-Remote control (skydroid.xin)
と各種ダウンロードのページがあった.
そこで,
FPVのアプリ,グランドステーションのアプリ,プロポセッティングのアプリ,マニュアルのダウンロードができる.
マニュアル
云卓-T12 说明书-中英文 (skydroid.xin)
を見ながら,送信機とスマホを接続して,DeviceHelperのアプリを起動.
ここで,各種設定ができる.設定内容は先に上げたYoutubeの動画の通り.
次にFPVのアプリを起動するが,カメラ映像がでない.
付属のカメラはGND,VCC,RX1,TX1の4端子と太い赤と黒の2本線がでてる.太い方は照明用LEDかと思って,4本端子のみつないでいたが,画像が真っ黒.
試しに太い赤と黒を5Vにつないでみたが画像はでず.カメラの裏を見ると12-72Vという小さな刻印があるので太い方はもっと高い電圧が必要なようだ.12Vまで上げてみるが画像出ず.
いったん全部落として再起動してみたら,画像出た!
試しに太い線だけ落として再投入しても画像が復活しない.なので確認に最初から5Vをつないで起動すると画像出た!
アプリにLEDの点灯ボタンが出てるので押してみたがつかない.そこで電圧を上げながらテスト.
10V以上でLEDが急に明るく点灯した.
受信機の方は,5V下回ると画像が出ないので,5Vで受信機とカメラとも動かそうとすれば電流容量の多い電源を使う必要あり.ただし5VjyaLEDつかない.
カメラを別電源にするならバッテリーからの電源をつないでおけばよい.
グランドステーションのアプリを試す.GPSを受信してマップの常時はできるが,接続ボタン(Connect)を押すとアプリが落ちる.受信機に表示すべきデータは接続してないし,Pixhawkのテレメトリをつないでみて動かなければまあしょうがないかも.
プロポの設定とFPVで画像が見れれば良しとする.
フレームのディレイは実験動画をYoutubeにあげたのでごらんください.
Skydroid T12の接続テスト https://youtu.be/mxIs5GbGRkM
https://plaza.rakuten.co.jp/cpu4edu/diary/202012230000/
こっちにもコピペ。
日本向けのページで,電波法承認済みと書いてあるのを信じて以下のサイトから購入してみました.
(実際は購入依頼してどこかの仲介業者さんが入った)
skydroid T12 FPVプロポセット デジタル画像伝送送受信機 4in1セットカメラ付属 電波法承認済|LA0139|プロポ・受信機 (rchobby-jp.com)
説明書もないし,URLもない.来たのはブツだけ.
アプリをつないで設定するようなので,GooglePlayからskydroidを検索してそれらしいアプリを2種類インストール.
しかし,起動できず落ちる.スマホのバージョンが合わないか,設定が合わないか,あれこれ格闘が始まった.
違うAndroidタブレットにインストールして動かそうとしてもアプリが落ちる.アプリの設定も調べるも原因不明.
それからYoutubeで動画を探す.
以下の動画ですんなり接続して説明してたが,アプリが起動しないことには何ともならない.
(1) SkyDroid T12 - Overview, System Setup & Latency Test - YouTube
GoogleでSkydroidを検索すると,商品を販売してるページにばかりにつながるが入念に探すと,会社のページがあった.
Quanzhou Yunzhuo Technology Co., Ltd. (skydroid.xin)
開いてみると,すごく重たい.ページ移動も時間がかかる.辛抱して待ちながらサイトをめぐると,T12のページ
test prdoct-Remote control (skydroid.xin)
と各種ダウンロードのページがあった.
そこで,
FPVのアプリ,グランドステーションのアプリ,プロポセッティングのアプリ,マニュアルのダウンロードができる.
マニュアル
云卓-T12 说明书-中英文 (skydroid.xin)
を見ながら,送信機とスマホを接続して,DeviceHelperのアプリを起動.
ここで,各種設定ができる.設定内容は先に上げたYoutubeの動画の通り.
次にFPVのアプリを起動するが,カメラ映像がでない.
付属のカメラはGND,VCC,RX1,TX1の4端子と太い赤と黒の2本線がでてる.太い方は照明用LEDかと思って,4本端子のみつないでいたが,画像が真っ黒.
試しに太い赤と黒を5Vにつないでみたが画像はでず.カメラの裏を見ると12-72Vという小さな刻印があるので太い方はもっと高い電圧が必要なようだ.12Vまで上げてみるが画像出ず.
いったん全部落として再起動してみたら,画像出た!
試しに太い線だけ落として再投入しても画像が復活しない.なので確認に最初から5Vをつないで起動すると画像出た!
アプリにLEDの点灯ボタンが出てるので押してみたがつかない.そこで電圧を上げながらテスト.
10V以上でLEDが急に明るく点灯した.
受信機の方は,5V下回ると画像が出ないので,5Vで受信機とカメラとも動かそうとすれば電流容量の多い電源を使う必要あり.ただし5VjyaLEDつかない.
カメラを別電源にするならバッテリーからの電源をつないでおけばよい.
グランドステーションのアプリを試す.GPSを受信してマップの常時はできるが,接続ボタン(Connect)を押すとアプリが落ちる.受信機に表示すべきデータは接続してないし,Pixhawkのテレメトリをつないでみて動かなければまあしょうがないかも.
プロポの設定とFPVで画像が見れれば良しとする.
フレームのディレイは実験動画をYoutubeにあげたのでごらんください.
Skydroid T12の接続テスト https://youtu.be/mxIs5GbGRkM