色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

智能搬運機器人系列之利用X3派實現目標物塊的識別與抓取

地瓜機器人 ? 2022-12-09 17:25 ? 次閱讀

原理講解

1.gif

根據目標物塊的特征,首先通過機械結構使目標物塊每次被識別時,目標物塊都出現在攝像頭的固定角度,固定距離。這樣就保證了攝像頭每次識別目標物塊時,目標物塊都會出現在拍攝照片的固定像素范圍。

其次,根據目標物塊的特點(物塊之間只有顏色差異)只要完成對目標物塊出現范圍的像素點顏色的識別,就能判斷出具體是哪一個目標物塊。所以采用了對特定區(qū)域像素點的顏色識別算法。從演示視頻中可以看出,每次抓取物塊之前,都會先通過U型推手把目標物塊先固定在車身正前方的U型推手內如下圖。

2.png

此時補光燈進行補光,以減少環(huán)境光對識別結果的影響。從圖片也可以看出,識別環(huán)節(jié),攝像頭是正對目標物塊,而且距離很近,這個設計就保證了攝像頭拍攝到的大部分像素點都被目標物塊的顏色所填滿,增加了識別面積。

3.png

可以看到,攝像頭拍攝到的圖片,目標物塊幾乎填滿了整個圖片。接下來就通過旭日X3派進行顏色識別,使用旭日X3派借助OpenCV,通過HSV顏色模型,實現對目標物塊的顏色識別。

4.jfif

顏色識別

  • 導入需要用的庫

import cv2 as cv import time import numpy as np import sys import os import serial import serial.tools.list_ports

  • 設置串口各種參數,波特率設置為115200,使用40PIN中的UART3

os.system('ls /dev/tty[a-zA-Z]*') uart_dev= '/dev/ttyS3' #定義串口端口 baudrate = 115200 #波特率 ser = serial.Serial(uart_dev, int(baudrate), timeout=1)

  • 選擇8號相機用作視頻獲取

cap_follow = cv.VideoCapture(8)

剪切獲取到的圖像,只顯示和處理一正中小塊

ret, frame = cap_color.read() #cv.imshow("frame", frame)#代碼在電腦上測試時候用于觀察,放在X3派上要注釋掉 ROI = frame[50:150, 50:200]#get useful ROI

獲取一幀圖片并進行裁剪,只保留小部分目標物塊的像素點,這有兩個原因:

(1)獲取到的一整幀圖片周圍有非目標物塊的周圍環(huán)境,如果納入計算過程的話會影響到最終識別結果

(2)縮小圖片體積,可以減少CPU負載,提升運算速度

  • 把截取后的圖片轉化成HSV顏色模型,并創(chuàng)建三個數組分別用于存放轉化后HSV模型圖片中每一個像素點的H、S、V通道的值

hsv = cv.cvtColor(ROI, cv.COLOR_BGR2HSV) #cv.imshow("hsv", hsv) color_h = [] color_s = [] color_v = []

  • 把轉化為HSV模型的圖片中每一個像素點都取出來,相加以后取平均值(取平均值是為了減少噪點對最后結果的影響。再把取平均值后的H、S、V三個通道的值賦給新的變量用于最后的比較)

color_h.append(np.mean(hsv[:,:,0])) color_s.append(np.mean(hsv[:,:,1])) color_v.append(np.mean(hsv[:,:,2])) h = color_h[0] s = color_s[0] v = color_v[0]

  • 比較最終值和顏色范圍,確定識別結果,并通過串口把結果發(fā)送給下位機

if 35 <= h <= 77 and 43 <= s <= 255 and 46 <= v <= 255: print('green') ser.write(b'g') #red_h 10 --> 20 elif 0 <= h <= 20 and 43 <= s <= 255 and 46 <= v <= 255: print('red') ser.write(b'r') elif 156 <= h <= 180 and 43 <= s <= 255 and 46 <= v <= 255: print('red') elif 100 <= h <= 124 and 43 <= s <= 255 and 46 <= v <= 255: print('blue') ser.write(b'b') elif 0 <= h <= 180 and 0 <= s <= 255 and 0 <= v <= 46: print('black') ser.write(b'B') #white_v 221 --> 200 elif 0 <= h <= 180 and 0 <= s <= 30 and 180 <= v <= 255: print('white') ser.write(b'w') else: print('I do not know') ser.write(b'e')

解釋一下串口發(fā)送字符的含義:

g——green

r——red

b——blue

