99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自然語(yǔ)言控制機(jī)械臂:ChatGPT與機(jī)器人技術(shù)的融合創(chuàng)新(上)

大象機(jī)器人科技 ? 來(lái)源:大象機(jī)器人科技 ? 作者:大象機(jī)器人科技 ? 2024-04-11 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.引言:


自O(shè)penAI發(fā)布ChatGPT以來(lái),世界正迅速朝著更廣泛地將AI技術(shù)融合到機(jī)器人設(shè)備中的趨勢(shì)發(fā)展。機(jī)械手臂,作為自動(dòng)化與智能化技術(shù)的重要組成部分,在制造業(yè)、醫(yī)療、服務(wù)業(yè)等領(lǐng)域的應(yīng)用日益廣泛。隨著AI技術(shù)的進(jìn)步,機(jī)械手臂不僅能執(zhí)行復(fù)雜的操作任務(wù),還能通過(guò)自然語(yǔ)言處理技術(shù)進(jìn)行更加直觀的交互,極大提高了靈活性和用戶友好性。

就比如說(shuō)微軟的一個(gè)人工智能研究中心,研究如何用自然語(yǔ)言來(lái)控制機(jī)器人設(shè)備的一個(gè)研究,

所以我想做一個(gè)類似的項(xiàng)目,通過(guò)允許用戶使用自然語(yǔ)言來(lái)控制機(jī)械手臂,它可以大大降低機(jī)器人編程的門檻,使得非專業(yè)人士也能輕松地操作和實(shí)驗(yàn)。

論文link:

https://www.microsoft.com/en-us/research/uploads/prod/2023/02/ChatGPT___Robotics.pdf

該項(xiàng)目一共分為上下兩篇,本篇文章主要內(nèi)容是整個(gè)人工智能系統(tǒng)的設(shè)計(jì)和構(gòu)建的過(guò)程,未來(lái)的下一篇文章將要介紹在開(kāi)發(fā)項(xiàng)目的過(guò)程中遇到的而困難,如何解決,以及該項(xiàng)目有什么擴(kuò)展的性的功能。

2.項(xiàng)目背景與動(dòng)機(jī):


想象如果有有一天,你命令一個(gè)機(jī)械臂“幫我收拾一下桌面,將垃圾丟到垃圾桶里”,機(jī)械臂就開(kāi)始聽(tīng)從命令,清理你的桌面的垃圾,那該是多么幸福的一件事情呀。

所以準(zhǔn)備工作,我們需要一臺(tái)小型的機(jī)械臂(主要是大的機(jī)械臂太貴了),一臺(tái)能夠上網(wǎng)的電腦,以及一顆炙熱的心!該項(xiàng)目主要是借鑒微軟的那篇改變機(jī)器人使用的研究來(lái)入手。

3.技術(shù)概覽:


前提本項(xiàng)目是基于python的環(huán)境下進(jìn)行編譯的。

首先我們先來(lái)介紹一下本項(xiàng)目會(huì)使用到的一些軟件層面上技術(shù):

ChatGPT:(整個(gè)項(xiàng)目最關(guān)鍵的核心技術(shù))
https://openai.com/chatgpt

ChatGPT是一項(xiàng)人工智能技術(shù),基于GPT(Generative Pre-trained Transformer)模型的架構(gòu),GPT是一種基于深度學(xué)習(xí)的自然語(yǔ)言處理模型,通過(guò)大規(guī)模的無(wú)監(jiān)督預(yù)訓(xùn)練和有監(jiān)督微調(diào)來(lái)實(shí)現(xiàn)語(yǔ)言理解和生成任務(wù)。

換句話來(lái)說(shuō),你可以簡(jiǎn)單人理解為你在跟一個(gè)知識(shí)十分淵博的人進(jìn)行聊天,你可以對(duì)它預(yù)設(shè)一些角色,例如“”你是一個(gè)醫(yī)生”,你就可以跟他聊醫(yī)學(xué)相關(guān)的知識(shí),但是請(qǐng)注意并不是所生成的所有聊天都是正確的需要進(jìn)行自我判斷。

wKgZomYXgSCAS1y-AAEkd4qh2CQ262.png

Speech recognition:(搭配處理自然語(yǔ)言必不可少的功能模塊)


