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

hrpsys_ros_bridge_tutorialsのHRP2JSKNT_WH.urdfのビルド時における依存関係の解決 #84

Open
orikuma opened this issue Sep 30, 2014 · 43 comments
Assignees

Comments

@orikuma
Copy link
Contributor

orikuma commented Sep 30, 2014

現在環境によってはhrpsys_ros_bridge_tutorialsのcatkin_makeが通らない状態になっている気がします.
具体的には,HRP2JSKNT_WH.urdfのビルドでHRP2JSKNT.urdf, またはhrp2jsknts_ros_bridge.launchがないと言われてcatkin_makeが落ちる現象が起こっています(hrpsys_ros_bridge_tutorials最新版のYST脚とiori-t430sで確認).
エラーメッセージは以下のとおりです.

catkin_make --only-pkg-with-deps hrpsys_ros_bridge_tutorials --make-args -j1
するとビルドが通るので,
https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/catkin.cmake#L247-266
の部分で依存関係が考慮されずに並列コンパイルされると発生する問題と思われます.

参照: Pull #75

-- 以下エラー --

Generating EusLisp code for upstream package hrpsys_ros_bridge_tutorials
/home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP3HAND_R/HRP3HAND_Rmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.dae
make[2]: *** `/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf' に必要なターゲット `/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/launch/hrp2jsknt_ros_bridge.launch' を make するルールがありません.  中止.
make[2]: *** 未完了のジョブを待っています....
[ 18%] /home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP3HAND_R/HRP3HAND_Rmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.dae
Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT.dae
make[2]: *** `/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH.urdf' に必要なターゲット `/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/launch/hrp2jsknts_ros_bridge.launch' を make するルールがありません.  中止.
make[2]: *** 未完了のジョブを待っています....
@mmurooka
Copy link
Member

mmurooka commented Oct 1, 2014

https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/catkin.cmake#L257
DEPENDを書いてはいるのですが,
ターゲットをmakeするルールを書かないとエラーになってしまうんですね.
hrp2jsknt_ros_bridge.launchやHRP3HAND_R.urdfをmakeするルールはうまく書けるでしょうか.

orikuma added a commit to orikuma/rtmros_tutorials that referenced this issue Oct 2, 2014
…before build {robotname}_WH.urdf in connection with issue start-jsk#84. This workaround should be temporary.
@orikuma
Copy link
Contributor Author

orikuma commented Oct 2, 2014

取り敢えずgen_hand_attached_hrp2_model.shでビルド前に依存するモデルが生成されるまで待つことでcaktin_makeが通るようになりましたが, これは正しい解決策ではないように思います.

問題としては

  • HRP2JSKNT.urdfをはじめとしたモデルの生成順序を指定する方法が分からない(依存関係の記述からmakeが決めることなので本来ユーザが明示的に指定する必要はないはずではある)
  • launchがconfigure_fileで生成されているためtargetにならず生成規則が定義されない

ということで, 排他制御のようなことをするかcmakeによるconfiguration時に依存するファイルの生成規則を網羅的にtargetとして記述することが出来れば良さそうなのですが, 方法がよくわかりませんでした.
より良い解決策をご存じの方は教えていただけますと幸いです.

それと{robotmodel}_WH.urdfはHRP23HAND_L/R.urdfに依存しているようですがgen_hand_attached_hrp2_model.shにはハンドモデルの情報が渡されていないようです.
これは正しいのでしょうか? > @mmurooka

@snozawa
Copy link
Collaborator

snozawa commented Oct 2, 2014

launchがconfigure_fileで生成されているためtargetにならず生成規則が定義されない

launchに依存しているものがありますか?
launchに依存するのは、なんとなくおかしそうに思います。

@orikuma
Copy link
Contributor Author

orikuma commented Oct 2, 2014

gen_hand_attached_hrp2_model.shを見ると{robotname}_ros_bridge.launchのCOLLADA_FILEをsedで置換するために依存しているようです.

@snozawa
Copy link
Collaborator

snozawa commented Oct 2, 2014

