国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式Linux系統(tǒng)的人形搬運機器人設計

2024-12-09 00:00:00范濤栿
中國新技術新產品 2024年14期
關鍵詞:視覺識別

摘 要:利用機器人代替人工搬運將成為未來的趨勢之一,為適應非結構化地面,本文設計一種機器人,仿照人類腿部結構,將機器人足部設計為正屈膝串聯(lián)構型,以適應非結構化復雜地面環(huán)境。以樹莓派4B為核心主控,搭配串行總線舵機以及攝像頭進行視覺識別任務。該機器人利用攝像頭獲取外界圖像,圖像經(jīng)過處理后,識別行走路線以及待抓取事物,識別完成后,根據(jù)程序設定控制串行總線舵機,進而控制機器人的行動與動作。測試結果表明,機器人基本可以完成指定物品的抓取與巡線行走。

關鍵詞:人形機器人;樹莓派4B;視覺識別

中圖分類號:TP 242 " 文獻標志碼:A

1 基于嵌入式Linux系統(tǒng)的搬運機器人總體設計

機器人的主要功能為尋跡行走、識別物品和抓取物品,本文以人形結構為框架,結合各電控模塊編寫程序來實現(xiàn)以上功能。機器人的總體設計包括硬件設計和軟件設計。硬件設計包括機器人的電控系統(tǒng)與機械結構設計,設計完成后,裝配各個模塊并進行調試。完成機器人的組裝后,進行機器人軟件設計方面的調試,軟件設計包括視覺系統(tǒng)程序設計和動作控制程序設計,在各模塊全部設計完成后對機器人本體進行組裝并調試。

機器人的電控系統(tǒng)包括主控核心、電源模塊、驅動模塊以及機械結構設計。主控核心使用嵌入式Linux系統(tǒng),運行內部程序代碼控制各個模塊;電源模塊為舵機與其余模塊提供電源,保證各個部件正常運行;驅動模塊包括舵機驅動電路和全身舵機,其作用是執(zhí)行指定任務。機械結構設計包括機器人的全身舵機分配、自由度分配等。

硬件設計完成后,須裝配并調試各個模塊,保證各個部件之間連接和配合良好,功能正常運行,裝配調試須檢查電路連接,保證攝像頭正確傳輸視頻數(shù)據(jù),舵機正確運行,整體機構穩(wěn)定運行。

機器人組裝完成后,將進行軟件設計方面的調試。其包括編寫運動控制與視覺識別程序,測試舵機以及攝像頭的功能,保證機器人能夠在預期環(huán)境中正常運行。此時需要對軟件和硬件進行聯(lián)調,保證機器人能夠實現(xiàn)設計的功能。

2 基于嵌入式Linux系統(tǒng)的搬運機器人硬件設計

2.1 主控核心

本設計采用樹莓派4B作為主控板,樹莓派4B采用Broadcom BCM2711四核64位ARM處理器,主頻為1.5 GHz,配備雙SD卡片槽。此外,樹莓派4B還有2個USB 3.0接口、2個USB 2.0接口,并配備容量為32 GB的SD卡,使樹莓派更好地儲存系統(tǒng)數(shù)據(jù)[1]。

樹莓派4B還有40個通用輸入輸出(General-purpose input/output,GPIO)引腳,其作用是輸出驅動信號給驅動擴展板來驅動機器人全身的總線舵機,主控板的作用是處理圖像信息,識別要搬運的物品并運行運動功能的代碼,使機器人能夠利用舵機來運動,本文將利用其外設的USB接口與視覺模塊連接。

2.2 電源模塊

本文機器人的各個模塊需要供給不同的電源,分別為12 V舵機電源和電壓為5 V、電流為3 A的主控板電源、5 V攝像頭電源和3.3 V串行總線電路工作電源。

舵機電源使用12 V鋰電池直接供電,視覺系統(tǒng)使用樹莓派的USB 2.0接口直接供給5 V電源,樹莓派在接受電壓為5 V、電流為3 A的電源供電后,可使用引腳輸出穩(wěn)定的3.3 V電源,該電源可供給74HC126D芯片,保證串行總線電路穩(wěn)定工作。

如果主控板樹莓派正常工作,就需要采用穩(wěn)定電壓為5 V、電流量為3 A 的電源;如果電壓不穩(wěn)或不能滿足要求要求,就很容易出現(xiàn)系統(tǒng)無故關機、程序出錯等問題,因此本文在擴展板中搭建額外的電源電路,對鋰電池電流降壓穩(wěn)壓處理,得到穩(wěn)定電壓為5 V、電流為3 A的電源,保證樹莓派正常運行。降壓穩(wěn)壓電路如圖1所示。

