【簡単】ROSのコマンド補完をfishで実現する方法

今回はfishというshellにおいてROSのコマンド補完を行う方法について解説していきます.bashでは基本的にROSの設定さえすればtab補完が使えますがfishでは一手間加えないといけないということで今回はfishでの補完についてみなさんにお伝えしていきます.

はじめに

ROSはロボット開発のための一般的なプラットフォームです.通常はドキュメントとかがあるようなもんですがrosbashなどshellに関してはROSはドキュメントを作成していません.以下の文章が公式に記載されているのみです.
The rosbash package includes limited support for zsh and tcsh by way of sourcing the roszsh or rostcsh files respectively. We currently do not provide documentation on these shells, though much of the functionality is similar to the bash shell extensions.
というわけでfishをbashの代わりに使用するにはどうすればいいのかということを解説していきます.

config.fishの設定

roscdrosed などを使うためにそもそも関数を読み込む必要があります.source /opt/ros/lunar/setup.bash.bashrc に書き込むのと同じように ~/.config/fish/config.fish に以下のコマンドを記述しましょう.
source /opt/ros/kinetic/share/rosbash/rosfish
これで基本的にROSのコマンドがtab補完されるようになります!!

workspaceでsourceする方法

基本的にROSではworkspaceを devel/setup.bash をsourceで読み込むことで rosrun とかを使えるようにします.ただ,通常のbashファイルはfishでは読み込むことができないためbassというものをInstallしておきましょう.
Install方法についてはこの記事にて解説させていただいています.
というわけでworkspaceを読み込む際は以下のコマンドを使うようにしましょう.
bass source devel/setup.bash

さいごに

というわけで今回はfishでROSを快適に使用するための方法について解説致しました.みなさんの助けになれば幸いです.

参考サイト

https://yodahuang.github.io/articles/How-to-let-ROS-play-happily-with-fish/

0 件のコメント :

コメントを投稿