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

fix multisense xacro path #573

Closed
wants to merge 1 commit into from

Conversation

knorth55
Copy link
Member

multisense_description xacro path is changed in 4.0 (melodic version).

@Naoki-Hiraoka
Copy link
Contributor

Naoki-Hiraoka commented Apr 21, 2020

Thank you!
But I'm afraid that some demos may be broken if we use multisense_description 4.0.
#504 (comment)

@knorth55
Copy link
Member Author

@Naoki-Hiraoka That's true. I tried with it, and HRP2 gazebo does not work properly.

@knorth55
Copy link
Member Author

However, how can we solve the problem?
I think only xacro file is different, so how about copying xacro file to this repo?

@pazeshun
Copy link
Contributor

However, how can we solve the problem?

以下で修正方向の案と意見を述べていますが、誰からも返事がなくて議論が止まっている状態です。
https://github.com/start-jsk/rtmros_hrp2/pull/550#issuecomment-612007724
テンポラリとしては、オンライン一週間プロジェクトにある通り、https://github.com/Naoki-Hiraoka/rtmros_hrp2/tree/melodic-test のREADMEに従うと、workspaceに @Naoki-Hiraoka のmultisense_rosのフォークがcloneされます。
それはversion 3.4.9にパッチが当たっているものなので、大丈夫になっています。

@knorth55
Copy link
Member Author

@pazeshun どっちかというとこっちで議論すべきなのかな、変えるとすればこっちのRepoだから(詳しくは知らないけど)
あっちの議論はなんか終わりました、解決しました感でてるけど、自分たちの手元でしか解決できてないので、あまりよくないですね
これはすべてにTravisを埋め込んで、大テスト時代に突入すべきな気がします
正直だれかのBranch使い続けるのはうっとおしいし、urdfだけなのであれば、コピーしてもいい気がするんよね、ほかのmeshはaptではいるし

@pazeshun
Copy link
Contributor

urdfだけなのであれば、コピーしてもいい気がするんよね、ほかのmeshはaptではいるし

問題はurdfだけではなくて、multisenseのドライバも変わっていて、これが問題です。
今確認されている問題は以下で、新しいドライバが出すチルトレーザー用モータのjoint_statesのジョイント名の先頭に/がついていて、ジョイント名のマッチングができなくなるようです。
#504 (comment)
ソースコードをみると、ソースコードを変えない限りは/ついちゃいそうです。
https://bitbucket.org/crl/multisense_ros/src/373ee299c0637c1b1ecf76e6f2b5c840239c68b1/multisense_ros/src/laser.cpp#lines-237
昔は以下のようでした。
https://bitbucket.org/crl/multisense_ros/src/5820ffad20fbc1b9f7f41def19d101e17c724a7d/multisense_ros/src/laser.cpp#lines-237

その他の違いとしては、最新のmultisense.launchではtf_prefix$(arg namespace)を渡しているが、3.4.9のmultisense.launchではtf_prefix/$(arg namespace)を渡していて、カメラドライバのソースコードを読むと、tf_prefixがframe_idの先頭につくようなので、以前のドライバの出力のframe_idには/が付いているが、新しいドライバの出力のframe_idには/が付かない、という違いがあります。
これは、namespaceの先頭に/を明示的に加えると、恐らく同じになるとは思います。

@knorth55
Copy link
Member Author

これ普通にtf_prefixない場合を考えていないだけどバグでは?と思うんだけど、だれか変更をPRしたりしていないのかな
普通の人間ならマージしてくれそうだけど

ドライバーも問題はそれがマージされればいいし、マージされなければパッチを当てればいいのかなと思ったりする
xacroのパスが違う話はどっちでもいいけど、aptで入るものを基準とすると、適当にsymbolic link貼るかコピーするかしてもいいのかと思うけど

@knorth55 knorth55 closed this May 8, 2020
@knorth55 knorth55 deleted the melodic-multisense-path branch May 8, 2020 10:28
@ishiguroJSK
Copy link
Contributor

@Naoki-Hiraoka That's true. I tried with it, and HRP2 gazebo does not work properly.

@knorth55 @Naoki-Hiraoka HRP2でmultisense_ros使うgazeboのデモがある?ビルド失敗してただけかな?

@ishiguroJSK
Copy link
Contributor

それっぽいのありました.

gazebo_hrp2jsk_no_controllers.launch
gazebo_hrp2jsknt_no_controllers.launch

gazebo_hrp2jsknts_no_controllers.launch だけ multisense 使ってなかったのね

[ERROR] [1589593347.791699942]: Failed to build tree: child link [head_root] of joint [hrp2_to_multisense] not found
[robot_state_publisher-3] process has died [pid 18039, exit code 1, cmd /opt/ros/melodic/lib/robot_state_publisher/state_publisher __name:=robot_state_publisher __log:=/home/leus/.ros/log/7ee00958-9716-11ea-8da9-7c7a914eb678/robot_state_publisher-3.log].

@Naoki-Hiraoka
Copy link
Contributor

https://github.com/start-jsk/rtmros_hrp2/pull/550 がmergeされると,
jsk_hrp2_ros_bridgeのREADME.mdにしたがって環境構築すると
multisense version 3.4.9にパッチを当てたものが入るのでデモが動きます.

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

Successfully merging this pull request may close these issues.

4 participants