roscd openrtm; svn up; rm -fr build/OpenRTM-aist-1.*; make
roscd hrpsys; svn up; make clean; make
して,もう一度試してみて下さい.
タイミングの問題は解決していないので,rtcdが立ち上がっていないときは,
roslaunch --args rtcd hrp4c.launch | bash
としてみてください.
ここさえ乗りきれば,
rosrun hrpsys hrpsyspy `rospack find
hrpsys`/share/hrpsys/samples/HRP-4C/HRP4C.py
で歩き出すと思います.
%%%
http://www.openrtm.org/pipermail/openrtm-users/2012-April/003665.html
で安藤様にご教示いただいた方法でコンポーネントのインスタンス名を
実行時に決められるようにしました.これで,simulatorcompを立ち上げたときに
$(arg SIMULATOR_NAME)で,インスタンス名をセットしています.
興味のある人は,hrpsys/launch/hrp4c.launch をご覧下さい.
2012/4/18 Shintaro Noda <s-n...@jsk.imi.i.u-tokyo.ac.jp>:
> --
> このメールは Google グループのグループ「rtm-ros-robotics」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/rtm-ros-robotics/-/iM4tqstVL1sJ
> にアクセスしてください。
> このグループに投稿するには、rtm-ros-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、rtm-ros-roboti...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/rtm-ros-robotics?hl=ja
> からこのグループにアクセスしてください。
roslaunch hrpsys hrp4c.launch
を試してみました。
Could not Connect : No such object: /localhost/$(arg
SIMULATOR_NAME).rtc:state
実行するとSimulator.rtcでなく$(arg SIMULATOR_NAME)に
接続されるようですね。
launchの変数名が解決されないという同様の問題がありましたが、
http://code.google.com/p/rtm-ros-robotics/issues/detail?id=24
よくよく考えると,hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launchの
<rtconnect from="$(arg ROBOT_NAME)(Robot)0.rtc:left-eye"
to="ImageSensorROSBridge0.rtc:image" />
の部分はちゃんとROBOT_NAMEが解決されてデータポートが接続されますね。
動いているケースもあるようなのですが、rtmlaunch.pyと
hrpsys-launch.shとで違うのでしょうか。
2012年4月20日0:37 Kei Okada <k-o...@jsk.t.u-tokyo.ac.jp>:
rtconnect/rtactivateの部分はrtmlaunch.py の
<node name="rtmlaunch_hrpsys_ros_bridge" pkg="openrtm"
type="rtmlaunch.py" args="$(find
hrpsys_ros_bridge)/launch/hrpsys_ros_bridge.launch"/>
<rtconnect from="StateHolder0.rtc:qOut"
to="HrpsysSeqStateROSBridge0.rtc:rsangle" />
<rtconnect from="StateHolder0.rtc:basePoseOut"
to="HrpsysSeqStateROSBridge0.rtc:pose" />
にあるように,一度rtmlaounch.py を立ち上げて引数に自身のlaunchをとって,中をパースしてrtshellで接続,という
かなり雑な方法になっています.rtmlaunch.pyの最後の方に
139 nameserver = os.getenv("RTCTREE_NAMESERVERS","localhost")
140 robotname = os.getenv("ROBOT_NAME","")
という,部分があって,これに環境変数を渡すためにhrpsys-launch.sh があります.
ROBOT_NAME=`rosrun openhrp3 extract-robotname -ORBInitRef
NameService=corbaloc:iiop:$RTCTREE_NAMESERVERS:2809/NameService $1`
ROBOT_NAME=$ROBOT_NAME RTCTREE_NAMESERVERS=$RTCTREE_NAMESERVERS rosrun
openrtm rtmlaunch.py $2
ticketは
https://code.ros.org/trac/ros/ticket/3515
にあるのですが,パッチが必要ということで,pythonが得意な人は挑戦してくれると助かります.
2012/4/20 Shunichi Nozawa <nothe...@gmail.com>: