記事一覧
Madgwickフィルタで姿勢の演算を行う
環境WIndows11
開発環境: VScode + PlatformIO + Docker
動作環境: WSL2(Ubuntu 22.04) + ROS2(Humble)
前回までのあらすじ9軸センサLSM9DS1の値を読み取り、その値をROSのトピックに乗せて配信し、そのトピックを購読した結果、センサーの値がわたっていることが確認できた。
今回の話Madgwickフィルタを使って、センサの
9軸センサの値をカスタムメッセージに乗せて発信する
環境WIndows11
開発環境: VScode + PlatformIO + Docker
動作環境: WSL2(Ubuntu 22.04) + ROS2(Humble)
前回までのあらすじカスタムメッセージをmicro-ROSで組み込み、エージェントを通じてROSのトピックとして配信され、ROSからもカスタムメッセージの型を認識して購読する仕組みを確認した。
今回の話たまたま入手していた9
micro-ROSにカスタムメッセージを追加する(実行編)
環境WIndows11
開発環境: VScode + PlatformIO + Docker
動作環境: WSL2(Ubuntu 22.04) + ROS2(Humble)
1.ラズパイピコにソフトを書き込む2. WSL上でエージェントを起動する
micro-ROSにカスタムメッセージを追加する(コーディング編)
環境WIndows11
開発環境: VScode + PlatformIO + Docker
動作環境: WSL2(Ubuntu 22.04) + ROS2
以下のサイトを参考にした
1.WSL上のROS環境にてカスタムメッセージを作成する1.ROS環境上にてカスタムメッセージに関するプロジェクトを生成する
cd ~/ros2_ws/srcros2 pkg create custom_msg
micro-rosとUnityの連携(ROS2経由)に挑戦
前回までのあらすじUnity Robotics Hubを導入し、UnityからのトピックがROS2で流れていることが確認できた。
次はraspi-picowから送信されるトピックをUnity上で受信する仕掛けに挑戦する
参考にした書籍
Unity Robotics Hubの公式サイトUnity側の準備サブスクライバーを作ってみる
今回はトピックを購読する側のプログラムを作成する。
usin
UnityとROS2の連携に挑戦
前回までのあらすじWSL上でMicroROSエージェントを動作させ、ROS環境上に流れてくるメッセージを確認するところまでできた。
今回は Unity Robotics Hubを使って、Unity環境でROSのメッセージのやり取りができるかどうかを試す
ROS2 for Unityもあったのだが…最初はこちらの使用を検討していたのだが、情報が少なく、さらにUnityがWindows、ROS2がW
ROS2からmicrorosエージェントの送信メッセージを確認する
前回までのあらすじエージェントとの通信をBluetoothで接続するよう通信モジュールを組み込み、PC側のエージェントとの通信に成功した。
ここからはホスト側のROSとエージェントとのつながりを見ていくことにする
WSLにROS2をインストールする
公式のインストール方法に従ってインストールしていく
デモを実施してみる
チュートリアルのリンクも貼っておこう…
micro-rosエージェン
RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その1)
前回までのあらすじmicro-ROSの通信部をシリアル→Wi-Fiに変更し、エージェントとの通信を試みた。
いろいろと手を尽くしたが、残念ながらエージェントとの通信は成功しなかった。
Wondows11 + WSL + Dockerのネットワーク環境は魔境のようだった。
今回のテーマWi-Fiでの接続はあきらめ、もう一つの無線通信手段である、Bluetooth(Serialプロファイル)にて接続
RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その2)
前回までのあらすじRaspberryPi pico w側ソフトの通信部をカスタムとしてBluetoothシリアルで実装した
今回のテーマPC側で動作するエージェントの準備を行う
エージェントはWSL上で動作するが、ホストOS(Windows側)で既に構築されたシリアルプロファイルだけをWSLにアクセスさせる方法はないため、WSL用にBluetoothアダプタをもう一つ用意する
さらにデフォルトで
RaspberryPi pico wでmicro-ROSを動かす(WiFi編 その2)
前回までのあらすじmicro-ROSの転送をSerialからWi-Fiに変更して、エージェントとの接続を試みたが、picoから送信はできているものの、Docker内で動いているエージェントには届いていないようだった。
ホストOSとゲストOS、Dockerシステムなどにより生成される仮想ネットワークが複雑に絡み合っているように思える。
本日のテーマWSLに関する設定を行って、ホストOSとゲストOS
RaspberryPi pico wでmicro-ROSを動かす(WiFi編)
前回までのあらすじRaspberryPi pico wにmicro-ROSを組み込み、micro-ROSエージェントとシリアル通信で接続できていることを確認した。
今回のテーマシリアル通信ではエッジデバイスとホストマシンが有線接続になってしまい、配置や線の取り回しなどに制約が出てしまう。
RaspberryPi pico wは無線モジュールを搭載しており、WiFi/Bluetoothで他のデバ
RaspberryPi pico wでmicro-ROSを動かす(Serial編)
前回までのあらすじ
Windows環境上でRaspberryPi pico wにmicro-ROSを組み込むことができた。
今回はmicro-ROSエージェントとの通信を試みる
ただし、エージェントとの通信ポートはソフト書き込み用ポートと兼用になるため、ちょっとややこしい
準備
micro-ROSエージェントはDockerで動作させるが、シリアルポートに接続するには、仮想マシンによるシリアル
RaspberryPi pico wでmicro-ROSを動かす(準備編)
背景micro-ROSのビルドはROS環境が必要で、事実上Linuxでの作業になる。
しかし、ライブラリのビルドのビルドさえできてしまえば、Windows環境でも開発が可能になると思い、ライブラリのビルドだけをDocker開発コンテナにやらせる方法を考えた。
環境WIndows11 + VScode + PlatformIO + Docker
手順1. PlatformIOにてRaspberr