12 V電源電流通過P2輸入接口流入BL8033,經(jīng)過芯片整流后輸出穩(wěn)定電壓為5 V、電流量為3 A的電流,電路由SW1撥動開關控制通斷,當開關閉合時,VBAT與輸入電源連接,將BL8033使能引腳電平拉高,VBAT經(jīng)過C1、C3濾波后進入BL8033的電流輸入引腳,經(jīng)過芯片內部整流穩(wěn)壓后輸出為穩(wěn)定電壓為5 V、

電流為3 A的電流,此時LED1燈亮起,表明電路正常工作。

2.3 驅動模塊與舵機

舵機控制是機器人運動的重要環(huán)節(jié),可以采用數(shù)字舵機和串行舵機2種方案,由于數(shù)字舵機需要占用大量I/O口,串行總線舵機可使用1條總線操控多個舵機,因此更加節(jié)省主控的硬件資源。串行舵機支持角度回讀和智能防堵,本文使用LX-224HV串行總線舵機作為機器人的控制舵機,采用異步串行總線通信方式與舵機通信,UART異步通信接口輸出信號。

在樹莓派4B中有2個串口來進行串口通信。1)硬件串口。具有單獨時鐘源,性能高。2)mini串口。由于mini串口時鐘源是由CPU內核時鐘直接提供的,因此其波特率受到內核時鐘的影響,并不可靠。本文選擇硬件串口對外通信,須恢復硬件串口對GPIO口的映射。

使用“sudo gedit /boot/config.txt”指令打開樹莓派的配置文件,在文件末尾添加“dtoverlay=miniuart-bt”以及“force_turbo=1”語句即可將主串口serial0指向硬件串口,此時TXD/RXD位于BOARD編碼的PIN8/10位置,將2個引腳使用拓展板與串行總線舵機相連,即可開始驅動舵機。

使用串行總線電路將樹莓派輸出的UART信號轉換為舵機的驅動信號,使用74HC126D芯片完成這個過程,串行總線電路如圖2所示。

當樹莓派向舵機控制器發(fā)送指令包時,其使用TXD將并行數(shù)據(jù)串行輸出至74HC126D,此時如果控制引腳TX_CON電平被拉高,那么SERVO引腳電平將隨TXD引腳變化而變化,同時74HC126D 的另一個輸入引腳讀回SERVO電平 ,拉高第二個控制引腳RX_CON的電平,RXD引腳的輸出電平也將隨SERVO變化而變化。樹莓派使用RXD引腳讀回舵機狀態(tài),如果TX_CON與RX_CON這2個控制引腳都為低電平,那么SERVO信號線與RXD信號線的輸出狀態(tài)恒為高阻態(tài)。

機器人全身LX-224HV串行總線舵機信號線全部連接至SERVO總線,可以同時接收SERVO總線上的信號。當舵機指令包由SERVO總線傳輸至全身舵機,每個舵機初始化時都分配唯一的ID號作為從機地址,此時根據(jù)指令包中的舵機ID號,對應舵機即可進行反應,例如舵機轉動角度、速度和時間等。多個舵機運動配合關節(jié)零件連接,使機器人運動。

2.4 機械結構設計

本文設計適應非結構化復雜地面環(huán)境,在足式機器人的基礎上仿照人類腿部結構的正屈膝串聯(lián)構型作為機器人足部結構,機器人仿照人體結構設計,有頭部、軀干和四肢,共19個自由度。

頸部采用1個舵機連接機器人的頭部與軀干,使機器人頭部能夠轉向;手部采用3個自由度,分別在肩關節(jié)、肘關節(jié)和腕關節(jié)處,其能夠幫助機器人完成手臂旋轉、彎曲和平伸等動作;腿部采用6個自由度,分別為髖關節(jié)處的3個自由度、膝關節(jié)處的1個自由度和踝關節(jié)處的2個自由度,其能夠幫助機器人完成腿部基本的行走動作[2]。

機器人的手爪結構分為內抓型和外抓型,腕部運動方式分為回轉型和平動型,本文選擇內抓型手爪結構[3],使用舵機驅動手部關節(jié),轉動舵機使機器人手爪開合。

在實際使用過程中,須考慮機器人的材料。為保證強度,本文機器人的關節(jié)與抓手均采用鋼合金材料制作。在機器人行動過程中,金屬腳面受到磕碰可能會劃傷瓷LX-224HV磚地面或出現(xiàn)在濕滑地面打滑的情況,因此為適應室內環(huán)境,機器人的腳面采用PLA絕緣材料,使用3D打印技術制造,其比金屬材質更加柔軟,比橡膠等防滑材料強度更高,更不易磨損[4]。

2.5 視覺模塊

