【自动驾驶模拟器AirSim快速入门 | 01】自动驾驶模拟器AirSim实战演练

这是机器未来的第15篇文章

原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125285472

@toc

1. 项目简介

博主基于微软AirSim模拟器的端到端自动驾驶入门项目发布了汉化版,并且优化了环境安装过程中的版本兼容问题。

项 目 地 址https://github.com/ihuajiu/AutonomousDrivingCookbook

项目面向自动驾驶初学者、研究人员和行业专家。项目以jupter notebook作为载体,使用流行的开源工具(如Keras、TensorFlow等)构建,项目提供数据集、源代码、AirSim模拟器,以便于实现自动驾驶快速仿真。


car_driving

博主的测试效果如下:

AirSim模拟器自动驾驶测试视频

2. 安装教程

2.1 安装基础开发环境

参考博主这篇文章:【物体检测快速入门系列 | 02】Windows部署GPU深度学习开发环境

2.2 创建conda虚拟环境

为了减少其它库的冲突问题,强烈建立新建一个虚拟环境

# python版本务必选择3.6,否则运行过程中的冲突会让你怀疑人生
conda create -n airsim python=3.6
# 切换aisim虚拟环境
conda activate airsim

2.3 克隆博主的AutonomousDrivingCookbook项目源码到本地

git clone https://github.com/ihuajiu/AutonomousDrivingCookbook.git

如果克隆失败或网速过慢,则可以直接下载压缩包到本地解压

image-20220615101951212

下载后的源代码结构如下:


├─AirSimE2EDeepLearning			# 端到端的深度学习自动驾驶项目
├─AirSimE2EDeepLearningCN		# 端到端的深度学习自动驾驶项目博主汉化版
│  ├─DataExplorationAndPreparation_files	# 数据预处理的输出监控文件
│  ├─model				       # 训练输出的模型目录	
│  │  ├─imgs				 
│  │  └─models					
│  └─TrainModel_files
└─DistributedRL					# 强化学习项目,概要性质
    ├─Blob
    ├─Share
    │  ├─data
    │  ├─scripts_downpour
    │  │  ├─app
    │  │  └─downpour
    │  └─tools
    │      └─Far
    └─Template

2.4 安装项目依赖库

  • 使用InstallPackages.py安装依赖脚本
# 首先切换到汉化版目录
cd AirSimE2EDeepLearningCN
# 推荐使用命令运行脚本,IDE工具有时候选择的虚拟环境不对
python InstallPackages.py

注意事项:
因为项目过于久远,安装现在的依赖包会和代码冲突,因此需要指定版本安装解决这个问题, InstallPackages.py已经修改为对应的版本。

  • tensorflow==1.5.0
    • 安装tensorflow1.x版本,预防keras版本冲突问题
    • 需要安装特定版本1.5.0,否则报错:tensorflow_backend.py:64: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_d
  • keras==2.1.2
    • 必须使用2.1.2版本,否则会报错:ValueError:
brightness_range should be tuple or list of two floats. Received: 0.0, https://github.com/microsoft/AutonomousDrivingCookbook/issues/89
  • tornado==4.5
    • 解决ZMQILoop和float变量*运算的问题
  • h5py==2.10.0
    • 解决警告问题
  • 如果vscode启动内核失败,则执行如下命令
conda install -n airsim ipykernel --update-deps --force-reinstall

至次环境搭建完毕。

2.5 下载模拟器

我们已经为本食谱中的教程创建了AirSim模拟环境的独立构建。您可以https://airsimtutorialdataset.blob.core.windows.net/e2edl/AD_Cookbook_AirSim.7z。考虑使用AzCopy,因为文件大小很大。

2.6 下载数据集

模型的数据集相当大。你可以https://aka.ms/AirSimTutorialDataset。第一个笔记本将提供关于如何访问数据的指导,一旦你下载了它。最后的未压缩数据集大小约为3.25GB(虽然与训练实际的自动驾驶汽车所需的千兆字节数据相比,这还不够,但对于本教程来说应该足够了)。

3. 运行项目

3.1 配置原始数据集目录和预处理后的数据集目录

打开DataExplorationAndPreparation.ipynb文件修改你的电脑上的实际目录

# << 配置下载的数据集目录 >>
RAW_DATA_DIR = 'data_raw/'

# << 配置预处理后(*.h5)的输出目录 >>
COOKED_DATA_DIR = 'data_cooked/'

