• 沒有找到結果。

搖桿控制暨物體追蹤之機械手臂研製

N/A
N/A
Protected

Academic year: 2021

Share "搖桿控制暨物體追蹤之機械手臂研製"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)

133 - 140 頁 pp. 133 - 140

ອ୛ଠטၱۏវ੠ᖸ̝፟ୠ͘ᓖࡁᄦ

王惠玲

1,*

許文昌

1

張士廷

1

李健寧

1

黃一修

1

ၡ ࢋ

本研究開發搖桿控制暨物體追蹤機械手臂,主要 利用 Visual Studio C#撰寫人機介面,透過 RS232 資 料傳輸,由 Arduino UNO WiFi 模組將資料傳遞至機 械手臂。物體追蹤功能是由網路攝影機擷取影像,藉 以進行辨識、偵測、物體追蹤等功能,使操作者能夠 在人機介面上監測及判別各項數據,並掌握機械手臂 資訊,同時機器手臂對於物體的移動情形與位置進行 相對應動作。搖桿功能採用 Xbox360 無線接收器將 Xbox360 無線搖桿數據傳至人機介面,使機械手臂可 進行手動操作,另外搖桿控制具備學習功能,可使機 械手臂重複上一個動作。本研究之成果為(1)完成 Arduino 連續動作測試程式。(2)完成 C#人機介面流程 圖。(3)使用 C# WPF 撰寫電腦人機介面。(4)完成機 械手臂整體架構。(5)完成 Xbox360 無線搖桿功能。 (6)完成 Webcam C310 網路攝影機之辨識、偵測及回 傳功能。(7)完成人機介面設計。(8)統整人機介面各 項參數與控制模式。(9)整合機械手臂硬體架構。(10) 整合人機介面與硬體設備。

ᙯᔣෟ:Visual Studio C#、Xbox360、物體追蹤

ಥă݈֏

現今機械手臂(Robotic Arm)廣泛應用在自動 化產線、醫療輔助、汽車工業等;節省人力及取代危 險性工作為機械手臂的功能,為將機械手臂貼近操作 者習慣,本研究將專業能力應用在感測器及機械手臂 上,藉使機械手臂能輔助操作者以完成各項工作。本 研究開發 Kinect 智能機械手臂,使機械手臂透過手勢 或聲音便可操控機械手臂,以助於取代部分危險手動 操作之作業,同時也增加搖桿輔助操控,除了提升工 作效率及品質外,更能有效調整機械手臂細部動作。 整體功能將機械手臂更貼近操作者本身,以提供高效 率及取代部分危險性工作。未來可廣泛應用於醫療輔 助、自動化產線等用途,達到良好的智慧化輔助工具。

෮ăր௚ߛၹ

本研究之硬體架構如圖 1 所示,由電腦以 USB 傳輸方式連結 Webcam C310 網路攝影機及 Xbox360 無線接收器;Webcam C310 網路攝影機則將影像由 USB 傳輸至電腦人機介面,藉由人機介面系統進行 影像分析並辨識物體位置;最後將指令由電腦經 Visual Studio C#人機介面以 RS232 串列傳輸將資料 傳至 Arduino UNO WiFi 模組,最後以控制訊號使機 械手臂執行抓取、旋轉以及移動等動作指令。 ဦ 1 ർវߛၹဦ 1 亞東技術學院電機工程系 * 通訊作者:王惠玲 E-mail:fe008@mail.oit.edu.tw

(2)

