ROS2のインストール
1.1. 本文紹介
ROSはロボット向けのオープンソースのメタオペレーティングシステム(Meta-operating system)です。ハードウェア抽象化、低レベルデバイス制御、一般的な機能の実装、プロセス間メッセージ通信、パッケージ管理など、オペレーティングシステムに求められるサービスを提供します。ある意味で、ROSは一種の「ロボットフレームワーク(robot frameworks)」に相当します。

1.1. 本文紹介 図1
1.1.2 ROS2とROS1の違い
ROS2はROS1の後継として、ROSのコア機能を維持しつつ、多くの改良と最適化が行われています。ROS1と比較して、ROS2はROS1にあった「Master」中央ノードを廃止し、ノードの分散型ディスカバリ、パブリッシュ/サブスクライブ(Pub/Sub)、リクエスト/レスポンス通信を実現しました。ROS1が独自のミドルウェア(roscore)を使用していたのに対し、ROS2はDDSミドルウェアを使用します。また、ビルドシステムとしてROS1は catkin を使用していましたが、ROS2は colcon を使用しています。

1.1.2 ROS2とROS1の違い 図2
1.2. ROS2のインストール
1.2.1 locale(ロケール)の設定
localeのインストール
locale \# check for UTF-8
1.2.1 locale(ロケール)の設定 図3
sudo apt update && sudo apt install locales# localeの構成(生成)
sudo locale-gen en_US en_US.UTF-8
1.2.1 locale(ロケール)の設定 図4
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export LANG=en_US.UTF-8
1.2.1 locale(ロケール)の設定 図5
locale \# 設定の確認
1.2.1 locale(ロケール)の設定 図6
1.2.2 APTリポジトリ(ソース)の設定
sudo apt install software-properties-common
1.2.2 APTリポジトリ(ソース)の設定 図7
sudo add-apt-repository universe
1.2.2 APTリポジトリ(ソース)の設定 図8
# curlライブラリのインストール
sudo apt install curl -y# 環境変数の追加
export ROS_APT_SOURCE_VERSION=\$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest \| grep -F "tag_name" \| awk -F'"' '{print \$4}')# パッケージのダウンロード
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/\${ROS_APT_SOURCE_VERSION}/ros2-apt-source\_\${ROS_APT_SOURCE_VERSION}.\$(. /etc/os-release && echo \${UBUNTU_CODENAME:-\${VERSION_CODENAME}})\_all.deb"
1.2.2 APTリポジトリ(ソース)の設定 図9
# パッケージのインストール(展開)
sudo dpkg -i /tmp/ros2-apt-source.deb
1.2.2 APTリポジトリ(ソース)の設定 図10
1.2.3 インストール
# 新しいリポジトリのパッケージを更新およびアップグレード
sudo apt update && sudo apt upgradeインストールには2つのバージョンがあります:
(1)Desktop版(推奨):ROS, RViz, demos, tutorials が含まれます。
(2)Base版: Communication libraries, message packages, command line tools. GUIツールは含まれません。
# Desktop版をインストールする場合
sudo apt install ros-humble-desktop# 開発ツールのインストール(オプション)
sudo apt install ros-dev-tools# 環境変数の設定
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrcsource ~/.bashrc1.3. ROS2のテスト
1.3.1 デスクトップシステムのリモート制御
インストール完了後、MobaXterm上でxfceデスクトップ環境を実行します:
startxfce41.3.2 ROS2テスト
(1)パブリッシュ/サブスクライブ(Pub/Sub)テスト:**
端末(ターミナル)を開き、以下を実行します:
ros2 run demo_nodes_cpp talker新しい端末をもう一つ開き、以下を実行します:
ros2 run demo_nodes_py listener
1.3.2 ROS2テスト 図11
(2)タートルシム(Turtlesim)テスト:**
8インチディスプレイとマウス、キーボードを接続し、端末を起動して以下を実行します:
ros2 run turtlesim turtlesim_nodeキーボードを使用して亀を操作したい場合は、新しく端末を開き、以下を実行します:
ros2 run turtlesim turtle_teleop_key
1.3.2 ROS2テスト 図12