精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器人ChatGPT應用:設計原則和模型能力

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2023-03-14 09:54 ? 次閱讀

本文轉載自微軟發布的關于chatGPT擴展到機器人領域的能力。以下內容選擇部分內容,關于chatGPT控制機械臂,以完成繪制微軟徽標的過程。

我們將 ChatGPT 的功能擴展到機器人,并通過語言直觀地控制機器人手臂、無人機和家庭助理機器人等多個平臺。

你有沒有想過用你自己的話告訴機器人該怎么做,就像你對人類一樣?只是告訴你的家庭助理機器人:“請加熱我的午餐”,然后讓它自己找到微波爐,這不是很神奇嗎?盡管語言是我們表達意圖的最直觀方式,但我們仍然嚴重依賴手寫代碼來控制機器人。我們的團隊一直在探索如何改變這一現實,并使用OpenAI的新AI語言模型ChatGPT實現自然的人機交互。

ChatGPT 是一種在大量文本和人類交互語料庫上訓練的語言模型,使其能夠對各種提示和問題生成連貫且語法正確的響應。我們這項研究的目標是看看ChatGPT是否可以超越文本思考,并推理物理世界來幫助完成機器人任務。我們希望幫助人們更輕松地與機器人互動,而無需學習復雜的編程語言或有關機器人系統的詳細信息。這里的關鍵挑戰是教 ChatGPT 如何解決考慮物理定律、操作環境背景以及機器人的物理動作如何改變世界狀態的問題。

事實證明,ChatGPT 可以自己做很多事情,但它仍然需要一些幫助。我們的技術論文描述了一系列設計原則,可用于指導語言模型解決機器人任務。這些包括但不限于特殊的提示結構、高級 API 和通過文本的人工反饋。我們相信,我們的工作只是我們開發機器人系統方式轉變的開始,我們希望激勵其他研究人員進入這個令人興奮的領域。繼續閱讀有關我們的方法和想法的更多技術細節。

當今機器人技術面臨的挑戰,以及 ChatGPT 如何提供幫助

當前的機器人管道始于工程師或技術用戶,他們需要將任務的要求轉換為系統代碼。工程師坐在循環中,這意味著他們需要編寫新的代碼和規范來糾正機器人的行為。總的來說,這個過程很慢(用戶需要編寫低級代碼),昂貴(需要具有深厚機器人知識的高技能用戶)和低效(需要多次交互才能使事情正常工作)。

ChatGPT 解鎖了一種新的機器人范式,并允許(潛在的非技術)用戶坐在循環中,在監控機器人性能的同時向大型語言模型 (LLM) 提供高級反饋。通過遵循我們的設計原則,ChatGPT 可以為機器人場景生成代碼。無需任何微調,我們就利用LLM的知識來控制各種任務的不同機器人外形。在我們的工作中,我們展示了ChatGPT解決機器人難題的多個示例,以及在操縱,空中和導航領域的復雜機器人部署。

使用ChatGPT的機器人技術:設計原則

催生法學碩士是一門高度實證的科學。通過反復試驗,我們構建了一種方法和一套設計原則,用于編寫機器人任務的提示:

pYYBAGQP0-WAIrzUAABn2v4nQh0333.png

1. 首先,我們定義一組高級機器人 API 或函數庫。該庫可以特定于特定的機器人,并且應映射到機器人的控制堆棧或感知庫中的現有低級實現。為高級 API 使用描述性名稱非常重要,這樣 ChatGPT 就可以推理它們的行為;

2. 接下來,我們為 ChatGPT 編寫一個文本提示,描述任務目標,同時明確說明高級庫中的哪些函數可用。提示還可以包含有關任務約束的信息,

3. 或者 ChatGPT 應該如何形成它的答案(特定的編碼語言,使用輔助解析元素);用戶通過直接檢查或使用模擬器來評估 ChatGPT 的代碼輸出。如果需要,用戶使用自然語言向 ChatGPT 提供有關答案質量和安全性的反饋。

4.當用戶對解決方案感到滿意時,可以將最終代碼部署到機器人上。

理論夠了...ChatGPT到底能做什么?

讓我們看一個例子...您可以在我們的代碼存儲庫中找到更多案例研究。

(這里我們只舉例一個比較有趣的例子,原文中還有其他機器人的例子)

循環用戶:當復雜任務需要對話時

接下來,我們在機器人手臂的操作場景中使用了 ChatGPT。我們使用對話反饋來教模型如何將最初提供的 API 組合成更復雜的高級函數:ChatGPT 自己編碼。使用基于課程的策略,該模型能夠將這些學到的技能邏輯地鏈接在一起,以執行堆疊塊等操作。

此外,該模型還展示了一個有趣的示例,即在用木塊構建Microsoft徽標時橋接文本域和物理域。它不僅能夠從其內部知識庫中調用徽標,還能夠“繪制”徽標(作為SVG代碼),然后使用上面學到的技能來確定哪些現有的機器人動作可以構成其物理形式。

以下是與chatGPT關于如何控制機器人手臂以制作具有Microsoft徽標顏色的SVG文件的對話。

用戶:

想象一下,我們正在使用一個機械手機器人。這是一個具有 6 個自由度的機械臂,其末端執行器上連接著一個抽吸泵。我希望你能協助我向這個機器人發送命令,給定一個場景和一個任務。

pYYBAGQP0-yAcTEfAABYdVJWDDw345.png

在任何時候,您都可以訪問以下功能:

grab():打開抽吸泵抓取物體

release():關閉抽吸泵以釋放物體

get_position(對象):給定一個對象名稱的字符串,返回真空泵接觸對象頂部的坐標和方向 [X, Y, Z, Y, 偏航, 俯仰, 滾動]

move_to(位置):它將抽吸泵移動到給定位置 [X, Y, Z, 偏航, 俯仰, 橫滾]。

您可以使用這些函數創建新函數,但不允許使用任何其他假設函數。

保持解決方案簡單明了。位置以毫米為單位,角度以度為單位。您也可以使用標簽“問題 - ”提出澄清問題。下面是一個示例方案,演示了如何提出澄清問題。

假設一個場景包含兩個球體。

聊天:

問題 - 有兩個領域。你想讓我拿哪一個?

用戶:

球體 1,請。使用 python 代碼來表達您的解決方案。準備好了嗎?

聊天:

是的,我準備好了。請描述場景和任務。

用戶:

場景中有以下對象:白墊、方框、藍方塊、黃色方塊、綠色方塊、紅色方塊、棕色方塊 1、棕色方塊 2。這些積木是高度為 40 毫米的立方體,位于 80 毫米深的盒子內。這些塊只能從盒子的頂部到達。我想讓你學習撿起一個物體并握住它的技巧。為此,您需要在物體上方移動安全距離(100 毫米),到達物體,抓住它并將其提起。

聊天:

理解。這是一個 Python 函數,它采用對象的名稱,將機器人手臂移動到對象上方,抓住它,然后將對象移動到對象上方 100 毫米的安全距離。請注意,該函數假定機器人手臂最初處于安全的起始位置。

import timedef pick_up_object(object_name):# get the position of the objectobject_pos = get_position(object_name)# move the robot arm to a safe position above the objectsafe_pos = [object_pos[0], object_pos[1], object_pos[2]+100, object_pos[3], object_pos[4], object_pos[5]]move_to(safe_pos)# move the robot arm to the object's positionmove_to(object_pos)# grab the objectgrab()time.sleep(1) # wait for the object to be firmly attached# move the robot arm back to the safe position above the objectmove_to(safe_pos)

要使用此功能,只需調用pick_up_object并以字符串形式提供要拾取的對象的名稱,例如 pick_up_object(“紅色塊”)。

用戶:

偉大!現在我想讓你學習如何在一個位置放置和反對。考慮到您拿著一個通用對象,您首先需要移動到目標位置上方的安全位置,將對象放下,然后釋放它。

聊天:

理解。這是一個Python函數,它占據了應該放置物體的位置,將機器人手臂移動到該位置上方,將物體放下,然后釋放它。請注意,該函數假定機器人手臂正在握住一個物體。

def place_object(position):# move the robot arm to a safe position above the target locationsafe_pos = [position[0], position[1], position[2]+100, position[3], position[4], position[5]]move_to(safe_pos)# move the robot arm to the target locationmove_to(position)# release the objectrelease()# move the robot arm back to the safe position above the target locationmove_to(safe_pos)

要使用此功能,只需調用 place_object 并將目標位置作為 6 個數字的列表提供,例如 place_object([100, 200, 50, 0, 0, 0])。請注意,位置的單位以毫米為單位,方向角以度為單位。

用戶:

偉大!現在我希望你使用這些技能來撿起綠色塊并放在白色墊子上。所有塊的高度均為 40 毫米。

聊天:

確定!這是Python代碼,用于拾取綠色塊并將其放在白色墊上:

# get the positions of the green block and white padgreen_pos = get_position("green block")white_pos = get_position("white pad")# pick up the green blockpick_up_object("green block")# calculate the position to place the block on the white padplace_pos = [white_pos[0], white_pos[1], white_pos[2]+40, 0, 0, 0]# place the block on the white padplace_object(place_pos)

此代碼使用 get_position 函數獲取綠色塊和白墊的位置,使用我們之前定義的pick_up_object函數拾取綠色塊,計算將塊放置在白墊上的位置,并使用我們之前定義的place_object函數將塊放置在白墊上。請注意,我們將塊的高度(40 mm)添加到白色墊子的高度上,以確保塊放置在墊子的頂部。