我們這邊使用的是Google的一種語(yǔ)音識(shí)別服務(wù),Speech-to-text,它允許開(kāi)發(fā)者將語(yǔ)音轉(zhuǎn)化成文本的形式。并且它也支持多種語(yǔ)言和方言,包括但不限于英語(yǔ),西班牙語(yǔ),法語(yǔ),德語(yǔ),中文等等,可以滿足全球用戶的需求。

你可以進(jìn)行在線的嘗試語(yǔ)音轉(zhuǎn)文本:

https://cloud.google.com/speech-to-text?hl=en#features

pymycobot:(mycobot 280機(jī)械臂的控制功能模塊)


https://github.com/elephantrobotics/pymycobot

pymycobot 是大象機(jī)器人專門為了my系列產(chǎn)品的機(jī)械臂開(kāi)發(fā)的控制模塊,這個(gè)功能模塊的開(kāi)發(fā),大大降低了機(jī)械臂編程控制的門檻。pymycobot 提供了大量的機(jī)械臂的控制接口,例如關(guān)節(jié)控制,坐標(biāo)控制,配套的機(jī)械臂的夾爪控制等等,對(duì)機(jī)械臂變成的初學(xué)者是相當(dāng)有好的。

解釋這些技術(shù)如何合作實(shí)現(xiàn)自然語(yǔ)言控制機(jī)械手臂的功能。

接下來(lái)介紹一下硬件設(shè)備:

mycobot 280 M5Stack


mycobot 280 M5Stack 是Elephant Robotics 和M5Stack 合作的一款6自由度的協(xié)作性機(jī)器人。它外觀結(jié)構(gòu)設(shè)計(jì)小巧精致,一體式全包裹機(jī)身設(shè)計(jì),采用高精度伺服電機(jī),無(wú)任何外漏線纜。mycobot重量只有850g,機(jī)械臂末端最大的負(fù)載能夠達(dá)到250g,最大工作半徑達(dá)到280mm,重復(fù)定位精度能夠到0.5mm的誤差范圍內(nèi)。

wKgaomYXgZ-ARsZRABlTBMo1P8Q868.png

4.設(shè)計(jì)思路與實(shí)現(xiàn)過(guò)程:


https://www.youtube.com/watch?v=Sq1QZB5baNw&pp=ygUVY2hhdGdwdCBjb250cm9sIHJvYm90

大家可以看一下近期OpenAI發(fā)布的一條視頻,人跟機(jī)器人聊天,機(jī)器人來(lái)處理自然語(yǔ)言并且生成相對(duì)應(yīng)的動(dòng)作執(zhí)行。

也有一些其他的額機(jī)械臂也集成了類似的場(chǎng)景。

https://www.youtube.com/watch?v=IGsYgSdrT4Y

我要做的項(xiàng)目就是類似于這個(gè)小型版!通過(guò)自然語(yǔ)言跟機(jī)械臂進(jìn)行溝通,然后,機(jī)械臂執(zhí)行相對(duì)應(yīng)的指令。

wKgZomYXgdqAByX4AABMOJwj1WY709.png

接下來(lái)我將要說(shuō)明項(xiàng)目的過(guò)程。

語(yǔ)音識(shí)別轉(zhuǎn)文本功能speech-to-text:


為什么要用語(yǔ)音識(shí)別轉(zhuǎn)文本功能呢?用過(guò)chatgpt的人知道chatgpt有內(nèi)置的語(yǔ)音聊天的功能,但是我們要集成到PC端和機(jī)械臂當(dāng)中去使用,就不能夠使用ChatGPT的web版本,而是要在本地的計(jì)算機(jī)當(dāng)中實(shí)現(xiàn),就要用到ChatGPT的API接口。

ChatGPT API的形式的話只能夠接收“文本”的形式來(lái)使用,所以speech-to-text可以講我們講話轉(zhuǎn)化成文本的形式輸入到電腦當(dāng)中。

def speech_to_text():
   recognizer = sr.Recognizer()

   with sr.Microphone() as source:
       print("start speaking...")
       audio = recognizer.listen(source)

       try:
           # text = recognizer.recognize_google(audio, language='zh-CN')
           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("Could not request results from Google Speech Recognition service; {0}".format(e))
           return None
wKgZomYXgjSAFLsqAABDoQUoL74246.png

調(diào)用ChatGPT API &預(yù)訓(xùn)練


獲取了語(yǔ)音的文本形式,就可以調(diào)用API在本地跟ChatGPT進(jìn)行聊天了。以下是OpenAI 提供調(diào)用ChatGPT API的使用方法。

