2010年2月5日金曜日

WGのpr2とrobotの考え方の推測

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_*なプログラムを自分ロボットに使います。

全然勘違いしてたらすみません。つっこみ歓迎です。

1 件のコメント:

  1. やっぱ違うかもw
    それほど外れてはいないと思いますが、、、

    返信削除