用戶:

偉大!現在我希望你把兩個棕色塊堆疊在綠色塊的頂部。

聊天:

確定!以下是將兩個棕色塊堆疊在綠色塊頂部的 Python 代碼:

# get the positions of the green block and both brown blocksgreen_pos = get_position("green block")brown1_pos = get_position("brown block 1")brown2_pos = get_position("brown block 2")# pick up the first brown blockpick_up_object("brown block 1")# calculate the position to place the block on top of the green blockplace_pos = [green_pos[0], green_pos[1], green_pos[2]+40, 0, 0, 0]# place the first brown block on top of the green blockplace_object(place_pos)# pick up the second brown blockpick_up_object("brown block 2")# calculate the position to place the block on top of the first brown blockplace_pos = [green_pos[0], green_pos[1], green_pos[2]+80, 0, 0, 0]# place the second brown block on top of the first brown blockplace_object(place_pos)

此代碼使用 get_position 函數獲取綠色塊和兩個棕色塊的位置,使用我們之前定義的 pick_up_object 函數拾取第一個棕色塊,計算將第一個棕色塊放置在綠色塊頂部的位置,并使用我們之前定義的place_object函數將第一個棕色塊放在綠色塊的頂部。然后,它拾取第二個棕色塊,計算將第二個棕色塊放置在第一個棕色塊之上的位置,并使用我們之前定義的place_object函數將第二個棕色塊放在第一個棕色塊的頂部。請注意,我們將綠色塊的高度(40 mm)添加到前一個塊的高度上,以確保該塊放置在前一個塊的頂部。

用戶:

棒!我現在想使用這些塊在白墊上構建微軟的徽標。它由四種顏色組成,形成一個正方形,左下角為藍色,右下角為黃色,左上角為紅色,右上角為綠色。

聊天:

確定!以下是使用塊在白色墊上構建Microsoft徽標的Python代碼:

# get the positions of the blocks and the white padwhite_pad_pos = get_position("white pad")blue_pos = get_position("blue block")yellow_pos = get_position("yellow block")red_pos = get_position("red block")green_pos = get_position("green block")# pick up the blue blockpick_up_object("blue block")# calculate the position to place the blue blockplace_pos = [white_pad_pos[0]-20, white_pad_pos[1]-20, white_pad_pos[2]+40, 0, 0, 0]# place the blue block on the white padplace_object(place_pos)# pick up the yellow blockpick_up_object("yellow block")# calculate the position to place the yellow blockplace_pos = [white_pad_pos[0]+20, white_pad_pos[1]-20, white_pad_pos[2]+40, 0, 0, 0]# place the yellow block on the white padplace_object(place_pos)# pick up the red blockpick_up_object("red block")# calculate the position to place the red blockplace_pos = [white_pad_pos[0]-20, white_pad_pos[1]+20, white_pad_pos[2]+40, 0, 0, 0]# place the red block on the white padplace_object(place_pos)# pick up the green blockpick_up_object("green block")# calculate the position to place the green blockplace_pos = [white_pad_pos[0]+20, white_pad_pos[1]+20, white_pad_pos[2]+40, 0, 0, 0]# place the green block on the white padplace_object(place_pos)

此代碼使用 get_position 函數獲取白墊和所有四個塊的位置,使用我們之前定義的pick_up_object函數依次拾取每個塊,計算將塊放置在白墊上的位置,并使用我們之前定義的place_object函數將塊放在白墊上。我們使用塊顏色來確保正確構建徽標。我們將藍色塊放在左下角位置,黃色塊放在右下位置,紅色塊放在左上角位置,綠色塊放在右上角位置,如提示中指定。

poYBAGQP0_GAP-0cAABxmipFJ_8712.png

將機器人技術帶出實驗室,走向世界

我們很高興發布這些技術,旨在將機器人技術帶給更廣泛的受眾。我們相信,基于語言的機器人控制將是將機器人技術帶出科學實驗室并交到日常用戶手中的基礎。

也就是說,我們確實強調,ChatGPT 的輸出并不意味著在沒有仔細分析的情況下直接部署在機器人上。我們鼓勵用戶利用仿真的強大功能,以便在潛在的實際部署之前評估這些算法,并始終采取必要的安全預防措施。我們的工作只代表了機器人領域大型語言模型交叉點的一小部分,我們希望激發未來的大部分工作。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    210

    文章

    28205

    瀏覽量

    206532
  • AI
    AI
    +關注

    關注

    87

    文章

    30146

    瀏覽量

    268419
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453
  • OpenAI
    +關注

    關注

    9

    文章

    1043

    瀏覽量

    6408
  • ChatGPT
    +關注

    關注

    29

    文章

    1548

    瀏覽量

    7495
