start-jsk / rtmros_common

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

robot と self でlimbの順番が違う #1097

Closed YutaKojio closed 2 years ago

YutaKojio commented 4 years ago

set-ref-force では指定されたlimbは指定された力にし, それ以外はself(*ri*)の referece-force-vector を使うようになっていますが, https://github.com/start-jsk/rtmros_common/blob/master/hrpsys_ros_bridge/euslisp/rtm-ros-robot-interface.l#L539-L542 少なくともJAXONでは,robot では (larm rarm lleg rleg) なのに対し,self は (rleg lleg rarm larm) となっているため意図した値がセットできません.

すぐ直せなかったのでとりあえず報告させていただきます.

Naoki-Hiraoka commented 4 years ago

SampleRobotでも同じ問題が起きています. ロボットのwrlファイルにForceSensorが書かれている行の順番と,sensorIdが一致していない場合に,発生します. JAXONの場合は,wrlファイルに上から順にlhsensor, rhsensor, lfsensor, rfsensorの順で書かれていますが, sensorIdはlhsensorが3, rhsensorが2, lfsensorが1, rfsensorが0となっています.

openhrp-export-colladaを直すか,rtm-ros-robot-interfaceがhrpsysからのトピックを受け取る際にlimbの順を適切に並び替える必要があると思われます.

YutaKojio commented 4 years ago

ありがとう.samplerobotで似たような問題があった気がして探してすぐ見つけられなかったけどどこのissueだったけ?

同じwrlファイルから作ってるので, openhrp-export-colladaを直す のほうがよさそうな気がしますね.

Naoki-Hiraoka commented 4 years ago

privateリポジトリですが,https://github.com/start-jsk/rtmros_hrp2/pull/550#issuecomment-611375233 になります.

YutaKojio commented 4 years ago

privateロボット特有というわけでもないみたいなので解決するまではここも残しておきます.

Naoki-Hiraoka commented 3 years ago

原因はopenhrp3ではなくeuscolladaでした. https://github.com/jsk-ros-pkg/jsk_model_tools/pull/236

Naoki-Hiraoka commented 2 years ago

https://github.com/jsk-ros-pkg/jsk_model_tools/pull/236 で解決しました