apollo9.0的学习记录(一)wsl2下面的apollo9.0开发环境搭建以及carla仿真器的接入

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前置要求

wsl2的以及wsl2下面的ubuntu20.04安装

不记得教程在哪了反正最后用在cmd里面用wsl -l -v 能显示有个20.04然后后面显示版本的2就行(这步直接用gpt4o应该能给出来不错的流程)。**
我电脑的wsl版本信息


<gpt生成的wsl2和ubuntu20.04安装流程> 在Windows 10上安装WSL2(Windows Subsystem for Linux 2)和Ubuntu 20.04可以按照以下步骤进行:

  1. 启用WSL
    首先,需要在Windows 10上启用WSL。

打开“Windows PowerShell” 以管理员身份运行:

在开始菜单搜索框中,输入 PowerShell,右键单击 “Windows PowerShell”,选择“以管理员身份运行”。
启用WSL功能:
在PowerShell中输入以下命令来启用WSL:

powershell
复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
启用虚拟机平台功能:
在PowerShell中继续输入以下命令来启用虚拟机平台(WSL2所需):

powershell
复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启电脑:
运行完上述命令后,重启电脑以应用更改。

  1. 设置WSL 2为默认版本
    打开PowerShell(再次以管理员身份运行)。

设置WSL2为默认版本:
输入以下命令将WSL2设置为默认的WSL版本:

powershell
复制代码
wsl --set-default-version 2
3. 安装Ubuntu 20.04
打开Microsoft Store:

在Windows 10的开始菜单中,搜索并打开“Microsoft Store”。
搜索并安装Ubuntu 20.04:

在Microsoft Store中搜索“Ubuntu 20.04”,找到并点击该应用,然后点击“获取”或“安装”。
初始化Ubuntu:

安装完成后,点击“启动”来打开Ubuntu。首次运行时,它会要求你设置一个新的用户账户和密码。这将用于在WSL中的操作。
4. 验证WSL2和Ubuntu安装
验证WSL版本:

打开PowerShell,输入以下命令查看安装的WSL版本:
powershell
复制代码
wsl -l -v
如果你看到Ubuntu 20.04显示为“WSL 2”,说明一切正常。

启动Ubuntu:

你可以通过PowerShell或开始菜单中的Ubuntu快捷方式启动Ubuntu。
5. 更新和升级Ubuntu
更新软件包列表:

在Ubuntu终端中运行以下命令来更新软件包列表:
bash
复制代码
sudo apt update
升级已安装的软件包:

更新后,可以运行以下命令来升级已安装的软件包:
bash
复制代码
sudo apt upgrade
总结
通过上述步骤,你已经成功在Windows 10上安装了WSL2和Ubuntu 20.04。你现在可以在Ubuntu环境中执行各种Linux命令和开发任务。如果有需要,你还可以安装其他Linux发行版或者配置WSL2的其他功能。


docker安装和nvidia-docker安装

wsl2下面的docker安装可以用鱼香ros大佬搞得一键安装脚本安装
地址在fishros.com**


nvidia-docker的安装可以问gpt下面po一下gpt给的流程
在WSL 2 中使用 Docker 和 NVIDIA GPU 的支持,您需要安装 NVIDIA Container Toolkit(也称为 nvidia-docker)以便能够在 Docker 容器中利用 GPU。以下是安装和配置 NVIDIA Docker 的步骤。

先决条件
确保已安装 NVIDIA 驱动程序:

在您的 Windows 系统上,确保已经安装并配置好了适用于 WSL 2 的 NVIDIA GPU 驱动程序。可以通过访问 NVIDIA 官方网站来下载最新的驱动程序。
确保已安装 Docker:

您已经在 WSL 2 中安装并配置好了 Docker。如果还没有安装,可以通过 Docker 官方文档完成安装。
确保 WSL 版本为 WSL 2:

运行 wsl --list --verbose 确认 WSL 的版本是 2。
安装 NVIDIA Container Toolkit
添加 NVIDIA Docker 存储库:
首先,您需要添加 NVIDIA Docker 存储库以便安装 NVIDIA Container Toolkit。

