目次
- 目次
- はじめに
- indigoインストール時の注意点
- catkinについて
- catkinの読み方
- catkin_wsの中身
- ROSのパッケージの命名規則
- package.xmlの各タグの意味
- CMakeList.txtのコードの説明
- ROSのシェル・コマンド
- catkin_create_pkg <パッケージ名> [依存パッケージ1] ..
- catkin_make --pkg <パッケージ名>
- rospack profile
- msgファイルのみで構成されるパッケージを作った方が良い
- ServiceをCallしたい時にはrqt Service Callerを使うと良い
- catkinのROSパッケージはapt-getでインストールできる
- Move itを使うことでアームのパスプランニングができる
- 最後に
- 参考資料
- MyEnigma Supporters
はじめに
先日、twitter上で
無料公開された日本語のROS本が話題になっていました。
九州大学のロボット研究者が公開してるROS本かなりよくできてる。日本語のROS入門書の決定版になりそう。/ 詳説 ROSロボットプログラミング
https://t.co/R1gQsHV5nx
— ooooo (@ooooo) 2015, 12月 15
九大・倉爪研で執筆されたROSの本が無料公開されました!このボリュームで!!あとで読もう。 >ROSロボットプログラミング - 導入からSLAM・Gazebo・MoveItまで - https://t.co/GzoqJrrf67
— S. Makita (@twmaks) 2015, 12月 2
これをクリエイティブコモンズライセンスで無料公開するとは・・・。凄い。
「 詳説 ROSロボットプログラミング」
https://t.co/9MEKI8Hwot
— Shuuji Kajita (@s_kajita) 2015, 11月 30
九州大学の倉爪研修室の方々が執筆し、公開しているようです。
ROSのユーザの一人として読んでみた所、
今まで知らなかったことが沢山あったので、
メモとして残しておきたいと思います。
indigoインストール時の注意点
公式HPには無い、いくつかの注意点がありました。
ibg11-mesa-driのエラーが出た時
下記をインストールする
$ sudo apt-get install libgl1-mesa-dev-lts-utpic
NTPの設定をする
複数台のPCでトピックをやり取りをする場合、
初めにNTPの設定をちゃんとした方が良いみたいです。
$ sudo apt-get install chrony
$ sudo ntpdate -q ntp.ubuntu.com
NTPサーバは日本の場合、下記でも良いと思います。
$ sudo ntpdate -q ntp.nict.jp
rqtのすべてのプラグインをインストールする
通常のdesktop-fullでは、
インストールされないrqtのプラグインを
下記のコマンドですべてインストールします。
$ sudo apt-get install ros-indog-rqt*
catkinについて
catkinの読み方
これまでなんとなくカトキンと読んでいましたが、
実はキャッキンと読むらしいです。。。(笑)
catkin_wsの中身
catkin_wsの下には下記のディレクトリがあります。
/build ビルド関係ファイル
/debel msg or srvのヘッダファイルやユーザパッケージのライブラリまたは実行ファイル
/src ユーザパッケージ
ROSのパッケージの命名規則
小文字でアンダースコアで繋ぐ
package.xmlの各タグの意味
<package>
パッケージの名前
変更可能だが、CMakeListsのprojectの部分と同じ名前である必要あり
<author>
開発者の名前
複数開発者がいる場合は複数のauthorタグを使えば良い
<build_depend>
パッケージをビルドする時に依存するパッケージ名を書く
<run_depend>
実行時に依存するパッケージ名を書く
<test_depend>
テスト時に依存するパッケージ名を書く
CMakeList.txtのコードの説明
メッセージファイルを生成する
下記のようにそれぞれファイル名を
指定するようになったようです。
add_message_files (FILES Message1.msg Message2.msg )
サービスファイルも同様
add_service_files (FILES Service1.srv Service2.srv )
ROSのシェル・コマンド
rosls パッケージ名
ROSのファイルリストを表示します
rosed パッケージ名 ファイル名
ROSのファイルを編集します。
.bashrcに下記のような設定をすることで
編集するエディタを指定できます。
export EDITOR="vim"
rostopic list
トピックのリストを表示させることができますが、
-v でトピックの型を表示
-p で配信topicのみ表示
-s で購読topicのみを表示することができます
rosbag compresss
rosbagを約1/3のサイズに圧縮できる
解凍はrosbag decompress
rosbag filter
指定したトピックのみを残して、
新しいbagファイルを作成するツール
rosbag fix
ROSのバージョンが異なり、
bagファイルが再生出来ない時に
bagファイルを修正するコマンド
catkin_create_pkg <パッケージ名> [依存パッケージ1] ..
catkinで新しいパッケージを作成する
catkin_make --pkg <パッケージ名>
catkin_makeではすべてのパッケージをmakeしますが、
--pkgオプションを追加すると、
特定のパッケージのみをmakeできます。
rospack profile
新しく作成したパッケージが
roscdなどで反映されなかった場合、
rospack profile
とすると、パッケージのインデックスを再構築できます。
msgファイルのみで構成されるパッケージを作った方が良い
ソフトウェアの独立性を保つために、
msgファイルのみで構成されるパッケージを作った方が良いようです。
ServiceをCallしたい時にはrqt Service Callerを使うと良い
rqt Service Callerを使うと、
簡単にServiceをcallできます。
catkinのROSパッケージはapt-getでインストールできる
ビルドシステムがcatkinなったことから、
apt-getでパッケージをインストールできるようになりました。
sudo apt-get install <パッケージ名>
Move itを使うことでアームのパスプランニングができる
あまりマニピュレータには詳しく無いですが、
Moveitというライブラリを使うことで、
マニピュレータのパスプランニング(モーションプランニング)が簡単にできます。
最後に
結構知らないことが多かったです。
素晴らしい書籍が公開されていて嬉しいですね。
先日発売された下記のROS本も良かったですが、
ROSではじめるロボットプログラミング―フリーのロボット用「フレームワーク」 (I・O BOOKS)
- 作者: 小倉崇
- 出版社/メーカー: 工学社
- 発売日: 2015/06/25
- メディア: 単行本
- この商品を含むブログ (4件) を見る
今回の無料のROS本『詳説 ROSロボットプログラミング』は
ROSの様々な機能に関する説明がかなり詳しく説明されていると感じました。
無料ですし、ROSを使っているすべての人におすすめです。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。