在Carla上应用深度强化学习实现自动驾驶(二)

以下代码参考自:(如有侵权,请联系我立即删除)使用 Carla 和 Python 的自动驾驶汽车第 3 部分 —— 强化学习环境_carla跑强化学习-优快云博客

本篇文章是小编在pycharm上自己手敲代码学习自动驾驶的第二篇文章,主要讲述如何构造强化学习环境。

1、导入carla(其中的路径根据自己的实际情况修改)

import glob
import os
import sys
 
try:
    sys.path.append(glob.glob(
        r'D:\postgraduate\code\CARLA_0.9.14\WindowsNoEditor\PythonAPI\carla\dist\carla-0.9.14-py3.7-win-amd64.egg')[0])
except IndexError:
    pass
 
import carla

2、接下来,我们将创建环境的类,我们将其称为CarEnv 。首先定义一些常量:

SHOW_CAM表示我们是否想要使用opencv显示rgb摄像头获取到的图像。为了调试的目的,查看它可能会很有用,但您不一定希望一直显示它,因为执行所有这些操作可能会耗费大量资源;

STEER_AMT表示转向的大小。现在是一个大转弯。之后我们可能会发现,控制的力度要小一些,或许可以做一些累积的事情来代替……等。现在,全速前进吧!

class CarEnv:
    SHOW_CAM = SHOW_PREVIEW
    STEER_AMT = 1.0

    im_width = IMG_WIDTH
    im_height = IMG_HEIGHT
    actor_list = []

    front_camera = None
    collision_hist = []

3、定义CarEnv类的init方法:主要用来连接Carla服务器,获取世界,访问蓝图,然后选择汽车模型。

    def __init__(self):
        self.client = carla.Client('localhost', 2000)
        self.client.set_timeout(2.0)

        self.world = self.client.get_world()

        blueprint_library = self.world.get_blueprint_library()

        # Now let's filter all the blueprints of type 'vehicle' and choose one at random.
        # print(blueprint_library.filter('vehicle'))
        self.model_3 = blueprint_library.filter('model3')[0]

4、定义CarEnv类的reset()方法,该方法的作用是在每一回合开始前重置环境。

该方法的主要内容如下:

(1)将碰撞列表和演员列表重设为空列表

(2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值