LimSim++:多模態(tài)大模型在自動(dòng)駕駛中的新舞臺
本文經(jīng)自動(dòng)駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
論文名稱:LimSim++: A Closed-Loop Platform for Deploying Multimodal LLMs in Autonomous Driving
項(xiàng)目主頁:https://pjlab-adg.github.io/limsim_plus/
仿真器簡介
隨著多模態(tài)大語言模型((M)LLM)在人工智能領(lǐng)域掀起研究熱潮,其在自動(dòng)駕駛技術(shù)中的應(yīng)用逐漸成為關(guān)注的焦點(diǎn)。這些模型通過強(qiáng)大的廣義理解和邏輯推理能力,為構(gòu)建安全可靠的自動(dòng)駕駛系統(tǒng)提供了有力支持。雖然已有閉環(huán)仿真平臺如HighwayEnv、CARLA和NuPlan等,能夠驗(yàn)證LLM在自動(dòng)駕駛中的表現(xiàn),但用戶通常需要自行適配這些平臺,這不僅提高了使用門檻,也限制了LLM能力的深入挖掘。
為了克服這一挑戰(zhàn),上海人工智能實(shí)驗(yàn)室的智能交通平臺組推出了**LimSim++**,這是一款專為(M)LLM設(shè)計(jì)的自動(dòng)駕駛閉環(huán)仿真平臺。LimSim++的推出,旨在為自動(dòng)駕駛領(lǐng)域的研究者提供一個(gè)更加適宜的環(huán)境,以全面探索LLM在自動(dòng)駕駛技術(shù)中的潛力。該平臺能夠提取并處理來自SUMO和CARLA等仿真環(huán)境的場景信息,將其轉(zhuǎn)化為LLM所需的多種輸入形式,包括圖像信息、場景認(rèn)知和任務(wù)描述。此外,LimSim++還具備運(yùn)動(dòng)原語轉(zhuǎn)換功能,能根據(jù)LLM的決策快速生成合適的行駛軌跡,實(shí)現(xiàn)閉環(huán)仿真。更重要的是,LimSim++為LLM創(chuàng)造了一個(gè)持續(xù)學(xué)習(xí)的環(huán)境,通過評估決策結(jié)果并提供反饋,幫助LLM不斷優(yōu)化駕駛策略,提高Driver Agent的駕駛性能。
仿真器特點(diǎn)
LimSim++在自動(dòng)駕駛仿真領(lǐng)域具有顯著特點(diǎn),為(M)LLM驅(qū)動(dòng)的Driver Agent提供了理想的閉環(huán)仿真和持續(xù)學(xué)習(xí)環(huán)境。
- LimSim++支持多種駕駛場景的模擬,如十字路口、匝道和環(huán)島等,確保Driver Agent能夠在各種復(fù)雜路況下接受挑戰(zhàn)。這種多樣化的場景設(shè)置有助于LLM獲取更豐富的駕駛經(jīng)驗(yàn),提高其在真實(shí)環(huán)境中的適應(yīng)能力。
- LimSim++支持多種模態(tài)輸入的大語言模型。LimSim++不僅提供基于規(guī)則的場景信息生成,同時(shí)可以與CARLA聯(lián)調(diào),能夠提供豐富的視覺輸入,滿足(M)LLM在自動(dòng)駕駛中的視覺感知需求。
- LimSim++注重持續(xù)學(xué)習(xí)能力。LimSim++集成了評估、反思和記憶等模塊,幫助(M)LLM在仿真過程中不斷積累經(jīng)驗(yàn),優(yōu)化決策策略。
創(chuàng)建屬于自己的Driver Agent
LimSim++為用戶提供了豐富的接口,可以滿足Driver Agent的定制需求,提高了LimSim++開發(fā)的靈活性,并且降低了使用門檻。
- Prompt構(gòu)建
- LimSim++支持用戶自定義prompt,從而改變輸入給(M)LLM的文本信息,包括角色設(shè)置、任務(wù)要求、場景描述等信息。
- LimSim++提供了基于json格式的場景描述模板,支持用戶零代碼進(jìn)行prompt的修改,無需考慮信息提取的具體實(shí)現(xiàn)。
- 決策評估模塊
- LimSim++提供了對(M)LLM決策結(jié)果進(jìn)行評估的baseline,用戶可以通過改變權(quán)重參數(shù)來調(diào)節(jié)評價(jià)偏好。
- 框架的靈活性
- LimSim++支持用戶為(M)LLM添加自定義的工具庫,例如感知工具、數(shù)值處理工具等等。
快速上手
- Step 0:安裝SUMO(Version≥v1.15.0, ubuntu)
sudo add-apt-repository ppa:sumo/stable
sudo apt-get update
sudo apt-get install sumo sumo-tools sumo-doc
- Step 1:下載LimSim++源碼壓縮包,解壓后切換到正確分支
git clone https://github.com/PJLab-ADG/LimSim.git
git checkout -b LimSim_plus
- Step 2:安裝依賴 (要求裝有conda)
cd LimSim
conda env create -f environment.yml
- Step 3: 運(yùn)行仿真
- 單獨(dú)運(yùn)行仿真
python ExampleModel.py
- 使用LLM進(jìn)行自動(dòng)駕駛
export OPENAI_API_KEY='your openai key'
python ExampleLLMAgentCloseLoop.py
- 使用VLM進(jìn)行自動(dòng)駕駛
# Terminal 1
cd path-to-carla/
./CarlaUE4.sh
# Termnial 2
cd path-to-carla/
cd PythonAPI/util/
python3 config.py --map Town06
# Termnial 2
export OPENAI_API_KEY='your openai key'
cd path-to-LimSim++/
python ExampleVLMAgentCloseLoop.py
更多內(nèi)容請查看LimSim++的github:https://github.com/PJLab-ADG/LimSim/tree/LimSim_plus,如有其他疑問請?jiān)贕itHub的Issues中提出或直接郵件聯(lián)系我們!
歡迎學(xué)術(shù)界和工業(yè)界小伙伴共同開發(fā)LimSim++,共建開源生態(tài)!