おきも

以前に二足歩行ロボットの作成に挑戦しておりましたが、事実上休止状態になっておりました。…

おきも

以前に二足歩行ロボットの作成に挑戦しておりましたが、事実上休止状態になっておりました。 近年ロボットを取り巻く環境が大きく変わり、またチャレンジしてみたくなって、再開しました。 個人レベルでどこまでやれるかわかりませんが、自分のペースでやっていこうと思います。

最近の記事

Madgwickフィルタで姿勢の演算を行う

環境WIndows11 開発環境: VScode + PlatformIO + Docker 動作環境: WSL2(Ubuntu 22.04) + ROS2(Humble) 前回までのあらすじ9軸センサLSM9DS1の値を読み取り、その値をROSのトピックに乗せて配信し、そのトピックを購読した結果、センサーの値がわたっていることが確認できた。 今回の話Madgwickフィルタを使って、センサの値から現在の姿勢を演算し、トピック配信を試みる Madgwickフィルタ6軸あ

    • 9軸センサの値をカスタムメッセージに乗せて発信する

      環境WIndows11 開発環境: VScode + PlatformIO + Docker 動作環境: WSL2(Ubuntu 22.04) + ROS2(Humble) 前回までのあらすじカスタムメッセージをmicro-ROSで組み込み、エージェントを通じてROSのトピックとして配信され、ROSからもカスタムメッセージの型を認識して購読する仕組みを確認した。 今回の話たまたま入手していた9軸センサLSM9DS1の値を読み取り、その値をROSのトピックに乗せて配信する

      • 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_msgs --build-type ament_cmake --dependencie

        Madgwickフィルタで姿勢の演算を行う

          micro-rosとUnityの連携(ROS2経由)に挑戦

          前回までのあらすじUnity Robotics Hubを導入し、UnityからのトピックがROS2で流れていることが確認できた。 次はraspi-picowから送信されるトピックをUnity上で受信する仕掛けに挑戦する 参考にした書籍 Unity Robotics Hubの公式サイトUnity側の準備サブスクライバーを作ってみる 今回はトピックを購読する側のプログラムを作成する。 using System;using System.Collections;using

          micro-rosとUnityの連携(ROS2経由)に挑戦

          UnityとROS2の連携に挑戦

          前回までのあらすじWSL上でMicroROSエージェントを動作させ、ROS環境上に流れてくるメッセージを確認するところまでできた。 今回は Unity Robotics Hubを使って、Unity環境でROSのメッセージのやり取りができるかどうかを試す ROS2 for Unityもあったのだが…最初はこちらの使用を検討していたのだが、情報が少なく、さらにUnityがWindows、ROS2がWSL(Ubuntu)という環境にマッチしないであろうことが判明した。 当方のスキ

          UnityとROS2の連携に挑戦

          ROS2からmicrorosエージェントの送信メッセージを確認する

          前回までのあらすじエージェントとの通信をBluetoothで接続するよう通信モジュールを組み込み、PC側のエージェントとの通信に成功した。 ここからはホスト側のROSとエージェントとのつながりを見ていくことにする WSLにROS2をインストールする 公式のインストール方法に従ってインストールしていく デモを実施してみる チュートリアルのリンクも貼っておこう… micro-rosエージェントの導入 WSLにセットアップしたROS2にmicro-rosエージェントを導

          ROS2からmicrorosエージェントの送信メッセージを確認する

          RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その1)

          前回までのあらすじmicro-ROSの通信部をシリアル→Wi-Fiに変更し、エージェントとの通信を試みた。 いろいろと手を尽くしたが、残念ながらエージェントとの通信は成功しなかった。 Wondows11 + WSL + Dockerのネットワーク環境は魔境のようだった。 今回のテーマWi-Fiでの接続はあきらめ、もう一つの無線通信手段である、Bluetooth(Serialプロファイル)にて接続を試みる。 エージェントはシリアルでの動作となる。 ソフト変更以下のサイトを参

          RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その1)

          RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その2)

          前回までのあらすじRaspberryPi pico w側ソフトの通信部をカスタムとしてBluetoothシリアルで実装した 今回のテーマPC側で動作するエージェントの準備を行う エージェントはWSL上で動作するが、ホストOS(Windows側)で既に構築されたシリアルプロファイルだけをWSLにアクセスさせる方法はないため、WSL用にBluetoothアダプタをもう一つ用意する さらにデフォルトではBluetoothアダプタが有効になっていないため、カーネルの再構築が必要にな

          RaspberryPi pico wでmicro-ROSを動かす(Bluetooth編 その2)

          RaspberryPi pico wでmicro-ROSを動かす(WiFi編 その2)

          前回までのあらすじmicro-ROSの転送をSerialからWi-Fiに変更して、エージェントとの接続を試みたが、picoから送信はできているものの、Docker内で動いているエージェントには届いていないようだった。 ホストOSとゲストOS、Dockerシステムなどにより生成される仮想ネットワークが複雑に絡み合っているように思える。 本日のテーマWSLに関する設定を行って、ホストOSとゲストOSの転送を行うことで、Docker内のエージェントにUDPパケットが届くように試み

          RaspberryPi pico wでmicro-ROSを動かす(WiFi編 その2)

          RaspberryPi pico wでmicro-ROSを動かす(WiFi編)

          前回までのあらすじRaspberryPi pico wにmicro-ROSを組み込み、micro-ROSエージェントとシリアル通信で接続できていることを確認した。 今回のテーマシリアル通信ではエッジデバイスとホストマシンが有線接続になってしまい、配置や線の取り回しなどに制約が出てしまう。 RaspberryPi pico wは無線モジュールを搭載しており、WiFi/Bluetoothで他のデバイスと通信が可能である。 ホストマシンに配置されたエージェントと無線で接続できれ

          RaspberryPi pico wでmicro-ROSを動かす(WiFi編)

          RaspberryPi pico wでmicro-ROSを動かす(Serial編)

          前回までのあらすじ Windows環境上でRaspberryPi pico wにmicro-ROSを組み込むことができた。 今回はmicro-ROSエージェントとの通信を試みる ただし、エージェントとの通信ポートはソフト書き込み用ポートと兼用になるため、ちょっとややこしい 準備 micro-ROSエージェントはDockerで動作させるが、シリアルポートに接続するには、仮想マシンによるシリアルポート(USBモジュール)へのアクセスを許可する必要がある 参考 USBIP

          RaspberryPi pico wでmicro-ROSを動かす(Serial編)

          RaspberryPi pico wでmicro-ROSを動かす(準備編)

          背景micro-ROSのビルドはROS環境が必要で、事実上Linuxでの作業になる。 しかし、ライブラリのビルドのビルドさえできてしまえば、Windows環境でも開発が可能になると思い、ライブラリのビルドだけをDocker開発コンテナにやらせる方法を考えた。 環境WIndows11 + VScode + PlatformIO + Docker 手順1. PlatformIOにてRaspberryPi pico向けのプロジェクトを新規作成 2. platformio.in

          RaspberryPi pico wでmicro-ROSを動かす(準備編)