收藏 人收藏

    評論

    相關推薦

    Al大模型機器人

    理解能力強大: AI大模型機器人可以理解和生成自然語言,能夠進行復雜的對話和語言任務。它們能夠識別語言中的語義、語境和情感,并據此作出適當的回應。廣泛的知識儲備: 這些模型基于大規模的
    發表于 07-05 08:52

    機器人姿態監控

    想弄一個vi可以動態顯示機器人的姿態,但不知道有什么函數可以引入機器人模型,幫幫忙,謝謝。
    發表于 02-11 17:25

    什么是工業機器人

    ` 本帖最后由 大連云港 于 2015-1-19 11:02 編輯 工業機器人是面向工業領域的多關節機械手或多自由度的機器人。工業機器人是自動執行工作的機器裝置,是靠自身動力和控
    發表于 01-19 10:58

    機器人視覺——機器人的“眼睛”

    目前產業機器人僅能在嚴格定義的結構化環境中執行預定指令動作,缺乏對環境的感知與應變能力,這極大地限制了機器人的應用。利用機器人的視覺控制,不需要預先對產業
    發表于 01-23 15:02

    機器人與未來

    將在機械上超越人類的身體,在數字上超越人類的頭腦。如果未來機器人真的具有(或部分具有)超人類的能力,那接下來的問題當然不是機器人和人類誰統治誰那么簡單的問題。在一個充斥著機器人的世界里
    發表于 12-29 14:56

    機器人系統是什么?

    機器人的移動通常是從管理機器人總體任務進度的中央處理器發出位置變化請求時開始的。導航系統通過制定行程計劃或軌跡以開始執行位置變化請求。行程計劃需考慮可用路徑、已知障礙位置、機器人能力
    發表于 09-10 10:44

    智能監控機器人該怎么設計?

    智能監控機器人是近年來機器人應用工程中一項前沿性的題目,智能化探測小車是智能行走機器人的一種。智能監控機器小車就是針對上述情況,在參考了目前大多數智能
    發表于 10-14 07:37

    工業機器人仿真與編程

    目錄概述行走軸模型拆分行走軸模型導入仿真軟件創建行走軸機械裝置外部軸配置向導插件安裝虛擬機器人系統創建行走軸系統配置機器人安裝到行走軸行走軸運動控制文已經首發在個人微信公眾號:工業
    發表于 09-07 08:57

    機器人簡介

    一.機器人簡介:機器人(Robot)是自動執行工作的機器裝置。它既可以接受人類指揮,又可以運行預先編排的程序,也可以根據以人工智能技術制定的原則綱領行動。它的任務是協助或取代人類工作的
    發表于 09-07 06:05

    將Simulink模型與Lego機器人結合使用

    將Simulink模型與Lego機器人結合使用可提供令人愉悅的基于模型的設計體驗支持LEGO MINDSTORMS NXT作為產品標準功能。即使沒有ECRobot NXT,您也可以玩樂高游戲
    發表于 12-20 07:15

    科技大廠競逐AIGC,中國的ChatGPT在哪?

    最近,AI(人工智能)圈一股以“ChatGPT”為核心的熱潮從美國“硅谷”涌入中國。 2022年11月底,初創公司OpenAI發布了名為ChatGPT的對話式聊天機器人模型,一經推出
    發表于 03-03 14:28

    淺談ChatGPT機器人上的應用

    微軟在嘗試讓ChatGPT突破計算機限制去控制機器人,從而在現實世界中自由發揮作用。
    發表于 03-09 13:41 ?1556次閱讀

    Chatgpt制作的焊接機器人知識大綱及詳解

    最近ChatGPT非常火,無錫金紅鷹工業自動化有限公司小編今天也用Chatgpt制作了焊接機器人知識大綱,體驗一下這個新秀對焊接機器人知識的整合能力
    的頭像 發表于 03-24 09:54 ?1228次閱讀
    <b class='flag-5'>Chatgpt</b>制作的焊接<b class='flag-5'>機器人</b>知識大綱及詳解

    機器人ChatGPT來了!DeepMind重量級突破!

    ChatGPT 等大語言模型的發展,正在為機器人領域掀起一場革命,谷歌把最先進的語言模型安在機器人身上,讓它們終于擁有了一顆人工大腦。
    發表于 07-31 11:01 ?400次閱讀
    <b class='flag-5'>機器人</b><b class='flag-5'>ChatGPT</b>來了!DeepMind重量級突破!

    如何創建機器人模型

    完整機器人模型 所有的link和joint標簽完成了對機器人每個部分的描述和組合,全都放在一個robot標簽中,就形成了完整的機器人模型
    的頭像 發表于 11-22 17:09 ?889次閱讀
    如何創建<b class='flag-5'>機器人</b><b class='flag-5'>模型</b>