智慧咖啡廳助手:人形機器人 +融合大模型,行為驅動的智慧咖啡廳機器人(機器人大模型與具身智慧挑戰賽)
“機器人大模型與具身智慧挑戰賽”的參賽作品。的目標是結合前沿的大模型技術和具身智慧技術,開發能在模擬的咖啡廳場景中承擔服務員角色並自主完成各種具身任務的智慧機器人。這裡是的參賽作品《基於大模型和行為樹和生成式具身智慧體》的機器人控制端程式碼。
1.大賽簡介:
官網:https://chinasoft.ccf.org.cn/
- 機器人應用是人工智慧時代最具有挑戰性的前沿科學技術難題之一,它彙集了人工智慧和機器人核心技術,包括人工智慧學的智慧感知、認知和決策的各種演算法能力,以及機器人學在感測器、控制器和執行器的高可靠、高精確的運動和控制能力。
- 預訓練大模型GPT技術的突破,可以為機器人提供智慧的大腦。同時,具身智慧機器人是一個具有物理實體、可與真實世界進行多模態互動,像人類一樣感知和理解環境,並透過自主學習完成任務的智慧體。二者的結合將使機器人做到“心靈手巧”。
- 達闥雲端機器人國家新一代人工智慧開放創新平臺與中國計算機學會、AITISA聯盟、OpenI啟智、CCF開源發展委員會、北京大學、復旦大學、北京航空航天大學、中山大學、北京郵電大學、北京智譜聯合,共同舉辦達闥杯“機器人大模型與具身智慧挑戰賽”,旨在鼓勵開發者能夠利用大模型技術和具身智慧技術,實現跨模態人機互動、並能自主完成各種複雜任務的機器人應用。
1.1 賽題設計:
大賽包含規定任務和開放任務兩個賽道,有關各賽道的詳細賽題、模擬環境與技術支援的說明,請透過“閱讀原文”連結到大會網站,或參見文末“比賽指南”連結。
總體目標任務
- 在模擬環境中,參賽者透過大模型訓練機器人在咖啡廳場景成為合格的咖啡廳服務員。這項比賽的考核要點是將大語言模型(LLMs)整合到機器人系統中,開發能夠理解自然語言並以友好和有效的方式與人類互動,並能在咖啡店模擬場景中自主完成各種服務任務的智慧機器人。
- 選手可以按照一般常識性理解,進行機器人任務設定和訓練。在模擬場景中,機器人可以與可互動的物品和NPC進行互動操作的訓練,比如:咖啡店服務員與顧客(NPC)互動、接受和執行訂單以及回答有關選單的問題、導航、操作咖啡機、清理桌子/地面、開空調/開燈、遞送咖啡/飲料/食物等。
- 考核要點
▪主動探索和記憶(Active Exploration and Memorization):機器人在環境中透過主動探索獲得各種環境資訊,實現對位置環境的感知,形成以環境感知資訊以及運動軌跡等歷史資訊維護一個機器人自身的記憶庫。
▪場景多輪對話(Grouded Question Answering):多輪對話要求機器人智慧體具有與人進行流暢的交流能力,具身對話是機器人利用視覺等感測器獲得的場景資訊基礎上,完成於場景相關的對話。
▪視覺語言導航(Vision Language Navigation):導航是構建智慧機器人的一個基本要素。在現實場景中,一個機器人要在不同的場景下承擔多種複雜的導航任務。的模擬器支援多工的現實世界導航和物體互動。對於這個任務中的導航,儘管有傳統的ObjectNav和PointNav,你可以利用的環境完成簡單到複雜的視覺語言導航,並有不同難度的指示,以及交流導航,機器人智慧體可以在導航中尋求幫助。
▪視覺語言操作(Vision Language Manipulation):抓取是指機器人使用機械臂抓取物體並將其從一個原始位置移動到目標位置的動作。儘管機器人學習演算法在現有的挑戰上取得了很大的突破和改進,但仍有許多問題亟待解決。這項任務要求機器人按照視覺和語言的場景描述來抓取一個物體。雖然Saycan和RT-1在以前的研究中被用來實現使用Deep-RL演算法的抓取,但這項任務更側重於在現實環境中抓取薄、大、平、軟的物體,避免碰撞,以及多工抓取。參賽者需要根據大語言模型提供的指令,解決在不同場景下抓取不同物體的問題。具體抓取物品的技能需要參賽者基於提供的環境和工具介面,透過強化學習等方式進行訓練。
1.2 評估
參賽隊必須將LLMs納入其機器人系統,以促進自然語言的理解和互動。比賽將根據以下標準來評估機器人系統的效能:
- 任務完成的準確性和效率:參賽者將被評估任務完成的準確性和效率,包括物體操作、導航到準確位置的精度,執行推理速度,訂單執行和人機互動。機器人必須準確、高效地完成任務,才能獲得分數。
- 人與機器人的互動:參賽者將被評估其機器人與顧客和工作人員互動的自然度和友好度。機器人必須以自然和友好的方式進行交流,以獲得積分。
- 時間限制:參賽者將有規定的時間來完成任務,在規定時間內得分最高的團隊將被宣佈為獲勝者。
1.3 更多細節
需要這些團隊在模擬咖啡廳場景中展開一場競技,參賽者們不僅要 “教” 服務機器人學會如何充當咖啡廳服務員的角色,還要應對顧客、老闆等角色的多輪對話“考驗”,最終自主去執行完成一系列複雜任務。
人類充當服務員在咖啡店製作一杯咖啡,並將咖啡端到指定客戶的桌上或許並非難事。但是如果換成機器人,其複雜度不言而喻。這不僅僅面對硬體和環境的考驗,還對於軟體和演算法提出了更大的挑戰。
顯著的技術融合性
為了實現高還原度,達闥首先在模擬環境中構建了一個機器人元宇宙的數字孿生場景,該虛擬場景是基於實際咖啡廳一致的各類資料產生,透過採集融合了幾百個咖啡廳模型的各種常見物品,不僅僅還原了例如咖啡機、桌椅、飲品、蛋糕等環境中的各類物品、商品,同時還原了咖啡廳的實際佈置燈光、清潔衛生用的工具等。一般團隊很難有這個資金和精力。
值得注意的是,發現,該模擬環境中,甚至還考慮到了實際環境中物品的紋理和物理屬性等問題,杯子重量不同、落地會打碎,物品接觸有摩擦力,可以說基本做到了最終 100% 的還原。
透過提供龐大且還原度較高的資料集,基於這個數字孿生的場景,機器人開發平臺可以僅透過算力,就輕易且低成本在虛擬模擬中像在真實場景一樣進行各種各樣的訓練這也使得國內人工智慧和智慧大模型科研團隊,能很快嘗試在人形機器人上實現各類技術的結合落地。除了數字孿生環境,為了讓機器人與環境進行互動的能力進一步提升,機器人硬體作為軟體和演算法的執行層,其設計和能力也至關重要。 由於該機器人智慧體需要與外界實現實時互動,這首先需要機器人對於環境實現感知,包括了聽覺、視覺和觸覺等方面。
例如人到了咖啡廳,機器人不僅需要領位,由於環境的還原度非常高,機器人制作咖啡的任務中,還需要再次細分,例如如何找到咖啡機的按鈕,確定咖啡機的按鈕和用途等。同時,在該任務中,選擇咖啡、製作咖啡、運送咖啡等也都是難點。這意味著如何透過大模型,實現對於實際環境任務的理解和分析並執行。例如顧客對機器人說想要喝 XX 咖啡,這種任務可能就有所區別,首先需要依靠交流中大模型的分析,準確定義需求,並實現環境中的運動和操作能力。
多工本質上就升級到了更高層的認知層面,需要機器人語言和視覺為主的大模型,能在環境中實現感知、認知,並根據各種請求進行處理,這就還涉及人工智慧的演算法,從而才能讓機器人精準實現各種各樣的操作。
大模型帶來的變革
大模型對於實際場景的價值仍然處於發掘期,本次大賽中,大模型對於機器人技術的實際提升無疑是一個很大的亮點。本次比賽著重體現了大模型技術應用思維鏈(CoT)能力的價值該能力主要體現在機器人接到任務後,對於任務的分解,從而基於思維推理形成思路鏈,該方式相較原先的固定化程式設計和深度學習,機器人可以藉助大語言模型,實現自然語言到機器語言的理解、轉化,最終完成兩者的對齊,從而自主化執行任務。這也意味著,機器人和大模型深度結合後,在未來如果進一步實現了零樣本學習 (zero-shot), 依託這兩項技術,機器人也可以藉助大模型實現關節運動控制,從而無需對機器人身體部位、動作的軌跡進行程式設計,真正做到零程式碼程式設計。
在這個比賽流程中,就看到了智慧服務機器人在語音、視覺、導航、操作等方面的落地可能性。機器人進入陌生場景,首先會進行環境的主動探索與記憶,感知、判斷不同物體和屬性,實現記憶資料記錄和調取。在此基礎上,隨後機器人開始在咖啡廳場景裡與人進行交流對話,拆解任務資訊。在執行層面,機器人需要藉助視覺語言模型,拆分指令並實現具體動作,例如人說想喝水,機器人就需要拿取水杯、用水壺去倒水,並把水送給客人。
新任務新挑戰
在該研究中,非常有意思的是達闥機器人還設計了兩個具有挑戰性的賽題,在對話人員中加入了 “店長” 這一角色。 機器人除了需要作為服務員響應相關顧客的消費需求,還需要與店長 “對接” 工作,實現人機協同。
在店長與機器人的互動中,又衍生出了更加複雜的任務,機器人需要完成 “領導交辦的其他任務”。
“例如店長說好像地面不乾淨了,機器人就要理解這話什麼意思,判斷意思是我可能還要去再清潔一下衛生。” 類似的機器人觸發式任務,非常考驗機器人環境職責定義和自主動作選擇, 需要最終機器人能夠像是真正的咖啡廳服務人員,具備各種各樣的附加能力,做到類似 “陰天開燈”、“水灑擦桌子” 等隨機性事件的自主化觀察和處理,為真正落地應用部署打下基礎。
2. 專案安裝(必看)
技術簡介:提出基於大模型和行為樹的生成式具身智慧體系統框架
- 行為樹是系統的中樞,作為大模型和具身智慧之間的橋樑,解決兩者結合的挑戰
- 大語言模型是系統的大腦。一方面,設計了向量資料庫和工具呼叫,另一方面,在實現智慧體規劃上,不再需要大語言模型輸出完整的動作序列,而僅僅給出一個任務目標,這大大緩解了大模型的具身幻覺現象。
- 而具身機器人是系統的軀體,在條件節點感知和動作節點控制的函式中,最佳化了介面呼叫和演算法設計,提高感知高效性和控制準確性
2.1 環境要求
Python=3.10
2.2 安裝步驟
git clone https://github.com/HPCL-EI/RoboWaiter.git
cd RoboWaiter
pip install -e .
以上步驟將完成robowaiter專案以及相關依賴庫的安裝
2.3 安裝UI
- 安裝 graphviz-9.0.0 (詳見官網)
- 將軟體安裝目錄的bin檔案新增到系統環境中。如電腦是 Windows 系統,Graphviz 安裝在 D:\Program Files (x86)\Graphviz2.38,該目錄下有bin檔案,將該路徑新增到電腦系統環境變數 path 中,即 D:\Program Files (x86)\Graphviz2.38\bin。如果不行,則需要重啟。
- 安裝向量資料庫
conda install -c conda-forge faiss 安裝自然語言處理和翻譯工具,用於計算相似性
pip install translate pip install spacy python -m spacy download zh_core_web_lg
zh_core_web_lg
如果下載較慢,可以直接透過分享的網盤連結下載連結:https://pan.baidu.com/s/1vr7dqHsgnh6UChymQc26VA
提取碼:1201
--來自百度網盤超級會員V7的分享pip install zh_core_web_lg-3.7.0-py3-none-any.whl
2.4 快速入門
- 安裝 UE 及 Harix 外掛,開啟預設專案並執行
- 不使用 UI 介面 :執行 tasks_no_ui 資料夾下的任意場景即可實現機器人控制端與模擬器的互動
- 使用 UI 介面:執行
run_ui.py
,顯示下面的介面。點選左側的按鈕,機器人就會執行相應的任務。也可以在右上方直接輸出目標狀態或者對話和機器人直接互動。
3. 程式碼框架介紹
程式碼庫被組織成幾個模組,每個模組負責系統功能的一部分:
- behavior_lib:
behavior_lib
是行為樹節點庫類,包括行為樹的動作節點和條件節點。它們分別存放在act
和cond
資料夾下。 - behavior_tree:
behavior_tree
是行為樹演算法類,包括ptml
編譯器、最優行為樹逆向擴充套件演算法等。 - robot:
robot
是機器人類,包括從ptml
載入行為樹的方法,以及執行行為樹的方法等。 - llm_client:
llm_client
是大模型類,主要實現了大模型的資料集構建、資料處理工具、大模型呼叫介面、大模型評測、工具呼叫、工具註冊、向量資料庫、單論對話、對輪對話等方法或介面。
呼叫大模型介面。執行llm_client.py檔案呼叫大模型進行多輪對話。輸入字元即可等待回答/
cd robowaiter/llm_client
python multi_rounds.py
- scene:
scene
是場景基類,該類實現了一些通用的場景操作介面,實現了與 UE 和咖啡廳模擬場景的通訊。其中,包括了官方已經封裝好的各種介面,如場景初始化、行人控制、操作動畫設定、物品設定、機器人 IK 介面等。task_map
返回的任務場景都繼承於Scene
。此外,在scene/ui
中,實現了 UI 的介面設計和介面封裝。 - utils:
utils
為其它工具類,比如繪製行為樹並輸出為圖片檔案。 - algos:
algos
是其它演算法類,包括MemGPT、導航演算法 (navigator
)、邊界探索 (explore
)、視覺演算法 (vision
)、向量資料庫 (retrieval
) 等。 - tasks:
tasks
資料夾中存放的場景定義及執行程式碼。
縮寫 | 任務 |
---|---|
AEM | 主動探索和記憶 |
GQA | 具身多輪對話 |
VLN | 視覺語言導航 |
VLM | 視覺語言操作 |
OT | 複雜開放任務 |
AT | 自主任務 |
CafeDailyOperations | 整體展示:咖啡廳的一天 |
Interact | 命令列自由互動 |
4. 效果展示
機器人根據顧客的點單,完成訂單並送餐
顧客詢問物品位置,並要求機器人送回
資料下載
https://blog.csdn.net/sinat_39620217/article/details/136394954
更多優質內容請關注公號:汀丶人工智慧;會提供一些相關的資源和優質文章,免費獲取閱讀。