為增強機器人視覺模塊的可開發(fā)性,提高圖像分辨率,本文使用USB2.0的WebBL8033Camera嵌入式攝像頭,簡稱WebCam。

WebCam是結合傳統(tǒng)攝像機與網(wǎng)絡技術的新一代攝像機,本文利用標準的網(wǎng)絡瀏覽器監(jiān)視其影像,使用USB2.0接口將其與樹莓派連接。當WebCam連接至樹莓派4B的USB端口時,樹莓派4B可以使用USB通信協(xié)議與多個USB設備通信,此時樹莓派識別并配置設備,保證其正常工作;加載USB設備驅動程序,設置設備參數(shù),與其進行通信。

ZC301P攝像頭不僅具有圖像捕捉功能,還內置了數(shù)字化壓縮控制器和基于Web的操作系統(tǒng)。視頻數(shù)據(jù)經(jīng)壓縮加密后,利用局域網(wǎng)、Internet或無線網(wǎng)絡送至終端用戶,在內核為Linux 4.14的系統(tǒng)中,ZC301P芯片已有默認驅動程序,可以直接使用。

在樹莓派系統(tǒng)中利用Python代碼即可調用攝像頭獲取外界圖像,在后續(xù)程序中,圖像會得到處理并用于機器人運動。

3 基于嵌入式Linux系統(tǒng)的搬運機器人軟件設計

3.1 嵌入式Linux系統(tǒng)

機器人的程序存放在樹莓派內部的嵌入式系統(tǒng)中,樹莓派官方提供了專門為樹莓派的開發(fā)準備的系統(tǒng)樹莓派 os,樹莓派本身還可以燒錄其他嵌入式系統(tǒng),本文選擇以Linux系統(tǒng)為藍本開發(fā)的樹莓派 os,該系統(tǒng)包括UI,便于可視化開發(fā)。

為了將系統(tǒng)燒錄至樹莓派內,需要將插在樹莓派上的TF卡格式化,再使用官方提供的樹莓派鏡像燒錄器,選擇所需要的系統(tǒng)版本。設置主機名,勾選SSH服務與Wi-Fi設置,點擊燒錄,即可完成樹莓派系統(tǒng)的燒錄。打開樹莓派的電源,在上位機中尋找樹莓派的Wi-Fi并連接后,使用遠程桌面連接即可對機器人的程序進行調試。

3.2 OpenCV進行物品識別以及尋跡

視覺識別的過程包括以下2個步驟。首先,對視覺模塊采集的圖像進行一系列處理,其次,對處理后的圖片進行尋線路徑的識別或物品形狀的匹配,巡線和物品識別的程序在主程序運行的同時,以雙線程的形式一起運行,當識別到待拾取物品時,兩線程同時關閉并開始拾取物品的動作,拾取動作結束后,再次開啟巡線與物品識別雙線程。

當巡線程序開始,程序會將獲取的圖像分為上、中和下3個部分進行處理,減輕程序壓力。巡線識別線為黑線,環(huán)境地面顏色為白色。根據(jù)黑色塊的形狀判斷是否在起始位,起始位為黑色十字形狀。識別到起始線后,機器人開始向前行走,程序時刻根據(jù)黑線中心點在畫面中的位置判斷機器人所在位置。

使用OpenCV圖像處理得到黑色巡線中心點位置,利用黑色顏色閾值對圖像進行二值化處理后,找到所有輪廓,再找到最大面積的輪廓,計算輪廓面積最大值。如果輪廓不為空,就尋找最小外接矩形的4個頂點,獲取矩形的對角點后,計算得到矩形的中心點坐標,當中心點在圖像偏左,說明機器人行走偏右,做小幅左移、左轉動作,反之右移、右轉,機器人可以動態(tài)保持正面直行,不會偏離巡線。尋跡程序流程如圖3所示。

啟動識別程序,樹莓派將得到攝像頭獲得的外界圖片,利用OpenCV庫提供的函數(shù)對圖片進行灰度化,得到原圖像的灰度圖后,使用函數(shù)對灰度圖進行二值化,二值化的過程是讓圖像中的每個像素點與設定閾值進行逐一比較,高于閾值的設置為白色,低于閾值的設置為黑色,二值化閾值選擇決定邊界是否準確,程序在運行的過程中利用大津法自動計算最佳閾值。

使用findContours函數(shù)在完成二值化的圖像中尋找尋跡線或物品圖像邊界,這個步驟須檢測所有輪廓,但是不建立繼承關系,尋找結束后儲存輪廓中所有的點。計算輪廓面積,篩選掉非目標的小輪廓,當輪廓面積大于設定的面積閾值時,利用MatchShapes算子與事先準備好的模板進行形狀匹配,形狀越相似,匹配分值越小。將匹配分值與設定匹配閾值進行比較,如果匹配分值小于閾值,那么認為識別指定物品,設置物品識別成功的標志位,進行抓取。

