Ubuntu下的highway-env仿真环境搭建

项目地址

GitHub - Farama-Foundation/HighwayEnv: A minimalist environment for decision-making in autonomous driving

highway-env Documentation

项目依托于作者的博士论文

Safe and Efficient Reinforcement Learning for Behavioural Planning in Autonomous Driving - Inria - Institut national de recherche en sciences et technologies du numérique

作者给了很多example在Google的Colab里,但是不能显示其动画效果(可以采用一些record方法存储其视频再下载观看,不过比较麻烦)。因此需要在物理机或者虚拟机中搭建环境,更方便地观察其动画。

系统中的python配置

笔者安装了一个Ubuntu20.04的虚拟机,开机自带python3.10。Ubuntu下的highway-env仿真环境搭建_第1张图片

 但是项目里用到了tkinter模块,需要安装python3-tk。

Ubuntu下的highway-env仿真环境搭建_第2张图片

另外,项目还要用到一些用于显示的模块,参考项目文档里的installtion,这里安装命令如下

sudo apt-get update -y
sudo apt-get install -y libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev subversion libportmidi-dev ffmpeg libswscale-dev libavformat-dev libavcodec-dev libfreetype6-dev gcc

至此,系统的基础配置已经完成。

基于virtualenv的虚拟环境配置

只在一套环境里操作代码和管理包可能会导致错乱,并且不易于迁移。这里介绍基于virtualenv的虚拟环境管理方法。

首先安装pip3

sudo apt-get install pip3

配置pip3为国内源,打开pip3的配置文件

sudo vim ~/.pip/pip.conf

配置内容为

[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]

trusted-host = pypi.tuna.tsinghua.edu.cn

使用pip3安装virtualenv

pip3 install virtualenv

将virtualenv添加到PATH

export PATH=$PATH:/home/vboxuser/.local/bin

创建项目文件夹,这里起名为highway

mkdir ~/highway
cd ~/highway

使用virtualenv创建虚拟环境

virtualenv venv

激活环境

source venv/bin/activate

这时候终端里会有(venv)开头显示

 取消激活,会发现开头的(venv)消失

 在虚拟环境中安装项目需要的numpy和highway-env

Ubuntu下的highway-env仿真环境搭建_第3张图片

写一个小的demo测试一下(文件名create_env.py)

import gymnasium as gym

import matplotlib

import matplotlib.pyplot as plt

import pprint

matplotlib.use('TkAgg')



env = gym.make('highway-v0', render_mode='rgb_array')

pprint.pprint(env.config)

env.config["lanes_count"] = 4

env.reset()

for _ in range(3):

    action = env.action_type.actions_indexes["IDLE"]

    obs, reward, done, truncated, info = env.step(action)

    env.render()



plt.imshow(env.render())

plt.show()

 运行程序

python3 create_env.py

 运行结果

 好的,这样就基本配置好了highway-env的仿真环境,参考开头的项目文档进一步修改智能体动态,奖励函数,强化学习算法等等,完成自己的论文吧! 

你可能感兴趣的:(ubuntu,python,学习,人工智能)