はじめに
swim-loverです。今回、新たにROSについて取り上げることにしました。ROSとは、Robot Operating Systemの略で、ロボット用のオペレーティングシステムです。ROSをRasberryPi4で動作させてみます。
ROSとは
ロボットは、カメラや赤外線センサー、加速度センサーなど様々なセンサーからのデータを元に、動作を行います。(例えば、距離センサーからの距離データをもとにサーボ制御でものをつかむ動作など)
各種センサーでやり取りするデータのフォーマット、ソフトウェアモジュール間(例えば、距離センサーソフトと姿勢制御ソフト間)のデータ送受信の方法をあらかじめ決めておき、OSでサポートすることにより、ソフトウェアの開発効率が向上します。
なお、ROSでは、ソフトウェアモジュールのことをノード(Node)、データ送信をアドバタイズ(Advatise)、データ受信をサブスクライブ(Subscribe)といっています。
参考とすべきサイト
- ROS.orgのWikiサイト 困ったときには、ここを参照すべきです。
ROS インストール on Rasberry Pi4
対象となるRaspberry Pi4 OS Ubutu 22.04
Raspberry Pi4 のOSはUbuntu22.04を使用します。Ubuntu22.04にROSをインストールします。22.04.2(jammy)がインストールされています。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/ubuntu20.04-1024x298.jpg)
ROSディストリビューション
ROSのディストリビューションは、以下のようになっています。
最新版は、Noetic 2022/3/23 リリースです。Raspberry Pi4にもこれをインストールします。
![](https://tech-swim-bike.info/wp-content/uploads/2023/02/dist-1-1024x699.jpg)
以下のインストレーションガイドを使用します。
Source list追加
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
ros-latest.listを確認してみます。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/source_list.jpg)
Curl インストール
sudo apt install curl # if you haven't already installed curl
鍵の追加
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
apt updateしてみました。ROSパッケージの取得でエラーが出ています、
Err:3 http://packages.ros.org/ros/ubuntu jammy Release
404 Not Found [IP: 64.50.233.100 80]
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/apt-update-1024x230.jpg)
パッケージの場所(https://packages.ros.org/ros/ubuntu/dists/)を確認しました。OS version22.04.2(jammy) のパッケージが用意されていないことが原因のようです。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/ros_package.jpg)
取り得る方法は、対応しているOS versionをインストールすることです。
22.04からのダウングレード方法はわからなかったため、20.04.5を再インストールしました。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/ubuntu20.04-1.jpg)
インストールしたのは、Server版であったため、gnome desktopをインストールします。
sudo apt install ubuntu-gnome-desktop
Souce listの追加からROSパッケージの取得までを実行してみます。
apt updateが問題なく終了しました。
予想外に時間を費やしてしましました。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/apt-update_2.jpg)
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/apt-update_3.jpg)
ros-noetic のパッケージが表示されています。
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/image.png)
すべてのデスクトップ環境のインストール
とりあえずデスクトップ環境をインストールします。
sudo apt install ros-noetic-desktop-full
環境変数の設定
以降の手順は、以下のサイトの手順をなぞっています。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UmFzcGJlcnJ5JTIwUGklMjA0JTIwJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJTlGUk9TJUU1JTg1JUE1JUU5JTk2JTgwJUUzJTgwJTgwJUU3JUFDJUFDMSVFNSU5QiU5RSVFMyU4MCU4MCVFNyU5MiVCMCVFNSVBMiU4MyVFNiVBNyU4QiVFNyVBRiU4OSVFMiU5MSVBMCVFMyU4MCU4MFVidW50dTIwLjA0JUUzJTgxJUE4Uk9TJUUzJTgxJUFFJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUJDJUUzJTgzJUFCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03NjJkYjdmYjgzMDk5MDEyNDNjMzMyZjMzODc4ZTU3Ng&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwSC1BbmRvLXJvYm8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWQ3ODAyMjhjNmVkNWE2ZTVhMzQyN2U3ZTk4ZmVjYjc0&blend-x=142&blend-y=491&blend-mode=normal&s=4d1b7f5e4c23bb2a2a812b0f0bbcd333)
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc
コマンドラインツールのインストール
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
ROS dep初期化
sudo rosdep init rosdep update
Work Spaceの作成
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make
ワークスペースのオーバーレイ
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
roscore起動
roscore
![](https://tech-swim-bike.info/wp-content/uploads/2023/03/image-1.png)
ようやくROSの起動まで確認できました。
まとめ
今回、新たにROSについて取り上げることにししました。ROSをRasberryPi4にインストールし、起動するところまで確認できました。
次回はカメラを使ったROSプログラムにトライしてみたいと思います。
![](https://tech-swim-bike.info/wp-content/uploads/2021/12/my_profile.png)
組み込み系ソフトエンジニアをしています。これまでフロントエンド技術は避けてきましたが、食わず嫌いをやめて、勉強を始めました。
趣味は、水泳、ロードバイク、ランニング、登山です。
組み込み系技術ネタ、勉強したフロントエンド技術、たまに趣味の運動について発信していきます。
どうぞよろしくお願いします。
コメント