在强化学习过程中,一个可交互,可定制,直观的交互场景必不可少。
最近发现一个自动驾驶的虚拟环境,本文主要来说明下如何使用该environment

一、 定制环境
quickly experience
如下代码可以快速创建一个env
import gym
import highway_env
from matplotlib import pyplot as plt
env = gym.make('highway-v0')
env.reset()
for _ in range(10):
action = env.action_type.actions_indexes["IDLE"]
obs, reward, down, info = env.step(action)
env.render()
plt.imshow(env.render(mode="rgb_array"))
plt.show()
运行结果如下所示:

所有的场景包括五种,上文只是说明其中的highway高速路场景。
接下来,我们详细说明五种场景。
1. highway
特点
- 速度越快,奖励越高
- 靠右行驶,奖励高
- 与其他car交互实现避障
使用
env = gym.make("highway-v0")
默认参数
{
"observation": {
"type": "Kinematics"
},
"action": {
"type": "DiscreteMetaAction",
},
"lanes_count": 4,
"vehicles_count": 50,
"duration": 40, # [s]
"initial_spacing": 2,
"collision_reward": -1, # 与其他车发生碰撞的reword
"reward_speed_range": [20, 30], # [m/s] -> [0, HighwayEnv.HIGH_SPEED_REWARD]线性映射.
"simulation_frequency": 15, # [Hz]
"policy_frequency": 1, # [Hz]
"other_vehicles_type": "highway_env.vehicle.behavior.IDMVehicle",
"screen_width": 600, # [px]
"screen_height": 150, # [px]
"centering_position": [0.3,

本文介绍了如何使用gym库创建和定制五个不同的自动驾驶环境,包括highway、merge、roundabout、parking和intersection。每个环境的特点、默认参数及使用方法都进行了详细说明,并提供了训练强化学习代理的示例代码,如使用stable-baselines库的SAC算法进行训练。

3256

被折叠的 条评论
为什么被折叠?



