jsk-ros-pkg / jsk_control

jsk control ros packages
http://github.com/jsk-ros-pkg/jsk_control
14 stars 51 forks source link

[jsk_footstep_controller/launch] add launch arguments about odometry for hrp2jsk_footcoords #678

Open k-kimura opened 7 years ago

k-kimura commented 7 years ago

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.

YoheiKakiuchi commented 7 years ago

これは、三輪車を使うときにlocalization (or 正確なodomを出す) 用にするためのlaunchだよね? とりあえず、それを行うためにどういう手順になるか教えてください。 歩行の時(JAXONでdefaultになっている状態)から切り替えるときにどうするか教えてください。

k-kimura commented 7 years ago

これは、三輪車を使うときに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の値はコミット前から変わりないです(他のロボットなどには影響ないです).

k-kimura commented 7 years ago

とりあえず、それを行うためにどういう手順になるか教えてください。

各プログラムの構成・居場所が落ち着いた頃合いをみて,後ほど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.launchhrp2007_auditor.launchでのargumentを生やすためのdiffになっています.

k-kimura commented 7 years ago

歩行の時(JAXONでdefaultになっている状態)から切り替えるときにどうするか教えてください。

現状,実機実験ではHRP2(7号機)で, 歩行系<=>三輪車系のオドメトリ切り替え(引数を変えてros_bridgeを上げ直す) を検証した段階ですが, JAXONを例に同様に切り替える構成にするためには,以下のようになるかとおもいます.

* 1, 2, 3は歩行系と三輪車系の共通利用の部分としてそのまま利用
  - JAXONはjsk_hrp2_ros_bridgeを使ってなかった?ので,2はJAXON用に書く必要あり
  - configのパラメータなどは,7号機用からJAXON用のものを用意する
* 4では三輪車専用の引数を与えてros_bridgeを上げる
k-kimura commented 7 years ago

各プログラムの構成・居場所が落ち着いた頃合いをみて,後ほどREADMEにまとめようとおもいますが,

euslibに以下のREADMEをまとめました. https://github.com/k-kimura/euslib/blob/improve_hrp2_tricycle_speed_up/demo/k-kimura/pedaling/hrp2/README.md