高明華, 楊云秀, 許麗金, 肖佳豪, 朱 琳
(華東交通大學 信息工程學院,南昌 330013)
隨著機械自動化的廣泛應用,機械手臂在人們視野中開始頻繁出現[1]。但多數機械手臂應用于工業生產中,按照特定的程序完成工件的抓取,代替人類從事簡單、重復的工作或者在高危環境下作業[2]。人機交互概念的出現促使機械手臂向著智能化發展,產生了對智能繪圖儀的研究[3],涌現了一批寫字繪圖機械手臂[4-7]。書畫機械手臂設計與實現過程涉及圖片處理、信息傳遞、運動學等理論知識[8]。本系統中上位機對圖片進行處理后傳遞給下位機,下位機主控板Arduino板控制機械手臂完成繪制。該機械手臂成本低,經過多次試驗,驗證輸出的穩定性高、還原度高。
本系統主要由3部分組成:Web、上位機和下位機。其中Web主要功能是為用戶提供一個社交平臺,用戶可以在Web上注冊、登錄以及發表圖文動態,Web對于管理人員來說是收集用戶需求,即圖片或者文字。上位機采用微雕大師軟件,對圖片或者文字進行處理,轉換為G代碼,通過串口傳輸給Arduino。下位機則是機械手臂及其控制系統,步進電機驅動模塊驅動步進電機正反轉,將畫筆移動到平面上的任意位置,舵機控制畫筆抬落。系統框圖如圖1所示:

圖1 系統框圖
整個系統可以分為硬件設計與軟件設計兩部分,其中硬件設計主要針對機械手臂的結構以及下位機各個模塊的設計;軟件設計包括Web設計以及圖片的處理過程(集中在上位機)。
書畫機械手臂包括4個部分:主框架結構、控制模塊、傳送模塊和執行模塊[9]。主框架作為3個模塊的“身體”部分,電源部分作為3個模塊的“血液”部分。書畫機械手臂的供電方式是單獨的適配器進行供電。該適配器為電荷耦合元件(Charge Coupled Device,CCD)防雨監控專用電源,輸入為AC100~260V、50/6 Hz,輸出為DC12V、2A。
在書畫機械手臂的設計與搭建過程中,主框架是由4個方向均有凹槽的鋁材搭建而成,關節部分是由自行設計的3D打印件制作而成[10]。書畫機械手臂框架示意圖如圖2所示。

圖2 書畫機械手臂示意圖
主框架有7根鋁材,X軸上、中、下各1根,Y軸左右各2根,遍布整個框架的是同步帶(皮帶)。控制系統固定在X軸上的鋁材上,1個步進電動機固定在X軸中的鋁材上控制左右運動,舵機同樣固定在X軸中的鋁材上控制抬筆落筆;2個步進電動機固定在Y軸左右兩側的鋁材上控制前后運動。
控制模塊由Arduino UNO板和Arduino CNC V3拓展板組成。
本系統硬件部分所使用的主控板為Arduino Uno板,是一塊基于原始開放代碼的Simple I/O 平臺的微處理器,Arduino屬于開源的電子開發平臺,可與大多數設備之間發送和接收消息[11]。
Arduino UNO板的接口眾多,可以匹配一系列的拓展板,而Arduino CNC V3是GBRL(Arduino G代碼處理器)專用的模塊,完全兼容Arduino UNO板和步進電動機驅動模塊A4988的接口,借助GBRL再加上一定的處理工作Arduino UNO板即可成為Arduino CNC控制器。
傳送模塊由步進電動機驅動模塊A4988、步進電動機、同步帶(皮帶,6 mm寬)、法蘭軸、軸承、螺絲、墊片和尼龍墊柱等組成。
A4988步進電動機驅動模塊是一款具備轉換器,并且提供過流保護的雙重擴散金屬氧化半導體(Double Diffused Metal Oxide Semiconductor,DMOS)微步驅動器,該產品在操作雙極步進電動機時有以下5種步進模式:全、半、1/4、1/8和1/16,其細分設置與CNC V3板上的3組排針是否短接有關。
步進電機的位置在前節中已經提及,主要是完成畫筆在平面上的移動,運動至指定的坐標完成繪制[12]。
同步帶遍布整個框架,作用是當步進電動機轉動時帶動X軸的鋁材運動時固定鋁材,避免鋁材運動過速或者離開框架。
法蘭軸和軸承應用在固定步進電動機(帶輪軸)及畫筆(升降軸)上,主要負責在傳送過程中有個滾動的過程,使得整個運動過程變得平緩,而墊片和尼龍墊柱則是固定法蘭軸和軸承,彌補在寬度上的不足。
執行模塊由舵機和畫筆組成,如圖3所示。舵機由CNC V3板直接控制,舵機收到的脈沖信號控制舵機轉動相應的角度(具體關系見表1),在本系統中舵機對畫筆的控制只有抬落兩種狀態,因此舵機只需要向上或下轉動相應的角度,選用的是90°轉動的舵機SG90。
本系統對畫筆的選擇沒有硬性的要求(除毛筆外),只要筆能固定在3D打印件中即可,如簽字筆(各種粗細的筆尖)、原珠筆、馬克筆、鋼筆甚至粉筆。

圖3 執行模塊

