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

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

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

3天內不再提示

如何創建FPGA控制的機器人手臂?

冬至子 ? 來源:OpenFPGA ? 作者:碎碎思 ? 2023-10-24 17:26 ? 次閱讀

機器人技術處于工業 4.0、人工智能和邊緣革命的前沿。讓我們看看如何創建 FPGA 控制的機器人手臂。

介紹

機器人技術與人工智能和機器學習一起處于工業 4.0 和邊緣革命的最前沿。

因此,我認為創建一個基礎機器人手臂項目會很有趣,我們可以回過頭來添加幾個功能,例如:

  • 逆運動學 - 確定末端執行器的位置。
  • AI / ML - 操作期間的對象分類。
  • 網絡控制——實現邊緣遠程控制。

此示例將使用一個機器人手臂,該機器人手臂在 Zynq SoC 的控制六個伺服系統。可以使用簡單的軟件界面或使用兩個操縱桿進行直接控制。

伺服控制

我們需要做的第一件事是弄清楚如何控制伺服位置。伺服電機是最簡單的驅動電機之一,也是機器人技術的理想選擇,因為只要我們保持相同的驅動信號,它們就能保持相對位置。

那么伺服的驅動信號是什么呢?我們使用的同類伺服系統中的大多數都使用 60Hz PWM 波形。在 60Hz 波形的 16.66 ms 周期中,信號將在 0.5 ms 到 2.5 ms 之間為高電平。信號的持續時間將驅動伺服器在 0 到 180 度之間運動。

0.5 ms 脈沖驅動 0 度位置,而 2.5 ms 脈沖將驅動 180 度位置。因此,可以通過將信號驅動為 1.5 ms 脈沖來維持 90 度。

因此,增加或減少脈沖13.9 us寬度會使舵機移動 1 度。

接下來要解決的是如何生成驅動信號,PWM 擴展板(上圖)使用四個 8 位寄存器來驅動每個 PWM 信號。

on 寄存器定義信號變高的計數,off 寄存器定義信號變低的計數。

因此,我們可以將開啟時間設置為 0,然后定義關閉信號的計數,以獲得所需的信號寬度。

Vivado 構建

image.png

  • Zynq PS - 這是 Zynq 處理系統
  • AXI IIC - 在 PL 中實現的 I2C 接口

一旦完成了PL設計,我們就可以構建設計并將其導出到軟件。

軟件設計

我們將在軟件中開發大部分應用程序。由于我們希望在多種模式下使用它,并在將來進行升級時使用它,因此我們需要一種模塊化方法。

因此,為每個關節開發了一個可以根據需要調用和使用的函數。每個關節都能夠接收無符號的 8 位值,然后將該 8 位值與 90 度 (1.5 ms) 脈沖寬度相加或相減,以獲得所需的角度。

我這樣做有幾個原因:

  • 單個 RS232 字節可以包含所需的電機位置。
  • 從操縱桿讀取的值也是 8 位。

因此,我們需要確保操縱桿和手臂之間的運動對齊。

兩個操縱桿中,第一個連接到 JA,第二個連接到 JB(JA和JB是PMOD接口,就是普通的GPIO)。

JA 當沿 X 方向移動時,將向前或向后移動手臂;當沿 Y 方向移動時,它將上下移動手臂。

JB 在 X 方向移動時會旋轉手腕,在 Y 方向移動時會上下移動手腕。

每個移動函數的代碼都非常相似,并且可以在后面提供的代碼找到,但是,下面提供了向上向下函數以供參考

void up_dwn(u8 YData){  
 SendBuffer[0] = 0x0A;  
 SendBuffer[1] = 0x00;  
 XIic_Send(iic.BaseAddress,IIC_SLAVE_ADDR,(u8 *)&SendBuffer, sizeof(SendBuffer),XIIC_STOP);  
 SendBuffer[0] = 0x0B;  
 SendBuffer[1] = 0x00;  
 XIic_Send(iic.BaseAddress,IIC_SLAVE_ADDR,(u8 *)&SendBuffer, sizeof(SendBuffer),XIIC_STOP);  
 SendBuffer[0] = 0x0C;  
 u16 signal;  
 if( YData < 128 ){  
  signal = 122 + (YData * 1.91);  
 }  
 else if (YData == 128){  
  signal = 369;  
 }  
 else{  
  signal = 369 + ((YData - 128) * 1.91);  
 }  
 u8 cent_l_off, cent_h_off;  
 cent_l_off = (u8)signal;  
 cent_h_off = (u8) (signal >>8);  
 SendBuffer[1] = cent_l_off;  
 XIic_Send(iic.BaseAddress,IIC_SLAVE_ADDR,(u8 *)&SendBuffer, sizeof(SendBuffer),XIIC_STOP);  
 SendBuffer[0] = 0x0D;  
 SendBuffer[1] = cent_h_off;  
 XIic_Send(iic.BaseAddress,IIC_SLAVE_ADDR,(u8 *)&SendBuffer, sizeof(SendBuffer),XIIC_STOP);  
 }

軟件應用程序結構的其余部分是:

  • 初始化 PWM 擴展板和 Pmod 操縱桿。
  • 對手臂進行自檢并將所有伺服系統定位在 90 度。
  • 通過 RS232 接收命令或來自操縱桿的命令。

當然,如果我們希望在命令中進行硬編碼來執行重復任務,我們也可以。

初步測試

一旦 Vivado 構建和初始軟件可用,下一步就是確保軟件能夠正確移動伺服系統。

當移動操縱桿時,可以使用示波器測量 PWM 信號。

隨著操縱桿的移動,脈沖寬度逐漸從 0.5 ms 變為 2.5 ms。

