Closed mmurooka closed 10 years ago
/joint_statesに全ての関節角度を出すのが良いと思います。
2014年7月22日火曜日、Masaki Murookanotifications@github.comさんは書きました:
RvizにHRP2JSKNTのRobotModelを表示するときに、 HRP3Handも表示されるようにしたいです。
今はcolladaモデルがrobot_descriptionとしてセットされていて、 これには手はついていないです。
どのような方針がよろしいでしょうか。
— Reply to this email directly or view it on GitHub https://github.com/start-jsk/rtmros_tutorials/issues/72.
from iPhone
1. robot_descriptionとして使うハンド付きモデルをどのように生成するか 2. 全関節の/joint_stateをどのようにpublushするか の2つの問題があることに気づきました.
/joint_statesに全ての関節角度を出すのが良いと思います。
は,どのようにやりましょう. 指関節の/joint_statesだけ,別ノードがpublishするようになるのでしょうか.
はい.そういう方式(atlasのシミュレータもそうなっていなかったっけ?)がいいとおもいます.
gazebo上のatlasやHRP2はそうなっています. この場合,https://github.com/start-jsk/rtmros_gazebo/issues/97 のような問題が生じてしまうので, https://github.com/jsk-ros-pkg/jsk_pr2eus/pull/40 が必要になります. 今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが, このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.
robot_descriptionについてはどうしましょうか. 今はハンドなしcolladaモデルをrobot_descriptionにセットしていますが, ハンド付きのurdfを作ってそれをrobot_descriptionにするようにするのでしょうか. もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが, このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.
冗長ですがHandCotrollerROSBridgeをつくって,corba->rosと変換するものを作るというのが 他のものと比べた時(システム構成図を書いた時には)美しく見えますね.クローズドなところにあるし, そのまま/joint_statesをpublishしてもいいけど,
もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
そうですね.ハンド有りモデルにした時にどれぐらい影響力(副作用)あるかな.hrpsys系はModelLoaderをみるので, そこはハンドなしのwrl/colladaでOKとして,ROS系でモデルでなにか変わる所,たとえばrobot_state_publisherは robot_descriptionみているから,robot_descriptionにハンドをいれるか,ハンドを別のparamに入れたらその分 state_publisherを入れないと行けないね.
ちょっと,どっちにしたらいいか正解はわからない.ハンドが変わっていく(robotiq, righthand)ことを考えると別にしておいたほうがいいか.
2014-07-23 1:57 GMT+09:00 Masaki Murooka notifications@github.com:
gazebo上のatlasやHRP2はそうなっています. この場合,start-jsk/rtmros_gazebo#97 https://github.com/start-jsk/rtmros_gazebo/issues/97 のような問題が生じてしまうので, jsk-ros-pkg/jsk_pr2eus#40 https://github.com/jsk-ros-pkg/jsk_pr2eus/pull/40 が必要になります. 今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが, このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.
robot_descriptionについてはどうしましょうか. 今はハンドなしcolladaモデルをrobot_descriptionにセットしていますが, ハンド付きのurdfを作ってそれをrobot_descriptionにするようにするのでしょうか. もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
— Reply to this email directly or view it on GitHub https://github.com/start-jsk/rtmros_tutorials/issues/72#issuecomment-49767555 .
ハンド用のbridgeを作る、に+1です
2014年7月23日水曜日、Kei Okadanotifications@github.comさんは書きました:
今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが, このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.
冗長ですがHandCotrollerROSBridgeをつくって,corba->rosと変換するものを作るというのが 他のものと比べた時(システム構成図を書いた時には)美しく見えますね.クローズドなところにあるし, そのまま/joint_statesをpublishしてもいいけど,
もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
そうですね.ハンド有りモデルにした時にどれぐらい影響力(副作用)あるかな.hrpsys系はModelLoaderをみるので, そこはハンドなしのwrl/colladaでOKとして,ROS系でモデルでなにか変わる所,たとえばrobot_state_publisherは robot_descriptionみているから,robot_descriptionにハンドをいれるか,ハンドを別のparamに入れたらその分 state_publisherを入れないと行けないね.
ちょっと,どっちにしたらいいか正解はわからない.ハンドが変わっていく(robotiq, righthand)ことを考えると別にしておいたほうがいいか.
2014-07-23 1:57 GMT+09:00 Masaki Murooka <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');>:
gazebo上のatlasやHRP2はそうなっています. この場合,start-jsk/rtmros_gazebo#97 https://github.com/start-jsk/rtmros_gazebo/issues/97 のような問題が生じてしまうので, jsk-ros-pkg/jsk_pr2eus#40 https://github.com/jsk-ros-pkg/jsk_pr2eus/pull/40 が必要になります. 今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが, このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.
robot_descriptionについてはどうしましょうか. 今はハンドなしcolladaモデルをrobot_descriptionにセットしていますが, ハンド付きのurdfを作ってそれをrobot_descriptionにするようにするのでしょうか. もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
— Reply to this email directly or view it on GitHub < https://github.com/start-jsk/rtmros_tutorials/issues/72#issuecomment-49767555>
.
— Reply to this email directly or view it on GitHub https://github.com/start-jsk/rtmros_tutorials/issues/72#issuecomment-49823431 .
from iPhone
冗長ですがHandCotrollerROSBridgeをつくって,corba->rosと変換するものを作るというのが 他のものと比べた時(システム構成図を書いた時には)美しく見えますね.
私もbridgeに1+です。 理想としては、ハンドが別物だとすると、ロボット本体のseq, RobotHardware, iobがあるのと同様に ハンド用seq, RobotHardwre, iobがあってもいいかもしれません。 関連するissueをはります
そうですね.ハンド有りモデルにした時にどれぐらい影響力(副作用)あるかな.hrpsys系はModelLoaderをみるので, そこはハンドなしのwrl/colladaでOKとして,ROS系でモデルでなにか変わる所,たとえばrobot_state_publisherは robot_descriptionみているから,robot_descriptionにハンドをいれるか,ハンドを別のparamに入れたらその分 state_publisherを入れないと行けないね.
ハンドがつながるべきかどうかは、使うプログラムの中でつながる必要があるかいなか、判断するのはいかがでしょうか。 gazeboなどsimulatorはつながっている必要があるので、ハンド・本体がつながったモデルになってる必要がありますね。 一方で、動作生成(hrpsys-baseの中でのIKなど)ではハンドと本体は別でもほぼ問題ないため、 ハンドなしwrl/colladaとハンド単体wrl/colladaを使うので問題ないきがします。
joint_statesをかんがえるとどちらでしょうか。 この値を参照するときに、ハンド・本体でjoint_statesがつながっている必要ないのであれば、 別にするのはかなり有力だと思います。
クローズドなところにあるし, そのまま/joint_statesをpublishしてもいいけど,
加えて、コントローラPCの体内でROSが走らないこともあるので、やはりRTCがjoint_staesをpublishするよりbridge作戦が有効に思います。
加えて、コントローラPCの体内でROSが走らないこともあるので、やはりRTCがjoint_staesをpublishするよりbridge作戦が有効に思います。
これは決定的な要因ですね.bridge作戦が良さそうです.
この値を参照するときに、ハンド・本体でjoint_statesがつながっている必要ないのであれば、
joint_statesをかんがえるとどちらでしょうか。 この値を参照するときに、ハンド・本体でjoint_statesがつながっている必要ないのであれば、 別にするのはかなり有力だと思います。
基本的なことかと思いますが, 別にした場合はRviz上で腕を動かした時に手が付いて来るものでしょうか.何か追加の変更が必要でしょうか.
モデルの話ですが、 robot_state_publisher (/joint_states -> /tfに変換、 /robot_descriptionを必要とする)となっていて、 ハンドが入ったモデル(urdf or collada)を用意しないのなら、 /lhand_robot_description, lhand_robot_state_publisher を作って、armの先端からhandへのtfを出す という作戦になります。この場合、ハンドの出す/joint_statesは/lhand_joint_statesでも問題ない(とくに何も変わらない)。
もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.
これが前者の作戦ですね。
ハンドが入ったモデルを用意する場合は、robot_descriptionもひとつになるので、/joint_statesに複数が トピックを出すしかないです。これも、robot_state_publisherを拡張して複数の/joint_statesを受けられるように するという作戦もありますが。(joint_state_publisherはそうなっている) この場合、wrlのレベルでつながったものを作っても問題ないのかな? ハンド用のjoint_idを後ろの方(体のjoint_idが終わってから)に振っておけば問題ない? 現状でこのようになっているロボット(関節)はあるんだっけ?
tfをしゃべるノードの数は少なくしたいので、robot_state_publisherは一つでrobot_descriptionも一つがいいと思います
robot_state_publisherを拡張して複数の/joint_statesを受けられるように するという作戦もありますが
robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointState
が/joint_states
に流れてくる、というのは現状うごかないのですか?
tfをしゃべるノードの数は少なくしたいので、robot_state_publisherは一つでrobot_descriptionも一つがいいと思います
ということで,ハンド付きのモデルを作ってみましょうか.
wrlのレベルでつながったものを作っても問題ないのかな?
wrlかurdfかどちらがいいでしょうか. urdfならrtmros_gazeboでやっていてすぐできそうです. HRP2の本体,HRP3Handのurdfは既にhrpsys_ros_bridge_tutorials/modelsの下にできるようになっているので, xacroファイルをhrpsys_ros_bridge_tutorials/modelsの下に置いてハンド付きurdfが生成されるようにするのがよろしいでしょうか.
urdfならrtmros_gazeboでやっていてすぐできそうです.
ならurdfで始めたらよいのではないでしょうか。
xacroファイルをhrpsys_ros_bridge_tutorials/modelsの下に置いてハンド付きurdfが生成されるようにするのがよろしいでしょうか.
sounds good
robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointStateが/joint_statesに流> れてくる、というのは現状うごかないのですか?
これは動くと思います。
robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointStateが/joint_statesに流> れてくる、というのは現状うごかないのですか?
これは動くと思います。
robot_state_publisherを拡張して複数の/joint_statesを受けられるように するという作戦もありますが。
これはどういう意味でしょうか?
xacroファイルをhrpsys_ros_bridge_tutorials/modelsの下に置いてハンド付きurdfが生成 されるようにするのがよろしいでしょうか.
sounds good
https://github.com/start-jsk/rtmros_tutorials/pull/74 でやりました. デフォルトでrobot_descriptionとしても使われます.
いったんcloseします. robot_descriptionはハンド付きモデルができるようになったので, 残りのtodoは
冗長ですがHandCotrollerROSBridgeをつくって,corba->rosと変換するものを作る
です.
RvizにHRP2JSKNTのRobotModelを表示するときに、 HRP3Handも表示されるようにしたいです。
今はcolladaモデルがrobot_descriptionとしてセットされていて、 これには手はついていないです。
どのような方針がよろしいでしょうか。