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を立ち上げるとCPUパワーが100%になる #408

Closed
k-okada opened this issue Apr 10, 2014 · 39 comments
Closed
Assignees

Comments

@k-okada
Copy link
Member

k-okada commented Apr 10, 2014

重いプロセスがあるので,それを見つけて対応する.

@eisoku9618
Copy link
Member

hrpsys_ros_bridge.launchでhrpsys-ros-bridgeが2000Hzで回るように書かれていて,
https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/launch/hrpsys_ros_bridge.launch#L29

僕の環境では2000Hzでは回らず,1500Hz付近で回るのですが,
このときload average が9とかになります(Core i7 4771を使っています).

[ INFO] [1397531785.135776555, 135.974999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 1422[Hz]

ここを200Hzに変えると,load average が5とかになって少し落ちつくのですが,
こういうレベルの話でしょうか?

[ INFO] [1397531668.202131751, 108.364999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 198[Hz]

@garaemon
Copy link
Member

2000Hzということは、0.5msec周期?
すごく速いですね

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

[ INFO] [1397531785.135776555, 135.974999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 1422[Hz]

あれ?これおかしいな.hrpsysの周期があって,HrpsysSeqStateROSBridgeはそれに同期する(read-blockで)形にしたつもりなんだけど,そもそもこれは何で確認している?実機?シミュレータ?どのロボット?

@eisoku9618
Copy link
Member

サンプルロボットとかHRP2とかのhrpsys simulatorです.

サンプルロボットで言うと,
SampleRobot.xmlのtimeStepは200Hzで,
hrpsys.launchのhrpsys_periodic_rateは100万Hzで,
hrpsys_ros_bridge.launchのexec_cxt.periodic.rateは2000Hzでした.

100万Hzになっている経緯は以下にありました.
fkanehiro/hrpsys-base#14

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

SampleRobot.xmlのtimeStepは200Hz

だと,hrpsysからHrpsysSeqStateROSBridgeに送られるデータは200Hzだから,

hrpsys_ros_bridge.launchのexec_cxt.periodic.rateは2000Hzでした.

でも,

[ INFO] [1397531785.135776555, 135.974999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 1422[Hz]

は200Hzと表示されるはずだけど.

https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/src/HrpsysSeqStateROSBridge.cpp#L317

で,データがくるときだけcountがなされるようになっているはずなんだが...

@YoheiKakiuchi
Copy link
Member

実機とシミュレーションで挙動が違ったりしませんか?
実機ではperiodic rateを大きな値にしてもrtcdのループ周期以上に回っていない気がします。

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

シミュレーションでも同じだと思っているんだけど、違うのかな?

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

http://wiki.ros.org/rtmros_hironx?distro=hydro#Install_via_debian_binary_.28RECOMMENDED.29
を使って試すと以下のようになります.なにかセッティングが違うんだろうか.

[ INFO] [1397541007.086837791, 6.299999999]: [HrpsysSeqStateROSBridge0]
@onExecutece 0 is working at 209[Hz]
[ INFO] [1397541008.088774841, 7.304999999]: [HrpsysSeqStateROSBridge0]
@onExecutece 0 is working at 201[Hz]

2014-04-15 14:14 GMT+09:00 Yohei Kakiuchi [email protected]:

実機とシミュレーションで挙動が違ったりしませんか?
実機ではperiodic rateを大きな値にしてもrtcdのループ周期以上に回っていない気がします。


Reply to this email directly or view it on GitHubhttps://github.com//issues/408#issuecomment-40446495
.

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

$ roslaunch --args HrpsysSeqStateROSBridge hironx_ros_bridge
hironx_ros_bridge_simulation.launch
LANG=C ORBgiopMaxMsgSize=2147483648
/opt/ros/hydro/lib/hrpsys_ros_bridge/HrpsysSeqStateROSBridge -o
corba.nameservers:localhost:15005 -o naming.formats:%n.rtc -o
exec_cxt.periodic.type:PeriodicExecutionContext -o
exec_cxt.periodic.rate:2000 -o logger.file_name:/tmp/rtc%p.log -o
model:/opt/ros/hydro/share/hironx_ros_bridge/models/kawada-hironx.dae
__name:=HrpsysSeqStateROSBridge

という設定で動かしていそうだ.

2014-04-15 14:52 GMT+09:00 Kei Okada [email protected]:

http://wiki.ros.org/rtmros_hironx?distro=hydro#Install_via_debian_binary_.28RECOMMENDED.29
を使って試すと以下のようになります.なにかセッティングが違うんだろうか.

[ INFO] [1397541007.086837791, 6.299999999]: [HrpsysSeqStateROSBridge0]
@onExecutece 0 is working at 209[Hz]
[ INFO] [1397541008.088774841, 7.304999999]: [HrpsysSeqStateROSBridge0]
@onExecutece 0 is working at 201[Hz]

2014-04-15 14:14 GMT+09:00 Yohei Kakiuchi [email protected]:

実機とシミュレーションで挙動が違ったりしませんか?

実機ではperiodic rateを大きな値にしてもrtcdのループ周期以上に回っていない気がします。


Reply to this email directly or view it on GitHubhttps://github.com//issues/408#issuecomment-40446495
.

@mmurooka
Copy link
Member

HRP2実機はros_bridgeが200Hzで回っていました。

@eisoku9618
Copy link
Member

実機とシミュレーションで挙動が違ったりしませんか?
実機ではperiodic rateを大きな値にしてもrtcdのループ周期以上に回っていない気がします。

STAROではhrpsys_periodic_rateを500にしていて,実際にHrpsysSeqStateROSBridgeは500で回っています.

@YoheiKakiuchi
Copy link
Member

STAROではhrpsys_periodic_rateを500にしていて,実際にHrpsysSeqStateROSBridgeは500で回っています.

たとえば、それでhrpsys_periodic_rateを1000にしても、HrpsysSeqStateROSBridgeは500で回るのが期待されている動作だと思います。

@eisoku9618
Copy link
Member

STAROではhrpsys_periodic_rateを500にしていて,実際にHrpsysSeqStateROSBridgeは500で回っています.

たとえば、それでhrpsys_periodic_rateを1000にしても、HrpsysSeqStateROSBridgeは500で回るのが期待されている動作だと思います。

実機にてhrpsys_preiodic_rateを1000にしたところ,HrpsysSeqStateROSBridgeは500で回りました.

@eisoku9618
Copy link
Member

  • SampleRobotのシミュレータでは特に何もいじらなければHrpsysSeqStateROSBridgeが2000Hzで回ろうと頑張っていた(2000Hzはでないので,例えば @s-noda の環境では500Hzくらい,僕の環境では1500Hzくらいで回る)
  • STARO実機にて特に何もいじらなければHrpsysSeqStateROSBridgeが500Hzで回っていた
  • STARO実機にてhrpsys_periodic_rate を1000にしてもHrpsysSeqStateROSBridgeは依然として500Hzで回った
  • STARO実機にてhrpsys_ros_bridge.launchのexec_cxt.periodic.rateを200にしたらHrpsysSeqStateROSBridgeが200Hzで回るようになった

ということから,

  • hrpsys.launch の hrpsys_preiodic_rate は参照されていない値
  • hrpsys_ros_bridge.launch の exec_cxt.periodic.rate は HrpsysSeqStateROSBridge の上限となる
  • STARO実機では何かしらの設定(★)で500Hzで回るようになっている
  • シミュレータでは★に対応するものがないから,2000Hzで回ろうとしてしまい,CPUパワーが100%になってしまう
  • hrpsys_ros_bridge.launch の exec_cxt.periodic.rate を変更するようなパッチ decrease periodic rate from 2000 to 200 #421 ではダメ

ということでしょうか.

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

http://wiki.ros.org/rtmros_hironx?distro=hydro#Install_via_debian_binary_.28RECOMMENDED.29

のNextage シミュレータでは特に何もいじらなければ200Hzなので,確認してみて下さい.

SampleRobotのシミュレータ

というのはどうやって起動したか,教えて下さい.

@YoheiKakiuchi
Copy link
Member

ちょっと違うと思います。

hrpsys.launch の hrpsys_preiodic_rate は参照されていて、rtcdはこの値でまわっている。
(これはHrpsysSeqStateROSBridgeはrtcdより速く回ることはないプログラムのつもり等から)

hrpsys_ros_bridge.launch の exec_cxt.periodic.rate は HrpsysSeqStateROSBridge の上限となる

これは正解だと思います。

STARO実機では何かしらの設定(★)で500Hzで回るようになっている

この何らかの設定がhrpsys_preiodic_rateのはずです。
STARO.RobotHardware.confに以下のperiodic_rateが設定されており、confにこの記述があると、こちらが優先されるんだろうか? どちらの優先度が高いか調べてくれるとありがたいです。

STARO.RobotHardware.conf 
exec_cxt.periodic.type: hrpExecutionContext
exec_cxt.periodic.rate: 500

@eisoku9618
Copy link
Member

SampleRobotのシミュレータ

というのはどうやって起動したか,教えて下さい.

rtmlaunch hrpsys_ros_bridge_tutorials samplerobot.launch

です.

@eisoku9618
Copy link
Member

STARO.RobotHardware.confに以下のperiodic_rateが設定されており、confにこの記述があると、こちらが優先されるんだろうか?

STARO.RobotHardware.confのperiodic_rateが参照されていました.

もっと言うと,

rtmlaunch staro_ros_bridge robot.launch

でhrpsys も hrpsys-ros-bridgeも上がるようになっているのですが,

抜粋すると以下のようになっていて,
STARO.RobotHardware.confに書かれているhrpsys_periodic_rateが有効になっていました.

  <include file="$(find hrpsys_tools)/launch/hrpsys.launch" >
    <arg name="hrpsys_periodic_rate" default="500"/>
    <arg name="RobotHardware_conf" default='$(find jsk_hrpsys_ros_bridge)/models/STARO.RobotHardware.conf'/>
  </include>

<arg name="hrpsys_periodic_rate" default="500"/>を変えても何も変わらなくて,引っかかっていました.すみません.

@YoheiKakiuchi
Copy link
Member

hironx_startup.launchには以下のrealtimeの設定があって、simulationではtrueになっています。
samplerobot_startup.launchはrealtimeの設定をhrpsys.launchに渡していません。渡すと200Hzでまわりました。

  <include file="$(find hrpsys_tools)/launch/hrpsys.launch">
    <arg name="REALTIME" default="$(arg REALTIME)" />

@eisoku9618
Copy link
Member

  <include file="$(find hrpsys_tools)/launch/hrpsys.launch">
    <arg name="REALTIME" default="$(arg REALTIME)" />

で200Hzで動きました.

ありがとうございます.

(send *ri* :go-velocity 0 0 0)

をしたときのhtopが以下になりますが,良さそうです.

ノートPCでもCPUが重くならないか試してみます.

image

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

sanmplerobotのサンプルはhrpsys_ros_bridge_tutorialsではなく,hrpsys_ros_bridge/launch/samplerobot.launchに
移行できているので,時間があれば申しわないけど,こちらでどうなっているか確認してみて下さい.
で,いずれにせよ,これがチャント動くようにして,hrpsys_ros_bridge_tutorialsはこれをincludeするだけ,というふうにしましょう.

ちなみに,hrp4cもhttps://github.com/start-jsk/hrpsys/issues/66に手順でhrpsysまでは上がります.

On Tue, Apr 15, 2014 at 8:39 PM, Eisoku Kuroiwa [email protected]:

で動きました.

(send ri :go-velocity 0 0 0)

をしたときのhtopが以下になりますが,良さそうです.

ノートPCでもCPUが重くならないか試してみます.

[image: image]https://cloud.githubusercontent.com/assets/4509039/2706456/807d08a0-c491-11e3-93e4-97c0567a3f70.png


Reply to this email directly or view it on GitHubhttps://github.com//issues/408#issuecomment-40471812
.

@YoheiKakiuchi
Copy link
Member

両方維持する必要はないので、hrpsys_ros_bridgeにあるモデルはtutorialsから抜くというのでどうでしょうか。

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

チュートリアルだからできるもの一覧が見えたほうがいいのでは.

On Tue, Apr 15, 2014 at 9:48 PM, Yohei Kakiuchi [email protected]:

両方維持する必要はないので、hrpsys_ros_bridgeにあるモデルはtutorialsから抜くというのでどうでしょうか。


Reply to this email directly or view it on GitHubhttps://github.com//issues/408#issuecomment-40476927
.

@YoheiKakiuchi
Copy link
Member

モデルファイルの自動変換されるものも必要ですか?

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

roscd hrpsys_ros_bridge_tutorials/launch いって面白そうなファイルを立ち上げたら,なにか動くよ
roscd hrpsys_ros_bridge_tutorials/launch いって面白そうなファイルを立ち上げたら,なにか動くよ
ただ,実はここにないロボットもhrpsys_ros_bridge/launchにあるよ,奥深いでしょ

の違いでしょうか.

@eisoku9618
Copy link
Member

ノートPCでもCPUが重くならないか試してみます.

一応やってみたので貼っておきます.

  • REALTIMEをtrueにする前

image

  • REALTIMEをtrueにした後

image

load average が4を超えてしまっていますが,一応CPU使用率は結構下がりました.

@snozawa
Copy link
Contributor

snozawa commented Apr 15, 2014

すいません、
start-jsk/rtmros_tutorials#36
にCommentするほうが良かったです。
ここのissuesでの上記はムシしてください。

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

Xボタンを押すとコメントを消せます.

@eisoku9618
Copy link
Member

sanmplerobotのサンプルはhrpsys_ros_bridge_tutorialsではなく,hrpsys_ros_bridge/launch/samplerobot.launchに
移行できているので,時間があれば申しわないけど,こちらでどうなっているか確認してみて下さい.

hrpsys_ros_bridge/launch/samplerobot.launchでは

<arg name="REALTIME" default="false" />

になっていたため,HrpsysSeqStateROSBridgeが1500Hzくらい出て,CPUが100%になります.

ここを

<arg name="REALTIME" default="true" />

にすると,HrpsysSeqStateROSBridgeが200Hzで安定し,良い感じになりました.

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

なるほど。このファイルは自動生成だからそこから直す必要があるかな。@snozawaに仕組みを聞いPRを作ってくれると嬉しいです。

@k-okada
Copy link
Member Author

k-okada commented Apr 15, 2014

#426
でデフォルトで

<arg name="REALTIME" default="true" />

になるようにしたつもりです.

@k-okada
Copy link
Member Author

k-okada commented Apr 16, 2014

@eisoku9618 #426 でよいか確認して下さい.

@eisoku9618
Copy link
Member

<arg name="REALTIME" default="true" />になり,hrpsys-simulatorは200Hzで回ってくれました.

ただ, start-jsk/rtmros_tutorials#36 (comment) のように,euslispのサンプルはhrpsys_ros_bridge_tutorialsの方にしかありませんが,
hrpsys_ros_bridge_tutorialsの方のsmaplerobot.launchを立ち上げた場合は問題なく歩くのに対し,
hrpsys_ros_bridgeの方のsmaplerobot.launchを上げた場合には

roscd hrpsys_ros_bridge_tutorials/euslisp
roseus samplerobot-interface.l "(samplerobot-init)" "(send *ri* :start-auto-balancer)"

するとエラーが出てしまいます.

[INFO] [WallTime: 1397624579.549473] [91.090000] check 0 collision status, 0.000000 Hz
[ INFO] [1397624580.305292720, 91.894999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 196[Hz]
[ INFO] [1397624580.810446918, 92.349999999]: AutoBalancerServiceROSBridge::startABC()
[AutoBalancer] start auto balancer mode
abc limb [:rleg]
abc limb [:lleg]
[rtmlaunch] [ERROR] Could not Connect ( /localhost:15005/StabilizerServiceROSBridge.rtc:StabilizerService , /localhost:15005/st.rtc:StabilizerService ):  CORBA.COMM_FAILURE(omniORB.COMM_FAILURE_UnMarshalResults, CORBA.COMPLETED_YES) 
[ERROR] [1397624580.919426753, 92.354999999]: AutoBalancerServiceROSBridge::startABC : Caught system exception COMM_FAILURE -- unable to contact the object.
[hrpsys-3] process has died [pid 30934, exit code -11, cmd /home/eisoku/catkin_ws/ws_rtmros_common/devel/lib/hrpsys/hrpsys-simulator /home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.xml -o manager.is_master:YES -o corba.nameservers:localhost:15005 -o naming.formats:%n.rtc -o logger.file_name:/tmp/rtc%p.log -endless -realtime -o exec_cxt.periodic.rate:1000000 -o manager.shutdown_onrtcs:NO -o manager.modules.load_path:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/openrtm_common/hrpsys/lib -o manager.modules.preload:HGcontroller.so -o manager.components.precreate:HGcontroller -o exec_cxt.periodic.type:SynchExtTriggerEC -o example.SequencePlayer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.ForwardKinematics.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.ImpedanceController.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.AutoBalancer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.StateHolder.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.TorqueFilter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.TorqueController.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.VirtualForceSensor.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.AbsoluteForceSensor.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.KalmanFilter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.Stabilizer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.CollisionDetector.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.SoftErrorLimiter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.RobotHardware.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf __name:=hrpsys __log:=/home/eisoku/.ros/log/2a028a70-c524-11e3-a82d-081196cda840/hrpsys-3.log].
log file: /home/eisoku/.ros/log/2a028a70-c524-11e3-a82d-081196cda840/hrpsys-3*.log
respawning...
[hrpsys-3] restarting process
process[hrpsys-3]: started with pid [453]
(send *ri* :start-st)

は大丈夫でした.

@garaemon
Copy link
Member

:start-auto-balancerはどうですか?

2014年4月16日水曜日、Eisoku [email protected]さんは書きました:

になり,hrpsys-simulatorは200Hzで回ってくれました.

ただ, start-jsk/rtmros_tutorials#36 (comment)https://github.com/start-jsk/rtmros_tutorials/issues/36#issuecomment-40486548のように,euslispのサンプルはhrpsys_ros_bridge_tutorialsの方にしかありませんが,
hrpsys_ros_bridge_tutorialsの方のsmaplerobot.launchを立ち上げた場合は問題なく歩くのに対し,
hrpsys_ros_bridgeの方のsmaplerobot.launchを上げた場合には

roscd hrpsys_ros_bridge_tutorials/euslisproseus samplerobot-interface.l "(samplerobot-init)" "(send ri :start-auto-balancer)"

するとエラーが出てしまいます.

[INFO] [WallTime: 1397624579.549473] [91.090000] check 0 collision status, 0.000000 Hz[ INFO] [1397624580.305292720, 91.894999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 196[Hz][ INFO] [1397624580.810446918, 92.349999999]: AutoBalancerServiceROSBridge::startABC()[AutoBalancer] start auto balancer mode
abc limb [:rleg]
abc limb [:lleg][rtmlaunch] [ERROR] Could not Connect ( /localhost:15005/StabilizerServiceROSBridge.rtc:StabilizerService , /localhost:15005/st.rtc:StabilizerService ): CORBA.COMM_FAILURE(omniORB.COMM_FAILURE_UnMarshalResults, CORBA.COMPLETED_YES) [ERROR] [1397624580.919426753, 92.354999999]: AutoBalancerServiceROSBridge::startABC : Caught system exception COMM_FAILURE -- unable to contact the object.[hrpsys-3] process has died [pid 30934, exit code -11, cmd /home/eisoku/catkin_ws/ws_rtmros_common/devel/lib/hrpsys/hrpsys-simulator /home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.xml -o manager.is_master:YES -o corba.nameservers:localhost:15005 -o naming.formats:%n.rtc -o logger.file_name:/tmp/rtc%p.log -endless -realtime -o exec_cxt.periodic.rate:1000000 -o manager.shutdown_onrtcs:NO -o manager.modules.load_path:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/openrtm_common/hrpsys/lib -o manager.modules.preload:HGcontroller.so -o manager.components.precreate:HGcontroller -o exec_cxt.periodic.type:SynchExtTriggerEC -o example.SequencePlayer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.ForwardKinematics.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.ImpedanceController.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.AutoBalancer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.StateHolder.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.TorqueFilter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.TorqueController.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.VirtualForceSensor.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.AbsoluteForceSensor.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.KalmanFilter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.Stabilizer.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.CollisionDetector.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.SoftErrorLimiter.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf -o example.RobotHardware.config_file:/home/eisoku/catkin_ws/ws_rtmros_common/src/rtm-ros-robotics/rtmros_common/hrpsys_ros_bridge/models/SampleRobot.conf __name:=hrpsys __log:=/home/eisoku/.ros/log/2a028a70-c524-11e3-a82d-081196cda840/hrpsys-3.log].
log file: /home/eisoku/.ros/log/2a028a70-c524-11e3-a82d-081196cda840/hrpsys-3*.log
respawning...[hrpsys-3] restarting process
process[hrpsys-3]: started with pid [453]

(send ri :start-st)

は大丈夫でした.


Reply to this email directly or view it on GitHubhttps://github.com//issues/408#issuecomment-40563652
.

from iPhone

@garaemon
Copy link
Member

ああ、:start-auto-balancerが動かないのですね

@k-okada
Copy link
Member Author

k-okada commented Apr 16, 2014

とこところで,そもそものIssueの意図は添付のようにhrpsys_profile.pyとか,rtmlaunch.pyとか,diagnostics.pyとか,colision_state.pyとか不必要に重くないですか?といういみでした.
これ以外もROSBridgeは平均的におもいですねぇ...CORBAってこんなもんでしょうか.
screenshot_from_2014-04-16 18 46 50

@garaemon
Copy link
Member

rosbridgeのベンチマークをとってみるべきでしょうか。

hrpsys_ros_bridgeのほうではconfに得に書いてなくて、hrpsys_ros_bridge_tutorialsではconfに色々追加してるからでしょうか?
だからtutorialsでだけabcが動く?

@k-okada
Copy link
Member Author

k-okada commented Jul 11, 2014

closing, if someone have time to investigate this, please reopen this.

@Naoki-Hiraoka
Copy link
Contributor

hrpsys_ros_bridge/launch/samplerobot.launchでは

になっていたため,HrpsysSeqStateROSBridgeが1500Hzくらい出て,CPUが100%になります.

ここを

にすると,HrpsysSeqStateROSBridgeが200Hzで安定し,良い感じになりました

現在、

rtmlaunch  hrpsys_ros_bridge samplerobot.launch 

rtmlaunch  hrpsys_ros_bridge_tutorials samplerobot.launch 

をすると、

[ INFO] [1624200489.181782867, 16.414000000]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 501[Hz] (exec 1813 Hz, dropped 0)

と表示されます。rosbridgeはrtcd以上のhzで回っているようです。

これが原因で、テストが通りにくくなっている疑惑があります。#1107 (comment)

SampleRobot.confにexec_cxt.periodic.rate: 500 を追加するとrtcdと同じhzで回るようになりました。

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

7 participants