主要硬體選用 Robotic Arm K-100 機器手臂、AI 馬達 A1-16、Arduino UNO WiFi 模組、Webcam C310 網路攝影機、Xbox360 無線接收器、Xbox360 無線搖 桿,規格介紹如下: ˘ăRobotic Arm K-100 ፟ጡ͘ᓖ[1] 圖 2 為 Robotic Arm K-100 機器手臂之外觀,規 格如表 1 所示。 ဦ 2 Robotic Arm K-100 ፟ጡ͘ᓖ ܑ 1 Robotic Arm K-100 ఢॾ 出廠公司 邁克兄弟科技有限公司 馬達 AI Servo A1-16 *6 體積 W180 x D240 x L350 mm 重量 755g 操作電壓 12V 操作電流 7.5A ˟ăAI ੺྿ A1-16[2] 圖 3 為 AI 馬達 A1-16 之外觀,規格如表 2 所示。 ဦ 3 AI ੺྿ A1-16 ܑ 2 AI ੺྿ A1-16 ఢॾ 出廠公司 邁克兄弟科技有限公司 扭力 25kg-cm (max.) 體積 W50 x D32 x L40 mm 重量 60±2 g 操作角度 0∘~ 330∘ 操作溫度 0℃~40℃ 協定 TTL Level UART (8-N1)

ˬăArduino UNO WiFi ሀ௡[3]

圖 4 為 Arduino UNO WiFi 模組之外觀,規格如 表 3 所示。

ဦ 4 Arduino UNO WiFi ሀ௡

ܑ 3 Arduino UNO WiFi ሀ௡ఢॾ

控制器核心 ATmega328 控制電壓 5 V 建議輸入電壓 7~12 V 最大輸入電壓 6~20 V 數位 I/O Pins 20 類比輸入 Pins 6 每個 I/O 腳位之額定電流 40 mA 3.3V 腳位最大電流 1 A 快閃記憶體 32 KB SRAM 2 KB EEPROM 1 KB Clock Speed Hz αăWebcam C310 შྮᛷᇆ፟[4] 圖 5 為 Webcam C310 網路攝影機之外觀,規格 如表 4 所示。

(3)

ဦ 5 Webcam C310 შྮᛷᇆ፟

ܑ 4 Webcam C310 შྮᛷᇆ፟ఢॾ

出廠公司 羅技 Logitech 解析度 1280x720 像素

處理器 2.4 GHz Intel® Core™2 Duo

記憶體 2GB RAM 上傳速度 1Mbps 主要項目 1.內建降低雜音之麥克風 2.臉部追蹤 3.動作偵測 ̣ăXbox360 ൑ቢତќጡ[5] 圖 6 為 Xbox360 無線接收器之外觀,規格如表 5 所示。 ဦ 6 Xbox360 ൑ቢତќጡ ܑ 5 Xbox360 ൑ቢତќጡఢॾ 出廠公司 微軟 Microsoft 接收範圍 30 英呎 連線數量 四台 Xbox360 無線搖桿 連接埠長度 6 英尺 主要功能 接收 Xbox360 搖桿數據 ̱ăXbox360 ൑ቢອ୛[6] 圖 7 為 Xbox360 無線搖桿之外觀,規格如表 6 所示。 ဦ 7 Xbox360 ൑ቢອ୛ ܑ 6 Xbox360 ൑ቢອ୛ఢॾ 出廠公司 微軟 Microsoft 長 x 寬 107x152 mm 適用範圍 Microsoft 平台 主要項目 1. 1.人體工學設計握把 2. 2.搖桿震動回饋 3. 3.彈性連接線 本系統的軟體採用 C 語言及 Visual Studio C#開 發而成,以 C 語言撰寫 Arduino 模組,而 Visual Studio C#亦分為人機介面及操作方式。

ણă၁វᄦү

本系統將上述之硬體和軟體結合,進行實體製 作。 ˘ăVisual Studio C#ˠ̬፟ࢬ 人機介面主要顯示當前機械手臂狀態及連接數 據,如 COM 點通道、取樣面積及搖桿數據等,其中 分為主畫面、搖桿控制及影像辨識,並以選單方式選 擇各項操作模式。操作者在控制機械手臂時,人機介 面將立即回傳各項數據與當前狀態,顯示形式包含燈 號、模擬搖桿圖、實際畫面及各馬達數值等,使操作 者能依據當前機械手臂狀態進行整體掌握。 本研究之人機介面流程圖如圖 8 所示,流程圖開 始後先顯示人機介面主畫面,接著選擇操作模式,選 擇後則進入該模式介面並顯示該模式初始值設定,設

(4)