全体的に、ちょっと複雑にしすぎてる気がするので、もとファイルが何で、どういう変換をして、そのためどういう依存関係が必要で、と整理しましょう

すくなくとも、launchは同じcmakeでつくってるにもかかわらず、一旦かきだして、そのあとsedして、それのためにwaitが必要で、と脱線している気がします
すくなくとも、この点だけに関しては、最初のlaunch書き出しでcolladafileを設定できるようにならないか、吟味しましょう

@mmurooka
Copy link
Member

mmurooka commented Oct 4, 2014

@snozawa さん

やりたいことは,
HRP2JSKNTでHRP3HandもRvizに表示したい( #72 )だったのですが,
どのようにするのがよかったのか相談させてください.

(i)ハンドのjoint_statesを出す
(ii) ハンド付きのHRP2モデルをつくってrobot_descriptionにする
をやる必要があって,

(ii)のためのPRが #74 ですが,
@orikuma さんにご指摘頂いたエラーが出るようになってしまっていました.

このPRの中でやっていることは,以下の3つです.
(a) HRP2JSKNTのurdfモデルからL/RARM_LINK6を無くす
(b) xacro( https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT.urdf.xacro )でHRP2JSKNTのurdfモデルとHRP3HAND_L/RのurdfモデルをくっつけてHRP2JSKNT_WH.urdfとして出力する
(c) ros_bridgeを挙げるlaunchファイルで設定するrobot_descriptionを,HRP2JSKNT.daeではなく,HRP2JSKNT_WH.urdfに変える
(a)-(c)を既存のcompile_robot_model.cmakeを書き換えずにやるために,
生成されたファイルを後から書き換える作戦で,以下を準備して呼ぶようにしていました.
https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/models/gen_hand_attached_hrp2_model.sh
これを呼ぶ際に依存するのは,HRP2JSKNT.urdf,HRP3HAND_L/R.urdf,hrp2jsknt_ros_bridge.launch,です,というのが以下の2つの回答になります.

それと{robotmodel}_WH.urdfはHRP3HAND_L/R.urdfに依存しているようですがgen_hand_attached_hrp2_model.shにはハンドモデルの情報が渡されていないようです.
これは正しいのでしょうか? > @mmurooka

launchに依存しているものがありますか?
launchに依存するのは、なんとなくおかしそうに思います。

ただ,以下のような他のやり方もあった気がして,もしかしたらそちらのほうがよかったのかも,とも思います.

  • compile_robot_model.cmake を書き換えて,後からxacroやsedをしないでいいようにする
  • VRMLモデルの時点でハンドをくっつけておく

@snozawa
Copy link
Collaborator

snozawa commented Oct 5, 2014

compile_robot_model.cmake を書き換えて,後からxacroやsedをしないでいいようにする

そうですね。
他、依存する3ファイルのうちhrp2jsknt_ros_bridge.launchに関しては、
(何がベストかは一旦おいておいて)選択肢として次があります。

  • compile_robot_model.cmake を書き換えて,後からxacroやsedをしないでいいようにする
    引数を追加するetc
  • lanuchファイルはコミットする
    モデルファイルは、変換されたものを使うのがいいですが、
    generate_default_launch_eusinterface_filesででてくる
    Euslispのxxx-interface.lとlaunchファイルはあくまでデフォルトなつもりなので、
    デフォルト生成しなくて、コミットしておくのも悪くないと思います。
  • launchの引数を与える
    sedしている部分はhrp2jsknt_ros_bridge.launchの外から与えられるもののあので、上記の変更でなくて、実行時にhrp2jsknt_ros_bridge.launchの引数でHRP2JSKNT_WH.urdfを与えてもいいですね。

あとh、ハンドをつける部分に関しては、VRMLの時点でつける以外の方法も確率しておくといいとおもうので、
今回もその線でかんがえてみましょう。
例えば、STAROや次ロボットなど、元のVRMLファイルにないようなハンドのを後づけしたくなります。

まず付け方ですが、

(a) HRP2JSKNTのurdfモデルからL/RARM_LINK6を無くす

ロボットの手首リンクを削除せず、手首リンクを残しつつ、
ハンドはfixed jointのようなものでその先端に接続する、のは可能かな?
RARM_LINK6 => (fixed joint) => HAND_PALM => ...
というかんじ
HRP2JSKNTの場合は幸い削除ですみますが、STAROなどの場合は、手首リンクの
先端にハンドを後付けできるとうれしいかも。

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

ロボットの手首リンクを削除せず、手首リンクを残しつつ、
ハンドはfixed jointのようなものでその先端に接続する、のは可能かな?

可能です.
xacroファイルに以下を書いておけばうまくいくはずです.
ロボット本体のurdfのインクルード,
ハンドのurdfのインクルード,
ロボット本体とハンドを繋げるfixed joint

HRP2は,ARM_JOINT6がロボット本体側とハンド側の両方にあるので,
リンクを消す必要があって,xacroだけでは対処できるsedを使っています.

@YoheiKakiuchi
Copy link
Member

HRP2は,ARM_JOINT6がロボット本体側とハンド側の両方にあるので

これは、リンクの名前がかぶってるという話だっけ? 同じ形状もあるんだっけ?
ハンドのモデルの方を、ARM_JOINT6の先に変更してリンク名を変更すればいいのかな?

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

すみません,JOINT6ではなくLINK6でした.
たぶんJOINTは被っていなかったと思います.

LINK6については,
ハンドモデルとロボット本体モデルで形状が異なって,
ロボット本体モデルのLINK6は手首で切れている形状で,
ハンドモデルのLINK6は,手の甲の部分まで入っているような形状で,
ロボット本体モデルのLINK6がハンドモデルのLINK6に含まれるようになっています.

@YoheiKakiuchi
Copy link
Member

ロボット本体モデルのLINK6は手首で切れている形状で,
ハンドモデルのLINK6は,手の甲の部分まで入っているような形状で,
ロボット本体モデルのLINK6がハンドモデルのLINK6に含まれるようになっています.

この、ハンド側の形状を変更するのに何か問題があるんだっけ?
理解としては、LINK6(本体モデル)とLINK6(ハンドモデル)に共通部分がある
と思っているのだけど、ハンドモデルから共通部分を抜いて、名称を変更するという作戦はどうかな?

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

この、ハンド側の形状を変更するのに何か問題があるんだっけ?

VRMLかcolladaのメッシュファイルを直接編集して,共通部分を取り除く作業になりそうで,
一度きりの作業なので頑張って上手くできたらそれでもよさそうですが,結構大変なのかなと思っていました.

@snozawa
Copy link
Collaborator

snozawa commented Oct 5, 2014

fixed jointでつながってるロボットの形状がかぶっていると、gazeboで問題があるんだっけ?
(自己干渉してることになる、とか)

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

gazeboではとりあえず問題ないような気がします.

少なくとも現状のデフォルトでは,自己干渉を見ないようになっているので大丈夫なはずで,
自己干渉を見るようにするとどうなるかは,やってみないと分からないです.

@snozawa
Copy link
Collaborator

snozawa commented Oct 5, 2014

gazebo以外で問題ないところはあるかな?
ないのであれば、

  • ロボットの手首側もハンド側も編集なしで、そのままfixed jointで接続してつかう

でいいのではないでしょうか?

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

HRP2の場合は,
リンク名が被っているので,
いずれにしてもsedでリンク名を変えることが必要になります.

@YoheiKakiuchi
Copy link
Member

ちらと見ましたが,メッシュの編集はそれほど難しくなくできると思います.
リンク名もハンドのwrl修正するだけじゃないのかな?

@mmurooka
Copy link
Member

mmurooka commented Oct 5, 2014

ロボットの手首側もハンド側も編集なしで、そのままfixed jointで接続してつかう

リンク名もハンドのwrl修正するだけじゃないのかな?

はい,そういう意味ならそうでした.
メッシュの編集が問題なさそうなら,これでsedはいらなくなりますね.

ついでに以下の25行目のように,
https://bitbucket.org/osrf/drcsim/src/f9100a51e04db50dcdd7a823b74ccafa78449d98/drcsim_gazebo/launch/atlas.launch?at=default#cl-25
実行時にその場でxacroを走らせてrobot_descriptionにするのが,
流行りみたいなので,そうすればmake時にはxacroをやる必要もなくて,
さらに,以下のような仕様にしてしまえば,launchファイルも書き換える必要がなくなって,
結局make時には何もしなくてよくなります.

launchの引数を与える
sedしている部分はhrp2jsknt_ros_bridge.launchの外から与えられるもののあので、上記の変更でなくて、実行時にhrp2jsknt_ros_bridge.launchの引数でHRP2JSKNT_WH.urdfを与えてもいいですね。

というのもスマートでありかもしれないですね.

@mmurooka
Copy link
Member

実行時にその場でxacroを走らせてrobot_descriptionにするのが,
流行りみたいなので,そうすればmake時にはxacroをやる必要もなくて,
さらに,以下のような仕様にしてしまえば,launchファイルも書き換える必要がなくなって,
結局make時には何もしなくてよくなります.

に沿って,#96 でmake時にxacroとlaunchの書き換えをやらないようにしました.
これで#86 は必要なくなったと思います.

以下の(b)と(c)がなくなったことになって,残りは(a)だけですがこれはおおもとのVRMLの変更が必要そうです.

(a) HRP2JSKNTのurdfモデルからL/RARM_LINK6を無くす
(b) xacro( https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT.urdf.xacro )でHRP2JSKNTのurdfモデルとHRP3HAND_L/RのurdfモデルをくっつけてHRP2JSKNT_WH.urdfとして出力する
(c) ros_bridgeを挙げるlaunchファイルで設定するrobot_descriptionを,HRP2JSKNT.daeではなく,HRP2JSKNT_WH.urdfに変える

@orikuma
Copy link
Contributor Author

orikuma commented Dec 14, 2014

この件どうなったでしょうか.
最新のmaster(commit da3de85)では
まだ--make-args -j1しないと以下のエラーが起こる気がします.

[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf
/home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP2JSKNTS_for_OpenHRP3/HRP2JSKNTSmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
/home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP2JSKNTS_for_OpenHRP3/HRP2JSKNTSmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
[ 60%] [ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes
;; Adding gazebo description
;; Use assimp export
;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.urdf
;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes
;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes
;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.dae
Traceback (most recent call last):
  File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in <module>
    xacro.main()
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 657, in main
    process_includes(doc, os.path.dirname(args[0]))
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 270, in process_includes
    raise XacroException("included file \"%s\" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf'
;; Adding gazebo description
;; Use assimp export
;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf
;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNT_xacro_model_generate.dir/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
[ WARN] [1418569446.424804920]: could not find collada joint kmodel1/jointsid1000!

;; Adding gazebo description
;; Use assimp export
;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf
;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
Traceback (most recent call last):
  File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in <module>
    xacro.main()
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 657, in main
    process_includes(doc, os.path.dirname(args[0]))
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 270, in process_includes
    raise XacroException("included file \"%s\" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf'
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNT_WH_SENSORS.urdf_generate.dir/all] エラー 2
[ WARN] [1418569446.610216411]: could not find collada joint kmodel1/jointsid1000!

[ WARN] [1418569446.662309304]: could not find collada joint kmodel1/jointsid1000!

[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf
sed: -e expression #1, char 1: 不明なコマンド: `,'
expr: 構文エラー
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_model_generate.dir/all] エラー 2
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH.urdf
Traceback (most recent call last):
  File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in <module>
    xacro.main()
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 657, in main
    process_includes(doc, os.path.dirname(args[0]))
  File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/__init__.py", line 270, in process_includes
    raise XacroException("included file \"%s\" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf'
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_xacro_model_generate.dir/all] エラー 2
make: *** [all] エラー 2
Invoking "make" failed

また,
catkin_make --only-pkg-with-deps hrpsys_ros_bridge_tutorials --make-args -j1
しても, 以下のエラーでmakeが通らなくなっている気がします.
attach_sensor_and_endeffector_to_hrp2jsk_urdfが問題の箇所のようですが,
解決するにはどうすればいいでしょうか.

Scanning dependencies of target pr2eus_roseus_ALL_GEN_OUTPUT_FILES_eus
[ 71%] Built target pr2eus_roseus_ALL_GEN_OUTPUT_FILES_eus
Scanning dependencies of target HRP2JSKNTS_WH_SENSORS.urdf_generate
[ 72%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH_SENSORS.urdf
Traceback (most recent call last):
  File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 69, in <module>
    main(sys.argv[1:])
  File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 63, in main
    parent, child, input_file, output_file)
  File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 45, in updateURDF
    xdoc = minidom.parse(input_file)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1920, in parse
    return expatbuilder.parse(file)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
    result = builder.parseFile(fp)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 211, in parseFile
    parser.Parse("", True)
xml.parsers.expat.ExpatError: no element found: line 1, column 0
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH_SENSORS.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_WH_SENSORS.urdf_generate.dir/all] エラー 2
make: *** [all] エラー 2
Invoking "make" failed

@garaemon
Copy link
Member

明日見てみます
ちょっと待ってくださいね

2014年12月15日月曜日、[email protected]さんは書きました:

この件どうなったでしょうか.
最新のmaster(commit da3de85
da3de85
)では
まだ--make-args -j1しないと以下のエラーが起こる気がします.

[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf
/home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP2JSKNTS_for_OpenHRP3/HRP2JSKNTSmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
/home/iori/ros/hydro/src/rtm-ros-robotics/openrtm_common/openhrp3/bin/export-collada /home/iori/prog/OpenHRP/etc/HRP2JSKNTS_for_OpenHRP3/HRP2JSKNTSmain.wrl was successfully exported to /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
[ 60%] [ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes;; Adding gazebo description;; Use assimp export;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.urdf;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L_meshes;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_L.dae
Traceback (most recent call last):
File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in
xacro.main()
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 657, in main
process_includes(doc, os.path.dirname(args[0]))
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 270, in process_includes
raise XacroException("included file "%s" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf';; Adding gazebo description;; Use assimp export;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNT_xacro_model_generate.dir/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf, /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes
[ WARN] [1418569446.424804920]: could not find collada joint kmodel1/jointsid1000!
;; Adding gazebo description;; Use assimp export;; output file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.urdf;; mesh_prefix is: package://hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes;; Mesh output directory is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_meshes;; Input file is: /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS.dae
Traceback (most recent call last):
File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in
xacro.main()
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 657, in main
process_includes(doc, os.path.dirname(args[0]))
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 270, in process_includes
raise XacroException("included file "%s" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf'
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNT_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNT_WH_SENSORS.urdf_generate.dir/all] エラー 2
[ WARN] [1418569446.610216411]: could not find collada joint kmodel1/jointsid1000!

[ WARN] [1418569446.662309304]: could not find collada joint kmodel1/jointsid1000!

[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf
sed: -e expression #1, char 1: 不明なコマンド: `,'
expr: 構文エラー
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_model_generate.dir/all] エラー 2
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_body.urdf
[ 60%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH.urdf
Traceback (most recent call last):
File "/opt/ros/hydro/share/xacro/xacro.py", line 60, in
xacro.main()
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 657, in main
process_includes(doc, os.path.dirname(args[0]))
File "/opt/ros/hydro/lib/python2.7/dist-packages/xacro/init.py", line 270, in process_includes
raise XacroException("included file "%s" could not be opened: %s" % (filename, str(e)))
xacro.XacroException: included file "/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf" could not be opened: [Errno 2] No such file or directory: '/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP3HAND_R.urdf'
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_xacro_model_generate.dir/all] エラー 2
make: *** [all] エラー 2
Invoking "make" failed

また,
catkin_make --only-pkg-with-deps hrpsys_ros_bridge_tutorials --make-args
-j1
しても, 以下のエラーでmakeが通らなくなっている気がします.
attach_sensor_and_endeffector_to_hrp2jsk_urdfが問題の箇所のようですが,
解決するにはどうすればいいでしょうか.

Scanning dependencies of target pr2eus_roseus_ALL_GEN_OUTPUT_FILES_eus
[ 71%] Built target pr2eus_roseus_ALL_GEN_OUTPUT_FILES_eus
Scanning dependencies of target HRP2JSKNTS_WH_SENSORS.urdf_generate
[ 72%] Generating /home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH_SENSORS.urdf
Traceback (most recent call last):
File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 69, in
main(sys.argv[1:])
File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 63, in main
parent, child, input_file, output_file)
File "/home/iori/ros/hydro/src/jsk-ros-pkg/jsk_model_tools/euscollada/scripts/add_sensor_to_urdf.py", line 45, in updateURDF
xdoc = minidom.parse(input_file)
File "/usr/lib/python2.7/xml/dom/minidom.py", line 1920, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
result = builder.parseFile(fp)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 211, in parseFile
parser.Parse("", True)
xml.parsers.expat.ExpatError: no element found: line 1, column 0
make[2]: *** [/home/iori/ros/hydro/src/rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/models/HRP2JSKNTS_WH_SENSORS.urdf] エラー 1
make[1]: *** [rtm-ros-robotics/rtmros_tutorials/hrpsys_ros_bridge_tutorials/CMakeFiles/HRP2JSKNTS_WH_SENSORS.urdf_generate.dir/all] エラー 2
make: *** [all] エラー 2
Invoking "make" failed


Reply to this email directly or view it on GitHub
#84 (comment)
.

from iPhone

@snozawa
Copy link
Collaborator

snozawa commented Jun 20, 2015

こちらのissueですが,治った気がします.
#326

@garaemon, @YoheiKakiuchi , @mmurooka (多分このあたりのcmakeのマクロを書いたと思われる開発者の方々)
ところで,せっかくなのでこのあたり整理できればと思ったのですが,

  • このあたりの変換はなんで必要なんでしたっけ?(remove_sensor, add_sensor)(ハンドをつけるのは必要なきもします)
  • ところどころマクロの名前と実際の挙動がちがくないですか?
  • JAXON系とHRP2系で同じマクロにできそうでしょうか?今は,マクロが別定義になっていて,よばれてる処理も違いそう.端的には,add_sensorなどをHRP2ではeuscolladaのpythonスクリプトでやっていて,staro系ではmodels以下のスクリプトになってます
  • そもそも,いくつか中間ファイル(HRP2JSK.urdfだけでなくて,HRP2JSK_WH.urdf, HRP2JSK_body.urdf, HRP2JSK_WH_SENSORS.urdfなどなど)が多いですが,最終的に使ってるのはどれでしょうか.それだけをコンバートするプログラムになったりしますでしょうか.今は一時ファイル的なものがあるんだとしたら,多分ないほうがmake的に並列実行や依存関係で混乱せずにすむと思います.できれば,変換が必要だったらスクリプト一発でできるほうが望ましいと思います.

@YoheiKakiuchi
Copy link
Member

やっていることはハンドをつけることと、センサーのtfをrobot_sate_publisherから出すためにurdfにつけることです。

JAXON系とHRP2系はリンク名などを与えられるようにすれば同じになると思います。JAXON系が古くてスクリプトになっていますが、中身は同じことをしています。

最終的に使っているのは WH_SENSORS.urdf だけですね。依存関係や並列実行に関してどうするのがいいかは @garaemon さんにおまかせします。

@snozawa
Copy link
Collaborator

snozawa commented Jun 22, 2015

使っているのがWH_SENSORS.urdfだけであれば、そのファイルだけ最終的にできるようにすると、
cmakeの書き方も管理もラクですね。
(仮に他のファイルが中間生成になるとしても、add_sesnroxxx.pyの中だけでやって、cmakeレベルでは搭乗しないようにする)

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

これに関連して、@mmurookaさんと話して思いましたが、
このあたりのスクリプトでやってるのは、大部分collada_urdfにPR(もしくはcollada_urdf_jsk_patchにコミット)して、collada -> urdfの変換で正式にサポートするべきものな気がします。

  • add_sensor的なものは、collada_urdf側に追加で良いきがします。
  • end effectorをつけるものは、colladaのmanipulatorから変換するものをcollada_urdfに追加で良いきがします(今はやるとしたら、hrpsys_ros_bridge_tutorials/CMakeLists.txtのhttps://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_ros_bridge_tutorials/CMakeLists.txt#L41 のようなかんじでexport-colladaでcolladaの時点でend effectorっぽいものがつきます)。
  • URDFでハンドをつなげてるのは、tfがつながるためのものなんでしたっけ?

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

ちなみに、VRMLとURDFの間はhttps://github.com/fkanehiro/simtrans みたいなのもありますね。

@garaemon
Copy link
Member

変換のひとつひとつのスクリプトをシンプルにするために,途中生成物としてhoge_WH.urdfができていますね.

@garaemon
Copy link
Member

collada_urdfに入れるのが正解かもしれないのですが,colladaをメンテナンスしていくモチベーションが個人的にはあまりないですね.OpenRAVEはcolladaですが,それならむしろvrml->urdf->colladaとしたいところです.

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

スクリプトはシンプルですが、生成物が多くて初見だとちょっと難しい+扱いが複雑で、ビルド・cmakeの依存関係の書き方が難しくなるきがします(このissueの日付から逆算すると、半年以上解決しないレベルの難しさ)。

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

collada_urdfに入れるのが正解かもしれないのですが,colladaをメンテナンスしていくモチベーションが個人的にはあまりないですね.OpenRAVEはcolladaですが,それならむしろvrml->urdf->colladaとしたいところです.

個人的にはcolladaを経由しない方向性は大賛成です。
ただ、一瞬でできる移行でもないきがするので、現状どんくらいいけてるかがチェックがいりそうですね。あまりちゃんとみられてませんが、https://github.com/fkanehiro/simtransはROSに依存しないようにかいてるかもしれなくで、逆にやばいのかもしれません。

@garaemon
Copy link
Member

そもそもの-j1じゃないとうまく行かない問題自体は解決できている気がしますが,依存関係は難しいですね.

collada_urdfをリッチにするのとcolladaをエイヤっと消してしまうのはどっちが楽なのでしょうか?

urdfは良い感じのpython parserがあるので,それを使うと楽にかけますね.
colladaはとても難しい印象.
OpenHRPにはvrml用のそういうスクリプトがあったりしませんか?

また,multisenseをくっつける,とかはurdfレベルでしかできないことですね.

@garaemon
Copy link
Member

だんだん思い出してきましたが,依存関係はopenhrpのmodelloaderがPCで一つしか上がらない問題をなんとか回避しようとしてのことでしたね

@mmurooka
Copy link
Member

実機用とgazebo用のURDFを共通にする話ですが,

https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/cmake/compile_robot_model.cmake#L320
のcollada_urdfをcollada_urdf_jsk_patchにしたら,
hrpsys_ros_bridge_tutorialsの下のモデルもgazeboに表示はできるようになりましたが,

gazebo上で動かすには,
追加で以下のような修正を各ロボットのURDFに行う必要があります.
https://github.com/start-jsk/rtmros_tutorials/blob/master/hrpsys_gazebo_tutorials/robot_models/HRP2JSKNT/HRP2JSKNT_additional_urdf_setting.sh
これもhrpsys_ros_bridge_tutorialsの下に移すしかないでしょうか.
内容はロボットごとに微妙にことなっていて,
massやinertiaの小さすぎるリンクを直したり,
足裏の干渉モデルをボックスにしたり,
摩擦パラメータを変えたり,などをしています.

生成過程を単純にする話をしているところで,
一段とややこしくなってしまいそうです.

@garaemon
ちなみにとりあえず急ぎでしたら運用面でカバーする方法として,
gazebo起動後に実機用のurdfでrobot_descriptionをロードし直すと,
とりあえずやりたいことは出来る気がしています.

@k-okada
Copy link
Member

k-okada commented Jun 26, 2015

2015-06-26 17:36 GMT+09:00 Ryohei Ueda [email protected]:

openhrpのmodelloaderがPCで一つしか上がらない問題

これはもうなくなったはずです.

◉ Kei Okada

@garaemon
Copy link
Member

openhrpのmodelloaderがPCで一つしか上がらない問題
これはもうなくなったはずです.

今見たらかなりシンプルになっていますね.

https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/cmake/compile_robot_model.cmake#L320
のcollada_urdfをcollada_urdf_jsk_patchにしたら,
hrpsys_ros_bridge_tutorialsの下のモデルもgazeboに表示はできるようになりましたが,

デフォルトをcollada_urdf_jsk_patchにして良いと思います

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

だんだん思い出してきましたが,依存関係はopenhrpのmodelloaderがPCで一つしか上がらない問題をなんとか回避しようとしてのことでしたね

これは最新openhrp3とcompile_robot_model.cmakeにしておくと、治っていると思います。
この半年くらい、hrpssy_ros_bridge_turorialsのmakeは安定してませんでしたが、常に同じ理由・一つの理由だけでなくて、
なんとなく依存関係がおかしい問題や-j 1でないと実行できない問題が重なってたんだと思います。

@mmurooka
#84 (comment)
どうしたらいいか判断が難しいポイントですが、例えば一つの判断基準は管理するファイルを減らす、です。
実機・シミュエータで同じurdfになるのであれば、そのほうがシンプルになる可能性があります。
とくにgazeboタグは実機の用途(ほぼrobot_desription)であればムシされるので、実機用urdfとこれまでしてたところにgazeboのものも、副作用ないはんいで追加してもよさげです。

@garaemon
Copy link
Member

今はcmakeはかなりシンプルになっているから,依存関係が複雑すぎるというのは見たらわかるレベルになっているんじゃないでしょうか?

@garaemon
Copy link
Member

個人的にはcollada_urdfを良くしていくというモチベーションはあまりなくて,
それなら今のように後でurdfを変更していくスタイルか,
colladaを一気に消す(いちばんうしろに持ってくる)の方が良い気がしています.

colladaを一気に消すというのが時間がかかりそうというなら,後でurdfをいじるスタイルが一番手っ取り早いかと思います.

collada_urdfに色々と機能を入れていくと,vrml->colladaとcollada->urdfの2つを変更しなくてはいけなくて,
手間が多い気がします.

@mmurooka
Copy link
Member

デフォルトをcollada_urdf_jsk_patchにして良いと思います

はい,start-jsk/rtmros_gazebo#195 (comment) でも言われている通りそうするのですが,
それだけでは,表示はできても動かせなくて

現状のまま移植すると,
hrpsys_ros_bridge_tutorials/models に
***_additional_urdf_setting.sh というファイルがロボットの数だけできて,
これをCMakeLists.txtの中で呼ぶ行を追加するようになってしまって,
どうにか回避したいと思いました.

@garaemon
Copy link
Member

models/Jaxon.yamlに追加するのはどうだろうか

2015年6月26日金曜日、Masaki [email protected]さんは書きました:

デフォルトをcollada_urdf_jsk_patchにして良いと思います

はい,start-jsk/rtmros_gazebo#195 (comment)
start-jsk/rtmros_gazebo#195 (comment)
でも言われている通りそうするのですが,
それだけでは,表示はできても動かせなくて

現状のまま移植すると,
hrpsys_ros_bridge_tutorials/models に
***_additional_urdf_setting.sh というファイルがロボットの数だけできて,
これをCMakeLists.txtの中で呼ぶ行を追加するようになってしまって,
どうにか回避したいと思いました.


Reply to this email directly or view it on GitHub
#84 (comment)
.

✉︎ from iPhone

@mmurooka
Copy link
Member

@snozawa
Copy link
Collaborator

snozawa commented Jun 26, 2015

start-jsk/rtmros_gazebo#195
でも話題がありますが、もしvrml->urdfの変換にしたらassimp_develがいらなくなる、というので正しいですか?
@YoheiKakiuchi

@YoheiKakiuchi
Copy link
Member

もしvrml->urdfの変換にしたらassimp_develがいらなくなる、というので正しいですか?

assimpは今のところvrmlを使えないので、vrml->urdf の変換には必要ないでしょうね。

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

6 participants