LoginSignup
1
0

More than 1 year has passed since last update.

Ubuntu16.04LTSを用いたAstrobeeシュミレーション環境構築手順 non-Docker版 (2021-0608)

Last updated at Posted at 2021-06-08

参考:
NASA Astrobee Robot Software 0.14.3
Usage instructions for non-NASA users

※注意

すべてNASAのGithubに書いてある内容です。
現時点(2021-0608)で初見でインストール手順を調べると古い情報に翻弄され時間を無駄にしてしまったので備忘録として残します。Docker版ではなくネイティブ?に構築する手順です。

推奨環境

Usage instructions for non-NASA users:Note

Note: You will need 4 GBs of RAM to compile the software. If you don't have that much RAM available, please use swap space.

Note: Preferably install Ubuntu 16.04. At this time we do not officially support any other operating system or Ubuntu version. Experimental instructions steps for Ubuntu 18 installation are included

Note: Please ensure you install the 64-bit version of Ubuntu. We do not support running Astrobee Robot Software on 32-bit systems.

・4GB以上のメモリー
・Ubuntu16.04を推奨
・64ビット版のUbuntuをインストールしてください
と記載があります。
Dockerでも提供されているため使い慣れている方はDockerでの使用をおすすめします。
参考:
Usage instructions for Docker

Machine setup

プロジェクトのソース コードをチェックアウトする

  • ソースコード (SOURCE_PATH) をマシンのどこに置くか決める
export SOURCE_PATH=$HOME/astrobee

解説:
インストール作業中に簡単にディレクトリ移動できるようにPATHを設定.
PATH設定をすることで次からpushd $SOURCE_PATHで設定したディレクトリ$HOME/astrobeeに移動するなど便利な使い方ができるようになる。

  • フライト ソフトウェアのリポジトリとメディアを複製
git clone https://github.com/nasa/astrobee.git $SOURCE_PATH 
pushd $SOURCE_PATH 
git submodule update --init --depth 1 description/media

解説:
astrobee リポジトリを$SOURCE_PATH にクローンする
$SOURCE_PATHへ移動
サブモジュールを限定的に取得している?ですかね.gitに詳しくないので割愛します.

  • ゲストサイエンス コードを使用する予定の場合は、astrobee_android リポジトリも必要になります。リポジトリは、ソースコードをチェックアウトしたのと同じディレクトリでチェックアウトする必要があります。
export ANDROID_PATH="${SOURCE_PATH}_android"
git clone https://github.com/nasa/astrobee_android.git $ANDROID_PATH

解説:
ANDROID_PATHのPATH設定をした後、Android リポジトリをクローンする

依存関係

必要なすべての依存関係をインストールします。

Dependencies
Next, install all required dependencies:

Note: root access is necessary to install the compiled debian packages below

Note: Before running this please ensure that your system is completely updated by running 'sudo apt->get update' and then 'sudo apt-get upgrade'

リポジトリをupdate&upgradeしておく
sudo apt update 
sudo apt upgrade -y
pushd $SOURCE_PATH
cd scripts/setup
./add_ros_repository.sh
sudo apt-get update
cd debians
./build_install_debians.sh
cd ../
./install_desktop_packages.sh
sudo rosdep init
rosdep update
popd

解説:
特に解説箇所がないので省略します。
上から順に実行してください。
かなり時間がかかります
以下のエラーメッセージは、特定のライブラリが見つからないことを知らせているだけなので、無視して構わないようです。
これらのライブラリはNASA内部でのみ使用されるものであり、DDSを無効にしてソフトウェアを起動している一般ユーザーには必要ありません。とのことです。

E: Unable to locate package libroyale1
E: Unable to locate package rti
E: Unable to locate package libmiro0
E: Unable to locate package libsoracore1
E: Unable to locate package libroyale-dev
E: Unable to locate package rti-dev
E: Unable to locate package libsoracore-dev
E: Unable to locate package libmiro-dev