定初始值即判斷是否成功,若連結成功將進行指定動 作;若連結失敗則回歸該模式介面以便重新設定初始 值動作成功後將顯示數據。若要停止程式則回至人機 介面主畫面,若仍要繼續執行程式則回至該模式畫面 以便執行同樣模式程式,回至主畫面後執行工作將停 止。 ဦ 8 ˠ̬፟ࢬ߹඀ဦ ˟ăVisual Studio C#ፆү͞ё 本研究採搖桿控制及影像辨識,因此電腦加入 Xbox360 無線搖桿和 Webcam C310 網路攝影機,並 依照操作者本身需求各別撰寫 Visual Studio C#。搖桿 控制係由 Xbox360 無線搖桿來操作機械手臂,主要 用 以 測 試 機 械 手 臂 初 步 狀 況 ; 物 體 追 蹤 [7] 則 由 Webcam C310 網路攝影機接受訊號至 Visual Studio C#,再由 Visual Studio C#依照取樣面積大小及對應 左右邊線值作不同動作,使機械手臂達到追蹤效果。 ˬăArduino 在連結機械手臂與電腦間,以 Arduino 作為中間 媒介,以便電腦藉由 RS232 串列傳輸將馬達控制封 包傳至機械手臂,使機械手臂動作。主程式流程如圖 9 所示,首先程式開始後,先判斷是否連結電腦及機 械手臂兩端程式,成功連結後便開始執行程式,再讀 取傳入值,並檢查是否接收馬達控制封包,若成功接 收則讀取封包指令後轉換馬達控制指令位元,再傳輸 指令至機械手臂執行動作,最後回傳數值至電腦。 ဦ 9 Arduino ͹඀ё߹඀ဦ αăອ୛߹඀ Xbox360 無線搖桿由數個按鈕及搖桿組成,包括 Trigger 按鈕、D-pad 按鈕及十字鍵按鈕等按鈕,以及 主要兩個拇指搖桿,本流程圖以拇指搖桿控制為主要 項目。經由程式主畫面選擇搖桿模式後,需先開啟 Xbox360 無 線 搖 桿 並 勾 選 開 啟 搖 桿 執 行 緒 , 使 Xbox360 無線接收器接收搖桿訊號,接著藉由 C#程 式將搖桿數值由直角坐標轉為極座標,並將此數值做 正規化,以便簡化搖桿訊號並使資料一致,若操作者 將拇指搖桿移動使數值超過 0.9 時,便會將該角度進 行數值轉換為馬達封包,並發送至 A1-16 馬達,使機 械手臂動作,流程圖如圖 10 所示。 經由程式主畫面選擇搖桿模式後,需先開啟 Xbox360 無線搖桿並勾選開啟搖桿執行緒,接著點選 “記錄學習模式”並操作機械手臂,使 C#程式將馬 達封包儲存至外部資料夾,直到操作者取消點選“記 錄學習模式”。若操作者需要執行學習模式,即點選 “啟動學習模式”按鈕,C#程式即會由外部資料夾將

(5)

馬達封包以每 0.02 秒發送一次的速度發送至機械手 臂,使機械手臂即會進行學習模式,流程圖如圖 11 所示。 ဦ 10 ອ୛ଠט߹඀ဦ ဦ 11 ອ୛ጯ௫ሀё߹඀ဦ ̣ăۏវ੠ᖸ[7] 首先開啟影像並執行預設動作,再由滑鼠框選物 體,系統則會計算框選面積(單位:pixel)及中心點位 置,再分頭進行判斷物體之左右位移和前後距離位 置,並針對物體位置使機械手臂做相對影像對焦動 作,使其達到追蹤效果,流程圖如圖 12 所示。 ဦ 12 ۏវ੠ᖸ߹඀ဦ

དྷăјڍ੒ᚥ

本研究第一階段之成果為完成驅動馬達電路 圖、驅動馬達電路板及撰寫初步 Visual Studio C#人機 介面。其中驅動馬達電路圖如圖 13 所示,以在線電 子設計工具 EasyEDA 完成驅動馬達電路圖,驅動馬 達電路板如圖 14 所示,以一顆 L7805CV 穩壓 IC、 三顆 Ta7279p 馬達驅動 IC、Arduino 資料輸出腳位與 直流馬達接腳端完成電路板,使 Ta7279p 馬達驅動 IC 將馬達控制封包傳至機械手臂。

