| Up | 報酬のカテゴリー | 作成: 2026-05-13 更新: 2026-05-13 |
2. 安定性・安全性の報酬 3. 効率性・自然さの報酬 1. タスク達成報酬(Task Reward) 例:前に進む r_forward = v_forward (前方向の速度が速いほど報酬が大きい) r_goal = − distance_to_goal 2. 安定性・安全性の報酬(Stability / Safety Reward) 例:姿勢が安定している r_upright = − | tilt_angle | r_fall = −10 3. 効率性・自然さの報酬(Efficiency / Smoothness Reward) 例:エネルギー消費を抑える r_energy = −∑ |τ_i⋅θ˙i | r_smooth = −∑ |Δτ_i | 総合報酬 + w₂ r_upright + w₃ r_energy + w₄ r_smooth + w₅ r_fall 四足歩行ロボットの報酬は,次の 3 つの目的を同時に満たすように設計する: 前に進む(Progress) 転ばない・安定する(Stability) 無駄な力を使わない(Efficiency) この 3 つのバランスが, 「自然で壊れにくい歩行」を生む。 報酬関数の全体像(カテゴリ別) 報酬は大きく 6 つのカテゴリに分かれる: ① 前進報酬(Forward Reward) ② 姿勢安定報酬(Stability Reward) ③ エネルギー効率(Energy Penalty) ④ 接地・歩容の安定性(Gait Reward) ⑤ 衝突・転倒ペナルティ(Safety Penalty) ⑥ 動作の滑らかさ(Smoothness Reward) これらを組み合わせて総合報酬にする。 ① 前進報酬(Forward Reward) 最も基本的な報酬。 r_forward = w_f⋅v_x v_x:前方向の速度 w_f:重み(例:1.0) 目的:前に進むほど報酬が増える ② 姿勢安定報酬(Stability Reward) ロボットが倒れないようにするための報酬。 ● 姿勢角(roll, pitch)の安定化 r_posture = − w_p⋅( | roll | + | pitch | ) ● 重心の高さの維持 r_height = − w_h⋅| h − h_ref | 目的:姿勢が崩れるほどマイナス ③ エネルギー効率(Energy Penalty) 無駄な力を使うとマイナス。 r_energy = − w_e⋅∑_i |τ_i⋅q˙_i | τ_i:関節トルク q˙_i:関節角速度 目的:自然で省エネな歩行を促す ④ 接地・歩容の安定性(Gait Reward) 歩行のリズム(gait cycle)を安定させるための報酬。 ● 足の滑り(slip)を減らす r_slip = − w_s⋅∑_i || v_foot,i^horizontal || ● 足の接地パターンを整える 4 脚のうち 2 脚が交互に接地する 不自然なジャンプを避ける 目的:自然な歩容を形成する ⑤ 衝突・転倒ペナルティ(Safety Penalty) ● 転倒したら大きなマイナス r_fall = −1000 ● 脚が本体に衝突したらマイナス r_collision = − w_c 目的:危険な動作を避ける ⑥ 動作の滑らかさ(Smoothness Reward) 急激な動作を避けるための報酬。 ● 行動の変化量を抑える r_smooth = − w_s⋅|| a_t − a_t−1 ||^2 目的:滑らかで安定した歩行を促す 最終的な総合報酬 すべてを足し合わせて総合報酬にする。 r = r_forward + r_posture + r_height + r_energy + r_slip + r_smooth + r_fall 重み(w)は実験で調整する。 強化学習では,環境が 状態 s_t 行動 a_t 次状態 s_t+1 を見て,報酬 rt を返す。 r_t = R(s_t, a_t, s_t+1) この R が 報酬関数。 Policy は a_t = π_θ(s_t) Policy が変わると “行動が変わる” → その結果,報酬が変わる しかし Policy が報酬を変えるのではなく, Policy が行動を変え,その行動が報酬を変える。 |