選自谷歌研究博客 機(jī)器之心編譯
編輯:Panda W 說一句「我們?nèi)ヒ安桶桑?/span>」,機(jī)器狗竟高興得蹦蹦跳跳,;告訴它地面非常熱,,機(jī)器狗會一路小跑。難道機(jī)器狗能「聽懂」人話了,?某種程度上說確實(shí)如此,。近日,谷歌研究博客介紹了 DeepMind 入選機(jī)器人學(xué)習(xí)會議 CoRL 2023 的一篇論文,,其中提出的 SayTap 方法使用了大型語言模型,,可將自然語言指令轉(zhuǎn)譯成四足機(jī)器人的低層控制信號,而且這些指令可以相當(dāng)模糊,。 人類和四足機(jī)器人之間簡單有效的交互是創(chuàng)造能干的智能助理機(jī)器人的途徑,,其昭示著這樣一個(gè)未來:技術(shù)以超乎我們想象的方式改善我們的生活。對于這樣的人類-機(jī)器人交互系統(tǒng),,關(guān)鍵是讓四足機(jī)器人有能力響應(yīng)自然語言指令,。近來大型語言模型(LLM)發(fā)展迅速,已經(jīng)展現(xiàn)出了執(zhí)行高層規(guī)劃的潛力,。然而,,對 LLM 來說,理解低層指令依然很難,,比如關(guān)節(jié)角度目標(biāo)或電機(jī)扭矩,,尤其是對于本身就不穩(wěn)定、必需高頻控制信號的足式機(jī)器人,。因此,,大多數(shù)現(xiàn)有工作都會假設(shè)已為 LLM 提供了決定機(jī)器人行為的高層 API,而這就從根本上限制了系統(tǒng)的表現(xiàn)能力。在 CoRL 2023 論文《SayTap: Language to Quadrupedal Locomotion》中,,谷歌 DeepMind 與東京大學(xué)提出了一種新方法,,該方法使用足部接觸模式作為連接人類的自然語言指令與輸出低層命令的運(yùn)動控制器的橋梁。- 論文地址:https:///abs/2306.07580
- 項(xiàng)目網(wǎng)站:https://saytap./
足部接觸模式(foot contact pattern)是指四足智能體在移動時(shí)足放在地上的順序和方式,。他們基于此開發(fā)出了一種交互式四足機(jī)器人系統(tǒng),,讓用戶可以靈活地制定不同的運(yùn)動行為,比如用戶可以使用簡單的語言命令機(jī)器人走,、跑,、跳或執(zhí)行其它動作。他們的貢獻(xiàn)包括一種 LLM prompt 設(shè)計(jì),、一個(gè)獎勵函數(shù)和一種能讓 SayTap 控制器使用可行的接觸模式分布的方法,。研究表明 SayTap 控制器能夠?qū)崿F(xiàn)多種運(yùn)動模式,并且這些能力還能遷移用于真實(shí)機(jī)器人硬件,。SayTap 方法使用了一種接觸模式模板,,該模板是一個(gè)由 0 和 1 構(gòu)成的 4 X T 矩陣,其中 0 表示智能體的腳在空中,,1 表示腳落在地面,。從上至下,該矩陣的每一行分別給出了左前足(FL),、右前足(FR),、左后足(RL)、右后足(RR)的足部接觸模式,。SayTap 的控制頻率為 50 Hz,,即每個(gè) 0 或 1 持續(xù) 0.02 秒。這項(xiàng)研究將所需足部接觸模式定義為一個(gè)大小為 L_w,、形狀為 4 X L_w 的循環(huán)滑動窗口,。該滑動窗口會從接觸模式模板提取四足的接地標(biāo)志,其指示了在時(shí)間 t + 1 和 t + L_w 之間機(jī)器人足是在地面還是在空中,。下圖給出了 SayTap 方法的概況,。SayTap 引入的所需足部接觸模式可作為自然語言用戶命令與運(yùn)動控制器之間的新接口。運(yùn)動控制器是用于完成主要任務(wù)的(比如遵循指定的速度)以及用于在特定時(shí)間將機(jī)器人足放在地上,,以使實(shí)現(xiàn)的足部接觸模式盡可能接近所需的接觸模式,。為了做到這一點(diǎn),在每個(gè)時(shí)間步驟,,運(yùn)動控制器以所需的足部接觸模式為輸入,,再加上本體感官數(shù)據(jù)(如關(guān)節(jié)位置和速度)及任務(wù)相關(guān)輸入(如特定于用戶的速度命令)。DeepMind 使用了強(qiáng)化學(xué)習(xí)來訓(xùn)練該運(yùn)動控制器,,并將其表征成一個(gè)深度神經(jīng)網(wǎng)絡(luò),。在控制器的訓(xùn)練期間,研究者使用了一個(gè)隨機(jī)生成器來采樣所需的足部接觸模式,然后優(yōu)化策略以輸出能實(shí)現(xiàn)所需足部接觸模式的低層機(jī)器人動作,。而在測試時(shí)間,,則是使用 LLM 將用戶指令轉(zhuǎn)譯成足部接觸模式。SayTap 使用足部接觸模式作為連接自然語言用戶指令和低層控制命令的橋梁,。SayTap 既支持簡單直接的指令(比如「向前慢速小跑」),,也支持模糊的用戶命令(比如「好消息,我們這個(gè)周末去野餐?。?。通過基于強(qiáng)化學(xué)習(xí)的運(yùn)動控制器,能讓四足機(jī)器人根據(jù)命令做出反應(yīng),。 研究表明:使用適當(dāng)設(shè)計(jì)的 prompt,,LLM 有能力準(zhǔn)確地將用戶命令映射到特定格式的足部接觸模式模板中,即便用戶命令是非結(jié)構(gòu)化的或模糊的,。在訓(xùn)練中,研究者使用隨機(jī)模式生成器生成了多種接觸模式模板,,它們有不同的模式長度 T,、基于給定步態(tài)類型 G 在一個(gè)周期內(nèi)的足地接觸比,使得運(yùn)動控制器能夠在廣泛的運(yùn)動模式分布上學(xué)習(xí),,獲得更好的泛化能力,。更多詳情請參閱論文。使用一個(gè)僅包含三種常見足部接觸模式上下文樣本的簡單 prompt,,LLM 可將各種人類命令準(zhǔn)確地轉(zhuǎn)譯成接觸模式,,甚至泛化用于那些沒有明確指定機(jī)器人應(yīng)當(dāng)如何行為的情況。SayTap prompt 簡潔緊湊,,包含四個(gè)組分:(1) 用于描述 LLM 應(yīng)完成的任務(wù)的一般性說明,;(2) 步態(tài)定義,用于提醒 LLM 關(guān)注有關(guān)四足步態(tài)的基本知識以及它們與情緒的關(guān)聯(lián),;(4) 演示示例,讓 LLM 學(xué)習(xí)在上下文中的情況,。研究者還設(shè)定了五種速度,,讓機(jī)器人可以前進(jìn)或后退、快速或慢速,、或保持不動,。General instruction block You are a dog foot contact pattern expert. Your job is to give a velocity and a foot contact pattern based on the input. You will always give the output in the correct format no matter what the input is. Gait definition block The following are description about gaits: 1. Trotting is a gait where two diagonally opposite legs strike the ground at the same time. 2. Pacing is a gait where the two legs on the left/right side of the body strike the ground at the same time. 3. Bounding is a gait where the two front/rear legs strike the ground at the same time. It has a longer suspension phase where all feet are off the ground, for example, for at least 25% of the cycle length. This gait also gives a happy feeling. Output format definition block The following are rules for describing the velocity and foot contact patterns: 1. You should first output the velocity, then the foot contact pattern. 2. There are five velocities to choose from: [-1.0, -0.5, 0.0, 0.5, 1.0]. 3. A pattern has 4 lines, each of which represents the foot contact pattern of a leg. 4. Each line has a label. 'FL' is front left leg, 'FR' is front right leg, 'RL' is rear left leg, and 'RR' is rear right leg. 5. In each line, '0' represents foot in the air, '1' represents foot on the ground. Example block Input: Trot slowly Output: 0.5 FL: 11111111111111111000000000 FR: 00000000011111111111111111 RL: 00000000011111111111111111 RR: 11111111111111111000000000
Input: Bound in place Output: 0.0 FL: 11111111111100000000000000 FR: 11111111111100000000000000 RL: 00000011111111111100000000 RR: 00000011111111111100000000
Input: Pace backward fast Output: -1.0 FL: 11111111100001111111110000 FR: 00001111111110000111111111 RL: 11111111100001111111110000 RR: 00001111111110000111111111
Input: 用于 LLM 的 SayTap prompt。藍(lán)色文本是用于說明的,,不是 LLM 的輸入,。下面的動圖展示了 SayTap 成功執(zhí)行直接清晰命令的示例。盡管某些命令并不包含在三個(gè)上下文示例之中,但依然可以引導(dǎo) LLM 表達(dá)出其在預(yù)訓(xùn)練階段學(xué)習(xí)到的內(nèi)部知識,,這會用到 prompt 中的「步態(tài)定義模塊」,,即上面 prompt 中第二個(gè)模塊。但更有趣的是 SayTap 處理非結(jié)構(gòu)化和模糊指令的能力,。只需一點(diǎn)提示即可將某些步態(tài)與一般情緒印象聯(lián)系起來,,比如機(jī)器人在聽到讓其興奮的消息(如「我們?nèi)ヒ安桶桑 梗┖髸舷绿S,。此外,,它還能準(zhǔn)確地呈現(xiàn)出場景,比如當(dāng)被告知地面非常熱時(shí),,機(jī)器人會快速移動,,讓腳盡量少接觸地面。SayTap 是一個(gè)用于四足機(jī)器人的交互式系統(tǒng),,其允許用戶靈活地制定不同的運(yùn)動行為,。SayTap 引入了所需足部接觸模式作為自然語言與低層控制器之間的接口。這種新接口簡單直接又很靈活,,此外,,它既支持機(jī)器人遵循直接指令,也支持機(jī)器人遵從沒有明確說明機(jī)器人行為方式的命令,。DeepMind 的研究者表示,,未來一大研究方向是測試暗含特定感受的命令是否能讓 LLM 輸出所需步態(tài)。在上面結(jié)果的步態(tài)定義模塊中,,研究者提供了一個(gè)將開心情緒與跳動步態(tài)聯(lián)系起來的句子,。如果能提供更多信息,也許能增強(qiáng) LLM 解釋命令的能力,,比如解讀隱含的感受,。在實(shí)驗(yàn)評估中,開心情緒與跳動步態(tài)的聯(lián)系能讓機(jī)器人在遵從模糊的人類指令行動時(shí)表現(xiàn)得充滿活力,。另一個(gè)有趣的未來研究方向是引入多模態(tài)輸入,,比如視頻和音頻。理論上講,,從這些信號轉(zhuǎn)譯而來的足部接觸模式也適用于這里新提出的工作流程,,并有望開創(chuàng)更多有趣的用例。原文鏈接:https://search.google/2023/08/saytap-language-to-quadrupedal.html
|