Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HRP2JSKNTでHRP3HandもRvizに表示したい #72

Closed
mmurooka opened this issue Jul 22, 2014 · 18 comments
Closed

HRP2JSKNTでHRP3HandもRvizに表示したい #72

mmurooka opened this issue Jul 22, 2014 · 18 comments

Comments

@mmurooka
Copy link
Member

RvizにHRP2JSKNTのRobotModelを表示するときに、
HRP3Handも表示されるようにしたいです。

今はcolladaモデルがrobot_descriptionとしてセットされていて、
これには手はついていないです。

どのような方針がよろしいでしょうか。

@mmurooka mmurooka changed the title HRP2JSKNTでHRP3HandもRvizに表示されるようにしたい HRP2JSKNTでHRP3HandもRvizに表示したい Jul 22, 2014
@garaemon
Copy link
Member

/joint_statesに全ての関節角度を出すのが良いと思います。

2014年7月22日火曜日、Masaki [email protected]さんは書きました:

RvizにHRP2JSKNTのRobotModelを表示するときに、
HRP3Handも表示されるようにしたいです。

今はcolladaモデルがrobot_descriptionとしてセットされていて、
これには手はついていないです。

どのような方針がよろしいでしょうか。


Reply to this email directly or view it on GitHub
#72.

from iPhone

@mmurooka
Copy link
Member Author

1. robot_descriptionとして使うハンド付きモデルをどのように生成するか
2. 全関節の/joint_stateをどのようにpublushするか
の2つの問題があることに気づきました.

/joint_statesに全ての関節角度を出すのが良いと思います。

は,どのようにやりましょう.
指関節の/joint_statesだけ,別ノードがpublishするようになるのでしょうか.

@k-okada
Copy link
Member

k-okada commented Jul 22, 2014

はい.そういう方式(atlasのシミュレータもそうなっていなかったっけ?)がいいとおもいます.

@mmurooka
Copy link
Member Author

gazebo上のatlasやHRP2はそうなっています.
この場合,start-jsk/rtmros_gazebo#97 のような問題が生じてしまうので,
jsk-ros-pkg/jsk_pr2eus#40 が必要になります.
今はclosedなところにあるHRP3HandControllerというrtcがハンドを動かしていますが,
このプログラムがハンドの/joint_statesをpublishすべきということで合っていますでしょうか.

robot_descriptionについてはどうしましょうか.
今はハンドなしcolladaモデルをrobot_descriptionにセットしていますが,
ハンド付きのurdfを作ってそれをrobot_descriptionにするようにするのでしょうか.
もしかしてロボット本体とハンドで別のrosparamにするという選択肢もあるのでしょうか.

@k-okada
Copy link
Member

k-okada commented Jul 23, 2014

今は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 [email protected]:

gazebo上のatlasやHRP2はそうなっています.
この場合,start-jsk/rtmros_gazebo#97
start-jsk/rtmros_gazebo#97 のような問題が生じてしまうので,
jsk-ros-pkg/jsk_pr2eus#40
jsk-ros-pkg/jsk_pr2eus#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
#72 (comment)
.

@garaemon
Copy link
Member

ハンド用のbridgeを作る、に+1です

2014年7月23日水曜日、Kei [email protected]さんは書きました:

今は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 <[email protected]
javascript:_e(%7B%7D,'cvml','[email protected]');>:

gazebo上のatlasやHRP2はそうなっています.
この場合,start-jsk/rtmros_gazebo#97
start-jsk/rtmros_gazebo#97 のような問題が生じてしまうので,
jsk-ros-pkg/jsk_pr2eus#40
jsk-ros-pkg/jsk_pr2eus#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
#72 (comment)
.

from iPhone

@snozawa
Copy link
Collaborator

snozawa commented Jul 23, 2014

冗長ですが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がつながっている必要ないのであれば、
別にするのはかなり有力だと思います。

@snozawa
Copy link
Collaborator

snozawa commented Jul 23, 2014

クローズドなところにあるし, そのまま/joint_statesをpublishしてもいいけど,

加えて、コントローラPCの体内でROSが走らないこともあるので、やはりRTCがjoint_staesをpublishするよりbridge作戦が有効に思います。

@mmurooka
Copy link
Member Author

加えて、コントローラPCの体内でROSが走らないこともあるので、やはりRTCがjoint_staesをpublishするよりbridge作戦が有効に思います。

これは決定的な要因ですね.bridge作戦が良さそうです.

この値を参照するときに、ハンド・本体でjoint_statesがつながっている必要ないのであれば、

joint_statesをかんがえるとどちらでしょうか。
この値を参照するときに、ハンド・本体でjoint_statesがつながっている必要ないのであれば、
別にするのはかなり有力だと思います。

基本的なことかと思いますが, 別にした場合はRviz上で腕を動かした時に手が付いて来るものでしょうか.何か追加の変更が必要でしょうか.

@YoheiKakiuchi
Copy link
Member

モデルの話ですが、
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が終わってから)に振っておけば問題ない?
現状でこのようになっているロボット(関節)はあるんだっけ?

@garaemon
Copy link
Member

tfをしゃべるノードの数は少なくしたいので、robot_state_publisherは一つでrobot_descriptionも一つがいいと思います

@garaemon
Copy link
Member

robot_state_publisherを拡張して複数の/joint_statesを受けられるように
するという作戦もありますが

robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointState/joint_statesに流れてくる、というのは現状うごかないのですか?

@mmurooka
Copy link
Member Author

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が生成されるようにするのがよろしいでしょうか.

@garaemon
Copy link
Member

urdfならrtmros_gazeboでやっていてすぐできそうです.

ならurdfで始めたらよいのではないでしょうか。

xacroファイルをhrpsys_ros_bridge_tutorials/modelsの下に置いてハンド付きurdfが生成されるようにするのがよろしいでしょうか.

sounds good

@YoheiKakiuchi
Copy link
Member

robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointStateが/joint_statesに流> れてくる、というのは現状うごかないのですか?

これは動くと思います。

@garaemon
Copy link
Member

robot_state_publisherがひとつ、robot_descriptionがひとつ、複数のsensor_msgs/JointStateが/joint_statesに流> れてくる、というのは現状うごかないのですか?

これは動くと思います。

robot_state_publisherを拡張して複数の/joint_statesを受けられるように
するという作戦もありますが。

これはどういう意味でしょうか?

@mmurooka
Copy link
Member Author

xacroファイルをhrpsys_ros_bridge_tutorials/modelsの下に置いてハンド付きurdfが生成
されるようにするのがよろしいでしょうか.

sounds good

#74 でやりました.
デフォルトでrobot_descriptionとしても使われます.

@mmurooka
Copy link
Member Author

mmurooka commented Aug 1, 2014

いったんcloseします.
robot_descriptionはハンド付きモデルができるようになったので,
残りのtodoは

冗長ですがHandCotrollerROSBridgeをつくって,corba->rosと変換するものを作る

です.

@mmurooka mmurooka closed this as completed Aug 1, 2014
itohdak pushed a commit to itohdak/rtmros_tutorials that referenced this issue Jan 10, 2019
…_drc_setting

change ip of multisence on hrp2016 for drc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants