最新のROS2のインストールは本家のページを参考にしてください。
下記は、Ubuntu22.04へのROS 2 Humbleのインストールの例
下記コマンドを端末に入力してインストール環境を設定します。
$ sudo apt install software-properties-common
$ sudo add-apt-repository universe
$ sudo apt update && sudo apt install curl
$ 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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
下記コマンドでインストール
$ sudo apt update && sudo apt upgrade
$ sudo apt install ros-humble-desktop
下記コマンドで.bashrcにパスを設定して端末に反映させます。
$ echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
下記コマンドで1つの端末からトピックを発信するノードを立ち上げる。
$ ros2 run demo_nodes_cpp talker
もう一つ端末を立ち上げてから、下記コマンドでトピックを受信して表示するノードを立ち上げる。
$ ros2 run demo_nodes_py listener
2つの端末で同じメッセージが出てきたら成功。
以上でインストール作業は終わりです。
ROS 2はcolcon buildを使うので下記でインストール。rosdepもインストールしておく.
$ sudo apt install python3-colcon-common-extensions python3-rosdep
rosdepで依存関係を初期化しておく.その後に(どこでもいいですが)、ホームディレクトリ直下に分かりやすく「ros2_ws」というディレクトリを作ります。名前は好きに決定できる。
$ sudo rosdep init
$ rosdep update
$ mkdir -p ~/ros2_ws/src
$ cd ros2_ws/
$ colcon build
$ source ~/ros2_ws/install/setup.bash
ワークスペースの設定を反映させるために毎回source ~/ros2_ws/install/setup.bashを書くのは面倒なので、下記のように.bashrcに追記しておくと良い。
$ echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
colcon buildは毎回作業ディレクトリに移動してからコマンドを入力しなくてはいけないので、ショートカットを作成しておくと楽です。
下記でショートカットを追加。
$ echo "alias cb='cd ~/ros2_ws/&&colcon build'" >> ~/.bashrc
$ source ~/.bashrc
上記を設定すると cb と端末で入力するだけでbuildしてくれるようになります。cbの名前は好きに設定してください。
毎回colcon buildをやると全部のコンパイルを始めるので、下記コマンドで今作ったパッケージのみコンパイルすることができる。
cd ~/ros2_ws
colcon build --packages-select パッケージ名
source install/setup.bash