def generate_control_code(prompt):
   openai.api_key = ''
   prompt = f"{pre_training}The command the user wants to execute is:'{prompt}'."

   try:
       response = openai.Completion.create(
           engine="gpt-3.5-turbo",
           prompt=prompt,
           temperature=0.5,
           max_tokens=100,
           top_p=1.0,
           frequency_penalty=0.0,
           presence_penalty=0.0
       )
       code = response.choices[0].text.strip()
       return code
   except Exception as e:
       print(f"error: {e}")
       return ""

代碼當(dāng)中的API_KEY需要自己去官方申請(qǐng)(需要付費(fèi))。

可以關(guān)注一下prompt這一句話,這將是要提及到的預(yù)訓(xùn)練。

 prompt = f"{pre_training}The command the user wants to execute is:'{prompt}'."


如果想要獲取精準(zhǔn)的回復(fù),需要提前給ChatGPT知道它需要干什么,要讓他干什么,按照我們的想法來(lái)輸出。我們先用web版本來(lái)進(jìn)行測(cè)試,因?yàn)锳PI的搭建比較復(fù)雜。

以下是我的prompt(針對(duì)于這個(gè)項(xiàng)目),我只想要它輸出機(jī)械臂執(zhí)行的代碼給我所以我是這么做的。

Generate Python code that matches the following requirements: 
Use an instance of the MyCobotController class robot to perform a specific action. The instance already contains methods such as move_to_zero() to return to the initial position, grab_position() to move to the grab position, and plus_x_coords(value), plus_y_coords(value), plus_z_coords(value) to move specific distances on the X, Y, and Z axes. 
You don’t need to output other textual content, just output the code directly, for example, the robot arm returns to the origin. robot.move_to_zero()

Here is what I said:
I want the robot arm to return to the origin, and then go to the position to be grabbed to perform grabbing.
wKgaomYXguyAES15AABiPBwZdfI923.png

這里可以看到能夠成功的完成我的基本需求,但是他輸出了代碼的注釋,這會(huì)影響我們之后的結(jié)果,所以還是需要進(jìn)行修改。(讓他只輸出代碼,不要輸出注釋。)

wKgZomYXgv-AEGvNAABmUe8cNr4638.png

構(gòu)建新的機(jī)械臂API


為什么要構(gòu)建新的API呢,pymycobot不是已經(jīng)提供了嗎?

當(dāng)然,pymycobot 提供的API很全面,也很多。我們?nèi)绻o的語(yǔ)音比較復(fù)雜,ChatGPT會(huì)生成其他的復(fù)雜的代碼可能會(huì)導(dǎo)致出錯(cuò)。我根據(jù)我想要目前測(cè)試的一些需求構(gòu)建了一個(gè)新的機(jī)械臂的API。

class MyCobotController:
   def __init__(self, port, baud):
        self.mc = MyCobot(port, baud)
        self.speed = 80
        self.mode =0
        self.coords = []

   def grab_position(self):
       # self.mc.send_angles([4.83, 13.97, (-99.31), (-1.75), 4.39, (-0.26)], 80)
       self.mc.send_coords([149.2, (-48.3), 201.7, (-176.98), 4.55, (-84.66)], 80, 0)
       time.sleep(2)

   def move_to_zero(self):
       self.mc.send_angles([0,0,0,0,0,0],70)
       time.sleep(2)

   def gripper_open(self):
       self.mc.set_gripper_state(0,80,1)
       time.sleep(2)

目的是為了快速的將整個(gè)項(xiàng)目搭建起來(lái),之后還可以在豐富其中的內(nèi)容。

這么做是有原因的,比如說(shuō),要讓機(jī)械臂去到一個(gè)點(diǎn)位進(jìn)行抓取,用pymycobot的方法可能是下面這樣的:

robot.send_angles([0,0,0,0,0,0],80)
time.sleep(2)
#open gripper
robot.set_grippr_value(1,80,1)
time.sleep(1)
#clos grippr
robot.set_grippr_value(0,80,1)
time.sleep(1)


這樣的話就要輸出很多行的代碼,在其他復(fù)雜的情況下可能會(huì)導(dǎo)致出錯(cuò),重新構(gòu)建一個(gè)方法的話咱就只需要調(diào)用一個(gè)方法就可以執(zhí)行了,兩行代碼就能解決。

