Jetson XavierにROSを導入
参考にしたサイト
Robot Operating System (ROS) on NVIDIA Jetson AGX Xavier Developer Kit - JetsonHacks
melodic/Installation/Ubuntu - ROS Wiki
基本は上記のサイトを参考にすれば、導入できると思います。
ROS導入にあたって
色々なサイトを参考にすると、導入するROSはUbuntuのバージョンによって違うらしい?ということが書いてありました。
自分の所持しているJetson XavierはJetpack4.2.1なので、ROS Melodicを導入することになります。
・・・違っていたら、ごめんなさい。指摘ください。
ROSのinstall
wiki.ros.org
基本はこの通りに導入していくだけです。
バージョン違いの場合は適宜読み変えたりしてください。
『Ubuntuリポジトリの構成』
まずは、packages.ros.org. からダウンロードの受け入れを可能にします。
コマンドはこれを入力します。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
次にセットアップ用のkeyを設定します。
・・・Keyはどういうタイミングかは分かりませんが、変更されることもあるようです。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Key Serverにアクセスできない場合は、
sudo apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
もしくは、
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
通しでやるとこんな感じになります。
『ROS melodicのインストール』
例によって、まずaptをupdateします。
sudo apt update
次、ros-melodicをインストールします。
特に理由がなければ、full版でいいと思います。fullだとこんな感じ。
sudo apt install ros-melodic-desktop-full
これを実行すると、このようにパッケージのダウロードが始まり
インストール作業に移行し、
途中でこのように再起動がどうこう聞かれますが、
私はよくわからずにエンターを押してしまいましたが、上手くいきました。
ここでRestartしたかったのですが、できませんでしたが何とかなりました。
分かる人は教えてください。
・・・この辺は自己責任で。
このような感じで、ROS-Melodicのインストール作業は終了です。
ここでinstallしたROSの利用可能パッケージを確認します。
apt search ros-melodic
こんな感じですね。
ROSのinstall後の作業
ROSをinstallした後、利用するための準備がいるそうです。
・・・ここから先はよくわかっていませんが、書いてある通りにやればとりあえず動作しました。
まずは、rosdepと言うのをinitializeする必要があるようです。
sudo rosdep init rosdep update
この2行を入力します。
こんな感じです。
次に環境変数の設定です。
私にはわかりませんが、ROS環境変数がbashセッションに自動的に追加されると便利なのだそうです。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
上記コマンドを実行して、複数出てきた場合は、下記を実行するといいようです。
私の場合は複数出てきたので実行しました。
source /opt/ros/melodic/setup.bash
こんな感じですね。
次はパッケージの依存関係を定義するらしいです。
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
こんな感じになります。
以上で導入終了です。