3.3 機器人運動程序

機器人的運動即舵機的運動,進行串口舵機運動,使用上位機PC向下位機樹莓派4B發(fā)送指令包,控制樹莓派的引腳輸出信號,指令包以16進制數(shù)組形式發(fā)出。當初始化時,每個舵機利用信號總線相連作為從機,程序賦予其1個唯一的ID號作為從機地址,總線根據(jù)指令包內的地址拉起對應位置的舵機,對應的舵機給出反應。

每個指令包包括以下5個部分。1) 幀頭。固定設置為2個0x55的16進制數(shù),幀頭到達表示有數(shù)據(jù)包等待接收。2)ID。當初始化時,每個舵機都會被賦予1個唯一的ID號,在上位機操控機器人進行動作的過程中,對應關節(jié)處舵機的ID號范圍為0x00~0xFD,ID號0xFE為廣播ID,所有舵機均接收指令,但是為了防止總線沖突,所有舵機均不回應。3)數(shù)據(jù)長度。即待發(fā)送的數(shù)據(jù)長度。4)指令。其作用是控制舵機的各種指令,例如舵機運動速度等。5)參數(shù)。 除指令外需要補充的控制信息。6)校驗和。在指令包利用串口傳遞至總線舵機后,對應舵機以對應速度轉動指定角度,并在下一個指令前保持該速度,多個指令包組合成為1個動作,多個動作組合成為1個動作組,將調試好的動作組封裝為1個文件,當主程序需要使用時調用,機器人可以在對應時間做出對應動作,例如抓取、行走等。

4 結語

本文研究基于嵌入式Linux系統(tǒng)的人形搬運機器人,經(jīng)測試發(fā)現(xiàn)機器人可以完成巡線、行走和轉彎等運動動作,當識別到指定物塊時可以做出對應的拾取動作。在測試過程中也發(fā)現(xiàn)了許多問題,例如當巡線識別時機器人會被周圍物品顏色影響、有時無法成功拾取物塊以及電池續(xù)航不足等,因此,該機器人在視覺識別程序、拾取動作調試以及電源系統(tǒng)設計等方面還有待優(yōu)化。

參考文獻

[1]王澤龍. 基于ROS的搬運機器人控制系統(tǒng)設計[D].青島:青島科技大學,2021.

[2]付裕.基于單片機STM32的搬運機器人控制系統(tǒng)設計與實現(xiàn)[J].無線互聯(lián)科技,2023,20(5):39-42.

[3]盧鑫,郭婷,譚越洋.搬運機器人控制系統(tǒng)的設計[J].科技與創(chuàng)新,2022(16):103-105,109.

[4]羅慶生,陳胤霏,劉星棟,等.仿人機器人的機械結構設計與控制系統(tǒng)構建[J].計算機測量與控制,2019,27(8):89-93.

猜你喜歡
視覺識別
農業(yè)機械使用視覺識別技術的優(yōu)點及探索
城市空間中的視覺指示系統(tǒng)特性研究
大觀(2017年5期)2017-06-30 15:18:10
CIS理論導入墻景美化的實施策略與城市形象塑造
卷宗(2017年5期)2017-06-06 12:17:11
遼寧公共交通視覺識別系統(tǒng)表現(xiàn)要素研究
藝術科技(2016年12期)2017-05-04 18:20:47
基于并聯(lián)機器人的自動選繭系統(tǒng)的設計
科技視界(2017年1期)2017-04-20 12:37:20
淺談企業(yè)品牌營銷中的吉祥物
傳統(tǒng)春節(jié)視覺意象設計理論問題思考
試論品牌經(jīng)濟時代的城市形象設計要點
科技視界(2016年26期)2016-12-17 20:47:02
高校文化建設中視覺識別系統(tǒng)的設計和實現(xiàn)
藝術科技(2016年9期)2016-11-18 16:03:21
宜賓旅游形象識別系統(tǒng)研究
中國市場(2016年38期)2016-11-15 00:49:28
南宁市| 桐乡市| 涡阳县| 玉树县| 宁国市| 泰和县| 神池县| 义马市| 砀山县| 田东县| 布尔津县| 麻城市| 特克斯县| 马鞍山市| 云龙县| 六盘水市| 永兴县| 长寿区| 神池县| 厦门市| 新乡县| 万年县| 武穴市| 海林市| 台中市| 涿州市| 裕民县| 彩票| 西藏| 岑溪市| 锡林浩特市| 奉贤区| 马山县| 青海省| 鄢陵县| 仁布县| 芦山县| 砚山县| 白玉县| 思南县| 邻水|