国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      機械臂運動路徑生成方法和系統(tǒng)與流程

      文檔序號:12050445閱讀:750來源:國知局
      機械臂運動路徑生成方法和系統(tǒng)與流程

      本發(fā)明涉及自動化控制技術領域,特別是涉及一種機械臂運動路徑生成方法和系統(tǒng)。



      背景技術:

      如圖1所示,在機械臂運動空間中存在周邊設備及機械臂自身機座等障礙物,當控制機械臂從A點運動到B點時,需要對機械臂的運動路徑進行規(guī)劃,使機械臂要在運動過程中不與障礙物發(fā)生碰撞。

      傳統(tǒng)的機械臂路徑規(guī)劃方式主要使用人工示教中間點法,如下圖2所示,即在機器人運動軌跡中分別手工示教點T1、T2、T3等機械臂運行的中間點,以在從起點A到達終點B的過程中避開障礙物。此種方式需要手工示教各個軌跡中間點,更換機械臂后要重新示教每個中間點,路徑生成效率低。



      技術實現要素:

      基于此,有必要針對路徑生成效率低的問題,提供一種機械臂運動路徑生成方法和系統(tǒng)。

      一種機械臂運動路徑生成方法,包括以下步驟:

      獲取機械臂周圍的障礙物的分布位置,根據所述分布位置計算機械臂運動的安全半徑,根據所述安全半徑和機械臂的工具爪的尺寸計算機械臂的實際工作半徑;

      根據所述工具爪的起始位置和所述實際工作半徑計算機械臂運動的第一中間點位置,根據所述工具爪的目標位置和所述實際工作半徑計算機械臂運動的第二中間點位置;

      若所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      一種機械臂運動路徑生成系統(tǒng),包括:

      第一計算模塊,用于獲取機械臂周圍的障礙物的分布位置,根據所述分布位置計算機械臂運動的安全半徑,根據所述安全半徑和機械臂的工具爪的尺寸計算機械臂的實際工作半徑;

      第二計算模塊,用于根據所述工具爪的起始位置和所述實際工作半徑計算機械臂運動的第一中間點位置,根據所述工具爪的目標位置和所述實際工作半徑計算機械臂運動的第二中間點位置;

      第一生成模塊,用于若所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      上述機械臂運動路徑生成方法和系統(tǒng),根據障礙物的分布位置計算機械臂運動的安全半徑,根據所述安全半徑和機械臂的工具爪的尺寸計算機械臂的實際工作半徑,根據所述工具爪的起始位置和所述實際工作半徑計算機械臂運動的第一中間點位置,根據所述工具爪的目標位置和所述實際工作半徑計算機械臂運動的第二中間點位置,并自動生成機械臂的運動路徑,當障礙物分布改變時,只需輸入更改后的障礙物的分布位置即可自動生成新的機械臂運動路徑,無需人工示教各個軌跡中間點,規(guī)劃效率高。

      附圖說明

      圖1為一個實施例的機械臂及障礙物分布示意圖;

      圖2為一個實施例的人工示教運動路徑中間點的示意圖;

      圖3為一個實施例的機械臂運動路徑生成方法流程圖;

      圖4為一個實施例的安全半徑與實際工作半徑示意圖;

      圖5為一個實施例的中間點和換手區(qū)域示意圖;

      圖6為第一實施例的機械臂運動路徑示意圖;

      圖7為第二實施例的機械臂運動路徑示意圖;

      圖8為一個實施例的機械臂運動路徑生成系統(tǒng)的結構示意圖。

      具體實施方式

      下面結合附圖對本發(fā)明的技術方案進行說明。

      如圖1所示,本發(fā)明提供一種機械臂運動路徑生成方法,可包括以下步驟:

      S1,獲取機械臂周圍的障礙物的分布位置,根據所述分布位置計算機械臂運動的安全半徑,根據所述安全半徑和機械臂的工具爪的尺寸計算機械臂的實際工作半徑;

      在一個實施例中,可以建立機械臂及障礙物分布的坐標系,優(yōu)選地,所述坐標系為三維坐標系。所述三維坐標系可以將機械臂底座的中心點設為原點,將水平面上兩個相互垂直的方向設為x軸和y軸,將豎直方向設為z軸。通過建立坐標系,可以更加方便地對機械臂位置及障礙物分布進行描述。在所述三維坐標系下,所述障礙物的分布位置可以用坐標的形式表示出來,例如,可以建立一個坐標集合,該坐標集合中可以包括多個坐標值,每個坐標值代表一個障礙物的位置分布,該坐標值可表示為(x,y,z)的形式。為了便于區(qū)分各個障礙物,還可以將各個障礙物進行編號,并將障礙物的坐標值與對應編號進行綁定。

      所述安全半徑與實際工作半徑如圖4所示。圖中,Rmax和Rmin分別表示安全半徑的最大值和最小值,WRmax和WRmin分別表示實際工作半徑的最大值和最小值,A和B分別表示起始位置和目標位置。所述安全半徑的最大值可以根據障礙物分布來計算,可根據障礙物的分布位置獲取機械臂周圍的障礙物與機械臂底座的中心點之間的距離,根據所述距離的最小值計算機械臂運動的安全半徑。在一個實施例中,可以將所述距離的最小值rmin設為所述安全半徑的最大值,在另一個實施例中,也可以將一個小于rmin的數值設為所述安全半徑的最大值。所述安全半徑的最小值可以根據機械臂底座的尺寸來計算。在一個實施例中,可以將所述機械臂底座各點與機械臂底座中心點的距離的最大值rmax設為所述安全半徑的最小值,在另一個實施例中,也可以將一個大于rmax的數值設為所述安全半徑的最小值。由于機械臂的工具爪有一定尺寸,因此,機械臂的實際工作半徑可根據以下方式計算:

      WRmax=Rmax-d;

      WRmin=Rmin+d;

      其中,d為所述機械臂的工具爪的尺寸。

      S2,根據所述工具爪的起始位置和所述實際工作半徑計算機械臂運動的第一中間點位置,根據所述工具爪的目標位置和所述實際工作半徑計算機械臂運動的第二中間點位置;

      在一個實施例中,計算機械臂運動的第一中間點位置時,可以獲取第一直線與所述實際工作半徑對應的圓形區(qū)域的第一交點;其中,所述第一直線是所述起始位置與所述機械臂的底座的中心點所連成的直線;將其中一個第一交點所在的位置設為所述中間點位置。優(yōu)選地,所述第一交點可以是所述第一直線與所述實際工作半徑對應的圓的交點,如圖5所示。在圖5中,A’為所述交點,也即所述中間點。計算機械臂運動的第二中間點位置時,可以獲取第二直線與所述實際工作半徑對應的圓形區(qū)域的第二交點;其中,所述第二直線是所述目標位置與所述機械臂的底座的中心點所連成的直線;將其中一個第二交點所在的位置設為所述中間點位置。優(yōu)選地,所述第二交點可以是所述第二直線與所述實際工作半徑對應的圓的交點,如圖5所示。在圖5中,B’為所述交點,也即所述中間點。如果建立了三維坐標系,可以獲取所述第一中間點和第二中間點在所述三維坐標系中的坐標,并保存。

      在一個實施例中,由于機械臂本身的機械參數對機械臂的限制,如果機械臂保持當前姿態(tài)可能無法運動到目標位置,此時,在機械臂從起始位置運動到目標位置的過程中需要更換左右手姿態(tài)。機械臂更換左右手姿態(tài)時,需要將整個機械臂完全伸直,需要的空間最大,換手點處理不好即會撞機。因此,除了所述第一中間點位置和第二中間點位置之外,可能還需要在機械臂的運動路徑中設置換手點位置。所述換手點位置可以設置在換手區(qū)域內,換手區(qū)域即障礙物與機械臂底座的中心點之間的距離大于所述機械臂的最大長度的區(qū)域。即,若所述工具爪的目標位置不在所述機械臂當前姿態(tài)的運動范圍內,可在換手區(qū)域中選取至少一點作為換手點,獲取換手點位置;其中,所述換手區(qū)域是障礙物與機械臂底座的中心點之間的距離大于所述機械臂的最大長度的區(qū)域。所述最大長度即機械臂完全伸直時的長度。換手區(qū)域如圖5所示,圖中的C1和C2為換手點,在實際情況下,換手點的數量也可以是1或者其他數量。其中,在判斷機械臂保持當前姿態(tài)是否可以到達目標位置時,可讀取機械臂的機械參數,并根據所述機械參數計算機械臂當前姿態(tài)能夠到達的區(qū)域,若目標位置不在該區(qū)域內,則判定需要切換左右手姿態(tài)。

      S3,若所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      假設所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,即不需要切換左右手姿態(tài),可直接根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。假設所述工具爪的目標位置不在所述機械臂當前姿態(tài)的運動范圍內,即需要切換左右手姿態(tài),可根據所述起始位置、第一中間點位置和步驟S2中計算出的換手點位置生成機械臂當前姿態(tài)的運動路徑,并根據所述換手點位置、第二中間點位置和目標位置生成機械臂切換姿態(tài)后的運動路徑。

      在實際情況下,由于機械臂特殊結構,在起點時需要先將Z軸提升至安全Z軸的位置,在終點時再由安全Z軸降至終點Z軸位置,所有中間點都在安全Z軸上運行,即走一個“門”字型軌跡。安全Z軸的位置可以預先存儲,在一般情況下,安全Z軸的位置無需經常變動。當需要更改機械臂的提升高度時,只需更改預存的安全Z軸的位置即可,無需人工調整機械臂高度。在這種情況下,需要在機械臂的運動路徑中插入一個起始位置正上方的中間點。具體地,可以計算所述起始位置對應的第一安全高度位置;其中,所述第一安全高度位置是在所述起始位置正上方,且與所述起始位置的垂直高度大于或等于預設的高度值的位置;根據所述起始位置、第一安全高度位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。在這種情況下,還可以根據所述第一安全高度位置和所述障礙物分布計算機械臂運動的安全半徑。此時,所述安全半徑的最大值Rmax可根據以下方式計算:

      其中,h為安全Z軸的高度,l為障礙物與機械臂底座中心點的最大距離。

      假設在起始位置時對機械臂進行了升高,如上所述,則在目標位置還需要將機械臂下降到原高度,此時,可以在機械臂運動的目標位置的正上方插入一個中間點。具體地,可以計算所述目標位置對應的第二安全高度位置;其中,所述第二安全高度位置是在所述目標位置正上方,且與所述目標位置的垂直高度大于或等于所述預設的高度值的位置;根據所述起始位置、第一安全高度位置、第一中間點位置、第二安全高度位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      在生成機械臂的運動路徑之后,可以根據所述運動路徑控制機械臂運動,使機械臂自動沿著所述運動路徑從所述起始點位置運動到所述目標點位置。當障礙物分布改變時,只需重新獲取障礙物分布,即可自動重新規(guī)劃出機械臂的運動路徑。當機械臂更換時,只需在系統(tǒng)中重新輸入機械臂的機械參數(如工具爪的尺寸),即可自動重新規(guī)劃出機械臂的運動路徑。無需人工示教,操作簡單,效率高。

      機械臂的實際運動路徑如圖6和圖7所示。圖6為一個實施例的未加入豎直方向上的中間點時的路徑示意圖,圖7為一個實施例的加入豎直方向上的中間點時的路徑示意圖。圖中虛線表示機械臂的運動路徑。

      本發(fā)明具有以下優(yōu)點:

      (1)操作簡單快速,不需要手動示教。

      (2)智能插入需要的中間點,運行效率較高。

      (3)自動管理Z軸規(guī)劃,調用者只需要輸入起點及終點信息。

      (4)智能判斷是否需要更換左右手姿態(tài),運行效率較高。

      (5)適應多種障礙物布局,環(huán)境變化后只需要更新環(huán)境信息即可立即使用。

      如圖8所示,本發(fā)明提供一種機械臂運動路徑生成系統(tǒng),可包括:

      第一計算模塊10,用于獲取機械臂周圍的障礙物的分布位置,根據所述分布位置計算機械臂運動的安全半徑,根據所述安全半徑和機械臂的工具爪的尺寸計算機械臂的實際工作半徑;

      在一個實施例中,可以建立機械臂及障礙物分布的坐標系,優(yōu)選地,所述坐標系為三維坐標系。所述三維坐標系可以將機械臂底座的中心點設為原點,將水平面上兩個相互垂直的方向設為x軸和y軸,將豎直方向設為z軸。通過建立坐標系,可以更加方便地對機械臂位置及障礙物分布進行描述。在所述三維坐標系下,所述障礙物的分布位置可以用坐標的形式表示出來,例如,可以建立一個坐標集合,該坐標集合中可以包括多個坐標值,每個坐標值代表一個障礙物的位置分布,該坐標值可表示為(x,y,z)的形式。為了便于區(qū)分各個障礙物,還可以將各個障礙物進行編號,并將障礙物的坐標值與對應編號進行綁定。

      所述安全半徑與實際工作半徑如圖4所示。圖中,Rmax和Rmin分別表示安全半徑的最大值和最小值,WRmax和WRmin分別表示實際工作半徑的最大值和最小值。所述安全半徑的最大值可以根據障礙物分布來計算,可根據障礙物的分布位置獲取機械臂周圍的障礙物與機械臂底座的中心點之間的距離,根據所述距離的最小值計算機械臂運動的安全半徑。在一個實施例中,可以將所述距離的最小值rmin設為所述安全半徑的最大值,在另一個實施例中,也可以將一個小于rmin的數值設為所述安全半徑的最大值。所述安全半徑的最小值可以根據機械臂底座的尺寸來計算。在一個實施例中,可以將所述機械臂底座各點與機械臂底座中心點的距離的最大值rmax設為所述安全半徑的最小值,在另一個實施例中,也可以將一個大于rmax的數值設為所述安全半徑的最小值。由于機械臂的工具爪有一定尺寸,因此,機械臂的實際工作半徑可根據以下方式計算:

      WRmax=Rmax-d;

      WRmin=Rmin+d;

      其中,d為所述機械臂的工具爪的尺寸。

      第二計算模塊20,用于根據所述工具爪的起始位置和所述實際工作半徑計算機械臂運動的第一中間點位置,根據所述工具爪的目標位置和所述實際工作半徑計算機械臂運動的第二中間點位置;

      在一個實施例中,計算機械臂運動的第一中間點位置時,可以獲取第一直線與所述實際工作半徑對應的圓形區(qū)域的第一交點;其中,所述第一直線是所述起始位置與所述機械臂的底座的中心點所連成的直線;將其中一個第一交點所在的位置設為所述中間點位置。優(yōu)選地,所述第一交點可以是所述第一直線與所述實際工作半徑對應的圓的交點,如圖5所示。在圖5中,A’為所述交點,也即所述中間點。計算機械臂運動的第二中間點位置時,可以獲取第二直線與所述實際工作半徑對應的圓形區(qū)域的第二交點;其中,所述第二直線是所述目標位置與所述機械臂的底座的中心點所連成的直線;將其中一個第二交點所在的位置設為所述中間點位置。優(yōu)選地,所述第二交點可以是所述第二直線與所述實際工作半徑對應的圓的交點,如圖5所示。在圖5中,B’為所述交點,也即所述中間點。如果建立了三維坐標系,可以獲取所述第一中間點和第二中間點在所述三維坐標系中的坐標,并保存。

      在一個實施例中,由于機械臂本身的機械參數對機械臂的限制,如果機械臂保持當前姿態(tài)可能無法運動到目標位置,此時,在機械臂從起始位置運動到目標位置的過程中需要更換左右手姿態(tài)。機械臂更換左右手姿態(tài)時,需要將整個機械臂完全伸直,需要的空間最大,換手點處理不好即會撞機。因此,除了所述第一中間點位置和第二中間點位置之外,可能還需要在機械臂的運動路徑中設置換手點位置。所述換手點位置可以設置在換手區(qū)域內,換手區(qū)域即障礙物與機械臂底座的中心點之間的距離大于所述機械臂的最大長度的區(qū)域。即,可設置一獲取模塊,若所述工具爪的目標位置不在所述機械臂當前姿態(tài)的運動范圍內,該獲取模塊可在換手區(qū)域中選取至少一點作為換手點,獲取換手點位置;其中,所述換手區(qū)域是障礙物與機械臂底座的中心點之間的距離大于所述機械臂的最大長度的區(qū)域。所述最大長度即機械臂完全伸直時的長度。換手區(qū)域如圖5所示。其中,在判斷機械臂保持當前姿態(tài)是否可以到達目標位置時,可讀取機械臂的機械參數,并根據所述機械參數計算機械臂當前姿態(tài)能夠到達的區(qū)域,若目標位置不在該區(qū)域內,則判定需要切換左右手姿態(tài)。

      第一生成模塊30,用于若所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      假設所述工具爪的目標位置在所述機械臂當前姿態(tài)的運動范圍內,即不需要切換左右手姿態(tài),可直接根據所述起始位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。假設所述工具爪的目標位置不在所述機械臂當前姿態(tài)的運動范圍內,即需要切換左右手姿態(tài),可設置第二生成模塊,用于根據所述起始位置、第一中間點位置和第二計算模塊20計算出的換手點位置生成機械臂當前姿態(tài)的運動路徑,并根據所述換手點位置、第二中間點位置和目標位置生成機械臂切換姿態(tài)后的運動路徑。

      在實際情況下,由于機械臂特殊結構,在起點時需要先將Z軸提升至安全Z軸的位置,在終點時再由安全Z軸降至終點Z軸位置,所有中間點都在安全Z軸上運行,即走一個“門”字型軌跡。安全Z軸的位置可以預先存儲,在一般情況下,安全Z軸的位置無需經常變動。當需要更改機械臂的提升高度時,只需更改預存的安全Z軸的位置即可,無需人工調整機械臂高度。在這種情況下,需要在機械臂的運動路徑中插入一個起始位置正上方的中間點。具體地,可以計算所述起始位置對應的第一安全高度位置;其中,所述第一安全高度位置是在所述起始位置正上方,且與所述起始位置的垂直高度大于或等于預設的高度值的位置;根據所述起始位置、第一安全高度位置、第一中間點位置、第二中間點位置和目標位置生成機械臂的運動路徑。在這種情況下,還可以根據所述第一安全高度位置和所述障礙物分布計算機械臂運動的安全半徑。此時,所述安全半徑的最大值Rmax可根據以下方式計算:

      其中,h為安全Z軸的高度,l為障礙物與機械臂底座中心點的最大距離。

      假設在起始位置時對機械臂進行了升高,如上所述,則在目標位置還需要將機械臂下降到原高度,此時,可以在機械臂運動的目標位置的正上方插入一個中間點。具體地,可以計算所述目標位置對應的第二安全高度位置;其中,所述第二安全高度位置是在所述目標位置正上方,且與所述目標位置的垂直高度大于或等于所述預設的高度值的位置;根據所述起始位置、第一安全高度位置、第一中間點位置、第二安全高度位置、第二中間點位置和目標位置生成機械臂的運動路徑。

      在生成機械臂的運動路徑之后,可以根據所述運動路徑控制機械臂運動,使機械臂自動沿著所述運動路徑從所述起始點位置運動到所述目標點位置。當障礙物分布改變時,只需重新獲取障礙物分布,即可自動重新規(guī)劃出機械臂的運動路徑。當機械臂更換時,只需在系統(tǒng)中重新輸入機械臂的機械參數(如工具爪的尺寸),即可自動重新規(guī)劃出機械臂的運動路徑。無需人工示教,操作簡單,效率高。

      機械臂的實際運動路徑如圖6和圖7所示。圖6為一個實施例的未加入豎直方向上的中間點時的路徑示意圖,圖7為一個實施例的加入豎直方向上的中間點時的路徑示意圖。圖中虛線表示機械臂的運動路徑。

      本發(fā)明具有以下優(yōu)點:

      (1)操作簡單快速,不需要手動示教。

      (2)智能插入需要的中間點,運行效率較高。

      (3)自動管理Z軸規(guī)劃,調用者只需要輸入起點及終點信息。

      (4)智能判斷是否需要更換左右手姿態(tài),運行效率較高。

      (5)適應多種障礙物布局,環(huán)境變化后只需要更新環(huán)境信息即可立即使用。

      本發(fā)明的機械臂運動路徑生成系統(tǒng)與本發(fā)明的機械臂運動路徑生成方法一一對應,在上述機械臂運動路徑生成方法的實施例闡述的技術特征及其有益效果均適用于機械臂運動路徑生成系統(tǒng)的實施例中,特此聲明。

      以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。

      本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成。所述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,包括上述方法所述的步驟。所述的存儲介質,包括:ROM/RAM、磁碟、光盤等。

      以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。

      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1