B——black

w——write

e——error

(最后'e'一個表示識別的顏色不在既定范圍內)

為什么選用使用HSV顏色模型而不是用RGB?

RGB 是我們接觸最多的顏色空間,由三個通道表示一幅圖像,分別為紅色(R),綠色(G)和藍色(B)。這三種顏色的不同組合可以形成幾乎所有的其他顏色。但是人眼對于這三種顏色分量的敏感程度是不一樣的,在單色中,人眼對紅色最不敏感,藍色最敏感,所以 RGB 顏色空間是一種均勻性較差的顏色空間。如果顏色的相似性直接用歐氏距離來度量,其結果與人眼視覺會有較大的偏差。對于某一種顏色,我們很難推測出較為精確的三個分量數值來表示。所以,RGB 顏色空間適合于顯示系統(tǒng),卻并不適合于圖像處理。

在圖像處理中使用較多的是 HSV 顏色空間,它比 RGB 更接近人們對彩色的感知經驗,可非常直觀地表達顏色的色調、鮮艷程度和明暗程度,方便進行顏色的對比(詳細解釋可參見地平線開發(fā)者社區(qū)。

在 HSV 顏色空間下,比 BGR 更容易跟蹤某種顏色的物體,常用于分割指定顏色的物體。

HSV 表達彩色圖像的方式由三個部分組成:Hue(色調、色相)、Saturation(飽和度、色彩純凈度)、Value(明度)。用下圖圓柱體來表示 HSV 顏色空間,圓柱體的橫截面可以看做是一個極坐標系 ,H 用極坐標的極角表示,S 用極坐標的極軸長度表示,V 用圓柱中軸的高度表示。

5.jfif

Hue 用角度度量,取值范圍為0~360°,表示色彩信息,即所處的光譜顏色的位置,表示如下:

6.jfif

顏色圓環(huán)上所有的顏色都是光譜上的顏色,從紅色開始按逆時針方向旋轉,Hue=0 表示紅色,Hue=120 表示綠色,Hue=240 表示藍色等等。在 GRB中 顏色由三個值共同決定,比如黃色為即(255,255,0);在HSV中,黃色只由一個值決定,Hue=60即可。HSV 圓柱體的半邊橫截面(Hue=60):

7.jfif

其中水平方向表示飽和度,飽和度表示顏色接近光譜色的程度。飽和度越高,說明顏色越深,越接近光譜色飽和度越低,說明顏色越淺,越接近白色。飽和度為0表示純白色。取值范圍為0~100%,值越大,顏色越飽和。

豎直方向表示明度,決定顏色空間中顏色的明暗程度,明度越高,表示顏色越明亮,范圍是 0-100%。明度為0表示純黑色(此時顏色最暗)。

動作實現

下位機負責所有機器人動作的控制,包括直線行駛、轉彎、轉圈、目標物塊抓取、放置等等,此處先講解目標物塊抓取動作部分。先看機械設計,機器人前方的圓柱形帶傳動可收納式抓手是靠兩個原動件提供動力的。

8.gif(舵機,藍色部分)

9.gif(42步進電機,藍色部分)


舵機提供動力控制抓手的開合,用于夾取目標物塊和釋放目標物塊;42步進電機控制傳送帶從而控制抓手,用于使抓手升降。

10.gif

從視頻可以看出,每抓取一個物塊需要五個動作:

(1)抓手下降到一半高度;

(2)抓手張開;

(3)抓手下降到最低點;

(4)抓手閉合,抓取物塊;

(5)抓手上升到最高點。

代碼講解

由于初步設計時時間較緊,故選擇Arduino該平臺作為主控。學習舵機、步進電機控制,有很多種主控方案可以選擇,大家可按需選擇。代碼主要部分:

  • 導入需要用到的庫、創(chuàng)建舵機、步進電機對象

#include #include AccelStepper stepperArm(1,armstepPin,armdirPin); Servo armServo;

  • 在 setup函數里面對舵機、步進電機進行初始化

stepperArm.setMaxSpeed(1200.0); stepperArm.setAcceleration(400.0); armServo.attach(8); armServo.write(servoMid);

  • 抓取動作控制(五個步驟)

void Get(){ //抓手下降一半 if (getTurns == 0){ stepperArm.moveTo (armStepperHigh1); //Serial.println("我是抓手,我現在在下降"); if (stepperArm.currentPosition() == armStepperHigh1){ getTurns ++; } } //抓手張開一點 if ( getTurns == 1){ for (armAngle = servoMid; armAngle <= servoEnd; armAngle ++) { armServo.write(armAngle); delay(5); } getTurns ++; } //抓手下降到最低端 if (getTurns == 2){ stepperArm.moveTo (armStepperHigh2); if (stepperArm.currentPosition() == armStepperHigh2){ getTurns ++; } } //抓取物塊 if ( getTurns == 3){ //delay(2000); for (armAngle = servoEnd; armAngle >= servoMid; armAngle --) { armServo.write(armAngle); delay(5); } getTurns ++; } //上升抓手到最高位置 if (getTurns == 4){ stepperArm.moveTo (armStepperHigh0); if(stepperArm.currentPosition() == armStepperHigh0){ getTurns = 0; ifOverGet = 1; } } }

原作者:衣柜旁的小明
原鏈接:本文轉自地平線開發(fā)者社區(qū)

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

    關注

    5092

    文章

    19176

    瀏覽量

    307572
  • 機器人
    +關注

    關注

    211

    文章

    28632

    瀏覽量

    208336
  • 人工智能
    +關注

    關注

    1796

    文章

    47643

    瀏覽量

    240206
收藏 人收藏

    評論

    相關推薦

    【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人的基礎模塊

    具身智能機器人的基礎模塊,這個是本書的第二部分內容,主要分為四個部分:機器人計算系統(tǒng),自主機器人的感知系統(tǒng),自主機器人的定位系統(tǒng),自主
    發(fā)表于 01-04 19:22

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

    中取得了令人矚目的效果。 閱讀感悟 從傳統(tǒng)的手動編程到借助大模型實現智能化、自主化,從單一模態(tài)的交互到多模態(tài)信息的深度融合,再到擴散模型的應用,機器人控制技術正在以驚人的速度進化。這不僅讓機器
    發(fā)表于 12-29 23:04

    【「具身智能機器人系統(tǒng)」閱讀體驗】1.初步理解具身智能

    的研發(fā)工作奠定了基礎。繼之而來,北京理工大學在2002年發(fā)布的“匯童”系列機器人實現了無外接電纜的行走。 三、問題與挑戰(zhàn) 具身智能雖然取得了一定的進展,但是也面臨著諸多的問題與挑戰(zhàn),
    發(fā)表于 12-28 21:12

    agv搬運機器人是怎么實現無人搬運的?

    AGV(自動導引車)搬運機器人是一種智能化的無人搬運設備,它能夠實現無人搬運主要依賴于其先進的導
    的頭像 發(fā)表于 11-16 15:55 ?291次閱讀
    agv<b class='flag-5'>搬運</b><b class='flag-5'>機器人</b>是怎么<b class='flag-5'>實現</b>無人<b class='flag-5'>搬運</b>的?

    搬運碼垛機器人的特性和運用方式

    在諸多的工業(yè)機械手中,搬運碼垛機器人毫無疑問是使用率較高的智能機器人之一,無論是在工業(yè)生產生產制造、物流倉儲、香煙、藥業(yè)、食品類、化工廠等行業(yè)領域,或是在郵政局、公共圖書館、港口物流、
    的頭像 發(fā)表于 11-14 17:56 ?206次閱讀

    智能移動機器人

    富唯智能移動機器人分為復合機器人和轉運機器人,搭載ICD核心控制器,實現一體化控制,最快可實現1
    的頭像 發(fā)表于 08-27 17:22 ?402次閱讀
    <b class='flag-5'>智能</b>移動<b class='flag-5'>機器人</b>

    智能目標顏色識別抓取丨國產Cortex-A55人工智能實驗箱機械臂案例分享

    智能目標顏色識別抓取丨國產Cortex-A55人工智能實驗箱機械臂案例分享
    的頭像 發(fā)表于 08-10 08:32 ?413次閱讀
    <b class='flag-5'>智能</b><b class='flag-5'>目標</b>顏色<b class='flag-5'>識別</b><b class='flag-5'>抓取</b>丨國產Cortex-A55<b class='flag-5'>人工智能</b>實驗箱機械臂案例分享

    復合機器人倉庫搬運方案

    隨著科技的飛速發(fā)展,智能倉儲已經成為現代物流領域的重要發(fā)展方向。近日,一種全新的復合機器人倉庫搬運方案亮相,該方案結合了復合機器人AMR與搬運
    的頭像 發(fā)表于 08-09 16:08 ?343次閱讀
    復合<b class='flag-5'>機器人</b>倉庫<b class='flag-5'>搬運</b>方案

    AGV搬運機器人智能物流的得力助手

    在物流行業(yè),AGV搬運機器人已經成為提高轉運效率、降低成本的重要工具。而富唯智能AGV搬運機器人憑借其出色的性能和
    的頭像 發(fā)表于 06-25 14:54 ?457次閱讀
    AGV<b class='flag-5'>搬運</b><b class='flag-5'>機器人</b>:<b class='flag-5'>智能</b>物流的得力助手

    基于FPGA EtherCAT的六自由度機器人視覺伺服控制設計

    、Zynq和攝像頭為硬件基礎,搭建了六自由度機器人視覺平臺。 (2)設計了基于 FPGA的視覺檢測方案。利用 西林提供的 HLS和CV庫對從攝像頭采集到的像素流進行實時處理,并設計了一套識別
    發(fā)表于 05-29 16:17

    其利天下技術·搭載無刷電機的掃地機器人的前景如何?

    隨著人工智能聯網技術的不斷進步,掃地機器人智能化程度也在不斷提高。現代掃地機器人已經可以通過智能
    發(fā)表于 05-05 15:03

    人工 VS AGV無人搬運機器人,AGV賦能中國智能制造

    AGV機器人作為智能制造的核心,正逐漸取代人工搬運實現智能倉儲無人化管理。它通過集成5G、大數據、
    的頭像 發(fā)表于 04-29 17:45 ?932次閱讀
    人工 VS AGV無人<b class='flag-5'>搬運</b><b class='flag-5'>機器人</b>,AGV賦能中國<b class='flag-5'>智能</b>制造

    AGV智能搬運機器人的技術特點是什么?

    AGV智能搬運機器人的技術特點
    的頭像 發(fā)表于 04-10 14:27 ?1381次閱讀

    富唯智能案例|3D視覺引導機器人抓取鞋墊上下料

    隨著制造業(yè)對自動化、智能化需求的不斷提升,如何實現鞋墊上下料的精準、高效操作成為了企業(yè)亟待解決的問題。傳統(tǒng)的上下料方式往往依賴人工,存在效率低下、精度不足等問題。而富唯智能3D視覺引
    的頭像 發(fā)表于 04-08 16:57 ?436次閱讀
    富唯<b class='flag-5'>智能</b>案例|<b class='flag-5'>3</b>D視覺引導<b class='flag-5'>機器人</b><b class='flag-5'>抓取</b>鞋墊上下料

    小型移動搬運機器人可以幫助物流行業(yè)完成哪些作業(yè)呢?

    小型移動搬運機器人是一種能夠自主移動并搬運物品的機器人。它通常配備有輪子或履帶,可以在不同的地面上移動,如硬地面、地毯等。這種機器人可以通過
    的頭像 發(fā)表于 03-06 13:37 ?464次閱讀
    主站蜘蛛池模板: 日本女人水多 | 熟妇的味道HD中文字幕 | 俄罗斯人与动ZOZ0 | 国产精品伦理一二三区伦理 | 久久亚洲免费视频 | 国产成人精品午夜福麻豆报告 | 免费人成网站在线观看10分钟 | 人妻夜夜爽99麻豆AV | 高清不卡伦理电影在线观看 | 亚洲AV无码专区国产精品麻豆 | 久久午夜伦理 | 日本动漫henta videos | 亚洲综合免费视频 | 99视频在线免费观看 | 亚洲大爷操 | 四库影院永久国产精品 | 男助理憋尿PLAY灌尿BL出去 | 日日色在线影院 | 99精品视频在线观看免费播放 | 亚洲一区综合图区 | 天天久久狠狠色综合 | 午夜天堂一区人妻 | 国产亚洲精品线观看不卡 | 国产午夜精品一区二区 | 受坐在攻腿上H道具PLAY | 精品国产乱码久久久久乱码 | 最近高清日本免费 | 国产69精品久久久久麻豆 | 中国特级黄色大片 | 欧洲人交xxx69 | 高hh乱亲女真实 | 永久adc视频年龄确认 | 精品综合久久久久久8888 | 国产自啪偷啪视频在线 | 久久国内精品 | 欧美阿v在线免播播放 | 国产AV国片精品无套内谢无码 | 日本视频一区二区免费观看 | 年轻的女职工在线观看 | 久久4k岛国高清一区二区 | 95国产欧洲精华液 |