はじめに
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)がインストールされています。
ROSディストリビューション
ROSのディストリビューションは、以下のようになっています。
最新版は、Noetic 2022/3/23 リリースです。Raspberry Pi4にもこれをインストールします。
以下のインストレーションガイドを使用します。
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を確認してみます。
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://packages.ros.org/ros/ubuntu/dists/)を確認しました。OS version22.04.2(jammy) のパッケージが用意されていないことが原因のようです。
取り得る方法は、対応しているOS versionをインストールすることです。
22.04からのダウングレード方法はわからなかったため、20.04.5を再インストールしました。
インストールしたのは、Server版であったため、gnome desktopをインストールします。
sudo apt install ubuntu-gnome-desktop
Souce listの追加からROSパッケージの取得までを実行してみます。
apt updateが問題なく終了しました。
予想外に時間を費やしてしましました。
ros-noetic のパッケージが表示されています。
すべてのデスクトップ環境のインストール
とりあえずデスクトップ環境をインストールします。
sudo apt install ros-noetic-desktop-full
環境変数の設定
以降の手順は、以下のサイトの手順をなぞっています。
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
ようやくROSの起動まで確認できました。
まとめ
今回、新たにROSについて取り上げることにししました。ROSをRasberryPi4にインストールし、起動するところまで確認できました。
次回はカメラを使ったROSプログラムにトライしてみたいと思います。
組み込み系ソフトエンジニアをしています。これまでフロントエンド技術は避けてきましたが、食わず嫌いをやめて、勉強を始めました。
趣味は、水泳、ロードバイク、ランニング、登山です。
組み込み系技術ネタ、勉強したフロントエンド技術、たまに趣味の運動について発信していきます。
どうぞよろしくお願いします。
コメント