關(guān)鍵詞:冰壺機器人;Sysmac;運動控制;3D仿真
引言
冰壺運動起源于蘇格蘭,是一項技巧、智慧、個人和團體相結(jié)合、策略性較強的運動,距今已有500多年的歷史。我國開展這項活動的時間不長,但是近二十年時間取得了不少優(yōu)異的成績,2022年北京冬奧會為這項運動的進一步發(fā)展提供了良好的契機[1]。但是,還存在群眾認知度低、后備人才短缺、基礎(chǔ)建設(shè)落后等問題,人才的短缺是最緊迫的問題。為了一定程度上解決人才缺乏、社會認知度低、科學(xué)研究缺乏等問題,設(shè)計了一種基于Sysmac控制平臺的冰壺機器人,首先對冰壺機器人進行了動力學(xué)分析,初步研究了冰壺機器人控制程序及算法策略,最后進行了算法仿真調(diào)試,為進一步實現(xiàn)人機對戰(zhàn)、機機對戰(zhàn)做好前期工作。
1冰壺機器人運動學(xué)分析
1.1位置的正、反解
冰壺又稱為冰球,以最終場上冰球與圓心的距離遠近來計算分數(shù)高低,十分講究策略和智慧。本冰壺機器人平臺為了方便研究算法設(shè)計了一個如圖1的簡化的平臺,冰壺用模擬的圓柱體小球替代,對弈雙方可以是人-機,或者機-機,雙方根據(jù)視覺傳感器返回的小球的位置采用不同的策略進行對戰(zhàn)。如果要控制機械手運動,需要分析其運動學(xué)正解、反解。
1.2冰壺碰撞分析
冰壺擊打時兩球之間、球與球場之間會存在碰撞、反彈等物理運動,需要進一步分析。其中碰撞有完全彈性碰撞、完全非彈性碰撞和彈性碰撞三種,這里將模型簡化,默認冰壺之間的碰撞遵守動量守恒定律,則只存在完全彈性碰撞。如圖3所示,球111O(x%2Cy)速度為V,質(zhì)量為m1,球222O(x%2Cy)速度為U,質(zhì)量為m2,半徑均為r。在t時刻兩球碰撞,設(shè)兩球球心連線O1O2為tx軸,過兩球切點且垂直于tx軸的為ty軸,碰撞后球O1速度為V%27,球O2速度為%27U。
2Sysmac控制平臺設(shè)計%0D%0A%0D%0A2.1Sysmac控制平臺簡介
Sysmac控制平臺是歐姆龍公司新一代集運動控制、邏輯編譯、視覺分析為一體的自動化設(shè)計平臺,具有高速度、高精度和高可靠性等特點[4]。該平臺關(guān)注于自動化設(shè)備的一體化連接性能,由四部分組成,分別是集成順序邏輯、運動控制和網(wǎng)絡(luò)通信功能的機械自動化控制器NJ,整合運動、序列、驅(qū)動和視覺傳感、編程和仿真的Sysmac+studio軟件,實現(xiàn)運動、視覺等信號高速傳輸?shù)木W(wǎng)絡(luò)控制器EtherCAT,和可對整條生產(chǎn)線或者智能工廠實現(xiàn)控制協(xié)議的工業(yè)開放式網(wǎng)絡(luò)EtherNet%2FIP。
2.2運動軸組的建立
冰壺機器人通過左右兩個伺服電機來控制前端的平動盤沿著X-Y平面運動,這里采用Sysmac+studio軟件來實現(xiàn)伺服軸的配置。首先在運動控制設(shè)置里添加兩根并聯(lián)的伺服運動軸MC_Axis000和MC_Axis001,分別為機器人的左右電機,然后如圖5所示,分別進行基本參數(shù)設(shè)置、單位換算設(shè)置、軸操作設(shè)置等,最后將它們配置成的一個軸組MC_Group000。
2.3FB模塊設(shè)計
Sysmac平臺使用一個Sysmac+studio軟件即可對整個機械系統(tǒng)進行一體化編程,該軟件基于國際IEC61131-3標準,提供了包含程序、功能和功能塊的POU編程環(huán)境。不同于以往的梯形圖編程環(huán)境,這種豐富的編程方式可以使程序更加條理化、易讀易維護化,由于冰壺機器人需要輸入的參數(shù)比較多,設(shè)計了如圖6所示的FB功能塊,通過集成化的功能塊實現(xiàn)多數(shù)據(jù)輸入、多數(shù)據(jù)輸出,僅需一個軟元件即可啟動程序。通過該FB可對冰壺機器人控制系統(tǒng)的球的參數(shù)、球的位置、場地環(huán)境等進行設(shè)置,同時輸出目標位置和初速度等關(guān)鍵信息。
2.4仿真環(huán)境搭建
Sysmac+studio提供了完善的程序調(diào)試和仿真功能,支持運動模擬仿真,可以以2D或3D形式顯示跟蹤的數(shù)據(jù)和設(shè)備運動的軌跡。如圖7在“數(shù)據(jù)跟蹤設(shè)置--右鍵添加--單擊數(shù)據(jù)跟蹤”即可添加一個數(shù)據(jù)項目。如圖8所示即可進行跟蹤類型、采樣間隔、后觸發(fā)速度比率、觸發(fā)條件等設(shè)置,點擊加載3D模型可以加載冰壺機器人3D模型,而冰壺機器人可以簡化為一個正交機械手,之后進行運動仿真可以觀察各軸運動數(shù)據(jù)和仿真圖像。
3冰壺機器人程序設(shè)計及調(diào)試
3.1運動控制程序設(shè)計
冰壺機器人的控制程序主要是對Sysmac+stduio中配置的兩個軸進行運動控制,利用內(nèi)置的運動控制模塊MC(Motion+Control+Function+Module)以及梯形圖與ST語言相結(jié)合的方式實現(xiàn)[5]。首先使用MC_Power指令對各軸進行伺服鎖定,接著使用MC_Home指令將各軸回原點,最后啟用軸組指令MC_GroupEnable將MC_Group000設(shè)置為有效。
冰壺機器人兩軸組成的軸組可以調(diào)用內(nèi)置的直線插補指令MC_MoveLinear來實現(xiàn)平面坐標的位移,只需要輸入軸組、位置、速度、加速度等變量,其中位置、速度加速度參數(shù)可以由自編的ST算法語言計算得出。
3.2球場局勢檢測
冰壺機器人需要對場上敵我雙方球的數(shù)量和位置實時檢測,通常的做法是采用視覺傳感器捕捉場內(nèi)小球的球心坐標,本系統(tǒng)由于先期采用模擬仿真的方式開發(fā),故而場上的球均用系統(tǒng)內(nèi)部的虛擬運動軸組來替代,通過輸入相關(guān)坐標信息來仿真實際環(huán)境,驗證擊球算法。這里假設(shè)本方球最多有四個,對方最多也是四個,通過檢測球的X,Y坐標值是否在球場內(nèi)可以判斷場上是否有球,再統(tǒng)計場上本方和對方球的數(shù)量和位置可以進行球場局勢的判斷,為下一步擊打策略的實施做好數(shù)據(jù)統(tǒng)計。
3.3擊打策略的分析
經(jīng)過場上局勢檢測,獲得本方和對方球數(shù)量及位置分布數(shù)據(jù),冰壺機器人需要采取不同的策略進行擊打。如圖9所示,場上如果是有無球狀態(tài),機器人可以直接擊打至靶心占據(jù)分數(shù)最高位置,取得先發(fā)優(yōu)勢。如果場上只有一個對方球,可以直接將對方球擊打遠離靶心,本方球取代其位置,亦可取得領(lǐng)先。如果場上存在本方球和對方球各一個,若發(fā)球到靶心間無遮擋,則可以直接擊打至靶心,否則判斷本方球是否離靶心更近,若本方球近則只需擊打一個半徑大小的力即可,若對方更近則采用策略二方式或者策略四將本方球擊打至靶心。
3.4仿真調(diào)試
冰壺機器人控制系統(tǒng)搭建完畢即可輸入相關(guān)參數(shù)進行測試,通過不同的本方和對方球數(shù)量和位置可以驗證算法的可行性及擊打效果。這里選取本方球坐標為[108%2C360],對方球坐標為[-155%2C480],發(fā)球位置為[180%2C0],如圖10所示,系統(tǒng)啟動并且開啟仿真調(diào)試后,系統(tǒng)判斷對方球離靶心近,但是通往靶心的路徑又被本方球阻擋,則采取策略二的方式把對方球打遠。
4總結(jié)
本文分析了冰壺機器人運動學(xué)正解、反解以及碰撞的物理特性,建立了相關(guān)模型,基于先進的綜合性Sysmac平臺,利用Sysmac+studio設(shè)計了運動控制模塊,搭建了3D仿真仿真平臺。在仿真環(huán)境中研究了冰壺機器人控制算法,規(guī)劃了幾種擊打策略,為下一步研究智能控制算法奠定了基礎(chǔ)。
注:如果侵犯了您得權(quán)益,請告訴我們,我們會及時處理。
