機器人遙操作虛擬在軌維護訓練系統(tǒng)
背景技術:
虛擬夾具是遙操作領域中一個很重要的輔助手段,特別是控制機械臂在虛擬場景中運動的時候,虛擬夾具可以限制機械臂的運動空間,并利用一定的虛擬夾具的引導算法來導引機械臂手部的運動,從而幫助操作者控制機器人能夠更好更快的完成任務,提高工作效率。虛擬夾具在基于虛擬場景的機器人遙操作系統(tǒng)已經得到了較好的應用和發(fā)展。然而傳統(tǒng)的虛擬夾具存在諸多的弊端:不能根據環(huán)境變化調節(jié)虛擬夾具結構,不同的環(huán)境下需要更換虛擬夾具。
雖然虛擬夾具具有各種各樣的形態(tài),但是其最終目的都是為了能讓目標執(zhí)行器能夠在虛擬夾具內部的安全范圍內運動,將機械臂末端在靠近目的地的過程中,避免其穿出虛擬夾具從而和外部環(huán)境發(fā)生碰撞,這樣可以很好地保護機械臂。本文提出了自適應虛擬夾具的方法,具有根據環(huán)境變化動態(tài)調整虛擬夾具的功能。可以不需要對虛擬夾具進行建模,而是當外界變化的時候,可以自適應的調整夾具的形態(tài),來調整機械臂的運動策略。
技術實現要素:
本發(fā)明的目的是通過一定的策略選擇合適形狀的虛擬夾具和復雜情況下虛擬管道狀虛擬夾具的構建過程。
本發(fā)明采用如下的技術方案:構建具有力反饋的OSG虛擬仿真環(huán)境,通過力反饋設備控制機械臂末端運動,給定機械臂末端的起始點和目標點,要讓機械臂從起始點運動到目標點,先通過OSG碰撞檢測庫的射線穿透的方法,判斷兩點之間是否存在障礙物,若不存在則建立簡單形狀如圓柱體的虛擬夾具,否則通過射線穿透方法確定出障礙物的尺寸,然后在障礙物的周圍確定出一個一系列安全關鍵點,然后只需要構建起始點到關鍵點、關鍵點之間和關鍵點到目標點的虛擬管道即可。
本發(fā)明的優(yōu)點有:
本發(fā)明虛擬夾具的形狀可以自適應環(huán)境的變化,環(huán)境簡單則建立簡約夾具,環(huán)境復雜就建立管道夾具,并且復雜情況下能夠確定出一條安全且較短的路徑,相比傳統(tǒng)單一的虛擬夾具方法,大大提高了虛擬夾具的構建效率和操作效率。
附圖說明
圖1是虛擬夾具選擇策略圖
圖2虛擬管道空間位姿確定算法流程圖
圖3是未知復雜環(huán)境的虛擬管道位姿確定圖
具體實施方式
射線檢測技術是本專利需要使用的檢測技術。OSG三維引擎庫里面提供了osgUtil工具類,它可以判斷一條射線是否和物體相交,若相交的情況下能夠提供相交點準確位置信息。虛擬場景中的射線是碰撞檢測相交測試的基礎,然而線段又提供了一種定義射線的方法,當相交發(fā)生的時候,可以通過檢測線段的相交情況來檢測射線相交并且執(zhí)行響應的操作。osgUtil交點類提供了射線或者線段與場景中的三維模型相交的信息,即具體的碰撞點的世界坐標下的位置坐標和碰撞的法線方向。通過給定起始點和終點,建立它們之間的射線即可判斷該射線對應的線段之間是否存在其他的模型。
在OSG中射線檢測方法具體實現如下:(1)建立起點和終點之間的射線,PointA和PointB分別表示起點和終點,即osg::ref_ptr<osg::LineSegment>line=newosg::LineSegment(pointA,pointB);(2)將射線加入到相交遍歷器中,即osgUtil::IntersectVisitor ivMul;ivMul.addLineSegment(line);(3)判斷射線是否與模型相交,即如果ivMul.hits()返回true則相交,否則不相交;(4)如果相交,求出第一個碰撞點,由ivMul.getHitList(line)可以得到與模型的一系列碰撞點的迭代的集合,然后遍歷迭代器即可求得所有的碰撞點的信息,即osgUtil::IntersectVisitor::HitList::iterator it,point=it->getWorldIntersectPoint();求出每個點和起始點A的距離,然后將距離最短的點作為第一個碰撞點即圖2中的P點輸出。
每次虛擬物體在起始點向目標點靠近的過程中,可以通過某射線檢測技術判斷是否有障礙物體。如果它們之間沒有其他的障礙物,證明物體在運動的過程中不會發(fā)生和其他的物體的碰撞,因此選用簡單的圓柱體即可,其中圓柱體的兩端分別為起始點和目標點,這樣便可以快速引導物體運動到目標點,因為圓柱體比較單一、相對簡單,所以虛擬夾具的算法復雜度比較低,性能也互相對提高。如果射線和其他的障礙物模型發(fā)生相交,證明環(huán)境中起始點和目標點之間存在一定的障礙物,這種情況,本文選用管道虛擬夾具,繞過障礙物,輔助物體到達目標點。其選擇策略如圖1所示。
對于沒有障礙物的簡單環(huán)境情況下,圓柱體狀的虛擬夾具便可以快速幫助操作者將物體移動到目標點,其圓柱體的兩端對應著起始點和目標點即可。對于復雜環(huán)境下分析虛擬管道的構建過程,具體虛擬管道空間位姿確定策略流程如圖2所示。
未知環(huán)境虛擬管道確定示意圖如圖3所示,這里A表示目標物體的起始點,B表示物體的目標點。在虛擬場景中,操作者意圖通過手控設備控制機械臂末端直接從A運動到B,通過形狀選擇的步驟可以通過射線穿透法發(fā)現AB射線之間存在相交的模型,即為障礙物。并且很容易確定射線和障礙物的相交點P的位置,由圖3所示,確定出一系列的關鍵點P1、P2、P3…Pn,然后將虛擬管道AP1,P1P2,P2P3…PnB的管道拼接起來即可完成整個虛擬管道的構建。
對于每個關鍵點的確定,根據算法流程,可知是確定出此時障礙物,上側、左側,右側、下側的關鍵點P1,P11,P12,P13,其中P1和P13點在直線AB和z軸組成的平面上,P11和P12為過P點且垂直于上述平面的的平面上。然后比較∠PAP1、∠PAP11、∠PAP12和∠PAP13的大小,將最小的角度對應的點作為關鍵點。下面介紹P1點的具體求解方法,
假設A(x1,y1,z1),B(x2,y2,z2),通過射線AB和障礙物,可求得與障礙物相交點P(x3,y3,z3)。由于ABP1平面是平行于Z軸的,則平面ABP1的法向量如式(1)
垂直于AB射線的并且過B的向量為:
在圖3中,B1、B2、B3、B4等點是在向量方向上距離B點10單位、20單位、30單位、40單位成等差數列的距離。已知B點和很容易可以求得B1、B2、B3、B4…Bn等的點坐標。此時,依次求得射線AB1、AB2、AB3、AB4、...ABn,計算是否與障礙物相交,直到當n=k時,射線不再與障礙物相交。如圖3所示的情況下,n=4時,ABn不再與障礙物相交,在兩個三角形ABB4和APP1中,由三角形相似性得到
考慮到虛擬管道的有一定的寬度,因此設置P1點在此基礎上再偏移一定的閾值e,即滿足
PP1=PP1+e (4)
根據P點坐標、PP1距離即可求得P1點坐標。
P11,P12和P13的求解類似方法和P1類似,將這四個點比較得到對應的點作為第一個關鍵點,將其設為P1,已知P1關鍵點位置,檢測該關鍵點和目標點之間是否有障礙物,如果是,確定下一個關鍵點P2,其求解方法和求解P1方法相似,將P1點作為A點,使用遞歸的方法求解即可,否則退出遞歸即可。這樣便可以確定出所有的關鍵點P1、P2…Pn。然后構建A、P1、P2…Pn、B相鄰點構成的管道,拼接起來即可完成虛擬管道的空間位置確定。自此自適應虛擬夾具的形狀選擇空間位置均可以確定下來。