3.2 配置Step1中的[配置预处理后(*.h5)的输出目录]和模型文件保存目录

打开TrainModel.ipynb修改如下目录

# << 配置前一步预处理好的数据集目录 >>
COOKED_DATA_DIR = 'data_cooked/'

# << 模型文件输出目录:随着梯度越来越小,模型会逐步更新 >>
MODEL_OUTPUT_DIR = 'model' # 不建议修改,保持默认即可

3.3 模型预处理、训练、推理预测及模拟器自动驾驶运行测试

3.3.1 数据挖掘与准备

依次执行DataExplorationAndPreparation.ipynb,完成数据预处理

3.3.2 模型训练

依次执行TrainModel.ipynb,完成模型训练

3.3.3 启动AirSim模拟器

  • 启动Powershell
    第一次启动,用管理员权限打开Powershell shell,首先配置权限,否则会提示:禁止运行脚本
set-ExecutionPolicy RemoteSigned

以后启动powershell就不用管理员权限了。

  • 启动AirSim模拟器
    在Powershell中定位到模拟器安装位置AD_Cookbook_AirSim,执行如下命令启动
.\AD_Cookbook_Start_AirSim.ps1 landscape

landscape是数据集对应的场景,还有City、Hawii、Neighborhood三种场景。

3.3.4 启动模型推理及自动驾驶仿真

注意事项:TestModel.ipynb有可能在连上AisSim模拟器的时候卡死,应该是vscode jupyter工具的问题,将代码摘出来,直接运行python文件即可运行Python版TestModel

# AutonomousDrivingCookbook-github\AirSimE2EDeepLearningCN
python TestModel.py

启动后,就可以看到博主在文首视频中的画面了。
以上就是开箱即用手册的全部内容,后续将逐步发布细节详解,敬请期待~

推荐阅读:

写在末尾:

  • 博客简介:专注AIoT领域,追逐未来时代的脉搏,记录路途中的技术成长!
  • 专栏简介:本专栏的核心就是:快!快!快!2周快速拿下Python,具备项目开发能力,为机器学习和深度学习做准备。
  • 面向人群:零基础编程爱好者
  • 专栏计划:接下来会逐步发布跨入人工智能的系列博文,敬请期待

  • 14
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
AirSim是微软开源的一款适用于无人机和自动驾驶汽车的模拟器,可以用来训练机器学习模型和测试自动驾驶算法。以下是一个简单的AirSim自动驾驶教程,以帮助您入门。 步骤1:安装AirSim 首先,您需要安装AirSim。您可以从GitHub上克隆AirSim的仓库,或者使用pip安装AirSim。具体安装步骤可以参考AirSim的官方文档。 步骤2:启动AirSim 在安装AirSim之后,您可以使用以下命令来启动AirSim: ``` cd <path_to_airsim>/Unreal/Environments/Blocks ./Blocks.sh ``` 这将在模拟器中启动AirSim,并加载预定义的Blocks场景。您可以使用键盘和鼠标控制无人机或汽车进行操作。 步骤3:编写自动驾驶算法 接下来,您需要编写自动驾驶算法。您可以使用Python或C++编写代码,并使用AirSim提供的API与模拟器进行交互。以下是一个简单的Python代码示例,可以使无人机飞到指定的位置: ```python import airsim # connect to the AirSim simulator client = airsim.MultirotorClient() client.confirmConnection() # take off client.takeoffAsync().join() # move to a specified position client.moveToPositionAsync(-10, 10, -10, 5).join() # land client.landAsync().join() ``` 使用AirSim的API,您可以控制模拟器中的无人机或汽车进行各种操作。 步骤4:测试自动驾驶算法 在编写完自动驾驶算法之后,您可以使用AirSim模拟器测试算法的性能。您可以手动控制无人机或汽车进行测试,也可以编写脚本来自动化测试过程。 AirSim还提供了一些内置的测试场景,这些场景可以用来测试不同的自动驾驶算法。例如,在Blocks场景中,您可以测试无人机的避障能力和路径规划算法。 步骤5:优化自动驾驶算法 根据测试结果,您可以优化自动驾驶算法以提高性能。您可以使用AirSim提供的各种传感器数据来训练机器学习模型,以实现更高级别的自动驾驶功能。 总结 AirSim是一款强大的自动驾驶模拟器,可以用于训练机器学习模型和测试自动驾驶算法。通过编写自动驾驶算法并在模拟器中测试,您可以提高算法的性能,并最终实现可靠的自动驾驶系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值