吳澤楓,李成剛,宋勇,儲亞東,陳飛翔,吳樹景
(南京航空航天大學 機電學院,江蘇 南京 210016)
隨著國內“機器換人”戰(zhàn)略的全面推進和發(fā)展,機器人在生產制造方面的投入力度逐步加大,出現(xiàn)了數(shù)量驟升的現(xiàn)象。雖然機器人具備重復勞動、無需停機的優(yōu)勢,但是在夜以繼日的工作過程中,易發(fā)生由于零件磨損或機械疲勞等原因導致的機器故障,從而造成機器停機或維修不及時的嚴重局面,這勢必會嚴重影響到機器人應用企業(yè)的生產效益。因此,對本地機器人進行遠程監(jiān)控顯得尤為重要,通過機器人監(jiān)控系統(tǒng)來遠程監(jiān)控機器人的狀態(tài)參量(關節(jié)的角位移、角速度、角加速度、力/力矩等),對數(shù)據(jù)進行處理分析,一旦發(fā)現(xiàn)數(shù)據(jù)異常,用戶可在手機APP中通過機器人運動復現(xiàn)、歷史數(shù)據(jù)查詢和超值報警等功能,快速甄別問題所在,從而及時指派維修工程師到本地對機器人進行維護修理,確保機器人穩(wěn)定運行。
ABB公司研發(fā)了機器人遠程服務系統(tǒng)[1],該系統(tǒng)通過在機器人終端安裝帶有GPRS無線通信網絡功能的服務箱,遠程傳輸數(shù)據(jù)。該系統(tǒng)可對機器人進行遠程監(jiān)控、故障診斷和報警。朱心科等人[2]設計了一種水下滑翔機器人監(jiān)控系統(tǒng),利用GPRS模塊傳輸數(shù)據(jù),實現(xiàn)現(xiàn)場及遠程對水下滑翔機器人的監(jiān)控。以上基于GPRS模塊開發(fā)的監(jiān)控系統(tǒng),大多存在高功耗、高資費等不足。李毅等人[3-4]開發(fā)了一套飛行吸附機器人無線監(jiān)控系統(tǒng),該機器人的核心處理器利用ZigBee無線通信模塊將各種姿態(tài)數(shù)據(jù)發(fā)送到客戶端PC機上,進行實時顯示和控制機器人飛行。但由于ZigBee模塊需要通過集中器和網關連入網絡,存在現(xiàn)場部署復雜的缺點。隨著物聯(lián)網技術的快速發(fā)展,NB-IoT低速率窄帶作為IoT(物聯(lián)網)領域一種新興的物聯(lián)網通信技術[5],支持低功耗設備在廣域網的蜂窩數(shù)據(jù)連接。廉小親等人[6-7]開發(fā)了一種基于NB-IoT的空調遠程控制系統(tǒng),該系統(tǒng)采用STM32作為主控制器、NB-IoT技術為核心進行網絡傳輸,并基于華為公司的OceanConnect云平臺進行開發(fā),用戶通過Web客戶端或手機移動端便可對空調進行遠程控制。董玉榮等人[8-9]提出一種基于NB-IoT的智慧停車系統(tǒng),該系統(tǒng)利用NB-IoT模塊與地磁傳感器采集停車位狀態(tài)信息,并將信息傳輸?shù)皆贫朔掌髦校脩敉ㄟ^手機APP即可實時查看城市停車位的狀態(tài)信息,并可進行在線預訂、在線支付和車位導航。以上利用NB-IoT模塊開發(fā)的遠程監(jiān)控系統(tǒng),既簡化了現(xiàn)場安裝部署,又同時具有低功耗、低成本、廣覆蓋、大連接等優(yōu)勢。本文研究一種基于NB-IoT模塊的機器人監(jiān)控系統(tǒng),具有如下優(yōu)勢:
1)采用NB-IoT模塊作為網絡數(shù)據(jù)傳輸模塊,通過采集數(shù)據(jù)后直接傳入網絡,簡化了現(xiàn)場部署,降低了實施成本,并且可同時連接多個機器人進行監(jiān)控;
2)云服務器擁有強大計算和海量存儲等優(yōu)點,可對機器人大量的歷史狀態(tài)參量進行存儲和處理,有利于維護工程師對其數(shù)據(jù)進行深入研究和分析;
3)通過使用手機APP可對多個機器人進行遠程監(jiān)控,更加方便快捷;同時對機器人的三維模型進行運動復現(xiàn)(回放機器人的工作過程),使得用戶監(jiān)控機器人更加直觀清晰。
整套機器人監(jiān)控系統(tǒng)架構如圖1所示,其工作過程為:
1)機器人控制系統(tǒng)中的硬件終端(51單片機系統(tǒng)和NB-IoT模塊)通過串口獲取本地機器人的狀態(tài)參量數(shù)據(jù)(各關節(jié)的角位移、角速度、角加速度、力/力矩等)后,先對數(shù)據(jù)分析處理,若數(shù)據(jù)異常則本地直接報警,并進行數(shù)據(jù)打包;
2)51單片機系統(tǒng)將其數(shù)據(jù)經串口傳到NB-IoT物聯(lián)網通信模塊;機器人監(jiān)控系統(tǒng)基于TCP/IP網絡傳輸協(xié)議和NB-IoT模塊,通過LPWAN(低功率廣域網絡)技術創(chuàng)建Socket通信接口,建立與云服務器的連接,成功后上傳數(shù)據(jù)包;
3)云服務器接收數(shù)據(jù)包并進行解析,將數(shù)據(jù)分別插入到MySQL數(shù)據(jù)庫中表格相應的位置;
4)通過移動監(jiān)測系統(tǒng),用戶可在手機APP中對機器人進行遠程監(jiān)控,實現(xiàn)機器人運動復現(xiàn)、歷史數(shù)據(jù)查詢和超值報警、多機器人監(jiān)測切換等功能。
圖1 基于NB-IoT模塊的機器人監(jiān)控系統(tǒng)框架
機器人控制系統(tǒng)的硬件終端電路如圖2所示,主要實現(xiàn)將本地機器人狀態(tài)參量數(shù)據(jù)打包,經串口UART由NB-IoT模塊發(fā)送到云服務器的功能。該硬件終端主要包括51單片機、復位電路、晶振電路、NB-IoT模塊、蜂鳴器報警電路。其中,51單片機是一種低功耗、高性能的8位微控制器,同時擁有8 K字節(jié)系統(tǒng)可編程Flash存儲器;該硬件電路配有復位電路和晶振電路,其復位電路用于單片機上電復位和手動按鍵復位,晶振電路用來產生單片機工作所需的時鐘頻率,本文中采用11.0592MHz的石英晶振,故其一個機器周期約為1.085μs;NB-IoT模塊用于遠程數(shù)據(jù)傳輸,本文使用的M5310-A是一種工作在頻段Band3/Band5/Band8的工業(yè)級NB-IoT模塊;蜂鳴器報警電路用于現(xiàn)場報警。51單片機、復位電路和晶振電路構成了單片機最小系統(tǒng)板,可以保證單片機系統(tǒng)正常穩(wěn)定地工作。
圖2 硬件終端電路原理圖
機器人控制系統(tǒng)中硬件終端電路的設計和實現(xiàn)過程如下:
1)利用C語言在Keil軟件中開發(fā)51單片機的程序,實現(xiàn)通過異步串口通信獲取本地機器人的狀態(tài)參量數(shù)據(jù)的功能。本文中設置串行口工作方式為10位異步收發(fā)(8個數(shù)據(jù)位,無奇偶校驗,1個停止位),波特率為9600bps;
2)硬件終端中裝有蜂鳴器報警電路,51單片機對獲取的機器人數(shù)據(jù)進行判斷分析,若數(shù)據(jù)出現(xiàn)超值等異常情況,機器人控制系統(tǒng)通過控制單片機IO口(P2.0)輸出低電平導通三極管PNP,蜂鳴器直接報警,現(xiàn)場提醒維修工程師及時排查問題;
3)51單片機將機器人數(shù)據(jù)打包后,由串口UART傳輸?shù)絅B-IoT模塊,基于TCP/IP網絡傳輸協(xié)議,NB-IoT模塊利用LPWAN技術通過AT指令連接移動蜂窩網絡,經創(chuàng)建Socket通信接口并提出連接云服務器的公網IP和端口Port的連接請求Connect(),通過TCP3次握手獲得云服務器的接收請求Accept()后,便可實現(xiàn)遠程連接,最后通過Send()將數(shù)據(jù)包發(fā)送至云服務器,發(fā)送完成后,關閉Socket。
云服務器系統(tǒng)框架圖如圖3所示,主要實現(xiàn)接收來自機器人控制系統(tǒng)的機器人狀態(tài)參量數(shù)據(jù),并將數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫中的功能。
云服務器的設計和實現(xiàn)過程如下:
圖3 云服務器系統(tǒng)框架圖
1)本文的云服務器是基于阿里云公司的服務器進行開發(fā),基于TCP/IP網絡傳輸協(xié)議,使用C#語言在Visual Studio軟件中編程。先在云服務器中創(chuàng)建Socket通信接口(圖4),然后利用Bind()方法綁定云服務器本地IP和端口號Port(3306),并進行監(jiān)聽Listen(),一旦接收到來自硬件終端的連接請求Connect(),由TCP3次握手成功后,建立與機器人控制系統(tǒng)的數(shù)據(jù)通道;
圖4 Socket通信流程
圖5 MySQL數(shù)據(jù)庫中的tb_robot 1_torque表格
移動監(jiān)控系統(tǒng)即手機APP(圖6),主要對機器人進行遠程監(jiān)控,實現(xiàn)運動復現(xiàn)、歷史數(shù)據(jù)查詢和超值報警、多機器人監(jiān)測切換等功能。
手機APP的設計和實現(xiàn)過程如下:
1)將機器人模型導入Unity中。在SolidWorks中將機器人三維模型(UR5協(xié)作機器人)轉成IGS格式,接著導入3d Max軟件中,設置尺寸單位和坐標系等參數(shù)后,輸出為FBX格式,再導入Unity中完成三維模型的可視化。
2)利用C#語言在Unity中開發(fā)手機移動應用,利用UI控件設計機器人模型窗口、歷史數(shù)據(jù)查詢和超值報警窗口、多機器人監(jiān)測切換等窗口實現(xiàn)人機交互,并在Visual Studio編輯器編寫腳本功能。
3)通過數(shù)據(jù)庫訪問技術(SQL語句)對云服務器中MySQL數(shù)據(jù)庫進行操作(如增、刪、改、查),實現(xiàn)遠程獲取本地機器人的狀態(tài)參量數(shù)據(jù)。
4) 通過選定日期,在機器人模型窗口中可觀察機器人三維模型的運動情況,點擊“啟動”按鈕即可實現(xiàn)運動復現(xiàn),對機器人的運動過程進行回放,通過“復位”按鈕可使機器人回到初始位置;通過歷史數(shù)據(jù)查詢和超值報警窗口,可查看機器人各關節(jié)在不同時刻對應的狀態(tài)參量(如力矩),同時,設定力矩閾值,對超值的力矩數(shù)據(jù)進行標紅顯示,實現(xiàn)超值報警功能,提醒用戶及時處理;另外,通過設計多機器人監(jiān)測切換窗口,可同時對多個機器人進行監(jiān)控,并隨時切換。
圖6 移動監(jiān)控系統(tǒng)(手機APP)界面
基于NB-IoT模塊的機器人監(jiān)控系統(tǒng)利用51單片機經串口獲取機器人的狀態(tài)參量數(shù)據(jù),同時對數(shù)據(jù)進行綜合分析處理,若出現(xiàn)異常數(shù)據(jù)則本地蜂鳴器直接報警,現(xiàn)場提醒本地工程師及時對機器人維護;然后,51單片機通過NB-IoT模塊將數(shù)據(jù)發(fā)送到云服務器中的數(shù)據(jù)庫進行存儲處理。用戶可通過手機APP對機器人進行遠程監(jiān)控,實現(xiàn)機器人運動復現(xiàn)、歷史數(shù)據(jù)查詢和超值報警、多機器人監(jiān)測切換等功能。整套系統(tǒng)硬件終端使用NB-IoT模塊具有功耗低、成本低及現(xiàn)場部署簡單等優(yōu)勢;手機APP對機器人三維模型進行監(jiān)控和對多個機器人同時進行監(jiān)控切換具有可視化效果好、便捷的優(yōu)點,且該系統(tǒng)結構簡單易實施,非常適合各種機器人用戶對機器人的遠程監(jiān)控。