脈沖/ms角度/(°)0.501.0451.5902.01352.5180
本系統中軟件部分主要涉及:①Web平臺,為用戶提供交流平臺,實現可定制理念;②上位機,完成對圖片的處理;③下位機控制系統,完成控制信息的傳輸。
Web作為一個社交平臺[13],是在Myeclipse企業級平臺上開發的。用戶可以通過該平臺發送圖文動態,將繪制的圖案與需求發布到平臺上,管理者即可安排相應的畫筆完成繪制。
用戶使用流程為注冊/登錄,然后發表圖文動態,評論回復他人動態;管理員使用admin賬號直接登錄,有3部分功能:管理用戶信息、管理圖文動態、管理評論回復內容。
3.2.1G代碼
圖像圖像文件格式(Bitmap,BMP)(位圖)是由像素點陣構成的圖像,每個像素都對應相應的灰度值。首先將位圖轉換為黑白圖像,其中黑為1、白為0,一幅圖像轉換成一串離散的脈沖信號。當1時,保持落筆狀態下繪制;當0時,抬筆并運動至下一黑色像素位置。
為了完成運動控制,在轉換過程中首先將圖像或者文字轉為G代碼。G代碼與M代碼廣泛應用于數控中,G代碼通常由字母G和2個數字組成,數字表示指令碼[14]。本系統用到的指令碼有G00快速定位指令、G01直線插補指令、G02圓弧插補指令、G04暫停指令等。
3.2.2上位機
上位機的主要功能是將Web收集的圖像進行處理[15],轉為G代碼傳輸給下位機的主控板。本系統中上位機選用的是微雕大師,同時具有處理文字以及圖像的功能,上位機處理流程如圖4所示。輸出圖片形式有4種:實心(折線、逐行)、輪廓、灰度和逐點繪制;輸出文字有4種:實心、輪廓、單線、點陣書寫。

圖4 上位機處理流程
3.2.3主控板
下位機的主控板Arduino通過串口接收到G代碼,轉化為脈沖信號。脈沖信號分別控制步進電動機驅動模塊以及舵機進行相應的運動。圖片轉化與運動實現之間的關系如圖5所示。

圖5 圖片處理過程
本部分設計的完成依托于Arduino IDE開發平臺。主程序grblUpload主要是對下位機軟件的整體頭文件的定義,主要包括coolant_contrl(散熱控制,當程序運行時保證散熱處于打開狀態)、cpu_map(執行繪制,完成定位等)、defaults(默認設置)、eeprom(電可擦除只讀存儲器,數據緩沖區)、gcode(G代碼)、grbl、limits(限制引腳更改中斷,去抖動處理)、motion_control(運動控制)、nuts_bolts(螺絲螺母基礎)、planner(規劃)、print(打印)、probe(指針定位)、protocol(處理協議)、report(回告)、serial(串口)、setting(設置)、stepper(步進控制)、spindle_control(軸控制)、system(系統程序)。其中,圖6是運動控制流程圖。

圖6 運動控制流程圖
軟件的設計與實現驅動機械手臂開始運動,并完成書畫任務。在對各種輸出方式的測試中,機械手臂表現良好,圖7所示為CAD圖的實心繪制模式下的對比圖。

本文中設計了一款書畫機械手臂,有4種風格選擇,可以實現在任何平面上繪制,甚至可用于公司logo打印、CAD圖輸出、黑板報制作等。為機械手臂在工業生產中切割技術提供了契機,也將藝術與機械化相結合實現數字化產物。
參考文獻(References):
[1] 魏 靜,蔡鎖寧. 智能機械手臂的設計研究[J]. 自動化與儀器儀表,2017(1):67-69.
[2] 龍王濤,吳昊陽,張鈞鼎. 基于51單片機的三爪機械臂設計[J]. 四川水泥,2016(10):192.
[3] 孟令旸. 一種繪圖儀控制系統研究與探討[J]. 科技信息,2010(10):354.
[4] 文懷興,雷曉麗. 四自由度繪圖機器人的控制系統設計[J]. 組合機床與自動化加工技術,2010(11):64-67,70.
[5] 馬丹妮,李傳江,張自強. 基于遺傳算法的七自由度機器人軌跡規劃[J]. 實驗室研究與探索,2016,35(9):33-37.
[6] 陳 鵬,韓 博,張俊博. 書畫手臂的模型設計[J]. 山東工業技術,2017(4):289-290.
[7] Sento A, Srisuk P, Kitjaidure Y. An intelligent system architecture for meal assistant robotic arm[C]//2017 9th International Conference on Knowledge and Smart Technology (KST). Chonburi, 2017: 166-171.
[8] 房立金,孫龍飛. 機械手臂結構設計與其性能分析[J/OL]. 農業機械學報,2017(8):1-10.
[9] 陳玉敏,謝 瑋,孟憲民,等. 智能寫字機器人設計[J]. 計算機測量與控制,2016,24(1):266-268.
[10] 楊 亮,李文生,傅 瑜,等. 基于3D打印技術的桌面足球機器人比賽系統[J]. 實驗室研究與探索,2016,35(12):65-68.
[11] 王 青. 單片機與PC機通信的設計與仿真[J]. 實驗室研究與探索,2016,35(12):100-103.
[12] 潘齊欣,唐型基. 基于步進電機控制的仿人機械手臂抓取移動系統設計[J]. 科技通報,2016,32(3):118-121.
[13] 吳宏森,李建洋. Android水產品營銷系統軟件設計[J]. 實驗室研究與探索,2016,35(7):149-153.
[14] 馬曉花,孔慶忠,馬衛民,等. 四自由度寫字機器人軌跡規劃研究[J]. 機械工程與自動化,2010(5):161-163.
[15] 印 松,唐矯燕. 工業機器人綜合訓練平臺[J]. 實驗室研究與探索,2016,35(2):55-58.