Open k-kimura opened 7 years ago
これは、三輪車を使うときにlocalization (or 正確なodomを出す) 用にするためのlaunchだよね? とりあえず、それを行うためにどういう手順になるか教えてください。 歩行の時(JAXONでdefaultになっている状態)から切り替えるときにどうするか教えてください。
これは、三輪車を使うときにlocalization (or 正確なodomを出す) 用にするためのlaunchだよね?
はい,このPRでコミットしたlaunch(hrp2jsk_footcoords.launch)については, https://github.com/start-jsk/rtmros_hrp2/pull/465/files#diff-13e5e7d3b3aa34fd8d38d801b24bef1cR24 の部分で,
# 歩行のとき(デフォルト)
root_frame_id: BODY
use_wheel_odometry: false
# 三輪車のとき
root_frame_id: bicycle_center (三輪車の接地点のtf)
use_wheel_odometry: true (/odomから/wheel_odomにremap)
として,引数を渡して切り替えられるようにargumentを加えたdiffになります. defaultの値はコミット前から変わりないです(他のロボットなどには影響ないです).
とりあえず、それを行うためにどういう手順になるか教えてください。
各プログラムの構成・居場所が落ち着いた頃合いをみて,後ほどREADMEにまとめようとおもいますが, 今回の三輪車のlocalizationシステム (wheel odometryとvisual odometryを相補して,@orikumaさん論文提案のodometryを出す) で必要なdiffは全部で以下になります.
(1~3はデフォルトの歩行系などと共通化して利用できるもの)
1. jsk_robot_startup
https://github.com/jsk-ros-pkg/jsk_robot/pull/759
2. jsk_hrp2_ros_bridge
https://github.com/start-jsk/rtmros_hrp2/pull/465
3. jsk_footstep_controller(このPR)
https://github.com/jsk-ros-pkg/jsk_control/pull/678
4. euslib/demo/k-kimura(歩行系などと共通化できない三輪車用のもの)
4-1. 三輪車odometry専用のros_bridgeを上げるパッケージ
https://github.com/jsk-ros-pkg/euslib/pull/259
4-2. 三輪車の速度・角速度の演算系(ホイールオドメトリで利用) + 三輪車move_base + その他動作生成系
https://github.com/jsk-ros-pkg/euslib/pull/165
三輪車のlocalizationシステムの実行は, 4-1のパッケージ(jsk_hrp2_ros_bridgeを真似たもの)を使って,dashboard->ros_bridgeを上げるだけで, (4-2で上げるもの以外は)必要なものすべてが立ち上がるようになっています.
4-1の中では,通常のros_bridge立ち上げのプロセスと同様に,
(v体内で)hrp2007.launch
と(体外のPCで)hrp2007_auditor.launch
を三輪車専用の引数を与えて実行しています.
https://github.com/jsk-ros-pkg/euslib/pull/259/files#diff-a70d5c44dffa6f02a1304c999637e330R2
https://github.com/jsk-ros-pkg/euslib/pull/259/files#diff-29af1a1140d4ed07eea5262f8bb70523R2
歩行系などと共有する1, 2, 3のdiffは,
上記のhrp2007.launch
とhrp2007_auditor.launch
でのargumentを生やすためのdiffになっています.
歩行の時(JAXONでdefaultになっている状態)から切り替えるときにどうするか教えてください。
現状,実機実験ではHRP2(7号機)で, 歩行系<=>三輪車系のオドメトリ切り替え(引数を変えてros_bridgeを上げ直す) を検証した段階ですが, JAXONを例に同様に切り替える構成にするためには,以下のようになるかとおもいます.
* 1, 2, 3は歩行系と三輪車系の共通利用の部分としてそのまま利用
- JAXONはjsk_hrp2_ros_bridgeを使ってなかった?ので,2はJAXON用に書く必要あり
- configのパラメータなどは,7号機用からJAXON用のものを用意する
* 4では三輪車専用の引数を与えてros_bridgeを上げる
各プログラムの構成・居場所が落ち着いた頃合いをみて,後ほどREADMEにまとめようとおもいますが,
euslibに以下のREADMEをまとめました. https://github.com/k-kimura/euslib/blob/improve_hrp2_tricycle_speed_up/demo/k-kimura/pedaling/hrp2/README.md
Added arguments related to https://github.com/start-jsk/rtmros_hrp2/pull/465: root_frame_id and use_wheel_odometry (remap flag from /odom to /wheel_odom) for hrp2jsk_footcoords launch. @orikuma Please check.