TW202021752A - Mechanical arm singular point control method and system - Google Patents

Mechanical arm singular point control method and system Download PDF

Info

Publication number
TW202021752A
TW202021752A TW108136190A TW108136190A TW202021752A TW 202021752 A TW202021752 A TW 202021752A TW 108136190 A TW108136190 A TW 108136190A TW 108136190 A TW108136190 A TW 108136190A TW 202021752 A TW202021752 A TW 202021752A
Authority
TW
Taiwan
Prior art keywords
path
point
robotic arm
singular
information
Prior art date
Application number
TW108136190A
Other languages
Chinese (zh)
Other versions
TWI704039B (en
Inventor
何佳航
李韜
Original Assignee
英華達股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英華達股份有限公司 filed Critical 英華達股份有限公司
Publication of TW202021752A publication Critical patent/TW202021752A/en
Application granted granted Critical
Publication of TWI704039B publication Critical patent/TWI704039B/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

A mechanical arm singular point control method and system. The control method comprises: acquiring mechanical arm model information, path starting point information, and path end point information, and performing reverse motion to solve the solution, and inserting a plurality of interpolation points on the straight line connecting the start point of the path and the end point of the path in the process; controlling the end of the robot arm sequentially moves through the respective interpolation points along the straight path toward the end point of the path, and pre-calculating the inverse solution result of the next interpolation point; determining whether the robot arm enters the singular area according to the inverse solution result of the next interpolation point, and when the mechanical arm enters the singular area, the motion of the arm is switched from the end along the linear path to the motion controlled by the axis motion planning algorithm; when it is determined that the robot arm does not enter the singular region, the motion of the end of the arm is controlled to follow the linear path according to the result of the inverse kinematic solution.

Description

機械臂奇異點控制方法及系統 Singular point control method and system of mechanical arm

本發明涉及機械臂控制技術領域,特指一種機械臂奇異點控制方法及系統。 The invention relates to the technical field of mechanical arm control, and particularly refers to a method and system for controlling singularities of a mechanical arm.

一般來說,機械臂在運行中都存在奇異點問題。以四軸的SCARA機械臂為例,其第一、第二、第四軸具有轉動特性,第三軸具有線性移動特性。該機械臂的奇異點出現在第二關節角度為0,即兩連杆共線的狀態;再以六軸的6R機械臂為例,它比四軸機械臂多兩個關節,該機械臂具有3個奇異點,即第一、第六關節共線,第四、第六關節共線和第二、第三、第五關節共線的三種情況。 Generally speaking, there are singularity problems in the operation of mechanical arms. Take a four-axis SCARA robot arm as an example. The first, second, and fourth axis have rotational characteristics, and the third axis has linear movement characteristics. The singularity of the robotic arm appears when the second joint angle is 0, that is, the two links are collinear; take the 6-axis 6R robotic arm as an example, which has two more joints than the four-axis robotic arm. There are three singularities: the first and sixth joints are collinear, the fourth and sixth joints are collinear, and the second, third, and fifth joints are collinear.

然而,在實現本發明過程中,發明人發現現有技術中至少存在以下技術問題:當機械臂處於奇異點時:(1)機械臂自由度會減少,無法實現某些運動;(2)某些關節角速度趨向於無窮大,導致失控;(3)無法求逆運算。 However, in the process of implementing the present invention, the inventor found that there are at least the following technical problems in the prior art: When the robotic arm is at a singular point: (1) the degree of freedom of the robotic arm will be reduced and certain movements cannot be achieved; (2) some The angular velocity of joints tends to infinity, leading to loss of control; (3) Inverse calculation is impossible.

本發明的目的在於克服現有技術的缺陷,提供 一種機械臂奇異點控制方法及系統,可以解決機械臂在運行中存在的奇異點的問題。 The purpose of the present invention is to overcome the defects of the prior art and provide A singular point control method and system for a mechanical arm can solve the problem of singular points in the operation of the mechanical arm.

為達成上述目的,本發明提供了一種機械臂奇異點控制方法,用於控制機械臂通過奇異區,所述奇異區為包括奇異點的區域,所述控制方法包括如下步驟:獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊,並進行逆向運動學求解;在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點;依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,並預先計算出下一插補點的逆解結果;根據所述下一插補點的逆解結果判斷機械臂是否進入所述奇異區,在判定機械臂進入所述奇異區時,待所述機械臂完成當前的逆解結果時將所述機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動;在判定機械臂未進入所述奇異區時,繼續依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑運動。 To achieve the above objective, the present invention provides a robotic arm singularity control method for controlling the robotic arm to pass through a singular area, the singular area being an area including the singular point, and the control method includes the following steps: obtaining information about the robotic arm model , Path start information and path end information, and perform inverse kinematics solution; in inverse kinematics solution, insert multiple interpolation points on the straight line connecting the path start point and path end point; control according to the result of inverse kinematics solution The end of the robot arm moves toward the end of the path through each interpolation point in sequence along a linear path, and the inverse solution result of the next interpolation point is calculated in advance; the machine is judged according to the inverse solution result of the next interpolation point Whether the arm enters the singular zone, when it is determined that the manipulator enters the singular zone, when the manipulator completes the current inverse solution result, switch the motion of the manipulator from the end of the linear path to the axis motion plan Algorithm-controlled movement; when it is determined that the robotic arm does not enter the singular zone, continue to control the end of the robotic arm to move along a linear path according to the result of the inverse kinematics solution.

本發明的有益效果是,在機械臂執行末端沿直線路徑運動的過程中,預先計算出下一插補點的逆解結果並加以判斷機械臂是否進入奇異區,在機械臂進入奇異區時由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動,由於軸運動規劃演算法不需要進行逆向運動學求解,從而避開機械臂的奇異點問題,使機械臂能夠進入奇異區且不報錯。 The beneficial effect of the present invention is that in the process of moving the end of the robotic arm along a straight path, the inverse solution result of the next interpolation point is calculated in advance and it is judged whether the robotic arm enters the singular zone. When the robotic arm enters the singular zone, the The end moves along a straight path and is switched to the movement controlled by the axis motion planning algorithm. Since the axis motion planning algorithm does not need to be solved by inverse kinematics, it avoids the singularity problem of the robotic arm and enables the robotic arm to enter the singularity zone without Report an error.

本發明機械臂奇異點控制方法的進一步改進在 於,根據所述下一插補點的逆解結果判斷機械臂是否進入所述奇異區的步驟包括:判斷所述下一插補點的逆解結果是否無解,在無解時則判定機械臂進入所述奇異區;或者判斷所述下一插補點的逆解結果中機械臂各關節軸的運動速度是否大於預設關節軸速度門檻值,在大於預設關節軸速度門檻值時則判定機械臂進入所述奇異區;或者判斷所述下一插補點的逆解結果中對應特定關節軸的旋轉角度是否在預設旋轉角度門檻值內,在所述預設旋轉角度門檻值內時則判定進入所述奇異區。 The further improvement of the singular point control method of the mechanical arm of the present invention is Therefore, the step of judging whether the manipulator enters the singular zone according to the inverse solution result of the next interpolation point includes: judging whether the inverse solution result of the next interpolation point has no solution, and when there is no solution, judging the mechanical arm The arm enters the singular zone; or it is judged whether the motion speed of each joint axis of the manipulator in the inverse solution result of the next interpolation point is greater than the preset joint axis speed threshold value, when it is greater than the preset joint axis speed threshold value, then Determine whether the robot arm enters the singular zone; or determine whether the rotation angle corresponding to the specific joint axis in the inverse solution result of the next interpolation point is within the preset rotation angle threshold value, and is within the preset rotation angle threshold value Then it is determined to enter the singular zone.

本發明機械臂奇異點控制方法的進一步改進在於,採用軸運動規劃演算法控制機械臂運動,包括:獲取所述機械臂當前的各關節軸的角度作為起始角度;依據下一插補點的位置資訊計算所述機械臂的末端位於下一插補點的位置時對應的各關節軸角度作為終止角度;控制所述機械臂的各關節軸以設定時間從所述起始角度旋轉至所述終止角度。 The further improvement of the singular point control method of the manipulator of the present invention is that the use of axis motion planning algorithm to control the movement of the manipulator includes: obtaining the current angle of each joint axis of the manipulator as the starting angle; according to the next interpolation point The position information calculates the corresponding joint axis angle when the end of the robot arm is at the position of the next interpolation point as the end angle; controls each joint axis of the robot arm to rotate from the starting angle to the End angle.

本發明機械臂奇異點控制方法的進一步改進在於,控制所述機械臂的各關節軸以設定時間從所述起始角度旋轉至所述終止角度,包括:依據軸運動計算公式計算出對應設定時間的各關節軸的運動曲線,所述軸運動計算公式為:

Figure 108136190-A0101-12-0003-1
A further improvement of the singular point control method of the mechanical arm of the present invention is that controlling each joint axis of the mechanical arm to rotate from the starting angle to the ending angle at a set time includes: calculating the corresponding set time according to the axis motion calculation formula The motion curve of each joint axis, the axis motion calculation formula is:
Figure 108136190-A0101-12-0003-1

其中,qs為各關節軸的起始角度,qe為各關節軸的終止角度,vs為各關節軸的起始速度,t1為採用軸運動規劃演算法的起始時間,t1=0,t2為軸運動規劃演算法的終止時間,t2等於設定時間;依據所計算出的各關節軸的運動曲線中對應當前時間的各關節軸的當前角度和當前速度控制各關節軸運動。 Among them, qs is the starting angle of each joint axis, qe is the ending angle of each joint axis, vs is the starting speed of each joint axis, t1 is the starting time of the axis motion planning algorithm, t1=0, t2 is The termination time of the axis motion planning algorithm, t2 is equal to the set time; the motion of each joint axis is controlled according to the current angle and current speed of each joint axis corresponding to the current time in the calculated motion curve of each joint axis.

本發明機械臂奇異點控制方法的進一步改進在於,依據下一插補點的位置資訊計算所述機械臂的末端位於下一插補點的位置時對應的各關節軸角度的步驟包括:通過逆解獲得下一插補點位置對應的各關節軸的終止角度。 The further improvement of the singular point control method of the robot arm of the present invention is that the step of calculating the corresponding joint axis angles when the end of the robot arm is at the position of the next interpolation point according to the position information of the next interpolation point includes: Solve to obtain the end angle of each joint axis corresponding to the position of the next interpolation point.

本發明機械臂奇異點控制方法的進一步改進在於,對所述路徑終點資訊進行逆向運動學求解;在依據路徑終點資訊的逆向運動學求解結果判斷得出機械臂進入所述奇異區時,判斷所述機械臂的末端的當前位置距所述路徑終點資訊的距離是否大於設定距離門檻值,若大於設定距離門檻值,則利用軸運動規劃演算法控制機械臂運動至下一插補點;若小於設定距離門檻值,則利用軸運動規劃演算法控制機械臂直接運動至路徑終點。 The further improvement of the singular point control method of the manipulator of the present invention is to perform inverse kinematics solution to the path end information; when judging that the manipulator enters the singular zone according to the inverse kinematics solution result of the path end information, it is determined Whether the distance between the current position of the end of the robotic arm and the end point information of the path is greater than the set distance threshold, if it is greater than the set distance threshold, the axis motion planning algorithm is used to control the robotic arm to move to the next interpolation point; if less than Set the distance threshold value, then use the axis motion planning algorithm to control the robot arm to move directly to the end of the path.

本發明機械臂奇異點控制方法的進一步改進在於,利用軸運動規劃演算法控制機械臂直接運動至路徑終點的步驟,還包括:即時獲取所述機械臂的末端的當前位置資訊;判定所述機械臂的末端的當前位置資訊與所述路徑終點資訊是否一致;當判定一致時,控制所述機械臂停止運動。 The further improvement of the singular point control method of the robot arm of the present invention is that the step of using the axis motion planning algorithm to control the robot arm to directly move to the end of the path further includes: obtaining the current position information of the end of the robot arm in real time; Whether the current position information of the end of the arm is consistent with the path end information; when the determination is consistent, the robot arm is controlled to stop moving.

本發明機械臂奇異點控制方法的進一步改進在於,判定所述機械臂的末端的當前位置資訊與所述路徑終點資訊是否一致,還包括:計算所述機械臂的末端的當前位置資訊距所述路徑終點資訊的距離,並判斷所計算得出的距離是否在預設收斂門檻值範圍內;在所計算得出的距離在所述預設收斂門檻值範圍內時,則得出判定一致的結果。 A further improvement of the singular point control method of the robot arm of the present invention is that determining whether the current position information of the end of the robot arm is consistent with the path end information, and further includes: calculating the current position information of the end of the robot arm from the The distance of the path end information, and determine whether the calculated distance is within the preset convergence threshold; when the calculated distance is within the preset convergence threshold, a consistent result is obtained .

本發明機械臂奇異點控制方法的進一步改進在於,在採用軸運動規劃演算法控制機械臂運動之前,還包括:獲取所述機械臂的末端的當前運動速度,並判定所述機械臂的末端的當前運動速度是否大於預設末端速度門檻值;在判定大於預設末端速度門檻值時,控制所述機械臂的末端進行平滑降速,直至所述機械臂的末端的當前運動速度小於等於預設末端速度門檻值。 The further improvement of the singular point control method of the robot arm of the present invention is that before the axis motion planning algorithm is used to control the motion of the robot arm, the method further includes: acquiring the current motion speed of the end of the robot arm, and determining the speed of the end of the robot arm Whether the current movement speed is greater than the preset end speed threshold; when it is determined to be greater than the preset end speed threshold, control the end of the robotic arm to smoothly decelerate until the current movement speed of the end of the robotic arm is less than or equal to the preset End speed threshold.

本發明還提供了一種機械臂奇異點控制系統,用於控制機械臂通過奇異區,所述奇異區為包括奇異點的區域,所述控制系統包括:資訊獲取模組,用於獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊;連接於所述資訊獲取模組的第一計算模組,用於根據所述的機械臂模型資訊、路徑起點資訊和路徑終點資訊進行逆向運動學求解,並在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點,且預先計算得到下一插補點的逆解結果;連接於所述第一計算模組處理模組,用於依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,還用於根據所述下一插補點的 逆解結果判斷機械臂是否進入所述奇異區,在判定機械臂進入所述奇異區時,所述處理模組控制一第二計算模組採用軸運動規劃演算法計算下一插補點的結果,待所述機械臂完成當前的逆解結果時所述處理模組將所述機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動;在判定機械臂未進入所述奇異區時,所述處理模組繼續依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑運動。 The present invention also provides a robotic arm singularity control system for controlling the robotic arm to pass through a singular area, the singular area being an area including the singularity, and the control system includes: an information acquisition module for acquiring a model of the robotic arm Information, path starting point information, and path ending information; the first calculation module connected to the information acquisition module is used to perform inverse kinematics solving based on the robot arm model information, path starting point information, and path ending information, and In the inverse kinematics solution, multiple interpolation points are inserted on the straight line connecting the path start point and the path end point, and the inverse solution result of the next interpolation point is obtained in advance; connected to the first calculation module for processing The module is used to control the end of the manipulator to move toward the end of the path through the interpolation points in sequence along the linear path according to the results of the inverse kinematics solution, and also to control the end of the path according to the next interpolation point The result of the inverse solution determines whether the robotic arm enters the singular area. When determining that the robotic arm enters the singular area, the processing module controls a second calculation module to calculate the result of the next interpolation point using the axis motion planning algorithm When the robot arm completes the current inverse solution result, the processing module switches the motion of the robot arm from the end of the robot arm along a linear path to the motion controlled by the axis motion planning algorithm; after determining that the robot arm has not entered the When the singular zone is described, the processing module continues to control the end of the robotic arm to move along a linear path according to the result of the inverse kinematics solution.

11‧‧‧資訊獲取模組 11‧‧‧Information Acquisition Module

12‧‧‧第一計算模組 12‧‧‧The first calculation module

13‧‧‧第二計算模組 13‧‧‧Second calculation module

14‧‧‧處理模組 14‧‧‧Processing Module

S1~S6‧‧‧步驟 S1~S6‧‧‧Step

為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:圖1為本發明一實施例的機械臂奇異點控制方法的流程圖;以及圖2為本發明一實施例的機械臂奇異點控制系統的結構示意圖。 In order to make the above and other objectives, features, advantages and embodiments of the present invention more comprehensible, the description of the accompanying drawings is as follows: FIG. 1 is a flowchart of a method for controlling the singularity of a robotic arm according to an embodiment of the present invention; and Figure 2 is a schematic structural diagram of a singular point control system for a robotic arm according to an embodiment of the present invention.

以下揭示提供許多不同實施例或例證用以實施本發明的不同特徵。特殊例證中的元件及配置在以下討論中被用來簡化本揭示。所討論的任何例證只用來作為解說的用途,並不會以任何方式限制本發明或其例證之範圍和意義。此外,本揭示在不同例證中可能重複引用數字符號且/或字母,這些重複皆為了簡化及闡述,其本身並未指定以下討論 中不同實施例且/或配置之間的關係。 The following disclosure provides many different embodiments or illustrations for implementing different features of the present invention. The elements and configurations in the specific examples are used in the following discussion to simplify the disclosure. Any examples discussed are only for illustrative purposes, and will not limit the scope and significance of the present invention or its examples in any way. In addition, the present disclosure may repeatedly quote numbers and/or letters in different examples. These repetitions are for simplification and explanation, and the following discussion is not specified by itself. The relationship between different embodiments and/or configurations in the

本發明中的“奇異點”是指機械臂在該點喪失空間某個或者幾個自由度的位置;“奇異區”是指包括奇異點的區域,具體是指導致機械臂進入奇異點的特定關節在奇異點附近的一個可設定的區間範圍。 In the present invention, the "singular point" refers to the position where the robotic arm loses one or several degrees of freedom in space; the "singular area" refers to the area including the singular point, specifically refers to the specific point that causes the robotic arm to enter the singular point A settable range of joints near the singular point.

參閱圖1,本發明提供了一種機械臂奇異點控制方法,用於控制機械臂通過奇異區,該控制方法包括以下步驟:步驟S1:獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊,並根據獲取的機械臂模型資訊、路徑起點資訊和路徑終點資訊進行逆向運動學求解。 Referring to Figure 1, the present invention provides a singular point control method of a robotic arm for controlling the robotic arm to pass through the singular area. The control method includes the following steps: Step S1: Obtaining the model information of the robotic arm, path start information, and path end information, and According to the obtained manipulator model information, path start point information and path end point information, the inverse kinematics is solved.

步驟S2:在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點。 Step S2: In the inverse kinematics solution, insert multiple interpolation points on the straight line connecting the path start point and the path end point.

步驟S3:依據逆向運動學求解的結果驅動機械臂的各個關節軸運動,從而控制機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,並預先計算出下一插補點的逆解結果。 Step S3: Drive each joint axis of the manipulator according to the result of the inverse kinematics solution, thereby controlling the end of the manipulator to move along the linear path through each interpolation point to the end of the path, and calculate the next interpolation point in advance The result of the inverse solution.

具體地,機械臂的末端處於路徑起點時,計算出第一插補點的逆解結果和第二插補點的逆解結果,其中的第一插補點的逆解結果用於控制機械臂的末端沿直線路徑運動,第二插補點的逆解結果用於提前判定機械臂是否進入奇異區,在機械臂運動至第一插補點處時,預先計算第三插補點的逆解結果,即預先計算下一插補點的逆解結果,此時無需重複計算第二插補點的逆解結果了,因在路徑起點時已經預先計算過,同樣地,在機械臂運動至第二插補點時,預 先計算第四插補點的逆解結果,即機械臂在當前插補點處預先計算下一插補點的逆解結果。 Specifically, when the end of the robotic arm is at the starting point of the path, the inverse solution result of the first interpolation point and the inverse solution result of the second interpolation point are calculated, and the inverse solution result of the first interpolation point is used to control the robotic arm The end of is moved along a linear path. The inverse solution result of the second interpolation point is used to determine in advance whether the robot arm enters the singular zone. When the robot arm moves to the first interpolation point, the inverse solution of the third interpolation point is pre-calculated As a result, the inverse solution result of the next interpolation point is calculated in advance. At this time, there is no need to repeat the calculation of the inverse solution result of the second interpolation point, because it has been pre-calculated at the beginning of the path. Similarly, the robot arm moves to the first When two interpolation points, pre First calculate the inverse solution result of the fourth interpolation point, that is, the robot arm pre-calculates the inverse solution result of the next interpolation point at the current interpolation point.

步驟S4:根據下一插補點的逆解結果判斷機械臂是否進入奇異區。 Step S4: According to the inverse solution result of the next interpolation point, judge whether the manipulator enters the singularity zone.

在判定機械臂未進入奇異區時,執行步驟S5;在判定機械臂進入奇異區時,執行步驟S6。 When it is determined that the robot arm has not entered the singularity zone, step S5 is executed; when it is determined that the robot arm has entered the singularity zone, step S6 is executed.

步驟S5:繼續依據逆向運動學求解的結果控制機械臂的末端沿直線路徑運動。 Step S5: Continue to control the end of the manipulator to move along a straight path according to the result of the inverse kinematics solution.

步驟S6:待機械臂完成當前的逆解結果時,將機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動。 Step S6: When the manipulator arm completes the current inverse solution result, switch the movement of the manipulator arm from the end movement along the linear path to the movement controlled by the axis motion planning algorithm.

接下來以另一實例對本發明的控制方法控制機械臂通過奇異區的過程進行說明。該實例中路徑起點和路徑終點連成的直線上插入有5個插補點,分別是第一插補點至第五插補點,並假設第四插補點為奇異點。具體的控制過程為:初始時機械臂的末端位於路徑起點處,此時計算第一插補點逆解結果並且預先計算第二插補點的逆解結果,依據第一插補點的逆解結果控制機械臂的末端沿直線路徑從路徑起點運動至第一插補點,根據預先計算的第二插補點的逆解結果判斷機械臂是否進入奇異區,此時判斷結果為否;在機械臂的末端到達第一插補點時,預先計算第三插補點的逆解結果,根據預先計算的第三插補點的逆解結果判斷機械臂是否進入奇異區,並依據第二插補點的逆解結果控制機械臂的末端沿直線路徑從第一插補點運動至第二插補點,此時第三 插補點的逆解結果的判斷結果仍為否;在機械臂的末端達到第二插補點時,預先計算第四插補點的逆解結果,根據預先計算的第四插補點的逆解結果判斷並判斷機械臂是否進入奇異區,並依據第三插補點的逆解結果控制機械臂的末端沿直線路徑從第二插補點運動至第三插補點,此時的判斷結果為是,也就表明第四插補點處無逆解結果,此時,在第三插補點處切換軸運動模式,獲取路徑終點通過降自由度逆解計算得到的各關節旋轉角度作為軸運動終點,控制機械臂末端移動至路徑終點,從而實現了機械臂運動的過程中遇到奇異點時,可順利通過奇異點。 Next, another example is used to describe the process of controlling the robot arm to pass through the singular area by the control method of the present invention. In this example, 5 interpolation points are inserted on the straight line connecting the path start point and the path end point, which are the first interpolation point to the fifth interpolation point, and the fourth interpolation point is assumed to be a singular point. The specific control process is: the end of the robot arm is at the beginning of the path at the beginning, and the inverse solution result of the first interpolation point is calculated at this time and the inverse solution result of the second interpolation point is calculated in advance, based on the inverse solution of the first interpolation point As a result, the end of the robot arm is controlled to move along a straight path from the starting point of the path to the first interpolation point. According to the pre-calculated inverse solution result of the second interpolation point, it is judged whether the robot arm enters the singular zone. When the end of the arm reaches the first interpolation point, the inverse solution result of the third interpolation point is pre-calculated, and the inverse solution result of the third interpolation point is pre-calculated to determine whether the robotic arm enters the singular zone, and the second interpolation The result of the inverse solution of the point controls the end of the robotic arm to move from the first interpolation point to the second interpolation point along a straight path. At this time, the third The judgment result of the inverse solution result of the interpolation point is still No; when the end of the robot arm reaches the second interpolation point, the inverse solution result of the fourth interpolation point is pre-calculated, and the inverse solution result of the fourth interpolation point is calculated according to the pre-calculated inverse of the fourth interpolation point. The solution result judges and judges whether the robot arm enters the singular zone, and controls the end of the robot arm to move from the second interpolation point to the third interpolation point along a linear path according to the inverse solution result of the third interpolation point. The judgment result at this time If yes, it means that there is no inverse solution result at the fourth interpolation point. At this time, switch the axis motion mode at the third interpolation point, and obtain the rotation angle of each joint calculated by the inverse solution of the reduced degree of freedom as the axis The end of the motion, the end of the robot arm is controlled to move to the end of the path, so that when the robot encounters a singular point during the motion, it can pass the singular point smoothly.

當路徑終點位於奇異區內時,本發明的控制方法還包括以下步驟:對路徑終點資訊進行逆向運動學求解;在依據路徑終點資訊的逆向運動學求解結果判斷得出機械臂進入奇異區時,判斷機械臂的末端的當前位置距路徑終點資訊的距離是否大於設定距離門檻值;若大於設定距離門檻值,則利用軸運動規劃演算法控制機械臂運動至下一插補點;若小於設定距離門檻值,則利用軸運動規劃演算法控制機械臂直接運動至路徑終點。 When the path end point is located in the singularity zone, the control method of the present invention further includes the following steps: performing inverse kinematics solution to the path end point information; when it is judged that the robot arm enters the singularity zone according to the inverse kinematics solution result of the path end point information, Determine whether the distance between the current position of the end of the robotic arm and the path end information is greater than the set distance threshold; if it is greater than the set distance threshold, use the axis motion planning algorithm to control the robotic arm to move to the next interpolation point; if it is less than the set distance For the threshold value, the axis motion planning algorithm is used to control the robot arm to move directly to the end of the path.

下面以一實例對本發明的控制方法控制機械臂到達位於奇異區內的路徑的過程進行說明。該實例中路徑起點和路徑終點連成的直線上插入有5個插補點,分別是第一插補點至第五插補點,並假設第三插補點、第四插補點、第五插補點及終點均位於奇異區內,且第三插補點到路徑終點的距離大於設定距離門檻值大於第四插補點到路徑終點的 距離。具體的控制過程為:初始時機械臂的末端位於路徑起點處,此時先判斷路徑終點是否位於奇異區內,若判斷結果為位於奇異區內,則利用降自由度逆解得到路徑終點對應的各關節軸的角度;然後計算第一插補點逆解結果並且預先計算第二插補點的逆解結果,依據第一插補點的逆解結果控制機械臂的末端沿直線路徑從路徑起點運動至第一插補點,根據預先計算的第二插補點的逆解結果判斷機械臂是否進入奇異區,若此時判斷結果為否,則在機械臂的末端到達第一插補點時,預先計算第三插補點的逆解結果,根據預先計算的第三插補點的逆解結果再判斷機械臂是否進入奇異區,若第三插補點的逆解結果的判斷結果為是,也就表明第三插補點處無逆解結果,此時,在第二插補點處切換軸運動模式,獲取路徑終點通過降自由度逆解計算得到的各關節旋轉角度作為軸運動終點,控制機械臂末端移動至路徑終點。 In the following, an example is used to describe the process of the control method of the present invention to control the robot arm to reach the path located in the singular area. In this example, 5 interpolation points are inserted on the straight line connecting the path start point and the path end point, which are the first interpolation point to the fifth interpolation point. It is assumed that the third, fourth, and fourth interpolation points are The five interpolation points and the end points are located in the singular area, and the distance from the third interpolation point to the end of the path is greater than the set distance threshold and greater than the fourth interpolation point to the end of the path distance. The specific control process is as follows: the end of the robot arm is at the beginning of the path at the beginning. At this time, it is judged whether the end of the path is in the singular area. If the result of the judgment is that it is in the singular area, the inverse solution of the reduced degree of freedom is used to obtain the corresponding end point The angle of each joint axis; then calculate the inverse solution result of the first interpolation point and pre-calculate the inverse solution result of the second interpolation point. According to the inverse solution result of the first interpolation point, control the end of the robot arm from the starting point of the path along a straight path Move to the first interpolation point, and judge whether the robot arm enters the singular zone according to the pre-calculated inverse solution result of the second interpolation point. If the judgment result is no at this time, then when the end of the robot arm reaches the first interpolation point , Pre-calculate the inverse solution result of the third interpolation point, and then judge whether the manipulator enters the singular zone according to the pre-calculated inverse solution result of the third interpolation point, if the judgment result of the inverse solution result of the third interpolation point is yes , Which means that there is no inverse solution result at the third interpolation point. At this time, switch the axis motion mode at the second interpolation point, and obtain the path end point. The rotation angle of each joint calculated by the inverse solution of the reduced degree of freedom is used as the axis motion end point To control the end of the robotic arm to move to the end of the path.

下面對各步驟的具體實施方式進行說明。 The specific implementation of each step is described below.

步驟S1具體地,路徑起點資訊和路徑終點資訊包括路徑起點和路徑終點的空間座標及機械臂在末端位於路徑起點時和位於路徑終點時的空間姿態。本領域技術人員可以理解的是,逆向運動學求解為機械臂運動計算中常用的方法,故在此不做贅述。 Step S1 specifically, the path start point information and path end point information include the space coordinates of the path start point and the path end point, and the spatial posture of the robot arm when the end is at the path start point and the path end point. Those skilled in the art can understand that the inverse kinematics solution is a commonly used method in the calculation of the motion of the robot arm, so it will not be repeated here.

步驟S2具體地,在進行逆向運動學求解的過程中,需要根據路徑起點的空間座標和路徑終點的空間座標,可以求出機械臂末端沿直線路徑移動的直線方程式,變數為時間,根據使用者設定的笛卡爾空間速度,即可以計算出從 路徑起點開始每一個等時間間隔內機械臂末端移動的距離,從而得到機械臂末端從路徑起點沿直線路徑移動到路徑終點時所需經過的多個插補點的位置資訊。 Step S2 Specifically, in the process of solving inverse kinematics, it is necessary to obtain the linear equation of the end of the robot moving along the linear path based on the space coordinates of the starting point of the path and the space coordinates of the end point of the path. The variable is time. The set Cartesian space velocity can be calculated from The distance that the end of the robotic arm moves in each equal time interval from the beginning of the path, so as to obtain the position information of the multiple interpolation points that the end of the robotic arm needs to pass when moving from the beginning of the path to the end of the path along a straight path.

且較佳地,插補點之間的間距為0.01mm,以使得在利用軸運動規劃演算法控制機械臂末端運動時,儘管機械臂的末端的路徑為弧線,但由於該弧線的長度極短,因而非常接近直線。 And preferably, the spacing between the interpolation points is 0.01mm, so that when the axis motion planning algorithm is used to control the end motion of the robot arm, although the path of the end of the robot arm is an arc, the length of the arc is extremely short. , Thus very close to a straight line.

步驟S3具體地,通過逆向運動學求解得到Jacobian矩陣,進而利用公式

Figure 108136190-A0101-12-0011-7
(
Figure 108136190-A0101-12-0011-8
為機械臂末端笛卡爾空間線速度,
Figure 108136190-A0101-12-0011-9
為機械臂各關節軸的旋轉角速度,J為Jacobian矩陣)將機械臂末端的笛卡爾空間速度換算成機械臂各關節軸的旋轉速度,並驅動機械臂的各個關節軸運動。 Step S3 specifically, obtain the Jacobian matrix through inverse kinematics, and then use the formula
Figure 108136190-A0101-12-0011-7
(
Figure 108136190-A0101-12-0011-8
Is the Cartesian space linear velocity at the end of the robotic arm,
Figure 108136190-A0101-12-0011-9
Is the rotational angular velocity of each joint axis of the manipulator, J is the Jacobian matrix) Convert the Cartesian space velocity at the end of the manipulator into the rotational speed of each joint axis of the manipulator, and drive each joint axis of the manipulator to move.

步驟S4具體包括以下三種實施方式:在一實施方式中,判斷下一插補點的逆解結果是否無解,在無解時則判定機械臂進入奇異區。 Step S4 specifically includes the following three embodiments: In one embodiment, it is determined whether the inverse solution result of the next interpolation point has no solution, and when there is no solution, it is determined that the robotic arm enters the singularity zone.

在另一實施方式中,判斷下一插補點的逆解結果中機械臂各關節軸的運動速度是否大於預設關節軸速度門檻值,在大於預設關節軸速度門檻值時則判定機械臂進入奇異區。 In another embodiment, it is determined whether the motion speed of each joint axis of the robot arm in the inverse solution result of the next interpolation point is greater than the preset joint axis speed threshold value, and when it is greater than the preset joint axis speed threshold value, the robot arm is determined Enter the strange zone.

在另一實施方式中,判斷下一插補點的逆解結果中對應特定關節軸的旋轉角度是否在預設旋轉角度門檻值內,在預設旋轉角度門檻值內時則判定進入奇異區。 In another embodiment, it is determined whether the rotation angle corresponding to the specific joint axis in the inverse solution result of the next interpolation point is within the preset rotation angle threshold, and when it is within the preset rotation angle threshold, it is determined to enter the singularity zone.

步驟S6具體地,在採用軸運動規劃演算法控制 機械臂運動之前,先獲取機械臂的末端的當前運動速度,並判定機械臂的末端的當前運動速度是否大於預設末端速度門檻值;在判定大於預設末端速度門檻值時,控制機械臂的末端進行平滑降速,直至機械臂的末端的當前運動速度小於等於預設末端速度門檻值。通過該步驟使得機械臂可平滑地從末端沿直線路徑的運動切換至軸運動規劃演算法控制的運動。 Step S6 is specifically, in the use of axis motion planning algorithm control Before the robotic arm moves, first obtain the current movement speed of the end of the robotic arm, and determine whether the current movement speed of the end of the robotic arm is greater than the preset end speed threshold; when it is determined to be greater than the preset end speed threshold, control the The end speed is smoothly reduced until the current movement speed of the end of the robotic arm is less than or equal to the preset end speed threshold. Through this step, the manipulator can smoothly switch from the motion of the end along a straight path to the motion controlled by the axis motion planning algorithm.

然後,獲取機械臂當前的各關節軸的角度作為起始角度;獲取路徑終點各關節軸的角度作為終止角度。 Then, obtain the current angle of each joint axis of the robotic arm as the starting angle; obtain the angle of each joint axis at the end of the path as the end angle.

控制機械臂的各關節軸以設定時間從起始角度旋轉至終止角度,且具體是依據軸運動計算公式計算出對應設定時間的各關節軸的運動曲線,軸運動計算公式為:《公式一》。其中,qs為各關節軸的起始角度,qe為各關節軸的終止角度,vs為各關節軸的起始速度,t1為採用軸運動規劃演算法的起始時間,t1=0,t2為軸運動規劃演算法的終止時間,t2等於設定時間,設定時間由加減速時間和路程長度決定;依據所計算出的各關節軸的運動曲線中對應當前時間的各關節軸的當前角度和當前速度控制各關節軸運動。 Control each joint axis of the robotic arm to rotate from the start angle to the end angle at the set time, and specifically calculate the motion curve of each joint axis corresponding to the set time according to the axis motion calculation formula. The axis motion calculation formula is: "Formula 1" . Among them, qs is the starting angle of each joint axis, qe is the ending angle of each joint axis, vs is the starting speed of each joint axis, t1 is the starting time of the axis motion planning algorithm, t1=0, t2 is The end time of the axis motion planning algorithm, t2 is equal to the set time, and the set time is determined by the acceleration/deceleration time and the length of the distance; the current angle and current speed of each joint axis corresponding to the current time in the calculated motion curve of each joint axis Control the movement of each joint axis.

Figure 108136190-A0101-12-0012-2
Figure 108136190-A0101-12-0012-2

當路徑終點位於奇異區內時,利用軸運動規劃演算法控制機械臂直接運動至路徑終點的步驟,還包括:在 利用軸運動規劃演算法控制機械臂直接運動至路徑終點的過程中,即時獲取機械臂的末端的當前位置資訊;判定機械臂的末端的當前位置資訊與路徑終點資訊是否一致,進一步地,計算機械臂的末端的當前位置資訊距路徑終點資訊的距離,並判斷所計算得出的距離是否在預設收斂門檻值範圍內;在所計算得出的距離在預設收斂門檻值範圍內時,則得出判定一致的結果,此時控制機械臂停止運動。 When the end point of the path is in the singular area, the step of using the axis motion planning algorithm to control the robot arm to move directly to the end of the path also includes: Using the axis motion planning algorithm to control the robot arm to directly move to the end of the path, obtain the current position information of the end of the robot in real time; determine whether the current position information of the end of the robot is consistent with the path end point information, and further, calculate the machine The distance between the current position information of the end of the arm and the end point information of the path, and determine whether the calculated distance is within the preset convergence threshold; when the calculated distance is within the preset convergence threshold, then A consistent result is obtained, and the robot arm is controlled to stop moving at this time.

下面結合附圖對本發明機械臂奇異點控制系統進行說明。 The singularity control system of the robot arm of the present invention will be described below with reference to the accompanying drawings.

如圖2所示,本發明還提供一種機械臂奇異點控制系統,用於控制機械臂通過奇異區,該控制系統包括:資訊獲取模組11,用於獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊。其中,路徑起點資訊和路徑終點資訊包括路徑起點和路徑終點的空間座標及機械臂在末端位於路徑起點時和位於路徑終點時的空間姿態。 As shown in Figure 2, the present invention also provides a robotic arm singularity control system for controlling the robotic arm to pass through the singular area. The control system includes: an information acquisition module 11 for acquiring model information of the robotic arm, path starting point information, and Path end information. Among them, the path start point information and path end point information include the space coordinates of the path start point and the path end point, and the space posture of the robot arm when the end is at the path start point and the path end point.

連接於資訊獲取模組11的第一計算模組12,用於根據獲取的機械臂模型資訊、路徑起點資訊和路徑終點資訊進行逆向運動學求解,並在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點,且預先計算出下一插補點的逆解結果。 The first calculation module 12 connected to the information acquisition module 11 is used to perform inverse kinematics solving based on the acquired manipulator model information, path starting point information, and path end point information, and to perform inverse kinematics solving at the beginning of the path Insert multiple interpolation points on the straight line connected with the end point of the path, and calculate the inverse solution result of the next interpolation point in advance.

連接於第一計算模組12的處理模組14,用於依據逆向運動學求解的結果控制機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,還用於根據下一插補點的逆解結果判斷機械臂是否進入奇異區,具體包括以下 三種實施方式:在一實施方式中,處理模組14判斷下一插補點的逆解結果是否無解,在無解時則判定機械臂進入奇異區。 The processing module 14 connected to the first calculation module 12 is used to control the end of the manipulator to move toward the end of the path along the linear path through the interpolation points in sequence according to the result of the inverse kinematics solution. The result of the inverse solution of the interpolation point determines whether the robot arm enters the singularity zone, including the following Three implementation modes: In one embodiment, the processing module 14 determines whether the inverse solution result of the next interpolation point has no solution, and when there is no solution, it determines that the robotic arm enters the singularity zone.

在另一實施方式中,處理模組14判斷下一插補點的逆解結果中機械臂各關節軸的運動速度是否大於預設關節軸速度門檻值,在大於預設關節軸速度門檻值時則判定機械臂進入奇異區。 In another embodiment, the processing module 14 determines whether the motion speed of each joint axis of the robot arm in the inverse solution result of the next interpolation point is greater than the preset joint axis speed threshold value, when it is greater than the preset joint axis speed threshold value It is determined that the robotic arm has entered the singularity zone.

在又一實施方式中,處理模組14判斷下一插補點的逆解結果中對應特定關節軸的旋轉角度是否在預設旋轉角度門檻值內,在預設旋轉角度門檻值內時則判定進入奇異區。 In another embodiment, the processing module 14 determines whether the rotation angle corresponding to the specific joint axis in the inverse solution result of the next interpolation point is within the preset rotation angle threshold value, and determines if it is within the preset rotation angle threshold value Enter the strange zone.

在判定機械臂進入奇異區時,處理模組14控制一連接於處理模組14的第二計算模組13採用軸運動規劃演算法計算下一插補點的結果,待機械臂完成當前的逆解結果時,將機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動;在判定機械臂未進入奇異區時,處理模組14繼續依據逆向運動學求解的結果控制機械臂的末端沿直線路徑運動。 When determining that the robotic arm enters the singularity zone, the processing module 14 controls a second calculation module 13 connected to the processing module 14 to calculate the result of the next interpolation point using the axis motion planning algorithm, and wait for the robotic arm to complete the current inverse When solving the result, switch the motion of the manipulator from the end along the linear path to the motion controlled by the axis motion planning algorithm; when it is determined that the manipulator does not enter the singular zone, the processing module 14 continues to control according to the result of the inverse kinematics solution The end of the robotic arm moves along a straight path.

該控制系統還包括一末端速度獲取模組,用於在採用軸運動規劃演算法控制機械臂運動之前,獲取機械臂的末端的當前運動速度;該控制系統還包括一連接於末端速度獲取模組和處理模組14的末端速度判斷模組,用於判斷機械臂的末端的當前運動速度是否大於預設末端速度門檻值;在判定大於預設末端速度門檻值時,處理模組14控制 機械臂的末端進行平滑降速,直至機械臂的末端的當前運動速度小於等於預設末端速度門檻值,使得機械臂可平滑地從末端沿直線路徑的運動切換至軸運動規劃演算法控制的運動。 The control system also includes a terminal speed acquisition module, which is used to acquire the current movement speed of the end of the robot arm before the axis motion planning algorithm is used to control the motion of the robot arm; the control system also includes a terminal speed acquisition module connected to And the end speed judging module of the processing module 14 for judging whether the current movement speed of the end of the manipulator is greater than the preset end speed threshold; when the judgment is greater than the preset end speed threshold, the processing module 14 controls The end of the robotic arm smoothly decelerates until the current movement speed of the end of the robotic arm is less than or equal to the preset end speed threshold, so that the robotic arm can smoothly switch from the movement of the end along a straight path to the movement controlled by the axis motion planning algorithm .

該控制系統還包括一角度獲取模組,用於獲取機械臂當前的各關節軸的角度作為起始角度;該角度獲取模組連接於第二計算模組13,第二計算模組13進一步地用於依據下一插補點的位置資訊計算機械臂的末端位於下一插補點的位置時對應的各關節軸角度作為終止角度,且具體地,第二計算模組13通過逆解獲得下一插補點位置對應的各關節軸的終止角度;然後處理模組14控制機械臂的各關節軸以設定時間從起始角度旋轉至終止角度。 The control system also includes an angle acquisition module for acquiring the current angle of each joint axis of the manipulator as a starting angle; the angle acquisition module is connected to the second calculation module 13, and the second calculation module 13 further It is used to calculate the corresponding joint axis angles when the end of the robot arm is at the position of the next interpolation point according to the position information of the next interpolation point as the end angle, and specifically, the second calculation module 13 obtains the next An interpolation point position corresponds to the end angle of each joint axis; then the processing module 14 controls each joint axis of the robotic arm to rotate from the start angle to the end angle at a set time.

進一步地,第一計算模組12還用於對路徑終點資訊進行逆向運動學求解;該控制系統還包括一連接於處理模組14的距離判斷模組,用於在依據路徑終點資訊的逆向運動學求解結果判斷得出機械臂進入奇異區時,判斷機械臂的末端的當前位置距路徑終點資訊的距離是否大於設定距離門檻值;若大於設定距離門檻值,則處理模組14利用軸運動規劃演算法控制機械臂運動至下一插補點;若小於設定距離門檻值,則處理模組14利用軸運動規劃演算法控制機械臂直接運動至路徑終點。 Further, the first calculation module 12 is also used to solve the inverse kinematics of the path end information; the control system also includes a distance judgment module connected to the processing module 14 for performing the reverse motion based on the path end information The result of the scientific solution judges that when the robotic arm enters the singular zone, it is judged whether the distance between the current position of the robotic arm and the end point information of the path is greater than the set distance threshold; if it is greater than the set distance threshold, the processing module 14 uses axis motion planning The algorithm controls the robot arm to move to the next interpolation point; if it is less than the set distance threshold, the processing module 14 uses the axis motion planning algorithm to control the robot arm to directly move to the end of the path.

具體地,該控制系統還包括一位置獲取模組,用於在利用軸運動規劃演算法控制機械臂直接運動至路徑終點的過程中,即時獲取機械臂的末端的當前位置資訊;該 控制系統還包括一連接於位置獲取模組和處理模組14的位置判斷模組,用於判定機械臂的末端的當前位置資訊與路徑終點資訊是否一致,在判定一致時,處理模組14控制機械臂停止運動。 Specifically, the control system further includes a position acquisition module, which is used to obtain the current position information of the end of the robot in real time during the process of using the axis motion planning algorithm to control the robot arm to directly move to the end of the path; The control system also includes a position determination module connected to the position acquisition module and the processing module 14 for determining whether the current position information of the end of the robot arm is consistent with the path end information. When the determination is consistent, the processing module 14 controls The robotic arm stops moving.

本發明機械臂奇異點控制方法及系統的有益效果為:在機械臂執行末端沿直線路徑運動的過程中,預先計算出下一插補點的逆解結果並加以判斷機械臂是否進入奇異區,在機械臂進入奇異區時由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動,由於軸運動規劃演算法不需要進行逆向運動學求解,從而避開機械臂的奇異點問題,使機械臂能夠進入奇異區且不報錯。 The beneficial effects of the singular point control method and system of the mechanical arm of the present invention are: in the process of the end of the mechanical arm moving along the linear path, the inverse solution result of the next interpolation point is calculated in advance and it is judged whether the mechanical arm enters the singular area. When the manipulator enters the singularity zone, the end moves along the linear path and switches to the motion controlled by the axis motion planning algorithm. Since the axis motion planning algorithm does not need to be solved by inverse kinematics, it avoids the singularity problem of the robot arm and makes The robotic arm can enter the singularity zone without error.

另外,上述例示包含依序的示範步驟,但該些步驟不必依所顯示的順序被執行。以不同順序執行該些步驟皆在本揭示內容的考量範圍內。在本揭示內容之實施例的精神與範圍內,可視情況增加、取代、變更順序及/或省略該些步驟。 In addition, the above examples include sequential exemplary steps, but these steps need not be executed in the order shown. Performing these steps in a different order is within the scope of the present disclosure. Within the spirit and scope of the embodiments of the present disclosure, the steps may be added, replaced, changed, and/or omitted as appropriate.

雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。 Although this case has been disclosed as above by way of implementation, it is not intended to limit the case. Anyone who is familiar with this technique can make various changes and modifications without departing from the spirit and scope of this case. Therefore, the scope of protection of this case should be reviewed. The attached patent application scope shall prevail.

S1~S6‧‧‧步驟 S1~S6‧‧‧Step

Claims (10)

一種機械臂奇異點控制方法,用於控制機械臂通過奇異區,所述奇異區為包括奇異點的區域,所述控制方法包含如下步驟:獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊,並進行逆向運動學求解;在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點;依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,並預先計算出下一插補點的逆解結果;根據所述下一插補點的逆解結果判斷機械臂是否進入所述奇異區,在判定機械臂進入所述奇異區時,待所述機械臂完成當前的逆解結果時將所述機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動;以及在判定機械臂未進入所述奇異區時,繼續依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑運動。 A singular point control method for a mechanical arm is used to control a mechanical arm to pass through a singular area, the singular area being an area including a singular point, and the control method includes the following steps: obtaining information on the mechanical arm model, path starting point information, and path ending point information, And perform the inverse kinematics solution; in the inverse kinematics solution, insert multiple interpolation points on the straight line connecting the path starting point and the path end point; according to the inverse kinematics solution result, control the end of the robot arm along the straight path Move to the end of the path through each interpolation point in sequence, and calculate the inverse solution result of the next interpolation point in advance; judge whether the robot arm enters the singular area according to the inverse solution result of the next interpolation point, When judging that the manipulator enters the singular zone, when the manipulator completes the current inverse solution result, switch the movement of the manipulator from the end of the linear path to the movement controlled by the axis motion planning algorithm; and When the robotic arm does not enter the singular zone, continue to control the end of the robotic arm to move along a linear path according to the result of the inverse kinematics solution. 如請求項1所述的機械臂奇異點控制方法,其中根據所述下一插補點的逆解結果判斷機械臂是否進入所述奇異區的步驟包含:判斷所述下一插補點的逆解結果是否無解,在無解時則判定機械臂進入所述奇異區;或者 判斷所述下一插補點的逆解結果中機械臂各關節軸的運動速度是否大於預設關節軸速度門檻值,在大於預設關節軸速度門檻值時則判定機械臂進入所述奇異區;或者判斷所述下一插補點的逆解結果中對應特定關節軸的旋轉角度是否在預設旋轉角度門檻值內,在所述預設旋轉角度門檻值內時則判定進入所述奇異區。 The singular point control method of a manipulator according to claim 1, wherein the step of judging whether the manipulator enters the singular area according to the inverse solution result of the next interpolation point comprises: judging the inverse of the next interpolation point Whether the solution result has no solution, if there is no solution, it is determined that the robotic arm enters the singular area; or Determine whether the motion speed of each joint axis of the robot arm in the inverse solution result of the next interpolation point is greater than the preset joint axis speed threshold value, and when it is greater than the preset joint axis speed threshold value, determine that the robot arm enters the singular zone Or determine whether the rotation angle corresponding to the specific joint axis in the inverse solution result of the next interpolation point is within the preset rotation angle threshold, and when it is within the preset rotation angle threshold, it is determined to enter the singularity zone . 如請求項1所述的機械臂奇異點控制方法,其中採用軸運動規劃演算法控制機械臂運動的步驟,包含:獲取所述機械臂當前的各關節軸的角度作為起始角度;依據下一插補點的位置資訊計算所述機械臂的末端位於下一插補點的位置時對應的各關節軸角度作為終止角度;控制所述機械臂的各關節軸以設定時間從所述起始角度旋轉至所述終止角度。 The singular point control method of a robotic arm according to claim 1, wherein the step of using an axis motion planning algorithm to control the movement of the robotic arm includes: obtaining the current angle of each joint axis of the robotic arm as the starting angle; The position information of the interpolation point calculates the corresponding joint axis angle when the end of the robot arm is at the position of the next interpolation point as the end angle; controls each joint axis of the robot arm to set the time from the starting angle Rotate to the end angle. 如請求項3所述的機械臂奇異點控制方法,其中控制所述機械臂的各關節軸以設定時間從所述起始角度旋轉至所述終止角度的步驟,包含:依據軸運動計算公式計算出對應設定時間的各關節軸的運動曲線,所述軸運動計算公式為:
Figure 108136190-A0101-13-0002-3
Figure 108136190-A0101-13-0003-4
其中,qs為各關節軸的起始角度,qe為各關節軸的終止角度,vs為各關節軸的起始速度,t1為採用軸運動規劃演算法的起始時間,t1=0,t2為軸運動規劃演算法的終止時間,t2等於設定時間;依據所計算出的各關節軸的運動曲線中對應當前時間的各關節軸的當前角度和當前速度控制各關節軸運動。
The singular point control method of a robotic arm according to claim 3, wherein the step of controlling each joint axis of the robotic arm to rotate from the starting angle to the ending angle at a set time includes: calculating according to an axis motion calculation formula The motion curve of each joint axis corresponding to the set time is obtained, and the axis motion calculation formula is:
Figure 108136190-A0101-13-0002-3
Figure 108136190-A0101-13-0003-4
Among them, qs is the starting angle of each joint axis, qe is the ending angle of each joint axis, vs is the starting speed of each joint axis, t1 is the starting time of the axis motion planning algorithm, t1=0, t2 is The end time of the axis motion planning algorithm, t2 is equal to the set time; the motion of each joint axis is controlled according to the current angle and current speed of each joint axis corresponding to the current time in the calculated motion curve of each joint axis.
如請求項3所述的機械臂奇異點控制方法,其中依據下一插補點的位置資訊計算所述機械臂的末端位於下一插補點的位置時對應的各關節軸角度的步驟包含:通過逆解獲得下一插補點位置對應的各關節軸的終止角度。 The singular point control method of a robotic arm according to claim 3, wherein the step of calculating the corresponding joint axis angles when the end of the robotic arm is at the position of the next interpolation point according to the position information of the next interpolation point includes: Obtain the end angle of each joint axis corresponding to the position of the next interpolation point through the inverse solution. 如請求項3所述的機械臂奇異點控制方法,更包含:對所述路徑終點資訊進行逆向運動學求解;在依據路徑終點資訊的逆向運動學求解結果判斷得出機械臂進入所述奇異區時,判斷所述機械臂的末端的當前位置距所述路徑終點資訊的距離是否大於設定距離門檻值,若大於設定距離門檻值,則利用軸運動規劃演算法控制 機械臂運動至下一插補點;若小於設定距離門檻值,則利用軸運動規劃演算法控制機械臂直接運動至路徑終點。 The singular point control method of a robotic arm as described in claim 3 further includes: performing inverse kinematics on the path end point information; and judging that the robotic arm enters the singularity zone based on the inverse kinematics solution result of the path end point information When determining whether the current position of the end of the robotic arm is greater than the set distance threshold value from the path end information, if it is greater than the set distance threshold value, use the axis motion planning algorithm to control The robotic arm moves to the next interpolation point; if it is less than the set distance threshold, the axis motion planning algorithm is used to control the robotic arm to move directly to the end of the path. 如請求項6所述的機械臂奇異點控制方法,其中利用軸運動規劃演算法控制機械臂直接運動至路徑終點的步驟,更包含:即時獲取所述機械臂的末端的當前位置資訊;判定所述機械臂的末端的當前位置資訊與所述路徑終點資訊是否一致;當判定一致時,控制所述機械臂停止運動。 The singular point control method of a robotic arm according to claim 6, wherein the step of using an axis motion planning algorithm to control the robotic arm to directly move to the end of the path further includes: obtaining the current position information of the end of the robotic arm in real time; Whether the current position information of the end of the robot arm is consistent with the path end point information; when the determination is consistent, the robot arm is controlled to stop moving. 如請求項7所述的機械臂奇異點控制方法,其中判定所述機械臂的末端的當前位置資訊與所述路徑終點資訊是否一致,更包含:計算所述機械臂的末端的當前位置資訊距所述路徑終點資訊的距離,並判斷所計算得出的距離是否在預設收斂門檻值範圍內;在所計算得出的距離在所述預設收斂門檻值範圍內時,則得出判定一致的結果。 The method for controlling the singularity of a robot arm according to claim 7, wherein determining whether the current position information of the end of the robot arm is consistent with the path end information, and further comprises: calculating the current position information distance of the end of the robot arm The distance of the path endpoint information, and determine whether the calculated distance is within the preset convergence threshold; when the calculated distance is within the preset convergence threshold, the judgment is consistent the result of. 如請求項1所述的機械臂奇異點控制方法,在採用軸運動規劃演算法控制機械臂運動之前,更包含:獲取所述機械臂的末端的當前運動速度,並判定所述機械臂的末端的當前運動速度是否大於預設末端速度門檻 值;在判定大於預設末端速度門檻值時,控制所述機械臂的末端進行平滑降速,直至所述機械臂的末端的當前運動速度小於等於預設末端速度門檻值。 The singular point control method of the robotic arm as described in claim 1, before adopting the axis motion planning algorithm to control the movement of the robotic arm, it further includes: obtaining the current movement speed of the end of the robotic arm, and determining the end of the robotic arm Is the current movement speed of the motor greater than the preset end speed threshold Value; when determining that it is greater than the preset end speed threshold, control the end of the robotic arm to smoothly decelerate until the current movement speed of the end of the robotic arm is less than or equal to the preset end speed threshold. 一種機械臂奇異點控制系統,用於控制機械臂通過奇異區,所述奇異區為包括奇異點的區域,所述控制系統包含:資訊獲取模組,用於獲取機械臂模型資訊、路徑起點資訊和路徑終點資訊;連接於所述資訊獲取模組的第一計算模組,用於根據所述的機械臂模型資訊、路徑起點資訊和路徑終點資訊進行逆向運動學求解,並在進行逆向運動學求解中,於路徑起點和路徑終點連成的直線上插入多個插補點,且預先計算得到下一插補點的逆解結果;連接於所述第一計算模組的處理模組,用於依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑依序經過各個插補點而向著路徑終點運動,還用於根據所述下一插補點的逆解結果判斷機械臂是否進入所述奇異區,在判定機械臂進入所述奇異區時,所述處理模組控制一第二計算模組採用軸運動規劃演算法計算下一插補點的結果,待所述機械臂完成當前的逆解結果時,所述處理模組將所述機械臂的運動由末端沿直線路徑運動切換至採用軸運動規劃演算法控制的運動;在判定機械臂未進入所述奇異區時,所述處理模組繼 續依據逆向運動學求解的結果控制所述機械臂的末端沿直線路徑運動。 A robotic arm singular point control system for controlling the robotic arm to pass through a singular area, the singular area being an area including singular points, and the control system comprising: an information acquisition module for acquiring information on the robotic arm model and path starting point And path end information; the first calculation module connected to the information acquisition module is used to solve inverse kinematics based on the manipulator model information, path start point information, and path end point information, and perform inverse kinematics In the solution, a number of interpolation points are inserted on the straight line connecting the path start point and the path end point, and the inverse solution result of the next interpolation point is obtained in advance; the processing module connected to the first calculation module uses According to the result of the inverse kinematics solution, the end of the manipulator is controlled to move toward the end of the path through each interpolation point in sequence along a linear path, and it is also used to determine whether the manipulator is based on the inverse solution result of the next interpolation point Enter the singular area, when determining that the robotic arm enters the singular area, the processing module controls a second calculation module to calculate the result of the next interpolation point using the axis motion planning algorithm, and wait for the robotic arm to complete When the current inverse solution results, the processing module switches the motion of the robot arm from the end of the motion along the linear path to the motion controlled by the axis motion planning algorithm; when it is determined that the robot arm does not enter the singular zone, The processing module continues Continue to control the end of the robotic arm to move along a straight path according to the result of the inverse kinematics solution.
TW108136190A 2018-12-07 2019-10-05 Mechanical arm singular point control method and system TWI704039B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811497400.2A CN109605369B (en) 2018-12-07 2018-12-07 Mechanical arm singular point control method and system
CN201811497400.2 2018-12-07

Publications (2)

Publication Number Publication Date
TW202021752A true TW202021752A (en) 2020-06-16
TWI704039B TWI704039B (en) 2020-09-11

Family

ID=66007472

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108136190A TWI704039B (en) 2018-12-07 2019-10-05 Mechanical arm singular point control method and system

Country Status (2)

Country Link
CN (1) CN109605369B (en)
TW (1) TWI704039B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112168352A (en) * 2020-09-25 2021-01-05 武汉联影智融医疗科技有限公司 Surgical robot control method, computer equipment and surgical robot system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113084792B (en) * 2019-12-23 2024-05-03 配天机器人技术有限公司 Method for determining singular areas of joints, robot and storage device
CN112060093B (en) * 2020-09-10 2022-08-02 云南电网有限责任公司电力科学研究院 Path planning method for overhead line maintenance mechanical arm
CN112486034B (en) * 2020-11-09 2023-11-10 北京配天技术有限公司 Method for verifying track planning, electronic equipment and storage medium
CN112511759B (en) * 2021-02-08 2021-05-11 常州微亿智造科技有限公司 Flying shooting control method and device
CN113021347A (en) * 2021-03-23 2021-06-25 深圳市优必选科技股份有限公司 Mechanical arm control method and device, operation control equipment and readable storage medium
CN113681570B (en) * 2021-10-26 2022-01-04 季华实验室 Control method for six-axis mechanical arm to pass through singular point
CN114700945A (en) * 2022-04-12 2022-07-05 南京工程学院 Robot control system and method based on model and image recognition

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845295B2 (en) * 2002-03-07 2005-01-18 Fanuc Robotics America, Inc. Method of controlling a robot through a singularity
JP3896024B2 (en) * 2002-04-09 2007-03-22 新日本製鐵株式会社 Control device for vertical articulated manipulator
CN103802114A (en) * 2012-11-08 2014-05-21 沈阳新松机器人自动化股份有限公司 Industrial robot singular point processing method and device
CN103909522B (en) * 2014-03-19 2016-08-17 华南理工大学 A kind of Six-DOF industrial robot is by the method in unusual territory
JP6468804B2 (en) * 2014-10-30 2019-02-13 ライフロボティクス株式会社 Robot arm mechanism
CN105437235A (en) * 2016-01-25 2016-03-30 珠海格力电器股份有限公司 Singular point region deceleration protection method and system and industrial robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112168352A (en) * 2020-09-25 2021-01-05 武汉联影智融医疗科技有限公司 Surgical robot control method, computer equipment and surgical robot system

Also Published As

Publication number Publication date
CN109605369A (en) 2019-04-12
TWI704039B (en) 2020-09-11
CN109605369B (en) 2021-09-07

Similar Documents

Publication Publication Date Title
TWI704039B (en) Mechanical arm singular point control method and system
JP6333795B2 (en) Robot system with simplified teaching and learning performance improvement function by learning
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
US7129664B2 (en) Robot controller
JP7439206B2 (en) Information processing methods, information processing devices, programs, recording media, production systems, robot systems, article manufacturing methods
US20030171847A1 (en) Method of controlling a robot through a singularity
CN108908347B (en) Fault-tolerant repetitive motion planning method for redundant mobile mechanical arm
CN106041932B (en) A kind of motion control method of UR robots
CN107538493A (en) A kind of industrial robot method for planning track for avoiding cable interference constraint
CN109940615B (en) Terminal state network optimization method for synchronous repeated motion planning of double-arm manipulator
JP6360301B2 (en) Operation program creation method and robot control method
CN113084792B (en) Method for determining singular areas of joints, robot and storage device
KR20200038468A (en) Handling device, method and computer program with robot
CN109311155B (en) Method and device for calibrating tool coordinate system origin of industrial robot
JP7164368B2 (en) robot equipment
CN110977991A (en) Motion control method for airplane cleaning mechanical arm
JP2020171989A (en) Robot teaching system
CN111515954B (en) Method for generating high-quality motion path of mechanical arm
US20170028548A1 (en) Robot control device and robot control method
WO2017175340A1 (en) Optimization device and vertically articulated robot provided with same
Sun et al. Development of the “Quad-SCARA” platform and its collision avoidance based on Buffered Voronoi Cell
CN111699079B (en) Coordination system, operation device and method
Gao et al. A fixed-distance Cartesian path planning algorithm for 6-DOF industrial robots
JPH02308311A (en) Interpolation speed commanding method for multijoint robot
JP2006318301A (en) Adaptive visual feedback control method