Closed k-okada closed 10 years ago
From noz...@jsk.imi.i.u-tokyo.ac.jp on July 24, 2013 21:57:22
賛成です。 http://code.google.com/p/rtm-ros-robotics/issues/detail?id=139&can=1&q=2888 をみても、rosmake時に専用ポートでomninamesをあげるように変わってきてます。
あとは、(必須でないですが)地味に欲しい機能として、 roslaunchのようにコマンドラインで補完ができる、などがあります。
From nakaokat on July 24, 2013 22:10:27
naming serverは立ち上げ忘れることが多いので、自動になると便利ですね。
外でomninamesをあげてある場合にはそのままそれを使ってほしいので、 rtm-naming, rtm-naming-restartのポートも同じポートに変えて、 sudoではなくすという感じでしょうか。
コマンドライン補完はrtshellなどと同じようにbashrcで読み込めるようにしておけばよさそうです。
From kei.ok...@gmail.com on July 30, 2013 04:08:37
alias rtmlaunch='rospack find hrpsys_ros_bridge
/scripts/rtmlaunch'
としたらrtmlaounchが使えると思います.
ー ポートの変更 (3003にしますか?)
ー 補間
等を対応してくれると嬉しいです.
From nakaokat on July 30, 2013 04:12:58
補完はどこかに complete -F "_roscomplete_launch" -o filenames "rtmlaunch" と書けばできます。
From kei.ok...@gmail.com on August 20, 2013 00:45:18
岡田です.
本件,対応しました.ポートは昔と同じ5005にしました. 以下のファイルを変更しただけでhironx_ros_bridge_simulation.launchがうごいたので,他のロボットも変更なしで動くはずですが,動かなければ教えて下さい.
使い方ですが,,,
alias rtmlaunch='rospack find hrpsys_ros_bridge
/scripts/rtmlaunch'
として,
rtmlaunch hogheoge hogehoge.launch
としてください.
rtmlaunchの中でnameserverを5005で立ち上げてからroslauchを呼び出します.
source rospack find openrtm_tools
/scripts/rtshell-setup.sh
としておこうとタブ補間が聞くはずです.また,rtshell-setup.shを読み込むか,
export RTCTREE_NAMESERVERS=localhost:5005
としておく必要があります.
rtmlaunchしたあと,もう一度rtmlaunchするとnameserverを立ち上げ直すので,おかしいことが起こるかもしれません.どうすべきか,アイデアがあれば教えてください.
送信しています hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch 送信しています hrpsys_ros_bridge/scripts/rtmlaunch 送信しています hrpsys_tools/launch/hrpsys.launch 送信しています openrtm_tools/scripts/rtshell-setup.sh
From kei.ok...@gmail.com on August 20, 2013 00:45:50
r5165 です.
From nothewo...@gmail.com on August 20, 2013 23:27:34
rostestはどうすればよろしいでしょうか。
rtmlaunchのmainの部分をかえてみみて、
from rostest import rostestmain try: rostestmain()
なrtmtestをつくるかんじでしょうか。
あと、openrtm_tools/scripts/rtmlaunch.pyはなにか別なものに リネームするとよさそうですね。
From kei.ok...@gmail.com on August 21, 2013 20:12:01
rtmlaunchのmainの部分をかえてみみて、 なrtmtestをつくるかんじでしょうか。 そうですね.rtmlaunchをimportして動くようなrtmtestができるといいですね. (あるいは,rtmlaunch/rtmtestがなんかのファイルをimportして動くようにする)
あと、openrtm_tools/scripts/rtmlaunch.pyはなにか別なものに リネームするとよさそうですね。
そうですが,deb[1]でいれると,rosrunせずにrtmlaunch だけで立ち上がるようにできるので, (いまそうなっているか未確認ですが),まぁ大丈夫じゃないかと思っています. https://code.ros.org/lurker/attach/3@20130821.233703.f7040f98.attach
From gm130s on August 22, 2013 07:28:44
rtmlaunchデフォルトでないポートで立ち上げようとしているので,rtmlaunchでは/var/run/:cosnames:pidがあれば,already startedと判断しているのは間違いではないでしょうか?
From gm130s on August 22, 2013 07:30:31
http://code.google.com/p/rtm-ros-robotics/wiki/hironx_ros_bridge?ts=1377181772&updated=hironx_ros_bridge に対処法 ($ sudo /etc/init.d/omniorb4-nameserver stop) を書きましたが,このチケットがなおったら消して下さい.
From you...@jsk.imi.i.u-tokyo.ac.jp on August 22, 2013 08:29:25
すいません、ついていけてないのですが、 hrpsys_gazebo_atlas/launch/atlas_hrpsys.launchがエラーになっています。 本件と関係あるかもわからないのですが、関係あるなら修正方法等お教え願います。
core service [/rosout] found process[modelloader-1]: started with pid [18802] IDL:omg.org/CORBA/TRANSIENT:1.0 [modelloader-1] process has finished cleanly log file: /home/lyouhei/.ros/log/5fe87046-0adf-11e3-a547-00018eabb2f3/modelloader-1.log respawning... [modelloader-1] restarting process process[modelloader-1]: started with pid [18805] IDL:omg.org/CORBA/TRANSIENT:1.0 [modelloader-1] process has finished cleanly log file: /home/lyouhei/.ros/log/5fe87046-0adf-11e3-a547-00018eabb2f3/modelloader-1.log respawning...
From you...@jsk.imi.i.u-tokyo.ac.jp on August 22, 2013 08:36:17
すいません、読めていませんでした。 これまでroslaunchしていたのを、以下に変更しろということですね。
rtmlaunch hogheoge hogehoge.launch
From kei.ok...@gmail.com on August 22, 2013 08:54:17
岡田です. すいません. 1)今まで rosrun openrtm_aist rtm-naming してから roslaunch hogehgoe hogehoge.launch していました.
これからは
rosrun openrtm_aist rtm-naming 5005
roslaunch hogehgoe hogehoge.launch
とするか,
alias rtmlaunch='rospack find hrpsys_ros_bridge
/scripts/rtmlaunch'
rtmlaucn hogehoge hogehgoe.launch
してください(rtmlaunchは5005でnameserverをあげてからroslaunchします)
ただし,後者の場合このチケットがクローズされるまでは, sudo /etc/init.d/omniorb4-nameserver stop してから実行して下さい.
From kei.ok...@gmail.com on August 22, 2013 19:53:04
r5216 で直したつもりです. sudo /etc/init.d/omniorb4-nameserver stop しなくてもOKなはずなので確認して下さい.
From nakaokat on August 25, 2013 19:58:03
今さらの指摘になってしまいますが、 http://ja.wikipedia.org/wiki/TCP%E3%82%84UDP%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%E3%81%AE%E4%B8%80%E8%A6%A7 によると、ポート5005は
5005/TCP,UDP,DCCP RTP (Real-time Transport Protocol) control protocol (RFC 3551, RFC 4571)
となっていて、どうも公式に割り当てられているポートなので、勝手にkillしてしまってよいものかと思います。 例えば15005ならば他では使われていないようです。
From emijah.s on August 25, 2013 23:02:33
そうですね。そもそもOpenHRPで5005から2809に移した理由は2809がデフォルトのCORBAポーとだったからと記憶しています。RTPように開いているので、Windowsなどでは元々開いていて使いやすいのかもしれないですね。高い番号のポートも使用中かどうか確認してから使う必要もありそうです。
From nao.luna...@gmail.com on August 28, 2013 00:45:23
実機のHIROとの接続を試したのですが,
その時に ~/ros/groovy/rtm-ros-robotics/openrtm_common/hrpsys/build/hrpsys-base-source/python の252行目あたりが
try:
n = sys.argv.index('-ORBInitRef')
nshost = re.match('NameService=corbaloc:iiop:(\w+):2809/NameService', sys.argv[n+1]).group(1)
except:
nshost = socket.gethostname()
となっていたので,接続できず,2809を5005に変えたところHIROと接続ができるようになりました.
ネームサーバのデフォルトポートが5005に変わったそうですが, こちらの変更はコミットしなくても大丈夫でしょうか?
ご確認お願いします.
From kei.ok...@gmail.com on August 28, 2013 00:55:13
はい.ありがとうございます. 一つ調べてもらいたいんですが,ここは変更しない状態で export RTCTREE_NAMESERVERS=localhost:5005 export ORBInitRef="NameService=corbaloc:iiop:localhost:5005/NameService" のexportをやめた状態だと接続できる,ということはあるでしょうか? 特に2番目のexportはなくて大丈夫なはず,と思っています.
From kei.ok...@gmail.com on August 28, 2013 01:15:09
nakaokatさんのご指摘の通り15005にしてみました. https://code.google.com/p/rtm-ros-robotics/source/detail?r=5283 https://code.google.com/p/hrpsys-base/source/detail?r=826 で変更したつもりです.漏れがあれば教えて下さい.
svn up ; rosmake でOKだと思いますが,hrpsysは(roscd hrpsys; make download)として ソースを落としてからmakeとする必要があると思います(説明が雑なので分からなかったらだれかフォローして下さい)
実機の方は、/opt/jsk/binの NameServer.sh, ModelLoader.sh, rtcd.sh に情報があるので,
== NameServer.sh
$LOG_DIR/NameServer-$DATESTRING.log 2>&1 & /opt/jsk/bin/omniNames -logdir /tmp -start 15005 > $LOG_DIR/NameServer-$DATESTRING.log 2>&1 & ==
== ModelLoader.sh
NameService=corbaloc:iiop:localhost:2809/NameService > $LOG_DIR/ModelLoader-$DATESTRING.log 2>&1 )& (openhrp-model-loader -ORBInitRef NameService=corbaloc:iiop:localhost:15005/NameService > $LOG_DIR/ModelLoader-$DATESTRING.log 2>&1 )&
==rtcd.shは rtcd -f $JSK_DIR/etc/$ROBOT/hrprtc/rtcdRobotMode.conf > $LOG_DIR/rtcd-$DATESTRING.log 2>&1 なので、 === /opt/jsk/etc/HIRONX/hrprtc/rtcdRobotMode.conf を変更
corba.nameservers: localhost:15005
と変更する.
手元のターミナル亜で export RTCTREE_NAMESERVERS=localhost:2709 となっていれば, export RTCTREE_NAMESERVERS=hiro014:15005 に変更する.
実機のつなげ方
./hironx.py RobotHardware0 /opt/jsk/etc/HIRONX/model/main_dof15.wrl -- -ORBInitRef NameService=corbaloc:iiop:hiro014:15005/NameService として、RTCを立ち上げて(ここはダサいので要変更) roslaunch hironx_ros_bridge hironx_ros_bridge.launch nameserver:=hiro014 としてブリッジを立ち上げる.
From nao.luna...@gmail.com on August 28, 2013 01:21:51
その2つをしない状態でも,接続できませんでした.
また,.bashrcに, export RTCTREE_NAMESERVERS=hiro014:5005 export ORBInitRef="NameService=corbaloc:iiop:hiro014:5005/NameService"
のように,hiro014の方を設定しても, [hrpsys.py] finding RTCManager and RobotHardware Manager not found [hrpsys.py] wait for RTCmanager : yken-hiro-sim と出てしまいました.
改善案としては, nshost = re.match('NameService=corbaloc:iiop:(\w+):2809/NameService', sys.argv[n+1]).group(1)
の部分を, nshost = re.match('NameService=corbaloc:iiop:(\w+):\d+/NameService', sys.argv[n+1]).group(1)
のように変更すると,どのようなポート番号でも対応できそうな気がするのですが, いかがでしょうか?
From nao.luna...@gmail.com on August 28, 2013 01:52:47
岡田先生,以下の2点がコミットされていないような気がします. これらを変更すると,rtmlaunch hironx_ros_bridge hironx_ros_bridge.launchが立ち上がりました.
port_number = 15005
確認お願いします.
From kei.ok...@gmail.com on August 28, 2013 01:55:42
おお,ありがとうございます. r5284 で直しました.
From kei.ok...@gmail.com on August 28, 2013 11:42:43
Status: Fixed
From kei.ok...@gmail.com on July 25, 2013 01:49:13
Issue 140 にもあるようにname server関連のトラブルが耐えないので, ポート番号をデフォルトではなくして,rtmlaunch みたいなの( Issue 105 )を 使ってnmae serverを立ち上げる(デフォルトのポートをつかうとsudoで killしなければいけない場合がある)ほうが,トラブルが減ると思いますが どうでしょうか?
Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=141