image.png

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

    關注

    1626

    文章

    21665

    瀏覽量

    601806
  • 機器人
    +關注

    關注

    210

    文章

    28191

    瀏覽量

    206505
  • 人工智能
    +關注

    關注

    1791

    文章

    46845

    瀏覽量

    237535
  • 伺服系統
    +關注

    關注

    14

    文章

    561

    瀏覽量

    39179
  • 驅動電機
    +關注

    關注

    9

    文章

    406

    瀏覽量

    30693
收藏 人收藏

    評論

    相關推薦

    STM32的醫療康復機器人手臂控制系統

    器設計的醫療康復機器人手臂控制系統,具有杰出的功耗控制和電機控制的高級定時器,能產生3對可配置并互補輸出的PWM信號。通過在Simulink上建立雙閉環PID算法模型,得到合適的PID
    發表于 08-22 09:31

    用意念控制的植入式機器人手臂

    電子發燒友網核心提示:查爾姆斯理工大學的研究人員已經開發出世界第一個使用意念控制的植入式的機器人手臂。“骨整合”的技術是意念控制假肢的關鍵。患者腦電波意念腦電波脈
    的頭像 發表于 11-30 11:37 ?4431次閱讀

    以ARM為傳感器 自動跟蹤機器人手臂相機位置

    機器人手臂能夠到達一個狹小的空間或拾取一個精致的物體之前,機器人需要精確地知道它的手在哪里。卡內基梅隆大學機器人研究所的研究人員已經證明,連接到機器人手上的相機可以快速
    發表于 12-30 14:33 ?2066次閱讀

    機器人手臂5種不同的運動組合

    一般機器人手臂有3個自由度,即手臂的伸縮、左右回轉和升降 (或俯仰)運動。手臂回轉和升降運動是通過機座的立柱實現的,立柱的橫向移動即為手臂的橫移。
    的頭像 發表于 04-18 09:48 ?1.8w次閱讀
    <b class='flag-5'>機器人手臂</b>5種不同的運動組合

    關于藍牙控制Atmel制造的機器人手臂的介紹

    藍牙控制并且指導機器人手臂動作
    的頭像 發表于 07-09 03:22 ?3479次閱讀

    機器人手臂的典型機構有哪些

    機器人手臂的伸縮、橫向移動均屬于直線運動。
    發表于 07-08 11:42 ?6.7w次閱讀
    <b class='flag-5'>機器人手臂</b>的典型機構有哪些

    怎樣使用Android手機的藍牙控制機器人手臂

    在這個項目中,我將向您展示如何構建Arduino&amp; amp;使用Android手機的藍牙控制機器人手臂。該機器人手臂可以在手動模式下操作,也可以在全自動模式下進行編程。
    的頭像 發表于 07-29 09:11 ?8404次閱讀

    如何用手臂控制一個DOF機器人手臂

    我們使用PVC管和電線套管制作一個自由度(DOF)機器人手臂。用于彎頭聯合我們使用一個伺服電機。伺服連接到Pin-9的Arduino板。
    的頭像 發表于 08-22 16:48 ?3083次閱讀
    如何用<b class='flag-5'>手臂</b><b class='flag-5'>控制</b>一個DOF<b class='flag-5'>機器人手臂</b>

    在未來機器人手臂將可以替代人類的雙手

    隨著5G技術的普及,即將迎來AI人工智能時代,很多場景將是無人自動化的控制生產運作,這樣我們需要更多的機器人手臂機器人手臂可以將執行工作的手臂與思考工作的頭腦分離。
    發表于 09-17 09:41 ?1990次閱讀

    Hibot機器人手臂Float Arm可用于哪些應用環境

    能代替“臟亂、危險、嚴重”的工作的機器人手臂“Float Arm”
    的頭像 發表于 04-20 16:06 ?5398次閱讀

    Arduino與樹莓派打造Chatbot語音控制機器人手臂

    在網上有許多關于制作機器人手臂的項目,但他們都有類似的控制方式,我感覺缺少了一些樂趣!所以我們決定制作一個可以使用聊天機器人控制機器人手臂
    發表于 03-16 11:47 ?30次下載
    Arduino與樹莓派打造Chatbot語音<b class='flag-5'>控制</b><b class='flag-5'>機器人手臂</b>

    機器人手臂使用哪種型號的泰和承比較合適

    機器人手臂的伸縮、橫向移動均屬于直線運動。實現手臂往復直線運動的機構形式比較多,常用的有活塞油(氣)缸、齒輪齒條機構、絲杠螺母機構以及連桿機構等。由于活塞油(氣)缸的體積小、重量輕,因而在機器人
    發表于 03-17 17:16 ?596次閱讀

    Arduino機器人手臂

    方案介紹MARK 1是可編程的Arduino機器人手臂。但是,還不止這些,該機械臂可以由手勢控制。硬件部件:Arduino UNO?? ?×?? ?1個?? ?伺服馬達MG996R×?? ?6?? ?5V電池組×?? ?1個?? ?PCA9685具有I2C接口的8通道8W
    發表于 12-30 14:42 ?3次下載

    用于Arduino Due的DIY Braccio機器人手臂護罩

    電子發燒友網站提供《用于Arduino Due的DIY Braccio機器人手臂護罩.zip》資料免費下載
    發表于 06-14 15:07 ?0次下載
    用于Arduino Due的DIY Braccio<b class='flag-5'>機器人手臂</b>護罩

    如何創建FPGA控制機器人手臂

    機器人技術處于工業 4.0、人工智能和邊緣革命的前沿。讓我們看看如何創建 FPGA 控制機器人手臂
    的頭像 發表于 10-24 17:15 ?1048次閱讀
    如何<b class='flag-5'>創建</b><b class='flag-5'>FPGA</b><b class='flag-5'>控制</b>的<b class='flag-5'>機器人手臂</b>