LimSim++:多模態(tài)大模型在自動駕駛中的新舞臺
本文經(jīng)自動駕駛之心公眾號授權轉載,轉載請聯(lián)系出處。
論文名稱:LimSim++: A Closed-Loop Platform for Deploying Multimodal LLMs in Autonomous Driving
項目主頁:https://pjlab-adg.github.io/limsim_plus/
仿真器簡介
隨著多模態(tài)大語言模型((M)LLM)在人工智能領域掀起研究熱潮,其在自動駕駛技術中的應用逐漸成為關注的焦點。這些模型通過強大的廣義理解和邏輯推理能力,為構建安全可靠的自動駕駛系統(tǒng)提供了有力支持。雖然已有閉環(huán)仿真平臺如HighwayEnv、CARLA和NuPlan等,能夠驗證LLM在自動駕駛中的表現(xiàn),但用戶通常需要自行適配這些平臺,這不僅提高了使用門檻,也限制了LLM能力的深入挖掘。
為了克服這一挑戰(zhàn),上海人工智能實驗室的智能交通平臺組推出了**LimSim++**,這是一款專為(M)LLM設計的自動駕駛閉環(huán)仿真平臺。LimSim++的推出,旨在為自動駕駛領域的研究者提供一個更加適宜的環(huán)境,以全面探索LLM在自動駕駛技術中的潛力。該平臺能夠提取并處理來自SUMO和CARLA等仿真環(huán)境的場景信息,將其轉化為LLM所需的多種輸入形式,包括圖像信息、場景認知和任務描述。此外,LimSim++還具備運動原語轉換功能,能根據(jù)LLM的決策快速生成合適的行駛軌跡,實現(xiàn)閉環(huán)仿真。更重要的是,LimSim++為LLM創(chuàng)造了一個持續(xù)學習的環(huán)境,通過評估決策結果并提供反饋,幫助LLM不斷優(yōu)化駕駛策略,提高Driver Agent的駕駛性能。
仿真器特點
LimSim++在自動駕駛仿真領域具有顯著特點,為(M)LLM驅動的Driver Agent提供了理想的閉環(huán)仿真和持續(xù)學習環(huán)境。
- LimSim++支持多種駕駛場景的模擬,如十字路口、匝道和環(huán)島等,確保Driver Agent能夠在各種復雜路況下接受挑戰(zhàn)。這種多樣化的場景設置有助于LLM獲取更豐富的駕駛經(jīng)驗,提高其在真實環(huán)境中的適應能力。
- LimSim++支持多種模態(tài)輸入的大語言模型。LimSim++不僅提供基于規(guī)則的場景信息生成,同時可以與CARLA聯(lián)調(diào),能夠提供豐富的視覺輸入,滿足(M)LLM在自動駕駛中的視覺感知需求。
- LimSim++注重持續(xù)學習能力。LimSim++集成了評估、反思和記憶等模塊,幫助(M)LLM在仿真過程中不斷積累經(jīng)驗,優(yōu)化決策策略。
創(chuàng)建屬于自己的Driver Agent
LimSim++為用戶提供了豐富的接口,可以滿足Driver Agent的定制需求,提高了LimSim++開發(fā)的靈活性,并且降低了使用門檻。
- Prompt構建
- LimSim++支持用戶自定義prompt,從而改變輸入給(M)LLM的文本信息,包括角色設置、任務要求、場景描述等信息。
- LimSim++提供了基于json格式的場景描述模板,支持用戶零代碼進行prompt的修改,無需考慮信息提取的具體實現(xiàn)。
- 決策評估模塊
- LimSim++提供了對(M)LLM決策結果進行評估的baseline,用戶可以通過改變權重參數(shù)來調(diào)節(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: 運行仿真
- 單獨運行仿真
python ExampleModel.py
- 使用LLM進行自動駕駛
export OPENAI_API_KEY='your openai key'
python ExampleLLMAgentCloseLoop.py
- 使用VLM進行自動駕駛
# 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,如有其他疑問請在GitHub的Issues中提出或直接郵件聯(lián)系我們!
歡迎學術界和工業(yè)界小伙伴共同開發(fā)LimSim++,共建開源生態(tài)!