先日はご回答ありがとうございました.

スレッドの連投になってしまい申し訳ありません.

ご指摘の通りUARTを使ったマイコン間通信を試みています

参考にしたページはこちらです

http://ardupilot.org/dev/docs/learning-ardupilot-uarts-and-the-cons...

 libraries/AP_HAL/examples/UART_testのプログラムの通り,メーセージをNavioのUART端子から出力し,受信側でメーセージを受け取ることを試しています.

今回はARMマイコンではなく,USBシリアル変換ケーブルを使ってPCのTera Termというソフトで受信します.

しかし...うまく動きません

ボートレートをあわせたので恐らくuartの割当が間違っているかと思います.

デフォルトでは次のように割り当てられ,5つ全てにメーセージを出力するようになっています.

  • uartA - the console (usually USB, runs MAVLink telemetry)
  • uartB - the first GPS
  • uartC - primary telemetry (telem1 on Pixhawk, 2nd radio on APM2)
  • uartD - secondary telemetry (telem2 on Pixhawk)
  • uartE - 2nd GPS

これをNavioに合わせて割当が必要だと思うのですがどなたかArducopterのuart通信を使った経験がある方はおられますか?

どうぞよろしくお願いします

You need to be a member of diydrones to add comments!

Join diydrones

Replies are closed for this discussion.

Replies

  • mavlinkを使ってnavio→マイコンへRCinputを渡す方法はないのでしょうか?


    hsgucci said:

    例えばですが、

    RCinput、おそらくはS.BUSかと思いますが、受信機からのSBUS信号を一旦マイコンで受信して、その上でNavioへ渡すというシステム構成ではどうでしょうか?

    プロポのスティック状況をマイコンでモニタしながら、別のアクチュエータを制御することができるかと。

    私のところではラジコン操作(手動)とロボット動作(自律)を切り替えるためによくこの構成を使っています。

    S.BUSの解析で有名なここのページのライブラリでも、受信するけどそのままスルーして出力するモードと、受信データを改変して出力するモードが選べますね。

    https://developer.mbed.org/users/Digixx/notebook/futaba-s-bus-contr...

    どうしてもNavioにRCinputを吐き出させたい、となると上記の手段は使えませんが。

  • 大学での研究のため具体的な説明は出来ないです.すみません.

    hsgucci said:

    何となくイメージしたのは、
    「ロボットアーム付きのドローン」
    「検査装置付きアームを外壁に押し付けるドローン」
    みたいな感じですね?

  • 2)の場合は、
    例えば私だったらこんな風にやると思います。
    ちょうどNavio(ラズパイ)を使っているので、ラズパイのpythonプログラムでRCinputの値を取得します。

    http://python.dronekit.io/examples/channel_overrides.html

    その上でpythonプログラムがUARTやUDPでマイコンにデータを送ってあげれば良いですね。

    ただ、この場合はdronekit(mavlinkのラッパー)を使ってRCinputを取得しているのでどうしてもタイムラグが生まれます。
    前述のS.BUS信号横取り作戦のほうが即時性があります。

  • 例えばですが、

    RCinput、おそらくはS.BUSかと思いますが、受信機からのSBUS信号を一旦マイコンで受信して、その上でNavioへ渡すというシステム構成ではどうでしょうか?

    プロポのスティック状況をマイコンでモニタしながら、別のアクチュエータを制御することができるかと。

    私のところではラジコン操作(手動)とロボット動作(自律)を切り替えるためによくこの構成を使っています。

    S.BUSの解析で有名なここのページのライブラリでも、受信するけどそのままスルーして出力するモードと、受信データを改変して出力するモードが選べますね。

    https://developer.mbed.org/users/Digixx/notebook/futaba-s-bus-contr...

    どうしてもNavioにRCinputを吐き出させたい、となると上記の手段は使えませんが。

  • 何となくイメージしたのは、
    「ロボットアーム付きのドローン」
    「検査装置付きアームを外壁に押し付けるドローン」
    みたいな感じですね?

  • 度々お世話になります.本当に有難うございます.

    目的は1)です

    ・プロポのRCinputをnavioを仲介してマイコンに渡す

    ・プロポのRCinputに応じて姿勢制御を行う(マイコンが動かすアクチュエータがマルチコプターの飛行に影響を及ぼすため)

    ちなみに2)についてですが,mavlinkはGCSとArdupilotとの通信だと理解していましたが,マイコンとの通信が可能なんですか?



    hsgucci said:

    もう一度お聞きしますが、目的は何でしょうか?

    1)apmの元プログラムを改変して外部マイコンと連携したい(例えば制御アルゴリズムに追加するとか)

    2)apmはそのままで良い。mavlinkで通信して機体の状態を取得し、マイコンが何か処理をする。


    AP_HALとかを触っているところを見ると1)をお望みでしょうか?
    1)は研究者の方がよく要望する内容です。2)はドローンには勝手に飛んでもらって、上位のPCやマイコンが指令を出すという応用です。

    Navioなので、どっちがやりたいのかよくわから無いんですよ〜。
    要はPixhawkの中身を変えたいのか、Pixhawkにコマンドを送るだけで良いのか、です。
  • もう一度お聞きしますが、目的は何でしょうか?

    1)apmの元プログラムを改変して外部マイコンと連携したい(例えば制御アルゴリズムに追加するとか)

    2)apmはそのままで良い。mavlinkで通信して機体の状態を取得し、マイコンが何か処理をする。


    AP_HALとかを触っているところを見ると1)をお望みでしょうか?
    1)は研究者の方がよく要望する内容です。2)はドローンには勝手に飛んでもらって、上位のPCやマイコンが指令を出すという応用です。

    Navioなので、どっちがやりたいのかよくわから無いんですよ〜。
    要はPixhawkの中身を変えたいのか、Pixhawkにコマンドを送るだけで良いのか、です。
This reply was deleted.