本發(fā)明實施例涉及控制應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種機械臂的控制方法和裝置。
背景技術(shù):
機器人已經(jīng)被應(yīng)用于多個領(lǐng)域,在工業(yè)化、智能化的發(fā)展中發(fā)揮著越來越突出的作用,其中,機械臂是機器人執(zhí)行任務(wù)的重要部件。運動軌跡是機器人控制系統(tǒng)的一項基本任務(wù)。機械臂的運動軌跡通常有笛卡爾空間的直線、圓弧,以及關(guān)節(jié)空間的點到點運動軌跡。在實際的應(yīng)用場合中,一般是由多條軌跡順序連接完成一項操作任務(wù),然而,相鄰兩條軌跡在連接處存在拐角,從而不能從一條軌跡平滑過渡到下一條軌跡。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提出一種機械臂的控制方法和裝置,通過對實現(xiàn)了對機械臂運動過程中不同軌跡之間的平穩(wěn)過渡,保證了機械臂運行的效率和精度。
第一方面,本發(fā)明實施例提供了一種機械臂的控制方法,所述方法包括:獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息;根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù);控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
進一步的,在控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點之后,還包括:所述機械臂末端從所述預(yù)設(shè)點根據(jù)所述下一移動直線的軌跡規(guī)劃繼續(xù)移動至所述下一移動直線的終點。
進一步的,所述第一狀態(tài)信息包括所述機械臂末端在所述所在點的位置、速度和加速度;所述第二狀態(tài)信息包括所述機械臂末端在所述預(yù)設(shè)點的位置、速度和加速度。
進一步的,所述獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息包括:獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息;通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示。
進一步的,所述根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù)包括:通過S型速度規(guī)劃法、多階樣條插值法和/或B樣條插補法規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點。
進一步的,所述移動函數(shù)包括:所述機械臂末端在所述移動軌跡上的位置函數(shù)、速度函數(shù)和加速度函數(shù)。
進一步的,所述根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù)還包括:通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)。
進一步的,所述通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示包括:根據(jù)公式進行笛卡爾坐標表示向關(guān)節(jié)空間坐標表示的轉(zhuǎn)換,其中和分別為笛卡爾坐標系下機械臂末端的速度和加速度,和分別為關(guān)節(jié)空間坐標系下機械臂末端的速度和加速度,J為雅可比矩陣,為雅可比矩陣的一階導(dǎo),J+為J的偽逆。
進一步的,所述通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)包括:根據(jù)如下五階多項式曲線公式,確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù);
a0=Q0
其中,Q0、和分別為所述所在點的關(guān)節(jié)空間的位置、速度和加速度,Qs、和分別為所述預(yù)設(shè)點在關(guān)節(jié)空間的位置、速度和加速度,h為所述所在點和所述預(yù)設(shè)點之間的距離,ttrans機械臂末端從所述所在點移動至所述預(yù)設(shè)點的時間。
進一步的,所述通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)還包括:根據(jù)如下公式計算機所述所在點至所述預(yù)設(shè)點之間任意時刻的機械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
其中,Qt、和分別為所述機械臂末端在所述所在點至所述預(yù)設(shè)點之間任意點的位置、速度和加速度。
第二方面,本發(fā)明實施例提供了一種機械臂的控制裝置,所述裝置包括:獲取單元,用于獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息;確定單元,與所述獲取單元相連,用于根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù);控制單元,與所述確定單元相連,用于控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
進一步的,所述第一狀態(tài)信息包括所述機械臂末端在所述所在點的位置、速度和加速度;所述第二狀態(tài)信息包括所述機械臂末端在所述預(yù)設(shè)點的位置、速度和加速度,所述獲取單元包括:信息獲取子單元,用于獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息;信息轉(zhuǎn)換子單元,與所述信息獲取子單元相連,用于通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示。
本發(fā)明實施例中,通過獲取機械臂末端在當前移動直線上的所在點和機械臂末端在下一移動直線上預(yù)設(shè)點狀態(tài)信息,規(guī)劃從所述所在點至所述預(yù)設(shè)點的移動軌跡,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。實現(xiàn)了機械臂末端平穩(wěn)的從一個運動方向切換至另一個運動方向,保證了機械臂運動的效率和精度。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本發(fā)明實施例一中的一種機械臂的控制方法的流程圖;
圖2是本發(fā)明實施例二中的一種機械臂的控制方法的流程圖;
圖3是本發(fā)明實施例三中的一種機械臂的控制方法的流程圖;
圖4為本發(fā)明實施例三中的X-Y平面內(nèi)機械臂末端的軌跡規(guī)劃圖;
圖5-圖7為本發(fā)明實施例三中的機械臂的前三個軸在任意時刻的位置曲線圖;
圖8-圖10為本發(fā)明實施例三中的機械臂的前三個軸在任意時刻的速度曲線圖;
圖11-圖13為本發(fā)明實施例三中的機械臂的前三個軸在任意時刻的加速度曲線圖;
圖14為本發(fā)明實施例四中的一種機械臂的控制裝置的結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。另外還需要說明的是,為了便于說明,以下實施例中示出了與本發(fā)明相關(guān)的示例,這些示例僅作為說明本發(fā)明實施例的原理所用,并不作為對本發(fā)明實施例的限定,同時,這些示例的具體數(shù)值會根據(jù)不同的應(yīng)用環(huán)境和裝置或者組件的參數(shù)不同而不同。
本發(fā)明實施例的一種機械臂的控制方法可以運行于安裝有Windows(微軟公司開發(fā)的操作系統(tǒng)平臺)、Android(谷歌公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)、iOS(蘋果公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)、Windows Phone(微軟公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)等操作系統(tǒng)的終端中,該終端可以是臺式機、筆記本電腦、移動電話、掌上電腦、平板電腦、數(shù)碼相機、數(shù)碼攝像機等等中的任意一種。
實施例一
圖1是本發(fā)明實施例一中的一種機械臂的控制方法的流程圖,該方法用于實現(xiàn)機械臂末端平穩(wěn)的從一個運動方向切換至另一個運動方向,該方法可以由具有機械臂控制的裝置來執(zhí)行,該裝置可以由軟件和/或硬件方式實現(xiàn),例如典型的是用戶終端設(shè)備,例如手機、電腦等。本實施例中的用于觸摸屏的操作方法包括:步驟S110、步驟S120和步驟S130。
步驟S110,獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息。
具體的,在機械臂的任務(wù)操作過程中,機械臂的運動是指機械臂末端的運動,由機械臂末端來執(zhí)行具體的操作任務(wù)??梢园褭C械臂在當前移動直線上的所在點作為該段軌跡的起點,該所在點記為O。機械臂按照用戶指定的任務(wù)需求進行移動,移動至指定位置去執(zhí)行對應(yīng)操作,在機械臂的移動過程中,將下一直線上的預(yù)設(shè)點T作為過渡段的終點,下一移動直線的起點記為P1,終點記為P2,獲取機械臂末端在點O和點T的狀態(tài)信息。
可選的,所述第一狀態(tài)信息包括所述機械臂末端在所述所在點的位置、速度和加速度;所述第二狀態(tài)信息包括所述機械臂末端在所述預(yù)設(shè)點的位置、速度和加速度。
其中,第一狀態(tài)信息包括機械臂末端所在點的位置、速度和加速度分別為Q0、和Q0、和均為n維列向量,向量維數(shù)機械臂的關(guān)節(jié)數(shù)目;第二狀態(tài)信息包括機械臂末端在預(yù)設(shè)點的位置、速度和加速度分別為Ps、和Ps、和均為n維列向量,向量維數(shù)機械臂的關(guān)節(jié)數(shù)目
步驟S120,根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù)。
具體的,為了確定機械臂從所述所在點至所述預(yù)設(shè)點的移動軌跡,首先需要確定計算移動軌跡所需要的參數(shù),該參數(shù)由所述第一狀態(tài)信息和所述第二狀態(tài)信息決定。移動軌跡是由移動函數(shù)生成的直線或曲線構(gòu)成的,函數(shù)是描述每個輸入值(自變量)對應(yīng)唯一輸出值(因變量)的對應(yīng)關(guān)系,函數(shù)圖像是平面或曲面上的點對的集合。機械臂末端的移動軌跡是由移動函數(shù)在平面或曲面上確定的點對的集合,這些點對形成了機械臂末端的移動軌跡。
機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù),連續(xù)函數(shù)是指當自變量變化很小時,因變量變化也很小的對應(yīng)關(guān)系,體現(xiàn)在圖像上是一條沒有斷裂的連續(xù)曲線。機械臂末端的移動軌跡為連續(xù)函數(shù)是指,機械臂末端的相關(guān)狀態(tài)信息的量在數(shù)值上沒有跳變,體現(xiàn)在實際運動中是機械臂在任務(wù)操作中不發(fā)生抖動。
步驟S130,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
具體的,得到從所述所在點至所述預(yù)設(shè)點的移動軌跡后,控制機械臂末端的運動,機械臂末端沿計算出來的移動軌跡從當前直線的所在點位置移動至下一移動直線的預(yù)設(shè)點位置。
可選的,在控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點之后,還包括:所述機械臂末端從所述預(yù)設(shè)點根據(jù)所述下一移動直線的軌跡規(guī)劃繼續(xù)移動至所述下一移動直線的終點。
具體的,機械臂末端沿所述移動軌跡從當前直線的所在點移動至下一移動直線的預(yù)設(shè)點T之后,完成了從所在點到預(yù)設(shè)點的過渡,按用戶需求根據(jù)下一移動直線的軌跡移動至下一直線的終點P2。按用戶需求完成了沿下一移動直線的移動。
本發(fā)明實施例中,通過獲取機械臂末端在當前移動直線上的所在點和機械臂末端在下一移動直線上預(yù)設(shè)點狀態(tài)信息;規(guī)劃從所述所在點至所述預(yù)設(shè)點的移動軌跡,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。實現(xiàn)了機械臂末端平穩(wěn)的從一個運動方向切換至另一個運動方向,保證了機械臂運動的效率和精度。
實施例二
圖2是本發(fā)明實施例二中一種機械臂的控制方法的流程圖,本發(fā)明實施例實在實施例一的基礎(chǔ)上,進一步解釋了步驟S110,所述獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息包括:獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息;通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示。具體的,本實施例中機械臂的控制方法包括:步驟S210、步驟S220、步驟S230和步驟S240。
步驟S210,獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息。
具體的,第一狀態(tài)信息包括機械臂末端所在點的位置、速度和加速度分別為Q0、和Q0、和均為機械臂末端在關(guān)節(jié)空間下的狀態(tài)表示,單位分別為rad、rad/s和rad/s2。
步驟S220,通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示。
具體的,第二狀態(tài)信息包括機械臂末端在預(yù)設(shè)點的位置、速度和加速度分別為Ps、和Ps、和為均為機械臂在笛卡爾空間下的狀態(tài)表示,單位分別為m、m/s和m/s2。根據(jù)逆運動學(xué)的變換方法,通過雅各比矩陣完成第二狀態(tài)信息由笛卡爾坐標系表示到關(guān)節(jié)空間坐標表示的轉(zhuǎn)換。
可選的,所述通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示包括:根據(jù)公式進行笛卡爾坐標表示向關(guān)節(jié)空間坐標表示的轉(zhuǎn)換,其中和分別為笛卡爾坐標系下機械臂末端的速度和加速度,和分別為關(guān)節(jié)空間坐標系下機械臂末端的速度和加速度,J為雅可比矩陣,為雅可比矩陣的一階導(dǎo),J+為J的偽逆。
其中,根據(jù)逆運動學(xué)的變換關(guān)系,即關(guān)節(jié)空間的坐標表示和任務(wù)空間的坐標表示之間的關(guān)系得到
步驟S230,根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù)。
步驟S240,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
本發(fā)明實施例通過獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息,通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示,將第一狀態(tài)信息和第二狀態(tài)信息統(tǒng)一成關(guān)節(jié)空間的坐標表示,以便對機械臂末端從所在點到預(yù)設(shè)點的移動軌跡進行準確規(guī)劃。
實施例三
圖3是本發(fā)明實施例中的一種機械臂的控制方法的流程圖,本實施例是在實施例一的基礎(chǔ)上,進一步解釋了步驟S120,通過S型速度規(guī)劃法、多階樣條插值法和/或B樣條插補法規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點;通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)。具體的,本實施例中機械臂的控制方法包括:步驟S310、步驟S320、步驟S330和步驟S340。
步驟S310,獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息。
步驟S320,通過S型速度規(guī)劃法、多階樣條插值法和/或B樣條插補法規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點。
具體的,當前移動直線和下一移動直線的狀態(tài)信息可以是預(yù)先規(guī)劃的,也可以是根據(jù)機械臂執(zhí)行任務(wù)操作的過程中按照用戶新的需求進行更新的。S型速度規(guī)劃法,系統(tǒng)在加減速段的速度曲線的形狀呈現(xiàn)S型,加減速控制的方式比較復(fù)雜,主要是在加減速的時候,通過對加速度的導(dǎo)數(shù)的控制,從而對加速度、速度和位移進行控制,最大限度的減少對系統(tǒng)造成的影響。多階樣條插值法是通過一系列形值點的一條光滑曲線,數(shù)學(xué)上通過求解三彎矩方程組得出曲線函數(shù)組的過程。B樣條曲線插補具有幾何不變性、凸包性、保凸性、變差減小性和局部支撐性等特性。通過S型速度規(guī)劃法、多階樣條插值法和/或B樣條插補法規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點,Pt=[xt,yt,zt]T,速度加速度t為時間點,xt,yt,zt是機械臂末端在笛卡爾空間的三個坐標軸的位置分量,是機械臂末端在笛卡爾空間的三個坐標軸的速度分量,是機械臂末端在笛卡爾空間的三個坐標軸的加速度分量。
步驟S330,通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)。
具體的,多階多項式法即構(gòu)造多階多項式曲線,該多階多項式曲線即為軌跡規(guī)劃中的移動曲線,多階多項式法的參數(shù)與所述位置函數(shù)、速度函數(shù)和加速度函數(shù)相關(guān)。三角函數(shù)法,即通過正余弦等三角函數(shù),通過位置函數(shù)、速度函數(shù)和加速度函數(shù),確定其對應(yīng)的參數(shù)。
步驟S340,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
可選的,所述移動函數(shù)包括:所述機械臂末端在所述移動軌跡上的位置函數(shù)、速度函數(shù)和加速度函數(shù)。
可選的,所述通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)包括:根據(jù)如下五階多項式曲線公式,確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù);
a0=Q0
其中,Q0、和分別為所述所在點的關(guān)節(jié)空間的位置、速度和加速度,Qs、和分別為所述預(yù)設(shè)點在關(guān)節(jié)空間的位置、速度和加速度,h為所述所在點和所述預(yù)設(shè)點之間的距離,ttrans機械臂末端從所述所在點移動至所述預(yù)設(shè)點的時間。
具體的,通過五階多項式曲線公式,確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)a0、a1、a2、a3、a4和a5,各參數(shù)分別與機械臂末端的所在點的速度和加速度、預(yù)設(shè)點的速度和加速度、所在點和預(yù)設(shè)點的距離相關(guān)。
可選的,所述通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)還包括:根據(jù)如下公式計算機所述所在點至所述預(yù)設(shè)點之間任意時刻的機械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
其中,Qt、和分別為所述機械臂末端在所述所在點至所述預(yù)設(shè)點之間任意點的位置、速度和加速度。
具體的,計算出參數(shù)a0、a1、a2、a3、a4和a5后,根據(jù)該參數(shù)的值設(shè)計函數(shù)表達式,計算所在點至所述預(yù)設(shè)點之間任意時刻的機械臂末端的位置、速度和加速度。該函數(shù)表達式根據(jù)用戶的需要進行設(shè)定,可以是線性函數(shù)表達式,也可以是非線性函數(shù)表達式。
本發(fā)明實施例中,通過規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點,并確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù),確定機械臂末端從所在點到預(yù)設(shè)點的移動軌跡,機械臂末端沿該軌跡進行移動。
為了使方案的表述更易理解,以實施例一至實施例三為基礎(chǔ),可選的,以一個實際應(yīng)用的例子進行說明。對一個SCARA型四軸機械臂末端從坐標[0.6,0,0]T直線運行到[0.289,0.156,-0.078]T,然后使用上述實施例提出的算法,從當前位置規(guī)劃出一個過渡段曲線到[0.189,0.2,-0.094]T,然后直線運行到終點[0,0.2,0]T值得注意的是,以下參數(shù)取值只是一種示例性取值,還可以存在其他取值,具體數(shù)值不同,機械臂末端移動軌跡的精度也不同,可以根據(jù)情況進行相關(guān)調(diào)整。圖4為X-Y平面內(nèi)機械臂末端的軌跡規(guī)劃圖,機械臂末端位置的X軸分量和機械臂末端位置的Y軸分量的單位均為米,曲線410為機械臂末端在該規(guī)劃軌跡中的實際移動曲線。圖5-圖7為機械臂的前三個軸在任意時刻的位置,時間單位均為秒(s),位置單位均為弧度(rad),曲線510、曲線610和曲線710分別代表機械臂前三個軸的位置曲線,點5101和點5102之間的曲線、點6101和點6102之間的曲線、點7101和點7102之間的曲線分別代表機械臂末端從所在點到預(yù)設(shè)點的位置曲線。圖8-圖10為機械臂的前三個軸在任意時刻的速度,時間單位均為秒(s),速度單位均為弧度每秒(rad/s),曲線810、曲線910和曲線1010分別代表機械臂前三個軸的速度曲線,點8101和點8102之間的曲線、點9101和點9102之間的曲線、點10101和點10102之間的曲線分別代表機械臂末端從所在點到預(yù)設(shè)點的速度曲線。圖11-圖13為機械臂的前三個軸在任意時刻的加速度,時間單位均為秒(s),加速度單位均為弧度每二次方秒(rad/s2)。曲線1110、曲線1210和曲線1310分別代表機械臂前三個軸的加速度曲線,點11101和點11102之間的曲線、點12101和點12102之間的曲線、點13101和點13102之間的曲線分別代表機械臂末端從所在點到預(yù)設(shè)點的加速度曲線。從圖可以看到,在關(guān)節(jié)空間坐標系的各個軸的位置、速度和加速度都連續(xù)。
實施例四
圖14是本發(fā)明實施例四中的一種機械臂的控制裝置的結(jié)構(gòu)圖。該裝置適用于執(zhí)行本發(fā)明實施例一至三中提供的機械臂的控制方法,該裝置具體包括:獲取單元1410、確定單元1420和控制單元1430。
獲取單元1410,用于獲取機械臂末端在當前移動直線上的所在點的第一狀態(tài)信息和所述機械臂末端在下一移動直線上預(yù)設(shè)點的第二狀態(tài)信息;
確定單元1420,與獲取單元1410相連,用于根據(jù)所述第一狀態(tài)信息和所述第二狀態(tài)信息確定從所述所在點至所述預(yù)設(shè)點的移動軌跡的參數(shù),所述機械臂末端在所述移動軌跡上的移動函數(shù)為連續(xù)函數(shù);
控制單元1430,與確定單元1420相連,用于控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。
進一步的,所述第一狀態(tài)信息包括所述機械臂末端在所述所在點的位置、速度和加速度;所述第二狀態(tài)信息包括所述機械臂末端在所述預(yù)設(shè)點的位置、速度和加速度,獲取單元1410包括:
信息獲取子單元,用于獲取所述機械臂末端在當前移動直線上的所在點的在關(guān)節(jié)空間下的第一狀態(tài)信息;
信息轉(zhuǎn)換子單元,與所述信息獲取子單元相連,用于通過逆運動學(xué)方法,將所述預(yù)設(shè)點的第二狀態(tài)信息由笛卡爾坐標表示轉(zhuǎn)換成關(guān)節(jié)空間坐標表示。
進一步的,確定單元1420具體用于:通過S型速度規(guī)劃法、多階樣條插值法和/或B樣條插補法規(guī)劃所述下一移動直線在笛卡爾坐標系下的插補點。
進一步的,所述移動函數(shù)包括:所述機械臂末端在所述移動軌跡上的位置函數(shù)、速度函數(shù)和加速度函數(shù);確定單元1420還用于通過多階多項式和/或三角函數(shù)法,分別確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù)。
進一步的,確定單元1420具體用于:根據(jù)公式進行笛卡爾坐標表示向關(guān)節(jié)空間坐標表示的轉(zhuǎn)換,其中和分別為笛卡爾坐標系下機械臂末端的速度和加速度,和分別為關(guān)節(jié)空間坐標系下機械臂末端的速度和加速度,J為雅可比矩陣,為雅可比矩陣的一階導(dǎo),J+為J的偽逆。
進一步的,確定單元1420還用于根據(jù)如下五階多項式曲線公式,確定所述位置函數(shù)、速度函數(shù)和加速度函數(shù)對應(yīng)的參數(shù);
a0=Q0
其中,Q0、和分別為所述所在點的關(guān)節(jié)空間的位置、速度和加速度,Qs、和分別為所述預(yù)設(shè)點在關(guān)節(jié)空間的位置、速度和加速度,h為所述所在點和所述預(yù)設(shè)點之間的距離,ttrans為機械臂末端從所述所在點移動至所述預(yù)設(shè)點的時間。
進一步的,確定單元1420還用于根據(jù)如下公式計算機所述所在點至所述預(yù)設(shè)點之間任意時刻的機械臂末端的位置、速度和加速度;
Qt=Q0+a1t+a2t2+a3t3+a4t4+a5t5
其中,Qt、和分別為所述機械臂末端在所述所在點至所述預(yù)設(shè)點之間任意點的位置、速度和加速度。
本發(fā)明實施例中,通過獲取機械臂末端在當前移動直線上的所在點和機械臂末端在下一移動直線上預(yù)設(shè)點狀態(tài)信息,規(guī)劃從所述所在點至所述預(yù)設(shè)點的移動軌跡,控制所述機械臂末端沿所述移動軌跡從所述所在點移動至所述預(yù)設(shè)點。實現(xiàn)了機械臂末端平穩(wěn)的從一個運動方向切換至另一個運動方向,保證了機械臂運動的效率和精度。
顯然,本領(lǐng)域技術(shù)人員應(yīng)該明白,上述產(chǎn)品可執(zhí)行本發(fā)明任意實施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。