RasPike‐ROS環境構築1 - Hiyama1026/raspike-ros GitHub Wiki
Raspberry Pi用OSのインストールとROS 2のインストール
- AまたはBのどちらかを実施する
A:Ubuntu22.04LTSを使用する場合
-
Ubuntu22.04のイメージファイルを入手し,RaspberryPI OS Imager等を使用してSDカードに焼く
- イメージ入手先例:下記サイトのPreinstalled desktop image
- https://ftp.jaist.ac.jp/pub/Linux/ubuntu-cdimage/ubuntu/releases/22.04/release/
- ダウンロード後,xzファイルを解凍して使用
- イメージ入手先例:下記サイトのPreinstalled desktop image
-
ROS 2公式サイト,もしくは付録の「Ubuntu PCにROS 2 Humbleをインストールする方法」に従い,ROS 2 Humbleをインストール
-
GPIOの接続を有効にする
-
これは下記ETロボコンの環境構築方法と同様に32番,33番ピンを使用する方法である
-
下記のコマンドで設定ファイルを開く
sudo nano /boot/firmware/config.txt
-
config.txtの最後に下記を追加
enable_uart=6 dtoverlay=uart5
-
リブートする
sudo reboot
-
-
ROS 2ワークスペースの作成とパッケージのビルド
-
ROS 2用のワークスペースを作成する
mkdir ros2_ws cd ros2_ws mkdir src
-
ROS 2パッケージをワークスペースに置く
ros2_ws/src
に以下のファイルを置く- raspike_uros_msg
- ros2_raspike_rt (ROS2 APIを直接扱って開発を行う場合は不要)
- linetrace_sample(サンプルのためどちらでも良い)
-
ROS 2パッケージをビルドする
colcon build . install/setup.bash
-
-
Cパッケージのビルド時にエラーになる場合の解決方法
- Cパッケージ(raspike_uros_msg)のビルドでエラーになる事がある
- その場合は
/opt/ros/humble/opt
にあるlibcurl_vendor
フォルダを削除するcd /opt/ros/humble/opt sudo rm -rf libcurl_vendor cd ~/ros2_ws colcon build
B:Raspberry Pi OSを使用する場合
-
Raspberry Pi OS (64bit)をインストール
-
GPIOの接続を有効にする
-
これは下記ETロボコンの環境構築方法と同様に32番,33番ピンを使用する方法である
-
下記のコマンドで設定ファイルを開く
sudo nano /boot/config.txt
-
config.txtの最後に下記を追加
enable_uart=6 dtoverlay=uart5
-
リブートする
sudo reboot
-
シリアル通信のケーブルをRaspberry Piに接続する
- 参考:RasPike
-
-
ROS 2のインストール
-
アップデート
sudo apt update sudo apt -y upgrade
-
ROS 2パッケージをインストールする
wget https://s3.ap-northeast-1.wasabisys.com/download-raw/dpkg/ros2-desktop/debian/bullseye/ros-humble-desktop-0.3.1_arm64.deb sudo apt install -y ./ros-humble-desktop-0.3.1_arm64.deb source /opt/ros/humble/setup.bash
-
ビルドツールのインストール
sudo pip install vcstool colcon-common-extensions
-
ROS環境の自動読み込み設定
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
-
動作確認
ros2 launch demo_nodes_cpp talker_listener.launch.py
- 下記のように出力されれば成功
[INFO] [launch]: All log files can be found below /home/hiyama/.ros/log/2023-07-04-14-52-42-067659-raspi-1582 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [talker-1]: process started with pid [1583] [INFO] [listener-2]: process started with pid [1585] [talker-1] [INFO] [1688449964.564641073] [talker]: Publishing: 'Hello World: 1' [listener-2] [INFO] [1688449964.565626925] [listener]: I heard: [Hello World: 1] [talker-1] [INFO] [1688449965.564647258] [talker]: Publishing: 'Hello World: 2' [listener-2] [INFO] [1688449965.565234628] [listener]: I heard: [Hello World: 2] ...
-
ROS 2用のワークスペースを作成する
mkdir ros2_ws cd ros2_ws mkdir src
-
ROS 2パッケージをワークスペースに置く
ros2_ws/src
に以下のファイルを置く- raspike_uros_msg
- ros2_raspike_rt (ROS2 APIを直接扱って開発を行う場合は不要)
- linetrace_sample(サンプルのためどちらでも良い)
-
ROS 2パッケージをビルドする
colcon build . install/setup.bash
-
-
Cパッケージのビルド時にエラーになる場合の解決方法
- Cパッケージ(raspike_uros_msg)のビルドでエラーになる事がある
- その場合は
/opt/ros/humble/opt
にあるlibcurl_vendor
フォルダを削除するcd /opt/ros/humble/opt sudo rm -rf libcurl_vendor cd ~/ros2_ws colcon build