(6)

ဦ 13 ᜭજ੺྿࿪ྮဦ ဦ 14 ᜭજ੺྿࿪ྮڕ 第二階段之成果包含機械手臂改裝、完成 Visual Studio C# 人機介面以及電腦控制介面流程圖,其成 果如下: ˘ă፟ୠ͘ᓖԼ྅ 機械手臂底板改裝如圖 15,底版材質採透明壓 克力板,中間以銅柱支撐整體機械手臂,中間置放 Arduino UNO WiFi 模組與 Xbox360 無線接收器。機 械手臂頂部改裝如圖 16,以 3D 列印製作硬體配件, 組合 Webcam C310 網路攝影機與機械手臂。整體機 械手臂改裝如圖 17,依照各項軟體需求,機械手臂 結合各項硬體,包括 Arduino UNO WiFi 模組、

Xbox360 無線接收器及 Webcam C310 網路攝影機。

ဦ 15 ፟ୠ͘ᓖغڕԼ྅ဦ

ဦ 16 ፟ୠ͘ᓖ౤ొԼ྅ဦ

(7)

˟ăVisual Studio C#ˠ̬፟ࢬ Ğ˘ğ͹൪ࢬ 人機介面主畫面(點擊前)如圖 18 所示,採用 Material Design-Themes 組件,以圖示區塊顯示各項 資訊,如馬達硬體圖、機械手臂硬體圖及指導老師 等,操作者可藉由左上方選單選擇控制模式。以滑鼠 點擊各圖示區塊後則以翻面方式顯示詳細說明,其人 機介面主畫面如圖 19 所示,翻面後顯示各區塊細部 功能及介紹,使初次使用者瞭解人機介面主要功能。 圖 18 人機介面主畫面(點擊前) ဦ 19 ˠ̬፟ࢬ͹൪ࢬĞᕇᑝޢğ Ğ˟ğອ୛ፆү̬ࢬ 搖桿操作介面以三部分為主要架構,如圖 20 所 示,由右至左為搖桿模擬圖、機械手臂對應圖、狀態 顯示圖。 搖桿模擬圖使搖桿狀態顯示至人機介面,並將拇 指搖桿數值以兩個笛卡爾座標顯示至模擬圖,按鈕及 觸發鈕則以寸動方式顯示至模擬圖。中間部分以顏色 導線區分搖桿與手臂馬達各部位關係,使操作者清楚 對應兩者操作順序。最左邊部分以燈號及數值顯示馬 達各項當前狀態與數據,使操作者清楚掌握搖桿當前 狀態。 ဦ 20 ອ୛ፆү̬ࢬ 搖桿學習按鈕分為記錄程式及啟動程式,點擊記 錄學習按鈕後,搖桿封包以每 0.05 秒記錄一筆封包, 並儲存於腳本程式庫,直到點選紀錄停止,最後點擊 啟動學習程式後,機械手臂將以同等速率動作。學習 程式使機械手臂達到動作一致,使其應用於制式化產 線上。 Ğˬğອ୛၆ᑕ፟ୠ͘ᓖΑਕ 圖 21 為 Xbox360 搖桿對應機械手臂功能,依六 顆手臂馬達控制作為整體搖桿架構,同時依照機械手 臂部位對應按鈕種類,使操作者擁有更高的操作彈 性,亦精準地藉由搖桿夾取物品。其中 4 個 D-pad 按 鈕提供操作者自訂腳本(右鍵預設復歸動作),以利 完成手臂流程標準化。 ဦ 21 Xbox360 ອ୛၆ᑕ፟ୠ͘ᓖΑਕ

(8)