ビルドの設定

デフォルトでconfigure script は以下のパスを使用するそうです
native build path: $HOME/astrobee_build/native
native install path: $HOME/astrobee_install/native
上記で示されている通りにPATHの設定をしていきます。

PATH設定
export BUILD_PATH=$HOME/astrobee_build/native
export INSTALL_PATH=$HOME/astrobee_install/native

ネイティブビルド

ビルドディレクトリとインストールディレクトリを明示的に指定したいので下記のコマンドを使用します。

pushd $SOURCE_PATH
./scripts/configure.sh -l -F -D -p $INSTALL_PATH -b $BUILD_PATH
popd

オプションの解説:
注意:-Fと-Dのフラグは必ず使用してください。これらのフラグが使用されていない場合、コードはコンパイルされません。F フラグは、Picoflex のビルドをオフにするために使用します。これはロボット上で動作させる場合にのみ必要で、シミュレータでは必要ありません。Dは、ddsブリッジの構築をオフにするために使用します。ブリッジは地上データシステムとの通信に使用されますが、シミュレータでは必要ありません。とのことです。

コードのビルド

pushd $BUILD_PATH
make -j2
popd

解説:
$BUILD_PATHへ移動
ビルド
元のディレクトリへ移動

個人的に思うこと:
make -j2は余裕のあるパソコンならmake -j4でも良い気がしてる。試してないけど。

起動下準備

シミュレータを起動するまえに、ROSのセットアップを行います。
NASAの資料をさらっと見た限りではROSセットアップについて書かれている箇所は見つけられませんでした。

**※追記-2021-0611********************************************
同じページに記載箇所を見つけたので参考にしてください。
Simulator usage instructions for non-NASA users
*********************************************************************

今回NASAのastrobeeシミュレータを動かすよを参考にさせていただきます。
ROSセットアップを含めPATH設定などはターミナルを閉じるたびにその都度再度実行しないとシュミレータが起動しないので注意が必要です。
エイリアスに登録すると楽かもしれませんね。

pushd $BUILD_PATH
source devel/setup.bash
popd

解説:
$BUILD_PATHへ移動(~/astrobee_build/native)
$BUILD_PATH/devel/setup.bashを読み込む
popdコマンドで~/astrobeeへ移動
Screenshot from 2021-06-08 20-20-28.png

2回目以降
export SOURCE_PATH=$HOME/astrobee
pushd $SOURCE_PATH
export BUILD_PATH=$HOME/astrobee_build/native
pushd $BUILD_PATH
source devel/setup.bash
popd
roslaunch astrobee sim.launch dds:=false robot:=sim_pub rviz:=true

終わりに

ここまでエラーなく完了すればシュミレーション環境の構築は成功だと思っています。
シュミレーションの起動コマンドですがこちらNASAのastrobeeシミュレータを動かすよを参考に
roslaunch astrobee sim.launch dds:=false robot:=sim_pub rviz:=true
で起動確認できました。
Screenshot from 2021-06-08 15-19-32.png
Screenshot from 2021-06-08 15-47-26.png

rosrun executive teleop_tool -undock 左のundockコマンドを実行したかったんですが何処に入力すればいいのかよく分かっていません。
他にもastrobeeのハートビート?が応答ないよだったりのエラーが出てます。

Screenshot from 2021-06-08 20-25-06.png
2度目の実行では何やらメソッドがないとエラーが出てくれました。やはり最新版(2021-0608現在)色々変更されているようですね。
シュミレータの使い方が分かり次第更新していきたいと思います。

---追記2021-0608-21:12
参考:
Simulator usage instructions for non-NASA users
下記のコマンドで別の位置にAstrobeeを表示することが出来ました。

roslaunch astrobee sim.launch dds:=false robot:=sim_pub rviz:=true pose:="11.25 -6.95 4.49 0 0 0 1"

Screenshot from 2021-06-08 21-11-50.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0