●目次

・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

●イメージファイル配布

準備中