Ğαğᇆညፆү̬ࢬ 圖 22 為影像操作介面所示,利用 Webcam C310 網路攝影機所拍攝的影像,再藉由 Visual Studio C# 掛載 EmguCV 圖像處理庫[8],進行影像的繪製及編 寫,以達到影像分割、物體識別、運動追蹤,並隨著 影像參數的不同,使手臂動作,達成追蹤的目的。介 面右半面為影像追蹤介面,影像追蹤畫面以縱向三等 分將畫面切割,並以選取物體之中心點作為判別物體 是否跨越左右邊線值的依據,使機械手臂左右移動; 另外於影像中選取物體之面積大小的變動量,判別物 體與手臂的距離,使手臂做內縮與前傾的動作。介面 左半面為馬達當前數據及取樣面積數據,使操作者清 楚掌握機械手臂當前狀態,其中取樣面積以每 20 筆 資料作平均值運算。操作順序由一開始的滑鼠選擇追 蹤物體,將物體框選後即進行取樣動作,並於面積中 心點作為物體追蹤依據,當中心點接觸任縱向分割線 其中一條,機械手臂即進行左右追蹤動作。其取樣面 積變動之數值越過預定的正常距離範圍時,機械手臂 將藉由面積變動量的大小進行前後追蹤動作。 ဦ 22 ۏវ੠ᖸ̬ࢬ

Ёăඕኢ

本研究以 Xbox360 無線搖桿及 Webcam C310 網 路攝影機,使機械手臂擁有高度操作性及物體追蹤功 能,使操作者在面對不同環境需求,切換不同操作模 式。利用 Visual Studio C#撰寫人機介面,將機械手臂 各項數據回傳至人機介面,操作者不僅能掌握各項數 據,亦能利用人機介面控制機械手臂,使機械手臂達 到操作者之動作需求。由上述討論綜合,本研究得到 下列之結論: 1. 完成 Arduino 連續動作測試程式。 2. 完成 C#人機介面流程圖。 3. 使用 C# WPF 撰寫電腦人機介面。 4. 完成機械手臂整體架構。 5. 完成 Xbox360 無線搖桿功能。 6. 完成 Webcam C310 網路攝影機之辨識、偵測及回 傳功能。 7. 完成人機介面設計。 8. 統整人機介面各項參數與控制模式。 9. 整合機械手臂硬體架構。 10.整合人機介面與硬體設備。

ણ҂͛ᚥ

1. Robotic Arm K-100 機器手臂規格,取自 https://goo.gl/XoeGYV 2. AI 馬達 A1-16 產品規格,取自 https://goo.gl/hXa01F 3. Arduino UNO WiFi 模組,取自 https://goo.gl/CyvFfk 4. Webcam C310 網路攝影機,取自 https://goo.gl/0Mc3Ro 5. Xbox360 無線接收器,取自 https://goo.gl/TiXNmz 6. Xbox360 無線搖桿,取自 https://goo.gl/rtnoMg 7. 物體追蹤範例程式,取自 https://goo.gl/OD4B1H 8. EmguCV 圖像處理庫,取自 http://www.emgu.com/wiki

數據

圖 4 為 Arduino UNO WiFi 模組之外觀,規格如 表 3 所示。

參考文獻

相關文件

(一) 主計畫:共同集體創作一套事先公開且具創新功

由三位選手共同集體創作一套事先公開且具創新功能之機械(電)作品,工

IRB 編號 SE19403A-1 計畫主持人 陳周斌 計畫名稱 大腸直腸癌患者的生活品質與創傷後成長的關係之追蹤研究 審查意見

1、 網路管理與通信技術整合實務、機電控制、網拍多媒體行銷及物流從業人員

15 配管與暖氣 賴相儒 1 嘉義縣私立萬能高級工商職業學校、行政院勞工委員會職 業訓練局臺南職業訓練中心. 15 配管與暖氣 林昌宏

37-1 造園景觀(成人組) 黃泰源 5 行政院勞工委員會職業訓練局中區職業訓練中心. 37-1 造園景觀(成人組) 巫宗雨

EtherCAT ® 為德國 Beckhoff Automation GmbH 取得許可證之專利技術,亦為註冊商標。. EtherNet/IP™為

1.本招生以參與「工業工程與設備管理產學攜手專班」之國立霧峰農工 104 學年度日間部機 械科、國立秀水高工 104