Closed k-okada closed 10 years ago
From nakaokat on July 24, 2013 01:33:05
すみません、rosmakeとmakeで違いはなさそうです。
外部でrtm-namingを起動しておくと正しく生成されるようです。 rtm-namingが起動されていない状態でmakeした場合、 rtm-namingをその都度起動して生成してくれるようになっていたと思いますが、 昔から別途rtm-namingを起動しておかないと上手くいかなかったでしょうか。
From nakaokat on July 24, 2013 01:58:57
rtm-namingが上がっていない状態でも、pr2などはxmlが生成されているので調べたところ、 compile_robot_model.cmakeでcompile_collada_modelのみがomniNamesを起動するようになっていました。
wrlから生成するときはcompile_openhrp_model、daeから生成するときはcompile_collada_modelを使うようになっているため、 daeから生成するpr2はxmlができていたようです。 r4665 でcompile_collada_modelと同じように、compile_openhrp_modelでもomniNamesを起動するようにしました。
Status: Fixed
From noz...@jsk.imi.i.u-tokyo.ac.jp on July 24, 2013 05:16:27
遅くなりましたが、ご指摘のとおりrtm-namingが必要です。 compile_openhrp_modelとcompile_collada_modelが 同時にはしってしまうと動かないことがあると思うので(cmakeで依存関係がないのと、make -j16などした場合、つまりromsakeしたとき)、 前者はportを2888->2889にしました( r4666 )。
From kei.ok...@gmail.com on August 04, 2013 01:46:48
以下のようにまだ 2889でなく2888な部分がありますが,これは意図したものでしょうか?
174 add_custom_command(OUTPUT ${_xmlfile}
175 COMMAND rosrun openrtm_aist rtm-naming 2888
176 COMMAND rostest -t hrpsys_tools _gen_project.launch CORBA_PORT:=2888 INPUT:=${daefile}${_proj_f 176 ile_root_option} OUTPUT:=${_xmlfile} ${_conf_file_option} ${_robothardware_conf_file_option} ${_con 176 f_dt_option}
Status: Accepted
Owner: noz...@jsk.imi.i.u-tokyo.ac.jp
From noz...@jsk.imi.i.u-tokyo.ac.jp on August 04, 2013 06:02:31
以下のようにまだ 2889でなく2888な部分がありますが,これは意図したものでしょうか? はい、そうです。 commit messageの言葉がちょっと不十分でした。
同時にはしってしまうと動かないことがあると思うので(cmakeで依存関係がないのと、make -j16などした場合、つまりromsakeしたとき)、 compile_collada_model compile_openhrp_model とで依存関係がないので、make -j16などで同じポート(例えばどちらも2888)を使ってしまうと、 片方が2888をkillしてしまい、もう片方が2888を必要としているのに ominNamesにできない、というのが問題でした。 ということで、片方が2889, 猛火他方が2888であっていると思います。
多分そもそも経緯として、
1.もともとは、 compile_openhrp_modelもcompile_collada_modelも 特になにも指定せずデフォルト2809を使ってました
From kei.ok...@gmail.com on August 04, 2013 06:45:02
2888を使わず, 2889と2890としたらまずいですか.
2888のnameserverはシステムが稼動していてそれを止めるにはsudoが必要だったり,yes/noを おさなければいけなかったりして,必要なければ2888を使わないようにしておきたいです. [#141]にあるようにシステム自体も変えようとおもいます.昔は(HRP2)は3003だっけ?4004だっけ?
From noz...@jsk.imi.i.u-tokyo.ac.jp on August 04, 2013 06:56:30
なるほど、事情がわかりました。 数値自体は他とかぶらない、かつcompile_xx同士でかぶらなければ, 2888でなくとも、何であっても問題ないと思います。
昔は(HRP2)は3003だっけ?4004だっけ? 5005でした。
From kei.ok...@gmail.com on August 04, 2013 07:01:00
なるほど、事情がわかりました。 数値自体は他とかぶらない、かつcompile_xx同士でかぶらなければ, 2888でなくとも、何であっても問題ないと思います。
関連するところを変更しておいて下さい.
昔は(HRP2)は3003だっけ?4004だっけ? 5005でした。
は僕の方で直しますので,上の変更が終わったら僕にassinしておいてください.
From noz...@jsk.imi.i.u-tokyo.ac.jp on August 04, 2013 08:16:58
r4940 で、2889と2890のポートを使うようにしました。
Owner: k-ok...@jsk.imi.i.u-tokyo.ac.jp
From kei.ok...@gmail.com on January 30, 2014 02:54:25
Status: Fixed
From nakaokat on July 24, 2013 16:33:36
make時にhrpsys_ros_bridge_tutorials/models以下にxmlやdaeが生成されるようになっていると思いますが、 hrpsys_ros_bridge_tutorialsでmake cleanした直後、 rosmake hrpsys_ros_bridge_tutorialsとすると、HRP4C.xmlなどがなぜか生成されません。 makeとしてやる必要があります。 Issue 131 や Issue 107 と同じで、並列コンパイルの影響かと思います。
Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=139