class Newmycobot():
   def grab_action(self):
       self.send_angles([0,0,0,0,0,0],80)
       time.sleep(2)
       #open gripper
       self.set_grippr_value(1,80,1)
       time.sleep(1)
       #clos grippr
       self.set_grippr_value(0,80,1)
       time.sleep(1)
   
robot = Newmycobot()
robot.grab_action()


5.初步成果與展示:


我們先來(lái)個(gè)快速的調(diào)試,用web版本的ChatGPT來(lái)實(shí)踐一下。

wKgZomYXhGeAOT3MAAC3Ae2WtHE000.png

復(fù)制生成的代碼去運(yùn)行。

wKgZomYXhL2AWINGAHjQGzQa6LU646.png

可以看到簡(jiǎn)單的測(cè)試是OK的。

6. 結(jié)論:
本次的記錄就到這里,整個(gè)項(xiàng)目還未完成,在未來(lái)不久的日子里我將會(huì)繼續(xù)完善這個(gè)項(xiàng)目,下一篇的內(nèi)容我會(huì)完善整個(gè)項(xiàng)目,以及分享一下在開(kāi)發(fā)的過(guò)程出現(xiàn)的一些問(wèn)題是如何進(jìn)行解決的。如果你喜歡這篇文章的話,歡迎在下方留言給出你的想法。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1807

    文章

    49029

    瀏覽量

    249584
  • 機(jī)械臂
    +關(guān)注

    關(guān)注

    13

    文章

    554

    瀏覽量

    25398
  • 自然語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    292

    瀏覽量

    13656
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1590

    瀏覽量

    9111
  • 大象機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    121
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MT6701 磁性角度編碼器 IC:引領(lǐng)機(jī)器人控制技術(shù)創(chuàng)新

    在科技日新月異的今天,機(jī)器人技術(shù)的發(fā)展可謂是突飛猛進(jìn)。從工業(yè)生產(chǎn)線上不知疲倦的機(jī)械,到服務(wù)領(lǐng)域靈活貼心的智能伙伴,機(jī)器人正逐漸深入到我們生
    的頭像 發(fā)表于 07-18 17:02 ?190次閱讀

    RDK × 腿機(jī)器人:這只 “機(jī)械汪” 竟會(huì)說(shuō)人話、走花路!

    開(kāi)源:Github:https://github.com/Hello-XSJ/RDK\_vlm\_demo.git-本項(xiàng)目聚焦腿機(jī)器人在多模態(tài)環(huán)境感知、自然語(yǔ)言交互和自主行為控制方面
    的頭像 發(fā)表于 07-01 20:27 ?568次閱讀
    RDK × 腿<b class='flag-5'>臂</b><b class='flag-5'>機(jī)器人</b>:這只 “<b class='flag-5'>機(jī)械</b>汪” 竟會(huì)說(shuō)人話、走花路!

    大象機(jī)器人攜手進(jìn)迭時(shí)空推出 RISC-V 全棧開(kāi)源六軸機(jī)械產(chǎn)品

    大象機(jī)器人成立于2016年,專注協(xié)作機(jī)器人研發(fā)與應(yīng)用,產(chǎn)品線涵蓋輕量級(jí)協(xié)作機(jī)器人、人形機(jī)器人、仿生機(jī)器人等多種形態(tài)。拳頭產(chǎn)品myCobot系
    的頭像 發(fā)表于 06-06 16:55 ?539次閱讀
    大象<b class='flag-5'>機(jī)器人</b>攜手進(jìn)迭時(shí)空推出 RISC-V 全棧開(kāi)源六軸<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>產(chǎn)品

    詳細(xì)介紹機(jī)場(chǎng)智能指路機(jī)器人的工作原理

    免與行人發(fā)生碰撞,為旅客提供安全、舒適的引導(dǎo)服務(wù)。 智能交互系統(tǒng) 語(yǔ)音識(shí)別與理解 :智能指路機(jī)器人利用先進(jìn)的語(yǔ)音識(shí)別技術(shù),將旅客輸入的語(yǔ)音信號(hào)轉(zhuǎn)化為文字信息。然后,通過(guò)自然語(yǔ)言處理算法對(duì)文字進(jìn)行分析
    發(fā)表于 05-10 18:26

    大象機(jī)器人攜手進(jìn)迭時(shí)空推出 RISC-V 全棧開(kāi)源六軸機(jī)械產(chǎn)品

    大象機(jī)器人成立于2016年,專注協(xié)作機(jī)器人研發(fā)與應(yīng)用,產(chǎn)品線涵蓋輕量級(jí)協(xié)作機(jī)器人、人形機(jī)器人、仿生機(jī)器人等多種形態(tài)。拳頭產(chǎn)品myCobot系
    發(fā)表于 04-25 17:59

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型

    的設(shè)計(jì)不僅提高了機(jī)器人對(duì)環(huán)境的理解能力,還使其能夠更精準(zhǔn)地執(zhí)行復(fù)雜任務(wù)。 擴(kuò)散模型的新思路 除了大模型,擴(kuò)散模型的引入為機(jī)器人控制開(kāi)辟了新的研究方向。在以UniPi為代表的創(chuàng)新工作中,
    發(fā)表于 12-29 23:04

    《具身智能機(jī)器人系統(tǒng)》第7-9章閱讀心得之具身智能機(jī)器人與大模型

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

    《具身智能機(jī)器人系統(tǒng)》第1-6章閱讀心得之具身智能機(jī)器人系統(tǒng)背景知識(shí)與基礎(chǔ)模塊

    物理交互納入智能系統(tǒng)的核心要素。 第3章是探討機(jī)器人計(jì)算系統(tǒng)。這一章節(jié)詳細(xì)闡述了自主機(jī)器人的軟硬件架構(gòu)。計(jì)算系統(tǒng)需要滿足機(jī)器人任務(wù)對(duì)算法的精度、實(shí)時(shí)性和功耗要求。書中介紹的多傳感器融合
    發(fā)表于 12-19 22:26

    自然語(yǔ)言處理在聊天機(jī)器人中的應(yīng)用

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

    自然語(yǔ)言處理與機(jī)器學(xué)習(xí)的關(guān)系 自然語(yǔ)言處理的基本概念及步驟

    自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP)是人工智能和語(yǔ)言學(xué)領(lǐng)域的一個(gè)分支,它致力于研究如何讓計(jì)算機(jī)能夠理解、解釋和生成人類語(yǔ)言。機(jī)器學(xué)習(xí)(Ma
    的頭像 發(fā)表于 12-05 15:21 ?1988次閱讀

    語(yǔ)音識(shí)別與自然語(yǔ)言處理的關(guān)系

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

    什么是LLM?LLM在自然語(yǔ)言處理中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,自然語(yǔ)言處理(NLP)領(lǐng)域迎來(lái)了革命性的進(jìn)步。其中,大型語(yǔ)言模型(LLM)的出現(xiàn),標(biāo)志著我們對(duì)語(yǔ)言理解能力的一次飛躍。LLM通過(guò)深度學(xué)習(xí)和海量數(shù)據(jù)訓(xùn)練,使得
    的頭像 發(fā)表于 11-19 15:32 ?3662次閱讀

    ASR與自然語(yǔ)言處理的結(jié)合

    ASR(Automatic Speech Recognition,自動(dòng)語(yǔ)音識(shí)別)與自然語(yǔ)言處理(NLP)是人工智能領(lǐng)域的兩個(gè)重要分支,它們?cè)谠S多應(yīng)用中緊密結(jié)合,共同構(gòu)成了自然語(yǔ)言理解和生成的技術(shù)體系
    的頭像 發(fā)表于 11-18 15:19 ?1026次閱讀

    自然語(yǔ)言處理與機(jī)器學(xué)習(xí)的區(qū)別

    在人工智能的快速發(fā)展中,自然語(yǔ)言處理(NLP)和機(jī)器學(xué)習(xí)(ML)成為了兩個(gè)核心的研究領(lǐng)域。它們都致力于解決復(fù)雜的問(wèn)題,但側(cè)重點(diǎn)和應(yīng)用場(chǎng)景有所不同。 1. 自然語(yǔ)言處理(NLP) 定義: 自然語(yǔ)
    的頭像 發(fā)表于 11-11 10:35 ?1556次閱讀

    機(jī)器人技術(shù)的發(fā)展趨勢(shì)

    能力。 機(jī)器人能夠通過(guò)學(xué)習(xí)和訓(xùn)練,不斷優(yōu)化自身的行為和性能,實(shí)現(xiàn)更高效、更智能的工作。 自然語(yǔ)言處理與理解 : 隨著自然語(yǔ)言處理技術(shù)的進(jìn)步,機(jī)器人
    的頭像 發(fā)表于 10-25 09:27 ?2353次閱讀