start-jsk / rtmros_common

OpenRTM - ROS interoperability packages
http://wiki.ros.org/rtmros_common
12 stars 52 forks source link

Update travis #1107

Closed Naoki-Hiraoka closed 2 years ago

Naoki-Hiraoka commented 3 years ago

jsk_controlを真似して、indigoとkinetic と melodic を Github Action でテストする形にしました。テスト結果は https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/898237752 https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/898237750 https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/898237751 にあります。(hydro以前のテストは省きました)(これまでは、indigoでrtmcos_commonのテスト時にrtmros_nextageのテストも行っていたのですが、それも省きました.)

@pazeshun ご確認いただけますでしょうか。

Naoki-Hiraoka commented 3 years ago

@pazeshun さんに助言いただき、kinetic, melodicにテストを追加しました。 https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/899032130 https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/899032133

また、hironxのテストも追加しました。しかし、テストが一部通っていません。加速度の閾値を僅かに大きくすれば通りますが、テストコードはhironx_ros_bridgeにあるため、そちらを変更し、releaseする必要があるかもしれません。 https://github.com/Naoki-Hiraoka/rtmros_common/actions/runs/899032134

[hrpsys.py]  clearOfGroup(rarm) will send [] to update seqplay until https://github.com/fkanehiro/hrpsys-base/pull/1141 is available
[hrpsys.py] saved data to /tmp/tmpynvb8h-clear-3.0
check setJointAnglesOfGroup(clear) 3.0
time (=  8.045 ) ==  8.0  ->  True
 min (=  -127.371439942 ) ==  [-125, 20]  ->  True
 max (=  -99.9999855618 ) ==  [-100.0, 5]  ->  True
Acceleration vaiorated! : n = 1605, idx 6, p0 -127.302399, p1 -127.371440, p2 -127.371440, v1 -0.069041, v2 0.000000, acc 0.069041 (0.001205)
[hironx_ros_bridge.rosunit-test_hironx_limb/test_rarm_setJointAngles_Clear][FAILURE]
File "/usr/lib/python2.7/unittest/case.py", line 329, in run
    testMethod()
  File "/opt/ros/indigo/share/hironx_ros_bridge/test/test_hironx_limb.py", line 95, in test_rarm_setJointAngles_Clear
    self.check_log_data(data, 6, (5 + clear_time[i]), [(-140+i*40/len(clear_time)),20], -100.0)
  File "/opt/ros/indigo/share/hironx_ros_bridge/test/test_hironx.py", line 141, in check_log_data
    self.assertTrue(flag)
  File "/opt/ros/indigo/share/hironx_ros_bridge/test/test_hironx.py", line 227, in assertTrue
    assert(a)
Naoki-Hiraoka commented 3 years ago

テスト環境ではrosbridgeが2000hzで回ろうとしているようなので、加速度やhzの閾値ギリギリでテストが一部通らない理由は、https://github.com/start-jsk/rtmros_common/issues/408 で指摘されているPC負荷にあるのではないかと疑っています。

Naoki-Hiraoka commented 3 years ago

https://github.com/start-jsk/rtmros_common/issues/408#issuecomment-864567377

github actionのSampleRobotのテストの現在の典型的な表示

[ INFO] [1624200630.987273216, 24.483999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 212[Hz] (exec 436 Hz, dropped 8)
[ INFO] [1624200635.013909972, 25.733999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 150[Hz] (exec 1158 Hz, dropped 0)

github actionのSampleRobotのテストで、openhrp3をhttps://github.com/fkanehiro/openhrp3/pull/156 のブランチにした場合の典型的な表示

[ INFO] [1624202602.199632788, 16.428000000]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 342[Hz] (exec 402 Hz, dropped 15)
[ INFO] [1624202675.191388432, 22.135999999]: [HrpsysSeqStateROSBridge0] @onExecutece 0 is working at 366[Hz] (exec 414 Hz, dropped 6)

ばらつきはあるが、100hz以上は改善する。

Naoki-Hiraoka commented 3 years ago

openhrp3をソースから入れるテストで、tork-a/openhrp3-releaseのかわりにfkanehiro/openhrp3から入れるようにすると、indigoとkineticで見覚えのあるエラーになる. https://github.com/start-jsk/rtmros_common/pull/1106

[rtmlaunch] Wait for  /localhost:2899/HrpsysSeqStateROSBridge0.rtc:rsangle   29 /30
Naoki-Hiraoka commented 2 years ago

https://github.com/start-jsk/rtmros_common/pull/1116 でテストが通るようになりました。