用于强化学习的自动驾驶仿真场景highway-env(1)

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

在强化学习过程中,一个可交互,可定制,直观的交互场景必不可少。

最近发现一个自动驾驶的虚拟环境,本文主要来说明下如何使用该environment
在这里插入图片描述

具体项目的github地址

一、 定制环境

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, 
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值