bash
复制代码
distribution=$(. /etc/os-release;echo I D ID IDVERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
更新软件包列表:
添加存储库后,更新软件包列表:

bash
复制代码
sudo apt update
安装 NVIDIA Container Toolkit:
使用以下命令安装 NVIDIA Container Toolkit:

bash
复制代码
sudo apt install -y nvidia-docker2
重启 Docker 服务:
安装完成后,重启 Docker 服务以使更改生效:

bash
复制代码
sudo service docker restart
测试 NVIDIA Docker 安装
要验证 NVIDIA Docker 是否安装成功并能够使用 GPU,您可以运行一个测试容器。例如,运行以下命令来启动包含 CUDA 的测试容器,并检查 GPU 的可用性:

bash
复制代码
sudo docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
该命令将拉取 NVIDIA 提供的 CUDA 基础镜像,并运行 nvidia-smi 命令来显示 GPU 的状态。如果 NVIDIA Docker 安装和配置正确,您应该会看到类似于以下的输出,显示 GPU 的使用情况:

mathematica
复制代码
±----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|=++==============|
| 0 GeForce GTX 108… Off | 00000000:01:00.0 Off | N/A |
| 23% 26C P8 12W / 250W | 0MiB / 11178MiB | 0% Default |
±------------------------------±---------------------±---------------------+
其他提示
使用 GPU:在运行 Docker 容器时,可以使用 --gpus all 选项来允许容器使用所有可用的 GPU。也可以通过 --gpus 选项指定特定的 GPU。

NVIDIA 容器运行时:在一些高级配置中,您可能需要手动编辑 Docker 的 daemon.json 文件来配置 NVIDIA 容器运行时。

编辑文件 /etc/docker/daemon.json,确保它包含以下内容:

json
复制代码
{
“runtimes”: {
“nvidia”: {
“path”: “nvidia-container-runtime”,
“runtimeArgs”: []
}
}
}
保存后,重启 Docker 服务:

bash
复制代码
sudo service docker restart
总结
通过这些步骤,您应该已经在 WSL 2 中安装并配置好了 NVIDIA Docker。您现在可以在 Docker 容器中利用 NVIDIA GPU 进行高性能计算或其他需要 GPU 加速的任务。如果在安装过程中遇到问题,可以参考 NVIDIA Docker 官方文档 获取更多帮助。


ps:在wsl下面docker的进程需要用sudo dockerd来启动然后最好设置一下开机启动这玩意

windows的carla安装

去github下载装个carla 9.14的版本就行

apollo 9.0的安装

源码下载

从GitHub找到apollo9.0的仓库在wsl下面用git clone的指令拉到/mnt/d之类的硬盘里面方便后面找(ps:win的d盘在wsl下面的路径就是/mnt/d)
然后直接用docker/script/dev_start.sh 脚本就可以部署apollo 9.0的docker镜像了 然后用dev_into.sh脚本进入就行(不行就问gpt 这种东西gpt讲的贼详细)

源码编译

进docker后用 ./apollo.sh build_opt_gpu 就可以编译显卡模式的apollo9.0了这一步需要花费超级多的时间(我好像编译了一下午。。。该换电脑了doge)

配置dreamview的ip

由于是在wsl下面运行的docker所以主机的浏览器没办法通过默认的ip来访问dreamview。改下script下面的bootstrap.sh脚本下面的dreamview ip
在这里插入图片描述
ps:启动新版的dreamview的指令 ./scripts/bootstrap.sh start_plus
在这里插入图片描述
这个报错咋回事我也不知道,有大佬知道怎么解决的能不能教教我
改完ip后再浏览器里面就可以显示dreamview了在这里插入图片描述

bridge配置

配置carla_apollo_bridge

我用的是github下面的最高star的一个repo来安装的https://github.com/guardstrikelab/carla_apollo_bridge
但是会有一些问题首先apollo9.0的docker镜像还是基于ubuntu18.04的然后这玩意的python版本是3.6的但是carla 9.14的carla的python包要求python3.7 这时候我们就需要整一个python3.7的虚拟环境来跑这个bridge,建立虚拟环境的步骤也可以用gpt去找我把我的历史记录上的指令po一下吧(这个carla 9.14的linux的python包自己上bing上去搜一下能直接在网上下载到https://pypi.org/project/carla/)

sudo apt-get install python3.7 python3.7-venv python3.7-dev
python3.7 -m venv myenv
source myenv/bin/activate 
pip install /apollo/carla-0.9.14-cp37-cp37m-manylinux_2_27_x86_64.whl

cd 进bridge的文件夹里面然后运行python main.py中间还有很多python虚拟环境变量还有依赖的下载自己对着错误用gpt去改就行记得改下config下面的yaml文件里面的ip
在这里插入图片描述

在这里插入图片描述

成功启动后可以用cyber_monitor查看carla发出来的节点数据

在这里插入图片描述
在这里插入图片描述

目前这套东西存在的问题就是dreamview里面所有模块都打不开然后只能通过cyber launch一个个模块手动开 且cyber_visualizer 这些可视化工具都没法在wsl2下面使用,后面等我慢慢研究解决方案吧,如果有大佬能指教一二的话不胜感激。

Apollo 9.0是一个自动驾驶开发平台,它提供了一套完整的软硬件解决方案,用于开发和部署自动驾驶系统。交叉编译是在一种平台上生成在另一种平台上运行的可执行文件的过程。在Apollo 9.0中,交叉编译通常用于将代码从开发主机编译为目标平台上的可执行文件。 要进行Apollo 9.0的交叉编译,您需要按照以下步骤进行操作: 1. 配置交叉编译环境:首先,您需要安装目标平台的交叉编译工具链。这些工具链包括交叉编译器、链接器和库文件。您可以从目标平台的官方网站或开发者社区获取这些工具链。 2. 设置环境变量:将交叉编译工具链的路径添加到系统的环境变量中,以便在编译过程中能够正确地找到这些工具。 3. 配置构建系统:Apollo 9.0使用Bazel作为构建系统。您需要根据目标平台的要求,配置Bazel的构建规则和选项。这包括指定目标平台的架构、操作系统和其他相关参数。 4. 编译代码:使用Bazel命令行工具执行编译命令,将代码编译为目标平台上的可执行文件。根据您的需求,您可以选择编译整个Apollo 9.0系统,或者只编译特定的模块或组件。 5. 部署和测试:将编译生成的可执行文件部署到目标平台上,并进行测试和验证。确保代码在目标平台上能够正常运行,并满足性能和功能要求。 请注意,具体的交叉编译步骤可能因为您使用的目标平台和开发环境而有所不同。建议您参考Apollo 9.0的官方文档和开发者社区,以获取更详细和准确的交叉编译指南。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值