02. ROS のインストール#
関連リンク:
この記事の後、世界に rosdep の更新失敗問題は存在しなくなります!もしあれば.... 小魚は... (qq.com)
2.1 ROS とは?#
ROS はロボット用のオープンソースのメタオペレーティングシステムです。ハードウェアの抽象化、低レベルのデバイス制御、一般的な関数の実装、プロセス間のメッセージ伝達、およびパッケージ管理を含む、オペレーティングシステムが提供すべきサービスを提供します。また、コードを取得、コンパイル、記述、およびコンピュータ間で実行するために必要なツールやライブラリ関数も提供します。ある意味で、ROS は「ロボットフレームワーク」に相当します。類似の「ロボットフレームワーク」には、Player、YARP、Orocos、CARMEN、Orca、MOOS、Microsoft Robotics Studio があります。
ROS の実行時の「ブループリント」は、ROS 通信基盤に基づく疎結合のピアツーピアプロセスネットワークです。ROS は、同期 RPC スタイル通信に基づくサービス(services)メカニズム、非同期ストリーミングデータに基づくトピック(topics)メカニズム、およびデータストレージ用のパラメータサーバー(Parameter Server)など、いくつかの異なる通信方法を実装しています。これらの概念についてさらに詳しく説明するには、概念の概要を参照してください。
ROS はリアルタイムフレームワークではありませんが、ROS はリアルタイムプログラムに埋め込むことができます。Willow Garage の PR2 ロボットは、pr2_etherCAT と呼ばれるシステムを使用して、リアルタイムで ROS メッセージを送受信します。ROS は Orocos リアルタイムツールキットともシームレスに統合できます。
2.2 インストール手順#
この記事でインストールするバージョンは ROS Melodic
、使用するシステムは Ubuntu18.04
です。
2.2.1 ミラーソースの追加#
ここでは清華のミラーソースを設定しています。
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2.2.2 キーの設定#
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
2.2.3 パッケージインデックスの更新#
Debian パッケージインデックスが最新であることを確認してください:
sudo apt update
GPG エラーが発生した場合
解決方法:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FEEA9169307EA071
FEEA9169307EA071
を自分のNO_PUBKEY
の値に置き換えます。
/etc/apt/sources.list を編集します。
sudo gedit /etc/apt/sources.list
解決方法(必要かどうかは一時的に不明)
ubuntu18.04 に適用
aliyun を使用し、sources.list の内容を以下のように変更します
deb http://mirrors.aliyun.com/ubuntu bionic main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-backports main multiverse restricted universe
12345
最後にパッケージを更新します。
sudo apt update
または
sudo apt-get update
2.2.4 ROS デスクトップ完全版のインストール#
デスクトップ完全版(推奨): ROS、rqt、rviz、ロボット共通ライブラリ、2D/3D シミュレーター、ナビゲーション、および 2D/3D 認識パッケージを含みます。
sudo apt install ros-melodic-desktop-full
エラーが発生した場合
最終的に最も簡単な解決策を見つけました:
ubuntu の設定でシステム更新をオンにします……
その後、sudo apt-get install ros-melodic-desktop-full
を再インストールすると、問題は解決しました。
その後、sudo rosdep
コマンドが見つからないというエラーを避けるために、以下のコマンドを実行する必要があります。
sudo apt install python-rosdep
2.2.5 rosdep の初期化と rosdep update の実行#
ROS を使用する前に、まず rosdep を初期化します。rosdep は、コンパイルするソースコードのシステム依存関係を簡単にインストールできます。rosdep は ROS のコアコンポーネントが動作するための基盤です。
sudo rosdep init
(廃止) rosdep update
(廃止)
ダウンロードが関係しているため、ウェブサイトが海外にあると、これらのコマンドはエラーになります。そのため、この方法は廃止し、国内の大手(公式アカウント:魚香 ROS)の解決策に変更します。
2.2.5.1 python3-pip のインストール#
sudo apt-get install python3-pip
2.2.5.2 rosdepc のインストール#
sudo pip3 install rosdepc
2.2.5.3 rosdepc init#
sudo rosdepc init
2.2.5.4 rosdepc の更新#
rosdepc update
2.2.6 ros 環境変数の追加#
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.2.7 開発者自身の ROS ワークスペースを構築および管理するために、rosinstall もインストールする必要があります。#
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
2.2.8 小海亀の例を起動して ROS 環境をテスト#
2.2.8.1 最初のターミナルで以下のコマンドを実行#
roscore
2.2.8.2 2 番目のターミナルを開き、Ctrl+Shift+Tショートカットキーを利用して新しいターミナルを開き、以下のコマンドを実行します。これで静止した小海亀が見えます。#
rosrun turtlesim turtlesim_node
2.2.8.3 小海亀が動くようにしたい場合は、3 番目のターミナルを開き、Ctrl+Shift+Tショートカットキーを使って新しいターミナルを開き、turtlesim のキーボード制御ノード turtle_teleop_key を起動し、以下のコマンドを実行します。#
rosrun turtlesim turtle_teleop_key
(ここで、マウスは現在のターミナル画面に留めておき、キーボードの 上下左右キーを使って小海亀の移動を制御します)
キーボードの「上下左右」 | 小海亀の移動状況 |
---|---|
上 | 前進 |
下 | 後退 |
左 | 原地で左回転 |
右 | 原地で右回転 |
これで ros のインストールが完了しました。
お祝いの花✿✿ヽ (°▽°) ノ✿