ROSについて少し誤解をしていました。
今までPR2というのはWGのロボットの一つ、だと思っていて、
「pr2_*というプログラムは、当然robot_*というプログラムを継承して作ってある、PR2用のプログラムである」
と思っていました。
事実、
pr2_mechanism_controllersに対して、robot_mechanism_controllersが存在します。
なので、当然pr2_mechanism_controllersの中身はrobot_mechanism_controllersの何らかのクラスを継承しているものだと勘違いしていました。
そして、pr2_*が78ものパッケージが存在するのに対し、robot_*が11しか存在しないことに疑問を持ち、
「WGはロボットの仮想化に興味がないのか?PR2意外のロボットはやる気がない?ROSっていろんなロボットを動かすためにあるんじゃないの?なんなの?」
と常々疑問に思っていました。
しかし、最近シミュレータコントローラーを書くためにいろいろ格闘した結果、ひとつの結論に達しました。
「ROSにおいてpr2は一般的に言う所のrobotを意味する」
なので、pr2_*というパッケージ名にだまされてはいけません。
pr2_controller_managerは一般的な思想でいうところのrobot_controller_managerを意味するのです。
なので、pr2_*で始まるパッケージを自信を持って自分のロボットに使えばいいです。
もちろんそういうふうに使えるように書かれています。
(”OpenHRPでいうところのHumanoid”=”ROSでいうところのPR2”
とでも考えればいいと思います。ってマニアックすぎて意味分からないですね。)
ということで次回堂々とpr2_*なプログラムを自分ロボットに使います。
全然勘違いしてたらすみません。つっこみ歓迎です。
やっぱ違うかもw
返信削除それほど外れてはいないと思いますが、、、