all_wheels_on_track
車両がトラック内にあるのかトラック外にあるのかを示すBoolean型フラグです。
ホイールが1つでもトラックの外に出るとFalse、全てトラック内にある場合はTrueを返します。
実装
デフォルトの報酬関数にトラック内を走行すると報酬が貰えてコースアウトすると貰える報酬が減るように処理を追加しました。
def reward_function(params):
# パラメータ取得
all_wheels_on_track = params['all_wheels_on_track']
reward = 0
#トラックアウトすると報酬減
reward_on_track = 0
if all_wheels_on_track == False:
reward_on_track = 1e-3
elif all_wheels_on_track == True:
reward_on_track = 5
reward += reward_on_track
return float(reward)
all_wheels_on_track実装の結果
デフォルトの報酬関数のみ実装の場合とあまり変わらない結果となりました。
どちらにしてもカーブを曲がりきることが出来なかったのでカーブの対策と合わせて使用する必要がありそうです。