open-rdc / orne-box

Platform hardware for autonomous robot
BSD 2-Clause "Simplified" License
31 stars 20 forks source link

パラメータの確認 #85

Open yasuohayashibara opened 1 year ago

yasuohayashibara commented 1 year ago

ORNE-box関連で気になったパラメータを列記します.

yasuohayashibara commented 1 year ago

パラメータ https://github.com/open-rdc/orne-box/blob/master/orne_box_bringup/launch/includes/robot_localization.launch

ノード https://docs.ros.org/en/melodic/api/robot_localization/html/state_estimation_nodes.html

気になった点 1)publish_acceleration: true デフォルトではfalse   → 不要かも

2)GPSは使用していないがその処理も含まれている.   → おそらく影響を与えないと思われるが...

3)IMUとオドメトリの統合

        imu0_config:  [false, false, false,
                       false, false, true,
                       false, false, false,
                       true , true, true,
                       true , true, true]

        odom0_config: [false, false, false,
                       false, false, false,
                       true , true, true,
                       true, true, true,
                       false, false, false]

  利用しているのは以下のセンサーデータ   IMUのヨー角度,角速度,加速度+オドメトリの速度,角速度   → two_d_mode: trueであるが,上下やロール,ピッチにも動くような設定になっている.   → IMUで加速度を利用しているが,傾くとそちら方向に移動しているとみなされるおそれがある.   → オドメトリの角速度を積極的に利用しているが,IMUに任せた方が良いかもしれない..

  ちなみに,一般的と思われるパラメータは例えば以下になる.   ヨー方向の角度はIMUに任せて,オドメトリは並進方向の速度だけ使用するような形式になっている.   分散を正しく設定できれば混ぜても問題ないが,簡単にするためには分けた方が楽と考える.   imu0_config: [false, false, false, false, false, true, false, false, false, false, false, true, false, false, false]   odom0_config: [false, false, false, false, false, false, true, true, false, false, false, false, false, false, false]

yasuohayashibara commented 1 year ago

icartのパラメータ https://github.com/open-rdc/icart/blob/noetic-devel/icart_mini_setup/config/icart-middle.param ※こちらは現在利用していないかもしれないが,今後利用するかもしれないので,一応解説しておきます.

1)車輪のパラメータ こちらは実ロボットに応じて変更する所です. 変更後に,/usr/local/share/robot-params/に保存して,icart_mini_drive.launchの引数を変更して呼び出さなければならないのでミスが発生しやすいです.かなり利用しづらいので,使い方を変更したほうが良いと思います.

以下,かなり変更の後が見られますが,気にしないとこのパラメータがデフォルトで使用されることになります. 再度になりますが,変更後にコピーして必要に応じて引数も変更しなければなりません.

RADIUS[0] -0.148248 #-0.147831 #-0.149749 #-0.148749 #-0.150
RADIUS[1] 0.148569 # 0.148493 #0.150044 #0.149044 #0.150
TREAD  0.399592 #old_0.449592 #0.450

2)多くの制限が見られます. おそらくタイヤの滑りを減らしてオドメトリの精度を上げるための処置と思われますが,トルクも加速度も下げてあります. icart-miniのパラメータを()で示します. もしicartのノードを使用して障害物が回避できないということがあれば,これの影響だと思います. トップスピードから停止まで【7秒】以上かかりますので,障害物を検出しても避けられないということになります.

TORQUE_MAX 0.5 (1.0)
TORQUE_LIMIT 0.4 (1.0)
AX_ACC_V 0.2 (1.5)
MAX_ACC_W 1.57 (6.28)
MASS 20 (10)
MOMENT_INERTIA 1.8 (0.1)
GAIN_KP 80 (120)
GAIN_KI 160 (300)
yasuohayashibara commented 11 months ago

こちらにパラメータファイルを設定の指標が示されていた. 参考にして設定する. https://www.roboken.iit.tsukuba.ac.jp/platform/wiki/yp-spur/parameter-file

現在のパラメータは以下のようになっている. 試行錯誤的に決定した. GAIN_KPとGAIN_KIはMASSとMOMENT_INERTIAを大きくすると,振動し始めたので小さくした. MASSとMOMENT_INERTIAが小さいと動きが緩慢になると感じた. (感覚的なものなので,上記に従い再設定することが必要)

TORQUE_FINENESS 0.000001
RADIUS[0] 0.152
RADIUS[1] -0.152
TREAD  0.460
CONTROL_CYCLE 0.015
TORQUE_MAX 1.0
TORQUE_LIMIT 1.0
MAX_VEL 1.5
MAX_W 3.14
MAX_ACC_V 1.5
MAX_ACC_W 6.28
MAX_CENTRI_ACC 2.45
L_C1 0.01
L_K1 800
L_K2 300
L_K3 200
L_DIST 0.6
INTEGRAL_MAX 0.05
MOTOR_VC 630.0
MOTOR_TC 0.01515
MOTOR_M_INERTIA 0
TIRE_M_INERTIA 0.02
MASS 30
MOMENT_INERTIA 1.8
GAIN_KP 80
GAIN_KI 110
TORQUE_VISCOS 0.00001
TORQUE_NEWTON 0.00200

https://github.com/open-rdc/orne-box/blob/noetic-devel/orne_box_setup/config/orne_box.param

yasuohayashibara commented 11 months ago

こちらにつくばチャレンジで使用していたypspurのパラメータがあった. 後日,現在noetic-develのパラメータと比較する.

https://github.com/open-rdc/orne-box/blob/TC_2023/orne_box_bringup/config/ypspur_ros.yaml https://github.com/open-rdc/orne-box/blob/TC_2023/orne_box_bringup/config/ypspur/box_v2.param