在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

自然語言控制機械臂:ChatGPT與機器人技術的融合創新(下)

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2024-04-11 15:54 ? 次閱讀

引言


在我們的上一篇文章中,我們探索了如何將ChatGPT集成到myCobot 280機械臂中,實現了一個通過自然語言控制機械臂的系統。我們詳細介紹了項目的動機、使用的關鍵技術如ChatGPT和Google的Speech-to-text服務,以及我們是如何通過pymycobot模塊來控制機械臂的。通過將自然語言處理和機械臂控制相結合,我們的項目旨在降低機器人編程的門檻,使得非專業人士也能輕松地進行機器人編程和實驗。

接下來,在這篇文章中,我們將討論在開發這一系統過程中遇到的挑戰,我們是如何克服這些挑戰的,以及項目未來的擴展可能性。我們的目標是深入了解技術實施的具體問題,并探索該系統未來發展的新方向。

wKgZomYXhL2AWINGAHjQGzQa6LU646.png

開發當中遇到的困難


在開發集成了ChatGPT的mycobot 280機械臂控制系統的過程中,我面臨了幾個主要的技術挑戰。

1.語音識別的準確性和響應時間


首先,我遇到的挑戰是語音識別的準確性和反應時間。盡管使用了Google的Speech-to-text,但在實際應用中,我發現它有時難以準確識別專業術語或在嘈雜環境中捕捉語音指令。可能是因為不太理解底層邏輯運行的一個原理是什么,也不知道如何來正確的使用。此外,從語音輸入到文本輸出的過程延遲較長,如何來判斷這句話是不是說完了,通常響應的時間較久。

wKgZomYXjQiAdddWAAA5T4Pbqmk535.png

在我說完之后,大概會有3s左右的響應時間。

2.OpenAI API的實用性和地域限制


ChatGPT的API 是整個項目的核心功能點,沒有了他就不能實現AI的機械臂控制系統了。在一開始測試代碼的時候我用的是WEB版本的ChatGPT,一開始沒有考慮到使用API是一個比較大的問題。

因為地區的問題,沒有辦法直接通過API進行訪問OpenAI,會出現網絡延遲,不能夠使用代理等軟件來實現訪問。除此之外還得確保網絡的穩定性才能夠快快速的進行處理。

wKgZomYXjTqAJnVDAAB5lnQ5YAc478.png

3.自然語言轉指令的處理


如果解決了上邊的生成代碼的問題,我們將會得到類似于命令行的字符串,需要將它轉變成可以編譯的代碼。一開始只考慮到了單行的命令行

"robot.move_to_zero()"


要將字符串轉化成執行的代碼可以用到python的getattr(),他是一個內置函數,用于獲取對象的屬性值。

getattr(object, name[, default]) object:表示要獲取屬性的對象。 name:表示要獲取的屬性的名稱。 default:可選參數,表示如果指定的屬性不存在時返回的默認值。


getattr() 函數會嘗試獲取指定對象的指定屬性的值。如果對象具有該屬性,則返回屬性的值;如果對象沒有指定的屬性,但提供了默認值,則返回默認值;如果對象沒有指定的屬性,并且沒有提供默認值,則會引發 AttributeError 異常。

舉個例子直接調用類的方法

