在「機器人領域」使用ChatGPT提高生產(chǎn)力
最近幾個月,ChatGPT 大火,它是OpenAI于去年11月底推出的人工智能聊天機器人程序,已經(jīng)成為了歷史上增長最快的消費者應用程序 [1]。毫無疑問,ChatGPT受到了各個行業(yè)的廣泛關(guān)注。
其中在機器人領域,微軟于今年2月20日發(fā)布了"ChatGPT for Robotics"的技術(shù)報告 [2],為如何將ChatGPT 融入機器人領域提供了一種可能的視角。與純文本的應用不同,機器人系統(tǒng)需要對現(xiàn)實世界的物理、環(huán)境背景和物理動作的執(zhí)行能力有深入的了解。而且所生成機器人模型需要具備相當?shù)某WR性知識和符合實際的物理模型,以及與用戶交互以解釋和執(zhí)行實際現(xiàn)實中可行的命令。下面筆者將根據(jù)這份報告,解讀怎樣在機器人領域使用ChatGPT 來提升生產(chǎn)力。
一、Pipeline設計流程
1. 整體流程
ChatGPT 本質(zhì)上是一個語言模型,采用對話的形式,根據(jù)用戶的指令做出相應的回應。從最基本的語言回應,到代碼生成與debug,再到情景角色扮演,這些應用的一個核心關(guān)鍵就是用戶提示詞的撰寫(prompt),用戶需要通過準確詳細的提示詞告訴ChatGPT應該做什么,然后讓ChatGPT 去執(zhí)行。為此,
1.首先需要手工設計一系列的機器人功能庫函數(shù)來實現(xiàn)底層執(zhí)行器的命令,如,移動,停止,獲得目標的位置信息等等。2.第二步是給ChatGPT 寫一個提示詞,用來描述需要讓ChatGPT 執(zhí)行的目標。3.第三步是使用者評估ChatGPT 生成的代碼,并且給ChatGPT 提供反饋,讓ChatGPT 進行下一步改進。4.通過提供反饋,將代碼進行不斷迭代改進,當用戶測試通過之后,就可以部署到實際的系統(tǒng)中了。流程圖如下:

2. 關(guān)于Prompt 的注意事項
如果想要讓ChatGPT 更容易理解用戶的意思,產(chǎn)生更準確的回應,那么用戶所給出的提示詞就需要清晰明了:描述中除了要包含讓ChatGPT調(diào)用的底層機器人功能庫函數(shù)之外,還要考慮以下幾點內(nèi)容:
1.具體的任務要求和約束條件:舉個例子比如說想要讓機器人移動物體,那么prompt 里面首先要介紹相關(guān)信息告訴ChatGPT,比如物體的位置、尺寸等等。
2.對環(huán)境的描述:提示詞中需要描述清楚這個任務是在什么環(huán)境下進行的。舉個例子來說,比如目標任務是在迷宮中導航,那么就需要介紹迷宮的尺寸和形狀,以及里面存在的障礙物等信息。
3.目前的狀態(tài)信息:需要告訴ChatGPT 機器人系統(tǒng)目前的它的狀態(tài)信息,比如位置、朝向等等。
4.目標:比如任務是組裝一個拼圖,那就需要告訴ChatGPT 需要拼接的零件數(shù)目以及期望的完成時間。
5.解決方案的樣例:當任務比較復雜的時候,比如需要ChatGPT 與使用者進行交互的時候,可以通過給一些例子來描述這個過程。見下圖。作者向ChatGPT提供了一個機器人何時向人類詢問以獲取進一步指令的例子。

6.提示詞的設計原則:可參考:https://learningprompt.wiki,該網(wǎng)站指出了設計提示詞的所有技巧和原則。也可以參考https://promptperfect.jina.ai/,該網(wǎng)站能夠自動優(yōu)化所使用的提示詞,從而讓ChatGPT提供期望的高質(zhì)量結(jié)果。
二、潛在應用前景
在設計完成Pipeline 之后,就可以把目光轉(zhuǎn)到ChatGPT的具體機器人應用上來:如仿真環(huán)境下無人機的任務規(guī)劃和避障,現(xiàn)實世界的空中無人機感知和操縱部署等等。
值得注意的是,在微軟的文章中 [2],除了展示ChatGPT 的強大能力之外,也強調(diào)了ChatGPT的局限性:不應忽視實際的部署安全性問題,尤其是在實際物理系統(tǒng)機器人部署的情況下。在 ChatGPT有可能產(chǎn)生意外行為的情況下,必須有人在循環(huán)中進行監(jiān)控和干預。此外,在將模型部署到現(xiàn)實世界之前,使用模擬器進行仿真有助于更好地評估模型的性能。文中強調(diào),將 ChatGPT 用于機器人技術(shù)并不是完全自動化的過程,而是充當增強人類能力的工具。
本文中主要把應用場景分成了三類:零樣本任務規(guī)劃、通過人在回路的反饋交互來完成復雜任務、包含感知層的任務執(zhí)行。筆者將針對這三種情況進行一一介紹。
1. 零樣本任務規(guī)劃
(1)在AirSim 環(huán)境下的工業(yè)巡檢
在該情境下,即使是讓非專業(yè)的使用者通過ChatGPT 也能夠控制無人機完成工業(yè)巡檢任務目標。
ChatGPT 能夠理解用戶的意圖并且能夠精準控制無人機完成任務。視頻見https://www.youtube.com/watch?v=38lA3U2J43w

