本發明涉及機器人控制領域,尤其是一種機器人視覺控制系統。
背景技術:
隨著技術發展和生產需要,機器人被使用越來越廣泛。在現代生產過程中,機器人主要被運用于自動化生產線中,不僅可以實現不斷重復工作和勞動,不知疲勞,不怕危險,而且抓舉力量比人手力大,同時還可以減少人工作業,更全面實現機械自動化生產作業。
但是隨著在生產過程中使用,對于機器人的智能化程度要求越來越高,特別是在某些高危場合,不適合人工作業的時候,需要有機器視覺并能自動作業的智能機器人,操作員需要遠程監控。
例如公開號為CN103111535A,公開日為2013年5月22日的中國專利文獻《一種基于視覺系統的機器人柔性沖壓工件搬運系統》,公開了的視覺定位系統對置于所述定位平臺的所述沖壓件的位置進行拍照和坐標分析,且將最終的坐標數據傳送至所述機器人控制系統,所述機器人控制系統控制所述機械人手臂動作,以使所述夾具快速準確地夾取所述沖壓件至所述沖壓設備中進行沖壓,沖壓結束后,所述機器人控制系統控制所述機械人手臂動作,以使所述夾具夾取沖壓成型后的所述沖壓件至所述下料平臺,整個搬運過程借由所述搬運機器人完成,而實現搬運自動化。該方案采用視覺系統獲取工件的二維坐標位置,作為搬運系統的輸入,實現初步的智能化,但仍然沒有達到依靠機器視覺的自動作業能力。
再例如公開號為CN105583857A,公開日為2016年5月18日的中國專利文獻《一種機器人視覺系統》,公開的機器人視覺系統包括相機、機器人控制柜、機器人RC控制器、視覺處理器和交換機,所述機器人RC控制器、視覺處理器和交換機均設置于機器人控制柜中,所述相機及機器人RC控制器均通過交換機與視覺處理器網絡連接,但是采用的專用視覺處理器,不僅增加了成本,而且視覺處理器和機器人控制柜之間采用私有協議,無法兼容市場上第三方的機器人,兼容性較差。
技術實現要素:
本發明的目的是提供一種機器人視覺控制系統,在工控PC機上通過專門的視覺控制單元控制機器人進行作業,可以有效適應各個環境的遠程操控,從而更智能化。
本發明的技術方案如下:
一種機器人視覺控制系統,其特征在于:包括工業相機、工控機和PLC(可編程邏輯控制器)模塊,所述工業相機、工控機和PLC模塊通過以太網連接進行通信;
所述工控機設置有視覺控制單元,視覺控制單元通過以太網配置工業相機,周期性地從工業相機獲取當前工具頭末端的圖像,收到圖像后進行處理,實時獲取有用信息;根據獲取到的當前機器人的運動狀態和姿態,發送運動指令到PLC模塊,PLC模塊通過KUKA機器人控制柜控制機器人進行相應操作。
所述視覺控制單元至少包括:
圖像采集模塊,用于采集工業相機的圖像;
視覺算法模塊,用于把采集到的圖像信息、機器人位置姿態信息和傾角儀的傾角信息進行融合處理;
TCP/IP通信模塊,用于視覺控制單元的網絡通信,主要是處理和PLC和工業相機之間的以太網通信;
RS485通信模塊,用于從傾角儀獲取當前機器人手臂末端的傾角數據,用于視覺算法模塊進行融合處理;
機器人運動控制模塊,用于和PLC模塊進行網絡通信,然后根據自定義的協議,獲取當前機器人的位置、姿態和運動信息;同時在視覺算法模塊得到結果需要移動機器人的時候,通過運動控制模塊發送運動或者作業指令到PLC模塊,最終通過機器人控制柜,操縱機器人作業。
所述圖像采集模塊,主要包括工業相機驅動模塊、工業相機配置模塊和圖像獲取模塊;工業相機驅動模塊用于實現工控機與工業相機的通信連接;工業相機配置模塊,用于配置以太網相機的局域網IP地址、子網掩碼和網關等網絡參數;圖像獲取模塊用于配置工業相機的參數和抓取圖像幀,按照設定的參數配置工業相機之后,抓取一幀幀的圖像到內存中。
所述視覺控制單元還可以包括運行日志模塊,主要是記錄機器人視覺控制軟件的運行記錄以及機器人的位置、姿態和運動信息供維護保養人員運行保障和故障診斷。
所述機器人視覺控制系統的工作主要過程是:通過采集機器人末端工具頭上工業相機的圖像,在工控機上進行處理,同時通過PLC模塊獲取當前機器人的運動狀態以及姿態。工控機通過控制協議,發送運動控制指令到PLC模塊,PLC模塊控制KUKA機器人運動到預先設定的位置、姿態或者進行對應的操作。
本發明的有益效果如下:
本發明通過將視覺控制單元與機器人控制柜分離開來,應用較為方便,可以兼容目前市場上大部分的工業機械人,在產品實施過程中,靈活性和經濟性具有較大優勢;同時視覺控制單元運行于工控機上,不用采購專用的視覺處理器,有利于降低成本,系統可靠性也有保證。
附圖說明
圖1為本發明的架構示意圖;
圖2為本發明的控制流程示意圖。
具體實施方式
如圖1所示,一種機器人視覺控制系統,包括工業相機、工控機和PLC模塊,所述工業相機、工控機和PLC模塊通過以太網連接進行通信;
所述工控機設置有視覺控制單元,通過周期性地從工業相機獲取當前工具頭末端的圖像,收到圖像后進行處理,實時獲取有用信息;根據獲取到的當前機器人的運動狀態和姿態,發送運動指令到PLC模塊,PLC模塊通過KUKA機器人控制柜控制機器人進行相應操作。
該視覺控制系統的具體硬件包括:兩臺千兆以太網工業相機、雙軸傾角傳感器、具有三個以上千兆以太網接口的x86工控機、PLC模塊、KUKA機器人控制柜和KUKA機器人。工業相機固定安裝于KUKA機器人的手臂末端,PLC模塊與KUKA機器人控制柜通過ProfibusDP連接,PLC模塊、工業相機和X86工控機都通過以太網連接到同一個千兆交換機上,處于同一個局域網中。X86工控機運行機器人視覺控制軟件。雙軸傾角傳感器也安裝于機器人手臂末端,通過RS485連接到工控機上。
所述工業相機,采用Basler acA1600-20gc GigE千兆以太網相機,相機配有 Sony ICX274 CCD 感光芯片,每秒 20 幀圖像,200 萬像素分辨率并且提供不同平臺下開發包,適合進行二次開發,深度集成到機器人視覺控制單元中。
所述X86工控機,采用工業PC不僅可以適應惡劣的工況,而且長時間作業的可靠性高。X86工控機安裝有Windows操作系統,主要運行機器人視覺控制軟件,并且具有兩個監視器,可以觀察兩個工業相機的情況以及當前機器人的運動控制狀態。
所述視覺控制單元至少包括圖像采集模塊、視覺算法模塊、TCP/IP通信模塊、RS485通信模塊和機器人運動控制模塊。
所述圖像采集模塊,用于采集工業相機的圖像。
所述視覺算法模塊,主要是把從圖像采集模塊、機器人運動控制模塊和RS485模塊采集到的圖像信息、機器人位置姿態信息和傾角儀的傾角信息進行融合處理。
所述TCP/IP通信模塊,用于視覺控制單元的網絡通信,主要是處理和PLC和工業相機之間的以太網通信。
所述RS485通信模塊,用于從雙軸傾角傳感器獲取當前機器人手臂末端的傾角數據,用于視覺算法模塊進行融合處理。
所述機器人運動控制模塊,用于和PLC模塊進行網絡通信,然后根據自定義的協議,獲取當前機器人的位置、姿態和運動信息;同時在視覺算法模塊得到結果需要移動機器人的時候,通過運動控制模塊發送運動或者作業指令到PLC模塊,最終通過機器人控制柜,操縱機器人作業。
所述視覺控制單元還可以包括運行日志模塊,主要是用于記錄機器人視覺控制軟件的運行記錄以及機器人的位置、姿態和運動信息供維護保養人員運行保障和故障診斷。
所述圖像采集模塊,主要包括工業相機驅動模塊、工業相機配置模塊和圖像獲取模塊。所述工業相機驅動模塊,集成Basler acA1600-20gc GigE千兆以太網相機驅動程序,用于實現工控機與工業相機的通信連接。所述工業相機配置模塊,配置以太網相機的局域網IP地址、子網掩碼和網關等網絡參數。所述圖像獲取模塊相機參數配置和圖像幀抓取,按照設定的參數配置相機之后,抓取一幀幀的圖像到內存中。
如圖2所示,為本發明實施工作的流程之一。
當機器人視覺控制系統啟動之后,首先從工業相機上獲取圖像信息,判斷目前的十字標志和工具擱架的輔助對準標識是否重合,同時獲取傾角儀的角度信息,判斷當前機械手末端快換工具頭在XY方向的角度。獲取當前機器人手臂位姿信息,發送運動指令到PLC,控制機器人手臂運動到XY方向成零角度(水平方向)。發送運動指令到PLC,控制機器人手臂工業相機圖像中心和工具頭擱架的輔助對準標識十字標志重合,判斷方式是通過圖像處理鏡像目標識別,使工業相機中心完成對準完成后,發送裝載或者卸放指令,進行工具頭的安裝和卸放作業。
步驟如下:
1、獲取圖像信息。Basler acA1600-20gc GigE千兆以太網相機帶有SDK開發包,使用其SDK,在工控機運行Window系統上開發.NET程序,調用固定的API就可以獲取到相機的圖像,等待后續處理。
2、獲取機械手當前姿態,判斷是否限位。獲取傾角儀角度信息,如果其XY方向不是零角度,工控機之上的視覺控制單元發送運動指令到PLC,其控制指令定義如表1和表2所示。控制PLC移動機械手,在移動過程中,不斷檢測傾角信息,如果為零之后,停止移動機械手。
視覺控制單元發送的運動指令定義如下:
表1 六軸機械臂運動控制協議字段劃分
表2 六軸機械臂運動控制協議字段定義
3、在當前圖像的中心使用GDI繪制十字標志,采用Canny邊緣檢測算子和霍夫變換,獲取輔助對準標識十字的位置。對比十字標志和輔助標識的位置,獲取其偏移角度,如果角度不為零,則發送指令轉動機械手末端的Torque_A6軸,使十字標志和輔助對準標識完全對齊。
4、發送運動指令,在Z軸方向進行移動,把工具條放置回擱架或者裝載擱架上的工具條。