class Myclass: def print_1(self): print("halo word") obj = mycalss() getattr(obj,"print_1")() """ halo word


用這個方法就可以完美解決如何將字符串的形式輸出可執行的代碼了!

接下來是將字符串轉化為可執行代碼的過程:

我們收到的字符串是代碼的形式例如

"robot.move_to_zero()"


我們要將這一部分進行拆分,分為obj和方法兩部分,就要用到python當中的分割的方法。

# 以.為節點分為前后兩個部分 command_str = "robot.move_to_zero()" parts = command_str.split(".") parts[0] = "robot" part[1] = "move_to_zero()" # 去掉括號保留,方法名 method_name = part[1].split("()")[0] method = getatter(robot,method_name) method() #處理轉化方法 def execute_command(instance,command_str): try: #分割對象名和方法 parts = command_str.split(".") if len(parts) != 2 or parts[0] != 'robot': print("Invalid command format.") return method_name = parts[1].split("()")[0] #移除括號 #使用getattr 安全的獲取方法引用 if hasattr(instance, method_name): method = getattr(instance, method_name) method() else: print(f"the method {method_name} does not exist!") except Exception as e: print(f"An error occurred: {e}")

這樣就完成了,能夠處理單行的字符串,但是在測試的時候使用產生多行的命令的時候,這個代碼就不行了,它會變成一長串,所以這個方法是無效的。

上述三個是我主要遇到的問題,接下來我將一一的進行解答。

解決方案和應對策略


1.優化語音識別


根據我上述描寫的識別延遲的問題,我是通過設置時間來優化我的程序。

# 設置timeout為3秒,phrase_time_limit為10秒 audio = recognizer.listen(source, timeout=3, phrase_time_limit=10)


默認設置沒有聽到聲音,一直的進行監聽,我設置了時間上的限制10s,也能夠保證我在說完話之后較快的一個響應。

接下來完成的功能代碼

import speech_recognition as sr def speech_to_text(): # 初始化識別器 recognizer = sr.Recognizer() with sr.Microphone() as source: print("start speaking...") # 監聽源,設置timeout和phrase_time_limit # timeout:在這段時間內沒有檢測到聲音,則停止監聽 # phrase_time_limit:監聽的最大時長 try: audio = recognizer.listen(source, timeout=3, phrase_time_limit=10) except sr.WaitTimeoutError: print("No speech was detected within the timeout period.") return None try: # 使用Google的語音識別服務 text = recognizer.recognize_google(audio, language='en-US') print("You said: " + text) return text except sr.UnknownValueError: print("Google Speech Recognition could not understand audio") return None except sr.RequestError as e: print(f"Could not request results from Google Speech Recognition service; {e}") return None

這目前已經可以滿足大部分的需求了,實際的使用情況下來來看,整個的功能還是比較完整的,能夠有效的識別出語音內容,特別是讓我說數字的時候他主動轉化成阿拉伯數字,在進行交互的過程中省了處理數字的問題。

1.自然語言轉化優化


如何來解決多行的指令問題呢。

當我們收到,多行的指令就不能跟之前單純的分離來進行處理了得考慮其他的方式,以下的情況默認ChatGPT生成的指令是下面這種換行行的字符串,沒有帶注釋的(ChatGPT很喜歡寫注釋)。

"robot.move_to_zero() robot.grab_position() robot.plus_z_coords(20)"


只要把多個當成一個來看就好了!

# 分割成多行 commands = command_str.strip().split('n') #萬一里面存在一些空白符,得先進行處理 for cmd in commands: cmd = cmd.strip() if not cmd: continue # 我們默認obj 是robot,就只需要獲取方法名字就可以了 if cmd.startswith("robot."): cmd = cmd[6:] # 分割方法名,和參數 if '(' in cmd and cmd.endswith(")"): method_name, args_str = cmd.split('(', 1) method_name = method_name.strip() #刪除前后空格 args_str = args_str.rstrip(")") #刪除右側的) # 移除可能的空白字符,并按逗號分隔參數 args = [arg.strip() for arg in args_str.split(',')] if args_str else []

wKgaomYXj6qAJXcQAABhB7CAPh4382.png

it works!

3.ChatGPT API的問題

關于這個問題,我目前并沒能很好的進行解決,大家如果有好的方法可以,私信我跟我溝通,因為地區的問題,并不能夠直接的用API獲取響應。

項目的擴展功能和未來展望
視覺功能


在本次記錄當中,缺少了最重要的一個模塊,視覺模塊,單獨有一個機械臂沒有眼睛的話跟瞎子又有什么區別呢。 對于這一部分的開發,會需要花費較大的經歷,如果以后有完成一定程度上的開發,我也會及時出來跟大家進行分享。

之前也有看到日本的Shirokuma 開發個類似的項目,用到了ChatGPT4-vision的功能,做了說出目標進行抓取的一個功能。

https://twitter.com/neka_nat/status/1733517151947108717

這個項目也是相當的有意思,給了我不少開發這個項目的想法。

wKgaomYXkAOAfa1rAAbFhnzWR4E408.png

更加智能的“賈維斯”


相信大家的肯定都有看過鋼鐵俠,隨著AI的不斷發展,我覺得在不久的將來,肯定會出現一款如同電影當中的機械臂,能夠通過交流的方式來幫助你完成一些工作。

近幾年也能說是人工智能的突發猛進的幾年,AIGC是近期最火熱的內容,只要接收到內容就可以生成對應的文本,圖像,視頻音頻等等。

總結


很期待未來,AI和機器人相結合能夠融合到怎樣的一個程度,是不是已經能夠幫助人類做一定的事情了!如果你有一些好的想法,或者對我的項目修改的意見歡迎隨時跟我提出!

審核編輯 黃宇

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

    關注

    212

    文章

    29241

    瀏覽量

    210798
  • 人工智能
    +關注

    關注

    1804

    文章

    48406

    瀏覽量

    244656
  • 機械臂
    +關注

    關注

    13

    文章

    539

    瀏覽量

    25119
  • ChatGPT
    +關注

    關注

    29

    文章

    1584

    瀏覽量

    8645
  • 大象機器人
    +關注

    關注

    0

    文章

    84

    瀏覽量

    18
收藏 人收藏

    評論

    相關推薦

    大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械產品

    大象機器人成立于2016年,專注協作機器人研發與應用,產品線涵蓋輕量級協作機器人、人形機器人、仿生機器人等多種形態。拳頭產品myCobot系
    發表于 04-25 17:59

    【「具身智能機器人系統」閱讀體驗】2.具身智能機器人大模型

    的設計不僅提高了機器人對環境的理解能力,還使其能夠更精準地執行復雜任務。 擴散模型的新思路 除了大模型,擴散模型的引入為機器人控制開辟了新的研究方向。在以UniPi為代表的創新工作中,
    發表于 12-29 23:04

    《具身智能機器人系統》第7-9章閱讀心得之具身智能機器人與大模型

    研讀《具身智能機器人系統》第7-9章,我被書中對大模型與機器人技術融合的深入分析所吸引。第7章詳細闡述了ChatGPT for Roboti
    發表于 12-24 15:03

    自然語言處理在聊天機器人中的應用

    上歸功于自然語言處理技術的進步。 聊天機器人的工作原理 聊天機器人的核心是一個對話系統,它能夠處理用戶的輸入(通常是文本形式),并生成相應的回復。這個系統通常包括以下幾個關鍵組件:
    的頭像 發表于 12-05 15:24 ?908次閱讀

    自然語言處理與機器學習的關系 自然語言處理的基本概念及步驟

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學領域的一個分支,它致力于研究如何讓計算機能夠理解、解釋和生成人類語言機器學習(Ma
    的頭像 發表于 12-05 15:21 ?1524次閱讀

    語音識別與自然語言處理的關系

    在人工智能的快速發展中,語音識別和自然語言處理(NLP)成為了兩個重要的技術支柱。語音識別技術使得機器能夠理解人類的語音,而自然語言處理則讓
    的頭像 發表于 11-26 09:21 ?1070次閱讀

    自然語言處理與機器學習的區別

    在人工智能的快速發展中,自然語言處理(NLP)和機器學習(ML)成為了兩個核心的研究領域。它們都致力于解決復雜的問題,但側重點和應用場景有所不同。 1. 自然語言處理(NLP) 定義: 自然語
    的頭像 發表于 11-11 10:35 ?1256次閱讀

    機器人技術的發展趨勢

    能力。 機器人能夠通過學習和訓練,不斷優化自身的行為和性能,實現更高效、更智能的工作。 自然語言處理與理解 : 隨著自然語言處理技術的進步,機器人
    的頭像 發表于 10-25 09:27 ?1962次閱讀

    自然語言處理技術有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領域的一個分支,它致力于使計算機能夠理解、解釋和生成人類語言自然語言處理技術的發展已經取得
    的頭像 發表于 07-03 14:30 ?1884次閱讀

    自然語言處理模式的優點

    得到了廣泛的應用,如搜索引擎、語音助手、機器翻譯、情感分析等。 1. 提高信息獲取效率 自然語言處理技術能夠快速地從大量文本數據中提取關鍵信息,幫助用戶節省查找和篩選信息的時間。例如,搜索引擎通過NLP
    的頭像 發表于 07-03 14:24 ?1054次閱讀

    自然語言處理技術的核心是什么

    ,廣泛應用于機器翻譯、情感分析、語音識別、智能問答、文本摘要等眾多領域。 自然語言處理技術的發展可以追溯到20世紀50年代。1950年,圖靈提出了著名的圖靈測試,標志著自然語言處理
    的頭像 發表于 07-03 14:20 ?1447次閱讀

    自然語言處理是什么技術的一種應用

    廣泛,包括機器翻譯、語音識別、情感分析、信息檢索、問答系統、文本摘要、聊天機器人等。 一、自然語言處理的基本概念 自然語言自然語言是人類用
    的頭像 發表于 07-03 14:18 ?1695次閱讀

    大象機器人開源協作機械機械接入GPT4o大模型!

    本文已經或者同濟子豪兄作者授權對文章進行編輯和轉載 引言 隨著人工智能和機器人技術的快速發展,機械在工業、醫療和服務業等領域的應用越來越廣泛。通過結合大模型和多模態AI,
    的頭像 發表于 07-03 14:09 ?1318次閱讀
    大象<b class='flag-5'>機器人</b>開源協作<b class='flag-5'>機械</b><b class='flag-5'>臂</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>接入GPT4o大模型!

    自然語言處理技術的原理的應用

    自然語言處理(Natural Language Processing, NLP)作為人工智能(AI)領域的一個重要分支,旨在使計算機能夠理解和處理人類自然語言。隨著互聯網的普及和大數據技術的發展
    的頭像 發表于 07-02 12:50 ?1052次閱讀

    國產Cortex-A55工智能教學實驗箱_基于Python機械跳舞實驗案例分享

    發行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執行多機融合的程序。 機械通過ROS機器人操控系統,簡化了6自由度串行總線舵機復雜運動控制
    發表于 06-28 14:37
    主站蜘蛛池模板: 在线高清国产 | 视频一区 在线 | 亚洲色图日韩精品 | 国产福利乳摇在线播放 | 男人女人的免费视频网站 | 免费啪啪小视频 | 日韩亚洲人成网站在线播放 | 天天做天天爱天天大综合 | 一级毛片真人免费播放视频 | 午夜免费观看福利片一区二区三区 | 国产一级特黄特色aa毛片 | 啊用力太猛了啊好深视频免费 | 午夜影视啪啪免费体验区深夜 | 黄色三级在线看 | 日本黄色片在线播放 | 五月婷在线观看 | 五月婷婷激情在线 | 亚洲精品久久久久午夜三 | 午夜影院欧美 | 涩五月婷婷 | 国产亚洲欧美成人久久片 | 老司机深夜影院入口aaaa | 电影天堂bt | 婷婷资源| 性夜黄a爽爽免费视频国产 羞羞答答xxdd影院欧美 | www.av片| 婷婷色香五月激情综合2020 | 在线色综合 | 另类专区欧美 | 成人久久久 | 日韩免费高清一级毛片在线 | 色 ed2k| 欧美色一级 | 亚洲一卡二卡在线 | 午夜69成人做爰视频网站 | 大香伊在人线免费 | 国产精品嫩草影院在线播放 | 性做久久久久久网站 | 天天干天天摸 | 欧美亚洲综合一区 | 日日爱视频 |