iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
AI/ ML & Data

不用買特斯拉也能自動駕駛?!30天學會訓練自己的自駕模型,再也沒人會說你不懂AI!系列 第 3

DAY 3 教學:在 VMware 上安裝 Poetry 和 OpenPilot_(附上音樂🎵)

  • 分享至 

  • xImage
  •  

🎯 今日學習目標

  1. 安裝 Poetry 並設置 Python 環境。
  2. 安裝和配置 OpenPilot,進行自動駕駛模擬測試。

🛠️ STEP 1:安裝 Poetry

1️⃣ 安裝 Python 3.8 及設置 Python 別名

在 Ubuntu 22.04 上安裝 OpenPilot 時,發現 Python 3.10 會出現版本不相符的問題,因此需安裝 Python 3.8 並設置 Python 別名。

# 安裝 Python 3.8
sudo apt install python3.8

# 編輯 .bashrc 文件
gedit ~/.bashrc

# 在文件底部添加以下行
alias python=python3.8

關閉終端並重新打開,以確保 Python 版本為 3.8。

# 檢查 Python 版本
python --version  # 應顯示 Python 3.8.2

2️⃣ 安裝 Poetry

確保已安裝正確的 Python 和 curl,然後安裝 Poetry。

# 安裝 curl 和 Python venv
sudo apt install curl -y
sudo apt install python3.8-venv

# 安裝 Poetry
curl -sSL https://install.python-poetry.org | python3 -

3️⃣ 添加 Poetry 到 PATH

將 Poetry 添加到你的 PATH 中,以便可以全域使用。

# 編輯 .bashrc 文件
gedit ~/.bashrc

# 在文件底部添加以下行
export PATH=$PATH:$HOME/.local/bin

保存並關閉文件,然後關閉並重新打開終端以檢查是否安裝成功。

# 檢查 Poetry 是否已安裝
poetry --version  # 應顯示 Poetry 的版本信息(如 1.3.2)

🚗 STEP 2:安裝 OpenPilot (OP)

1️⃣ 克隆 OpenPilot 專案

下載 OpenPilot 並初始化子模塊。

# 克隆 OpenPilot 專案
git clone -b v0.9.1 https://github.com/commaai/openpilot
cd openpilot

# 初始化子模塊
git submodule update --init

2️⃣ 配置 OpenPilot 環境

刪除 `tools` 文件夾,並從 [tools092.zip](https://drive.google.com/file/d/1Gd3kd7XP11nZhrnxWBaWcgmaD7Awm1C4/view?usp=drive_link) 下載並解壓新的版本到 openpilot 文件夾。
# 刪除 tools 文件夾
rm -rf tools

# 確認 tools 資料夾已經解壓到 /home/jinn/openpilot/tools
ls /home/jinn/openpilot/tools  # 應顯示如 cabana、ubuntu_setup.sh 等文件

3️⃣ 設置虛擬環境並啟動 Poetry Shell

使用 Python 3.8 建立虛擬環境,然後進入 Poetry Shell。

# 創建虛擬環境
python -m venv ~/sconsvenv
. ~/sconsvenv/bin/activate  # 激活虛擬環境

# 進入 OpenPilot 目錄並啟動 Poetry Shell
cd openpilot && poetry shell

若遇到 Error 1:找不到 pyproject.toml 文件,請下載 pyproject.toml/home/jinn/openpilot

# 下載 pyproject.toml 到 openpilot 目錄後,重試
poetry shell

4️⃣ 解決安裝錯誤並繼續設置

若出現 lock file 或其他 setup 錯誤,請替換為正確的 poetry.lock 文件,然後繼續執行安裝腳本。

# 賦予 update_requirements.sh 執行權限
chmod +rwx update_requirements.sh

# 執行設置腳本
tools/ubuntu_setup.sh

# 若出現 404 錯誤,請修改 sources.list.d
sudo chmod a+rwx mc3man-ubuntu-trusty-media-focal.list
gedit mc3man-ubuntu-trusty-media-focal.list
# 註解掉相關 deb 設置,如:#deb http://ppa.launchpad.net/mc3man/trusty-media/ubuntu focal main

執行完成後,若出現 cat: .python-version: No such file or directory 為正常現象。

# 更新 bashrc
source ~/.bashrc

5️⃣ 構建 OpenPilot

激活虛擬環境並安裝必要的構建工具和依賴。

. ~/sconsvenv/bin/activate  # 激活虛擬環境

# 安裝 SCons
pip install scons==4.4.0
scons --version  # 應顯示 SCons: v4.4.0

# 進入 OpenPilot 目錄並執行構建
cd openpilot
scons -i
scons -u -j$(nproc)

6️⃣ 安裝其他必要的 Python 包

若出現缺少模組的錯誤,請安裝以下必要的依賴:

pip3 install casadi libusb1 cython pycapnp numpy pycryptodome hatanaka pycurl atomicwrites sympy cffi zmq

7️⃣ 修改 SConstruct 文件解決構建錯誤

根據錯誤提示,修改 /openpilot/SConstruct 文件中的指定行,例如:

  • 修改 Line 439:
    # SConscript(['tools/cabana/SConscript'])
    
  • 修改 Line 357:
    # SConscript(['cereal/SConscript'])
    
  • 修改 Line 400:
    # SConscript(['system/proclogd/SConscript'])
    

重新執行構建。

scons -u -j$(nproc)  # 應顯示構建成功

8️⃣ 添加 OpenPilot 的 PYTHONPATH

更新 .bashrc 文件並重新啟動終端。

# 編輯 .bashrc 文件
gedit ~/.bashrc

# 在文件底部添加以下行
export PYTHONPATH=/home/jinn/openpilot

關閉並重新打開終端。


🔄 STEP 3:執行 OpenPilot 測試 (Replay)

1️⃣ 執行台灣數據回放

打開兩個終端並運行 OpenPilot 測試。

# Terminal 1:運行 UI
(sconsvenv) jinn@Liu:~/openpilot$ ./selfdrive/ui/ui

# Terminal 2:運行台灣數據回放
(sconsvenv) jinn@Liu:~/openpilot/tools/replay$ ./replayJLL --data_dir dataC "8bfda98c9c9e4291|2020-05-11--03-00-57--61"

2️⃣ 執行美國數據回放(通過 WiFi)

在第二個終端中運行美國數據回放。

# Terminal 2:運行美國數據回放
(sconsvenv) jinn@Liu:~/openpilot/tools/replay$ ./replayJLL --demo

3️⃣ 下載並解壓數據

下載並解壓 dataB6/home/jinn/dataB6


這是 DAY 3 的教學內容,完成後你已經成功安裝並配置了 OpenPilot 並進行了數據回放測試。請繼續保持學習熱情,我們將進一步優化系統並進行更多測試!🚀

2023F AI Projects 清華大學動力機械工程學系 Jinn-Liang Liu 劉晉良


Yes


上一篇
DAY 2 教學:安裝 Ubuntu 20.04 及環境配置_(附上音樂🎵)
下一篇
DAY 4 教學:EPOCH、模型架構與神經網路解析_(附上音樂🎵)
系列文
不用買特斯拉也能自動駕駛?!30天學會訓練自己的自駕模型,再也沒人會說你不懂AI!5
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言