●目次
・OS導入
・ROS2 インストール
・mros2
・イメージファイル配布
(Ubuntu22.04+Humbleとの差異がある点にのみ記載します。
デモンストレーションの類は他ページを参考ください。何回も書くのも疲れた。。。)
●OS導入
1.bookworm 64bitを入れる
これは公式通りです。どこのHPでも記載があるのでそちらでお願いします
インストールはヘッドレスでもできますしローカルでもできますが、この辺のやり方もわかっている前提で行きます。
2.リモートデスクトップを通るようにする
sudo apt update
sudo apt upgrade
sudo apt install xrdp tightvncserver
sudo systemctl set-default multi-user.target
sudo systemctl set-default multi-user.target は、CLIでログインするコマンド。
startxってやれば、GUIに移行できるのでご安心を。
3.そのほか諸々ツール類をインストール(私的お決まり品)
sudo apt install fcitx-mozc fdclone tightvncserver xrdp gddrescue parted gparted cpufrequtils remmina chromium-browser chromium-browser-l10n terminator pcmanfm-qt libc6-dev build-essential i2c-tools git vlc remmina-plugin-rdp remmina-plugin-vnc blueman net-tools netcat-traditional git build-essential libx11-dev python3-pip cmatrix hollywood sl fortune bastet curl code
mkdir 00_temp
mkdir 01_install
●ROS2インストール
sudo apt install software-properties-common
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu bookworm main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update && sudo apt install -y \
python3-flake8-docstrings \
python3-pip \
python3-pytest-cov \
python3-flake8-blind-except \
python3-flake8-builtins \
python3-flake8-class-newline \
python3-flake8-comprehensions \
python3-flake8-deprecated \
python3-flake8-import-order \
python3-flake8-quotes \
python3-pytest-repeat \
python3-pytest-rerunfailures \
ros-dev-tools
mkdir -p ~/01_ros2_humble/src
cd ~/01_ros2_humble
vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"
#以下、Ubuntuと同じように/opt以下に基幹ソフトウエアをインストールする方法
sudo mkdir -p /opt/ros/humble
sudo colcon build --install-base /opt/ros/humble
最後の1行のコンパイルコマンド、よく紹介されているのは「colcon build –symlink-install」だが、これだとUbuntuでバイナリーセットアップした時と同じにはならない。
そして導入時に使ったソースが入ったディレクトリ(今回の例では~/01_ros2_humble/)が消せない(消したら動かなくなる)
以下、~/.bashrcに追加
source /opt/ros/humble/setup.bash
source ~/11_colcon_ws/install/setup.bash
で、以下が動けばまずは成功
・確認。
新しくコンソールを2つ起動し

それぞれで
ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener
を実行。

●MBEDコンパイル環境+mros2開発環境導入
今回はDockerで行きます。いろいろUbuntuとの採点を吸収するのが非常に厄介なので。
あと、なにもラズパイ5でクロスコンパイルする必要はなくて、Win上でバーチャルマシンでUbuntuを動かしてもいいわけで(むしろその方が選択肢が増える)、その場合のセットアップの仕方はこちら
・Dockerをインストールする
現状、Dockerでコンパイルした場合、コンパイルにより生成されたファイルやディレクトリはrootが持ち主となります。後日Mbed-CLIでコンパイルしたりファイル操作したりするときに支障が出た場合、エラーメッセージをよく見てpermission Deniedとか言ってた場合はこの辺の権限を疑ってみてください。
まずDocker動作環境をインストール
sudo apt install docker.io
sudo docker pull ghcr.io/armmbed/mbed-os-env:mbed-os-6-latest
Dockerをpiユーザーから実行できるようにグループに登録
sudo gpasswd -a pi docker
●イメージファイル配布
準備中