Closed Naoki-Hiraoka closed 2 years ago
テストコードをこちらに入れてくれればと思います.
JAXON_RED実機で,AutoBalancerをつけた状態で
(send *ri* :set-ref-force #F(50 0 0) 4000 :rarm)
をすると,実機の重心位置が後方に遷移することと,rtprint -n 1 localhost:15005/sh.rtc.rhsensorOut
の結果に正しく目標反力が反映されていることを確認しました.
:larm :rleg, :lleg
についても同様に確認しました(当然ですがlegの場合は重心位置は後方に遷移しませんでした)
テストを追加しました. このPR無しの場合の結果はhttps://github.com/jsk-ros-pkg/jsk_model_tools/pull/237 にあります.
https://github.com/jsk-ros-pkg/jsk_model_tools/pull/233 がmergeされると,テストが通るようになります.
僕の環境でも,ローカルでこのブランチを取り込んでビルドしたところ,意図した挙動をすることを確認できました. 実験を進める上でこの変更は必要なのですが,このPRをマージしていただけないでしょうか.
遅くなりました.マージしました.
https://github.com/start-jsk/rtmros_common/issues/1097 やhttps://github.com/start-jsk/rtmros_common/pull/1080#issuecomment-561094288 で報告されているバグを直すPRです。 SampleRobotやJAXON_REDといった、ロボットのBRMLファイルにForceSensorが書かれている行の順番とsensorIdが一致していないロボットで,euslispのforce-sensorの順番がsensorIdの順番通りにならないバグを直しました.
原因は、
euscollada
がcolladaファイル中の誤ったデータを参照してeuslispのforce-sensorのsensor-idとしていたためでした。SampleRobot VRMLのforce-sensor
[lfsensor, rfsensor, lhsensor, rhsensor]
の順にsensor_id
がふられている https://github.com/fkanehiro/openhrp3/blob/5efda8321a5782f9dee62af470b8753a8a342a7f/sample/model/sample1.wrl#L1112-L1115 https://github.com/fkanehiro/openhrp3/blob/5efda8321a5782f9dee62af470b8753a8a342a7f/sample/model/sample1.wrl#L1254-L1257 https://github.com/fkanehiro/openhrp3/blob/5efda8321a5782f9dee62af470b8753a8a342a7f/sample/model/sample1.wrl#L673-L676 https://github.com/fkanehiro/openhrp3/blob/5efda8321a5782f9dee62af470b8753a8a342a7f/sample/model/sample1.wrl#L865-L868SampleRobot euslispのforce-sensor(Before this PR) VRMLの
sensor_id
の順になっていないSampleRobot euslispのforce-sensor(After this PR) VRMLの
sensor_id
の順になっているこのバグによって現在、JAXON_REDが車椅子を押すときに、
(send *ri* :set-ref-force #F(0 0 -10) 4000 :rarm)
などとすると意図したlimbとは違うlimbの目標力がセットされてしまうという問題が発生しています。