Open Naoki-Hiraoka opened 3 years ago
https://www.ros.org/reps/rep-0120.html に満たしていない必要な条件とは、は何でしょう?
reopend because question is not answered
base_footprint
に相当するFootCoordsが出すTFであるground
は、位置も姿勢も両足の中間になっています. base_footprint
は、両足の中間なのですが、Z位置は両足の低い方、姿勢はZ軸が親frameのZ軸と同じとされています。そのためground
は、歩行時に遊脚の上下にあわせてground
も上下に変動したり、足が水平でないときにground
も傾いたりして、「床から○○cm以下の点群を切り取る」といった用途に使いづらくなっています。
REPでは、base_footprint
の条件として「yawがbase_link
と同じ」、とされていますが、腰を曲げて移動する場合にbase_linkのyawが定義しづらいのと、AutoBalancerではbase_linkではなくfootstepを用いてyawを考えているのと、carry_demo等でtfのbase_footprint
とeuslispの(send *robot* :foot-midcoords)
を対応付けて点群認識を行っていることから、ここはREPを無視してFootCoordsのground
の条件(両足の中間)でいいかなと思っています.
base_footprint
にせよFootCoordsのground
にせよ、片足を用いたマニピュレーションや多点接触といった用途では明らかに不十分なので、あくまでも二足歩行時用に特化したツールになります。
https://github.com/start-jsk/rtmros_common/issues/986 https://github.com/jsk-ros-pkg/jsk_control/issues/681 https://github.com/jsk-ros-pkg/jsk_control/issues/624 https://github.com/start-jsk/rtmros_choreonoid/issues/213
footcoords
が、新たにbase_footprintを出すようにしました。 台車型ロボット用のナビゲーションライブラリを使用するために必要でした。footcoords
が出す他のtfは、base_footprintに必要な条件を満たしていませんでした。