(2)通過人與機器人的語言交互達成現(xiàn)實世界中無人機的飛行任務
ChatGPT 在用戶和機器人之間提供了極其直觀的自然語言交互界面,僅僅根據(jù)一些模棱兩可和定義不明確的指令就可以編寫機器人代碼,并在必要時請求問題的進一步闡釋。這種交互模式能夠為無人機導航的任務編寫復雜的代碼結(jié)構(gòu)。視頻鏈接見https://youtu.be/i5wZJFb4dyA
2. 使用者在回路:通過與ChatGPT交互式對話實現(xiàn)復雜任務
這一部分專注于讓ChatGPT 執(zhí)行復雜任務。這種交互方式允許復雜的結(jié)構(gòu),例如課程學習(curriculum learning)。在這種情況下,會教授給ChatGPT較小規(guī)模的技能,這些技能可以結(jié)合起來用于更大、更復雜的任務。此外,ChatGPT 能夠獲取有關(guān)生成的代碼的文本反饋,并修改其代碼,從而使非專業(yè)使用者能夠輕松地與之交互。
(1)利用Curriculum learning 實現(xiàn)對物體的操縱擺放
第一個例子是使用機械臂設置了一個塊排列任務,為此設計了一個課程。ChatGPT 被要求學習更簡單的拾取對象然后放置它們的技能。隨后,當被要求使用這些技能來執(zhí)行更復雜的塊排列任務時,ChatGPT將這些學到的技能能夠組合在一起。此外,當任務是用五塊構(gòu)建微軟徽標時,該模型展示了一個典型的通用性示例,它可以橋接文本域和物理域:因為此任務需要記住公司徽標的外觀,包括其顏色,然后將徽標抽象為可由現(xiàn)有機器人動作構(gòu)建的物理部分。

視頻鏈接見https://youtu.be/wLOChUtdqoA
(2)在AirSim 環(huán)境下實現(xiàn)無人機避障
ChatGPT 可以為配備前向距離傳感器的無人機編寫具有避障功能的目標到達算法。ChatGPT 構(gòu)建了避障算法的大部分關(guān)鍵模塊,但仍需要一些人工反饋以進行矯正。盡管人工反饋以高級文本形式提供,但ChatGPT 能夠理解人的指令要求并對代碼進行相應的修改。

視頻鏈接見https://youtu.be/Vn6NapLlHPE
3. 具備感知功能后進行行動
文章還評估了 ChatGPT 進行感知-動作循環(huán)的能力。首先,模型能夠利用 API 庫在其輸出代碼中構(gòu)建感知-動作循環(huán)的能力。它能夠正確地利用圖像采集和目標檢測等感知功能來提取機器人導航和控制的相關(guān)信息。然后進一步的,使用者可以通過文本對話不斷向模型提供感知信息,用戶在對話期間可以將觀察結(jié)果(轉(zhuǎn)換為文本格式)輸入 ChatGPT。ChatGPT 能夠解析此觀察流并輸出相應的操作。
具身智能:目標導航
該任務中ChatGPT 擁有了對計算機視覺模型的訪問權(quán)限,并作為其功能庫的一部分,賦予它探索未知環(huán)境并導航到用戶指定對象的任務。對象檢測 API(后端的 YOLOv8 [3])返回邊界框,ChatGPT 生成代碼來估計相對對象角度并向它們導航。當用戶向 ChatGPT 提供來自深度傳感器的附加信息時,它產(chǎn)生了一種帶有像素深度掩碼的改進算法。

視頻鏈接見 https://youtu.be/p0fDH9zZm_c
三、總結(jié)
在微軟的這份文檔中,提出了一個將 ChatGPT 用于機器人應用程序的框架。該框架首先需要設計和實施用于機器人控制的 API 庫,這些 API 可以幫助 ChatGPT 進行頂層設計。并且,該框架能夠用于多種機器人應用場景中:如空中機器人、操縱和視覺導航的部署等等。同時文章也強調(diào),不應讓這些工具完全控制機器人系統(tǒng),尤其是對于安全關(guān)鍵型系統(tǒng), 因為ChatGPT具有生成錯誤響應的傾向。因此在實際機器人上執(zhí)行代碼之前,應該在人工監(jiān)督下確保代碼的質(zhì)量和安全性。
參考文獻
[1] https://redian.news/wxnews/251179
[2] Vemprala, Sai, et al. "ChatGPT for Robotics: Design Principles and Model Abilities." (2023).
[3] Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings ofthe IEEE conference on computer vision and pattern recognition. 2016.? ??

本文共2793字
由西湖大學智能無人系統(tǒng)實驗室博士生小米原創(chuàng)
申請文章授權(quán)請聯(lián)系后臺運營人員
▌微信公眾號:空中機器人前沿
▌知乎:空中機器人前沿(本文鏈接:https://zhuanlan.zhihu.com/p/615748648)
▌Youtube:Aerial robotics @ Westlake University
▌實驗室網(wǎng)站:https://shiyuzhao.westlake.edu.cn
