Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

microROSをRaspberry Pi Picoでつかってみる その1:通信環境を構築

研究生活を当時M2Mと呼ばれていたIoTまわりから始めたクチなので、
スマートなセンサーの集合体には今でも一定の憧れ的な感情を持っています。

……というわけで、仕事に繋がるかはさておき、ちょっとmicroROSという奴でデータをとってROS2駆動のロボットアームに何かを繋げるモンを作ってみようと思います。

実際のところ

microROS、とりあえず構築すればROS2に繋がるのかと思ったら……通信路は別に用意しないといけないそうで。
その名もMicro-XRCE-DDS Agent…… Micro - eXtremely Resource Constrained Environments - Data Distribution Service Agent ……???

DDSはData Distribution Service、つまり分散ネットワークを単純化する目的で設計されたミドルウェアで、ROSでもやってるpub-sub式の構造をもっているそう。
で、XRCEは「クッソ貧弱な装置環境」という意味。
それにご丁寧にMicroまでつく事で……アホほどクッソ貧弱な装置環境を何とかしてpub-subに適用する超絶技術への中継ツール……って事に……なりませんかね(小声

必要なソフトウェア

sudo apt update && sudo apt install -y build-essential cmake git

リポジトリのcloneとビルド

git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build && cd build
cmake ..
make
sudo make install

起動

デフォではUDPの通信らしいので

$ MicroXRCEAgent udp -p 8888