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