参考:
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'
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の設定をしていきます。
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
へ移動
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
で起動確認できました。
rosrun executive teleop_tool -undock
左のundockコマンドを実行したかったんですが何処に入力すればいいのかよく分かっていません。
他にもastrobeeのハートビート?が応答ないよだったりのエラーが出てます。
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"