資料介紹
描述
背景
這個(gè)項(xiàng)目是一個(gè)機(jī)器人與人類的 Connect 4 游戲,人類在物理游戲板上玩機(jī)器人,就像他們?cè)谕媪硪粋€(gè)玩家一樣。
第 2 步:測(cè)試組件
我測(cè)試的第一個(gè)組件是 16x2 字符 LCD 顯示器。接線非常簡單,但我必須安裝 adafruit_character_lcd.character_lcd 庫才能連接到顯示器。電位器控制顯示器的對(duì)比度。
接下來我開始連接步進(jìn)電機(jī)。步進(jìn)電機(jī)將通過皮帶和滑輪或線性致動(dòng)器(當(dāng)前原型使用步進(jìn)電機(jī)控制線性滑軌)沿著 Connect 4 板的頂部將滴管移動(dòng)到右柱。我使用了步進(jìn)電機(jī)驅(qū)動(dòng)器,以便更輕松地控制步進(jìn)電機(jī)。步進(jìn)電機(jī)驅(qū)動(dòng)器需要 5V 輸入才能對(duì)其進(jìn)行控制,但 PocketBeagle 只能輸出 3.3V。我使用邏輯電平轉(zhuǎn)換器將信號(hào)從 3.3V 轉(zhuǎn)換為 5V。我使用外部電源(5V,2A)為步進(jìn)電機(jī)供電。接線很簡單,我從 https://github.com/petebachant/BBpystepper 找到了一些測(cè)試代碼。
接下來我連接了 360 度連續(xù)旋轉(zhuǎn)伺服電機(jī)。伺服電機(jī)將用于碎片滴管,將一塊碎片放入右列(事后看來,選擇連續(xù)旋轉(zhuǎn)伺服是一個(gè)錯(cuò)誤,因?yàn)樗奈恢镁群涂刂撇患眩?/font>伺服電機(jī)還需要 5V 電源,我通過 PocketBeagle 的 PWM 引腳控制伺服電機(jī)。我使用了我的導(dǎo)師 Eric Welsh 的伺服電機(jī)測(cè)試代碼。
最后要連接的硬件是 USB 攝像頭。連接相機(jī)需要將 VB 和 VI 以及 ID 和 GND 引腳連接(我只是將它們焊接在一起)。為了測(cè)試相機(jī),我在終端中使用了一些基本代碼:
python3
>>> import cv2
>>> cap = cv2.VideoCapture(0)
>>> ret, frame = cap.read()
>>> cv2.imwrite("temp.jpg", frame)
我為項(xiàng)目的這個(gè)階段創(chuàng)建了一個(gè)自定義 PCB:https://github.com/SMSARVER/ENGI301/tree/main/Project_2
第 3 步:OpenCV 代碼
編寫 OpenCV 代碼是該項(xiàng)目中最具挑戰(zhàn)性的部分。我開始編寫代碼來處理 Connect 4 板的圖像,然后修改它以處理來自我的 USB 相機(jī)的照片。我在游戲板后面放了一個(gè)綠色背景,以便更容易檢測(cè)到開放空間。該程序?yàn)槠灞P拍照并輸出一個(gè) 6x7 數(shù)組(主要游戲代碼用來表示棋盤的數(shù)組),其中包含棋盤上每個(gè)空間的值。我使用了一個(gè)名為 HoughCircles 的 OpenCV 函數(shù)來檢測(cè)原始圖像上的所有圓圈,并查看每個(gè)圓圈中心像素的顏色。這將創(chuàng)建一個(gè)圓圈數(shù)組及其顏色,然后我根據(jù)它們?cè)趫D像中的 y 和 x 位置對(duì)其進(jìn)行排序以創(chuàng)建 6x7 數(shù)組。下面是檢測(cè)圖像上紅色圓圈的代碼照片。
第 4 步:選擇更好的電機(jī)
在項(xiàng)目的這一點(diǎn)上,我確定使用預(yù)先構(gòu)造的線性致動(dòng)器而不是自己設(shè)計(jì)是最好的節(jié)省時(shí)間并專注于我更感興趣的項(xiàng)目部分。下圖顯示了 NEMA 23 步進(jìn)電機(jī)連接到線性滑軌。該解決方案可實(shí)現(xiàn)極高的定位精度和不錯(cuò)的速度(大約 1 英寸/秒的行進(jìn)速度)。事后看來,這款電機(jī)對(duì)我的應(yīng)用來說太過分了。
我使用 Adafruit_BBIO.GPIO 庫編寫了一個(gè)腳本來控制線性執(zhí)行器上的滴管位置。
第 5 步:設(shè)計(jì) Piece Dropper
我需要想出一種方法來存儲(chǔ) 21 個(gè) Connect 4 棋子,并一次可靠地將它們釋放到游戲板頂部的狹窄縫隙中。我想到的一個(gè)簡單的設(shè)計(jì)是把所有的零件都堆在一個(gè)管子里,然后用球棒敲掉底部的那塊。我使用連續(xù)旋轉(zhuǎn)伺服電機(jī)來旋轉(zhuǎn)球棒,將球棒推過漏斗并推到棋盤上。測(cè)試這個(gè)機(jī)制后,我意識(shí)到連續(xù)旋轉(zhuǎn)伺服電機(jī)沒有我需要的位置精度。90% 的時(shí)間它會(huì)旋轉(zhuǎn) 180 度以掉落一件,但有時(shí)它會(huì)旋轉(zhuǎn)太多或太少,從而掉落兩件或不掉落任何一件。我計(jì)劃將來在這個(gè)應(yīng)用中使用步進(jìn)電機(jī)。
第 6 步:設(shè)計(jì)結(jié)構(gòu)
我想要一個(gè)將線性致動(dòng)器固定在游戲板上方的結(jié)構(gòu),為電子設(shè)備提供空間,并將相機(jī)和燈光定位在最佳位置。我選擇用塑料制作我的項(xiàng)目,因?yàn)樗苋菀资褂茫ūM管選擇丙烯酸是一個(gè)錯(cuò)誤,因?yàn)樗艽啵?/font>我買了一個(gè)塑料底座,并在邊緣安裝了兩個(gè)厚塑料管以支撐線性致動(dòng)器。我 3D 打印了安裝座,然后敲擊塑料并使用螺栓將其固定。第二張塑料片和第二根管子將相機(jī)和燈定位在游戲板的前面。
我為線性致動(dòng)器、限位開關(guān)、相機(jī)和燈設(shè)計(jì)了 3D 打印支架。我必須非常仔細(xì)地測(cè)量,才能讓所有東西都放在正確的位置。
第 7 步:限位開關(guān)
限位開關(guān)對(duì)于安全和位置精度很重要。我的機(jī)器人在線性致動(dòng)器的兩側(cè)使用兩個(gè)限位開關(guān)來檢測(cè)滴管何時(shí)脫離軌道(雙關(guān)語)。我還使用限位開關(guān)在正確的位置開始每個(gè)游戲(機(jī)器人通過按下限位開關(guān)開始游戲,并且知道開關(guān)到游戲板上的柱子的距離,它可以準(zhǔn)確地移動(dòng)到那里)。
接線:
目前我的接線是面包板上的鳥巢,但我可以制作 PCB 或創(chuàng)建電線管理系統(tǒng)。在更換電機(jī)之前,我為該項(xiàng)目的先前版本設(shè)計(jì)了 PCB:https://github.com/SMSARVER/ENGI301/tree/main/Project_2
這張顯示 PocketBeagle 引腳的圖片將有助于接線:
液晶顯示器:
LCD_VSS 至 P2_15(接地)
LCD_VDD 到 P2_13 (v_out)
LCD_V0 到電位器中心引腳
LCD_RS 到 P2_10
LCD_RW 至 P2_15
LCD_E 至 P2_17
LCD_D4 至 P2_2
LCD_D5 至 P2_4
LCD_D6 至 P2_6
LCD_D7 至 P2_8
LCD_A 到 P2_13
LCD_K 至 P2_15
電位器右引腳到 P2_13
電位器左側(cè)引腳連接到 P2_15(可以交換電位器上的 P2_13 和 P2_15)
USB相機(jī)
P1_5 至 P1_7
P1_13 至 P1_15
P1_7 到 USB_VCC
P1_9 轉(zhuǎn) USB_D-
P1_11 轉(zhuǎn) USB_D+
P1_13 到 USB_ID
USB_ID 到 USB_GND
步進(jìn)電機(jī)驅(qū)動(dòng)器(SMD),連續(xù)旋轉(zhuǎn)伺服器(CRS ),電源5V (PS5),電源30V(PS30):
CRS_- 到 P2_15
CRS_+ 到 P2_13
CRS_PWM 到 P1_36
PS5_- 至 P2_15
PS5_+ 至 P2_13
PS30_+ 轉(zhuǎn) SMD_VCC
PS30_- 到 SMD_GND
SMD_DIR- 到 P2_15
SMD_PUL- 到 P2_15
SMD_DIR+ 到 P2_24
SMD_PUL+ 到 P2_22
步進(jìn)電機(jī):
測(cè)試步進(jìn)電機(jī)的四根電線是否連續(xù)。一對(duì)連接到 A+/A-,另一對(duì)連接到 B+/B-。對(duì)于我的電機(jī),藍(lán)色是 A+,黃色是 A-,綠色是 B+,紅色是 B-。
限位開關(guān):
我使用兩個(gè)限位開關(guān),LIM1(左)和 LIM2(右)以及電纜 A 和 B。未按下時(shí)開關(guān)具有連續(xù)性。我選擇以這種方式連接開關(guān),這樣如果電纜斷開連接,我就能立即注意到問題。
LIM1_A 至 P2_15
LIM2_A 至 P2_15
LIM1_B 到 P1_2
LIM2_B 到 P1_4
連接 LIM1_B 到 P2_13 的 1K 歐姆電阻
將 LIM2_B 連接到 P2_13 的 1K 歐姆電阻(必須使用單獨(dú)的電阻)
查看更多接線照片以幫助您:
。
?
GitHub: https://github.com/SMSARVER/ENGI301/tree/main/connect4
3D 打印部件的 CAD 文件:
如需 CAD 文件,請(qǐng)發(fā)送電子郵件至 rice dot edu 的 sms27。
限位開關(guān)和線性執(zhí)行器支持:
滴管、蝙蝠和漏斗:
相機(jī)和燈光支持:
后續(xù)步驟和改進(jìn):
我計(jì)劃通過整理電線、進(jìn)行小的改進(jìn)以及解決機(jī)械和軟件問題來改進(jìn)功能齊全的機(jī)器人。我還想使用“cron”讓我的項(xiàng)目在 PocketBeagle 啟動(dòng)時(shí)自動(dòng)啟動(dòng)。這樣,我的機(jī)器人就可以完全獨(dú)立了。
計(jì)劃改進(jìn)清單:
- 制作接線圖
- 落片機(jī)構(gòu)采用步進(jìn)電機(jī)(定位精度)
- 使用磁性限位開關(guān)而不是柱塞限位開關(guān)(為了更高的精度。柱塞限位開關(guān)在接觸時(shí)稍微彎曲塑料,因此磁性限位開關(guān)會(huì)完全消除接觸。)
- 添加按鈕和重新定位屏幕以創(chuàng)建用戶界面
- 創(chuàng)建電線管理系統(tǒng)和更新的自定義 PCB
- 改進(jìn)機(jī)器人的算法,使其幾乎無敵
- 使機(jī)器人完全獨(dú)立,無需連接計(jì)算機(jī)即可運(yùn)行
- 基于運(yùn)行ROS的機(jī)器人 2次下載
- 人類跟隨機(jī)器人開源分享
- 瞳步迎賓講解機(jī)器人
- 庫卡機(jī)器人有限公司培訓(xùn)資料之庫卡機(jī)器人編程C4教程 9次下載
- 了解機(jī)器人電子教材下載 19次下載
- 基于Matlab的機(jī)構(gòu)與機(jī)器人分析資料下載 11次下載
- 基于DSP和PC的農(nóng)業(yè)機(jī)器人控制系統(tǒng) 17次下載
- 基于DSP芯片的足球機(jī)器人實(shí)現(xiàn)與設(shè)計(jì) 26次下載
- 機(jī)器人的運(yùn)動(dòng)規(guī)劃詳細(xì)論文說明 11次下載
- 怎么樣才能設(shè)計(jì)仿人雙足機(jī)器人的機(jī)構(gòu) 20次下載
- 設(shè)計(jì)雙足機(jī)器人運(yùn)動(dòng)機(jī)構(gòu)的詳細(xì)資料說明 29次下載
- 機(jī)器人的簡介和構(gòu)造詳細(xì)說明 12次下載
- 未來機(jī)器人的發(fā)展趨勢(shì)與應(yīng)用前景及與人類的社會(huì)關(guān)系詳解 6次下載
- 電話機(jī)器人打電話到底是做什么? 2次下載
- 機(jī)器人編程C語言與人工智能 0次下載
- 機(jī)器人項(xiàng)目涉及的技術(shù) 857次閱讀
- 新松協(xié)作機(jī)器人智能工廠 1139次閱讀
- 面對(duì)疫情 醫(yī)療機(jī)器人能幫上什么忙? 2126次閱讀
- 機(jī)器人的發(fā)展比較依賴于什么 945次閱讀
- 協(xié)作機(jī)器人的起源_為什么需要協(xié)作機(jī)器人 8127次閱讀
- 邊緣上的AI:“協(xié)作機(jī)器人”如何快速處理傳感器數(shù)據(jù) 1068次閱讀
- 用意念控制機(jī)器人在未來會(huì)成為現(xiàn)實(shí)嗎? 1020次閱讀
- 史上最完整的機(jī)器人工作原理解析 1.9w次閱讀
- 軟體機(jī)器人 前所未見的機(jī)器人 3692次閱讀
- BigDog機(jī)器人傳感器的強(qiáng)大 4229次閱讀
- 《Nature》發(fā)布毫米級(jí)軟體機(jī)器人,為人類研究體內(nèi)微型機(jī)器人提供新思路 9066次閱讀
- 機(jī)器人自動(dòng)化工程項(xiàng)目方案設(shè)計(jì)包括的6個(gè)步驟解析 1.2w次閱讀
- 評(píng)估機(jī)器人在生產(chǎn)車間中的潛在價(jià)值的4個(gè)步驟 2346次閱讀
- 十大前沿技術(shù)助戰(zhàn)機(jī)器人 908次閱讀
- 如何構(gòu)建不傷害人類的工業(yè)機(jī)器人 1129次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多