劉昕鑫,范道林
(中國水利水電第七工程局有限公司,四川成都610213)
近幾年國內對群塔作業(yè)防碰撞技術的研究已經越來越重視,但防碰撞系統(tǒng)或裝置還未能得到普遍應用[1]。隨著各類新興技術的發(fā)展和成熟,在算法設計、硬件技術等方面,仍有一定的研究和進步空間[2-3]。
在算法設計方面,分析國內各機構和公司的研究進程發(fā)現:有的僅關注于幅度限位、高度限位和角度限位等簡單功能集成,防碰撞算法處理較為單一,難以全面、準確地預測碰撞危險;有的側重于區(qū)域限制計算,無法滿足像在水電站大壩施工環(huán)境下不同類型塔機交叉作業(yè)的需要[3];有的算法設計過于復雜,未考慮到實際工程應用的可行性;還有的存在對不同型號塔機的推廣應用兼容性不足的問題。并且,國內市場應用案例很少,現有技術方法大多沒有經過實地檢驗和調試,研究尚停留在初步理論階段。
瓦托水電站工程轉入混凝土大壩澆筑工序后,由于施工場地狹小,工期緊張,工作強度、難度都較高。現場先后安裝了2臺平臂式塔機和1臺動臂式塔機。3臺設備的活動區(qū)域在施工現場互有交錯,設備運行過程中交叉施工干擾極大,安全隱患突出。結合該電站施工現場的實際情況,本文將從系統(tǒng)實用性、可靠性以及系統(tǒng)開發(fā)時限等出發(fā),擬設計一種更精簡、易推廣的算法。
圖1 系統(tǒng)分布式構架示意
目前,分布式構架越來越受到計算機工業(yè)界的青睞。分布式系統(tǒng)是一個硬件或軟件組件分布在不同的網絡計算機上,彼此之間僅通過消息傳遞進行通信和協調的系統(tǒng)[4]。由于瓦托水電站施工現場目前僅涵蓋3臺用于混凝土澆筑的塔機,且屬于塔身底座固定的類型,無需通過GPS技術進行大范圍位置定位,因此為了降低系統(tǒng)硬件要求,易于實現模塊化,將分布式構架的概念應用于碰撞預警系統(tǒng)中。本課題開發(fā)的分布式系統(tǒng)特點如下:
(1)取消作為中心節(jié)點的基站,實現設備間依靠無線網絡的協同互聯。
(2)計劃在系統(tǒng)中所有設備的司機室均配備1臺平板電腦作為控制主機,各設備根據自身需要來獲取信息,僅進行與自身相關的防碰撞計算,信息傳輸量和計算量得到降低,對硬件配置要求也降低。
(3)在分布式構架之下,各施工設備上的軟硬件配置和功能基本相同,易實現模塊化,從而便于系統(tǒng)中施工設備數量的增加等后續(xù)功能擴展或向同類推廣,適應性強。
碰撞預警系統(tǒng)的分布式構架體系見圖1,系統(tǒng)涵蓋的每臺塔機上都形成一個完整而獨立的模塊,各模塊之間借助無線網絡進行信息互聯。每臺塔機上均以控制主機為中心,配備有為自身碰撞預測服務的信息采集、傳輸和處理設備。同時均編制有功能完備的碰撞預警軟件,軟件后臺進行碰撞預警計算等,前端界面實現現場運動模擬、信息警示等功能。
根據塔機群作業(yè)的設備特點和環(huán)境特點可分析出如下幾點:
無論是平臂塔機,還是動臂塔機,其運動狀態(tài)均由回轉、變幅和起升3個方向的復合運動組成。其中,由于回轉運動慣性較大、發(fā)生較頻繁、運動路徑范圍廣,相較之下最易遭遇碰撞事故,因此應當將回轉運動作為主運動形式來進行碰撞預警。
塔機作業(yè)回轉速度一般不超過5°/s,在狹小場地和緊張工期的前提下,塔機之間常常近距離作業(yè),如果過早報警或者漏報誤報都會影響工作效率或造成損害。因而,碰撞預警系統(tǒng)需要預測未來多長時間后發(fā)生碰撞,制定合理的提前警報時間,并根據時間的長短區(qū)分警報級別[2]。
分布式構架之下,各塔機只考慮自身是否會撞到對方,因此當自身塔機產生運動時(包括回轉、變幅和起升三方面運動),才開始相應碰撞預警計算,避免自身與外部碰撞即可。即對每臺塔機來說,當需要自己主動避讓時,才對自身構成碰撞警報。
由上述分析可知,為了便于防碰撞算法編寫、提高預測精度,首先需對碰撞預警規(guī)則進行定義,包括各方向運動速度和運動范圍確定、最小安全距離定義、主運動形式確定、制動回轉角度估算、各級警示范圍的確定等內容。
碰撞預警算法針對的對象主要是大壩施工現場的3臺塔機。俯視角度觀察,瓦托水電站施工現場的3臺塔機的平面布置如圖2a所示。圖上左側、右側均為平臂式塔機,左右兩個直徑較大的圓圈代表其工作覆蓋范圍;中間是動臂式塔機,中間直徑較小的圓圈代表其工作覆蓋范圍。下文以左側、右側、中間塔機的簡稱指代3臺設備。塔機布置剖視圖如圖2b所示。
圖2 塔機布置
施工設備的三維形體復雜,但可看作多個簡單形體的組合。就本系統(tǒng)中塔機而言,根據其運動狀態(tài),可將其整體解析為固定不動的塔身部分以及發(fā)生運動的起重臂、平衡臂、懸吊重物的鋼絲繩這幾部分,然后就能將不同設備間的碰撞問題轉化為設備不同部件間的碰撞問題。再結合已知的現場位置信息和塔機外形參數信息,遍歷可得到部件間所有可能的碰撞現象,如在本系統(tǒng)中設備部件間存在26種可能發(fā)生的碰撞情況。如此避免了對三維復雜形體的直接處理,降低了算法難度,同時也保證了預測精度。
針對分解后的塔機部件間的碰撞現象,由于部件形狀規(guī)則,對其進行縮維處理,即在進行高度輔助判斷之后,將三維形體間的碰撞問題投影至俯視圖,例如起重臂投影為一條線、鋼絲繩投影為一個點、塔身外輪廓投影為圓形或方形,碰撞問題簡化為平面上點線之間距離的研究,進一步降低了算法難度。
此時算法繁瑣程度仍然較高,結合碰撞現象的實質以及“主動設備避讓原則”,對所有碰撞情況進行共性化處理,提取出了點碰線、線碰點、點碰固定障礙物、線碰固定障礙物4個核心計算函數,本系統(tǒng)中26種碰撞現象在經過角度映射等處理后均可歸類到以上4個本質計算函數中去。
綜上,經過部件分解、樹的遍歷、三維向二維縮維、共性化處理等步驟,算法變得精簡易推廣[5]。
以左側塔機為例,左側塔機在進行防碰撞計算時,與其相關的碰撞現象共有6種,每一輪計算中它僅對這6種情況的碰撞可能性依次進行篩查判斷,調用對應的本質計算函數,一輪計算過后保留最高警示級別輸出。
在這里另外明確一個主動設備和被動設備的概念,左側塔機進行自身碰撞危險預測時,將左側塔機稱作主動設備,將有可能被它碰撞的外部物體稱作被動設備。
同理,中間塔機作為主動設備進行防碰撞計算時,需要考察的碰撞現象共有10種;右側塔機作為主動設備進行防碰撞計算時,需要考察的碰撞現象共有10種。
根據算法設計思路,對某種具體的碰撞現象的分析過程進行說明。
以右側塔機起重臂碰撞左側塔機鋼絲繩為例,此時右側塔機是主動設備,左側塔機是有可能被右側塔機碰撞的被動設備。右側塔機的起重臂,垂直投影后可簡化為一條一端固定、另一端軌跡是圓的線段;左側塔機鋼絲繩垂直投影后則簡化為一個點,點存在于一圓形軌跡上。此時碰撞問題實質是某一高度的水平面上移動的線和點是否會相撞的問題。
結合施工現場的實際情況,線碰點在投影平面的軌跡如圖3所示,共有4種情形。此處右側設備是主動設備,左側設備是被動設備。因所有塔機底座固定,兩塔機的塔身中心軸距離為L,L為可知常量;左側設備經過變幅后鋼絲繩所在的豎直軸線與塔身中心軸之間的距離為R1,即投影平面上鋼絲繩的運行軌跡是個半徑為R1的圓;右側設備起重臂投影后對應線段的長度為R2,投影平面上起重臂回轉時掃過一個半徑為R2的圓形面。
如圖3所示,由于現實中L、R1、R2之間的關系會有不同,導致潛在碰撞點及計算方法不同,分為4種情形:①R1+L 圖3 線碰點4種情形示意 圖5 線碰點情形4(兩設備軌跡有交點)危險范圍示意 (1)情形1,當R1+L 圖4 線碰點R1+L (2)情形2,當R1>L+R2,意味著右側設備回轉運動掃過的范圍極小,無潛在碰撞點。 (3)情形3,當R1+R2 (4)情形4,其他,即包括兩個圓形軌跡有交點的所有情形。如圖5a所示,此時潛在碰撞點無法直接確定。假設左側設備(被動設備)的碰撞部件(鋼絲繩)在所預測時刻的所處回轉角度為β,β為0°到360°間任意一值,假設兩設備圓形軌跡有兩個交點A、B(包含只有一個交點的情況,看作A、B點重合),A點對應角度為β1(β1≤180°),B點對應角度360°-β1,β2代表安全裕度(10°)。根據被動設備所處位置的不同(β不同),對主動設備而言,潛在碰撞點不同。 在線碰點的情形4中:若β1+β2<β<360-β1-β2,無潛在碰撞點;若β1<β<β1+β2,潛在碰撞點為A(見圖5b);若360-β1-β2<β<360-β1,潛在碰撞點為B(見圖5c));若β<β1或β>360-β1,潛在碰撞點為C(線與點的圓形軌跡的切點)(見圖5d)。得出潛在碰撞點后,再確定危險范圍。 需要注意的是,潛在碰撞點并不代表真實碰撞點,找到潛在碰撞點是為了確定危險范圍。碰撞預警的目的是,在近距離作業(yè)時提醒設備操作人員提高警惕,只要主動設備離外部物體距離過小就應該發(fā)出碰撞警報,所以允許存在設備進入預警范圍后經過一段時間正常運行又自己走出預警范圍的情況。 總結線碰點計算方法如下: (1)右側設備為主動設備,其碰撞部件經過縮維處理,可簡化為一條線。 (2)左側設備為被動設備,其碰撞部件經過縮維處理,可簡化為一個點。 (3)算法輸入參數。①兩設備底座中心位置及設備高度等外形輪廓;②左側設備(被動設備)回轉角度、變幅位置和起升高度;③右側設備(主動設備)回轉角度、變幅位置和起升高度;④右側設備(主動設備)目前警示級別;⑤右側設備(主動設備)正常制動需預留的回轉角度;⑥右側設備(主動設備)緊急制動需預留的回轉角度。 (4)具體計算思路。根據被動設備部件的位置、運動方向等,結合主動設備自身的運動軌跡進行分類討論,確定潛在碰撞點,再根據潛在碰撞點的位置以及主動設備的位置、運動方向等判斷出危險范圍。 (5)該防碰撞算法既可以判斷當前是否存在碰撞危險,也可以用于預測10 s/4 s/2 s后是否存在碰撞危險,即算法的輸入變量中,無論被動設備或主動設備,其回轉角度、變幅位置和起重高度等運動信息,既可以是當前的參數,也可以是10 s/4 s/2 s后的預測值。 (6)首先判斷設備當前狀態(tài)是否已處于潛在碰撞點對應的危險范圍內,若處于,發(fā)出一級警示。設備運行一旦進入預測出的10 s后危險范圍邊界,發(fā)出三級警示;設備一旦進入預測出的4 s后危險范圍邊界,發(fā)出二級警示;設備運行一旦進入預測出的2 s后危險范圍邊界,發(fā)出一級警示。對所有狀態(tài)進行判斷后,保留最高級別警示輸出。 要使得上述方法能有效適用于所有線碰點一類的現象,需要注意一下幾點: (1)所有回轉角度,根據碰撞預警規(guī)則,應及時處理保持在0°到360°,使得數據整齊,便于比較和計算。 (2)碰撞部件縮維后是“線”的情況下,一般需要縮維后的線段長度作為算法的輸入參數。當設備為平臂式塔機時,此參數的值為起重臂的全長;設備為動臂式塔機時,為起重臂全長與其變幅傾角余弦值的乘積。 (3)對于平臂式塔機起重臂和動臂式塔機起重臂之間的碰撞現象,由于動臂式塔機的起重臂有斜度,因此它的起重臂上只有與平臂式塔機起重臂等高的那一點才可能遭遇碰撞。即在這種情況下,動臂式塔機的碰撞部件——起重臂,其在縮維后可簡化為一個點,所以這類碰撞現象本質的研究對象也是點和線。這一點對應的變幅位置、起升高度、回轉角度才應作為算法的輸入參數。 (4)碰撞現象里主動和被動設備左右位置互換時的調用方法——做映射處理。首先,所有回轉角度α的映射,若α≤180°,令α=180°-α;否則,令α=540°-α。第二,所有回轉角速度的映射,數值不變,回轉方向相反。最后,變幅運動和起升運動無映射變化。(例如“中間塔機起重臂碰撞右側塔機鋼絲繩”之類,本質是線碰點,只不過主動設備在左側、被動設備在右側,意味著此時兩設備的運行軌跡和危險范圍示意圖應當關于平面上的豎直軸線作對稱處理,但實質以及解算步驟完全一致。) (5)對于碰撞部件涉及到平衡臂的碰撞現象,在算法輸入參數里,將起重臂長度和回轉角度位置更換為平衡臂的對應數值即可。 同理,可以總結得出另外3個本質碰撞情況——點碰線、點碰固定障礙物、線碰固定障礙物的計算方法。 算法初步設計完成后,編制了一個單機測試版軟件,用以檢驗算法設計是否合理、編寫是否正確。軟件通過編譯工具Visual Studio使用C#語言編寫。 單機測試版軟件中,施工現場設備位置、塔機外形參數等固定信息與實際情況保持一致,塔機運動參數,即回轉角度、起升高度、變幅長度等可由用戶通過UI界面設置。用戶可指定主動設備并設定塔機不同的運動狀態(tài),以此來檢驗算法設計是否全面有效。檢驗發(fā)現:①無論主動設備是哪一臺塔機,均可以調用相應算法、識別出危險情況且提前報警。②從界面中部觀察現場模擬運行畫面,當作為主動設備的塔機有碰撞危險時,界面右側表示相應塔機危險狀態(tài)的警示燈會提前由綠轉紅,同時界面左上角通過文字提示危險碰撞現象和警報級別。③隨著碰撞部件由遠及近運動,從初始的無警報逐次變?yōu)?級/2級/1級警報,并發(fā)出警報聲。在此過程中,當出現塔機運動狀態(tài)改變或錯過碰撞位置,即碰撞危險解除時,警報能夠自動停止。 (1)塔機群碰撞預警系統(tǒng)采用了分布式系統(tǒng)構架,各塔機之間獨立進行碰撞危險的計算,通過網絡協同互聯,降低了對硬件設備的性能要求,實現了模塊化,有利于系統(tǒng)的拓展和推廣。 (2)基于分布式系統(tǒng)構架制定了碰撞預警規(guī)則,然后設計了一種碰撞預警算法:將塔機分解為簡單形體的組合,通過遍歷歸納出部件間所有可能的碰撞現象,對碰撞現象合理縮維,再進行共性化處理,提取出4個核心計算函數。實現了算法的簡化,同時仍保障了結果的精確度。 (3)編制了一個單機測試版軟件檢驗所設計的算法,檢驗發(fā)現,對不同設備不同部件間的碰撞危險均可以有效識別,預判和警示功能都得到較好的實現,充分說明設計的算法是合理的,可以滿足使用需求。3.2 線碰點計算方法總結
4 算法驗證
5 結 論