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