S形曲線速度規(guī)劃方法、裝置及數(shù)控方法和數(shù)控機(jī)床的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)控加工的加減速處理技術(shù)領(lǐng)域,尤其涉及一種S形曲線速度規(guī)劃方 法、裝置及數(shù)控方法和數(shù)控機(jī)床。
【背景技術(shù)】
[0002] 數(shù)控系統(tǒng)中,為了保證機(jī)床在啟動(dòng)停止或者兩條曲線段之間過渡時(shí)不產(chǎn)生沖擊、 失步、超程或者震蕩,需采用專門的加減速控制算法,使得電機(jī)的輸入按照一定的規(guī)律進(jìn)行 變化,在各種加工情況下都能快速準(zhǔn)確的定位?,F(xiàn)有技術(shù)在S形曲線加減速控制中,將S形 曲線劃分為七個(gè)時(shí)間段,根據(jù)系統(tǒng)最大加速度等參數(shù)計(jì)算各個(gè)時(shí)間段的時(shí)間長(zhǎng)度以完成S 形曲線的規(guī)劃,使得被控制的曲線軌跡的加速度呈線性且連續(xù)變化,以此來控制加工過程 中的沖擊和震蕩等問題。
[0003] 但是,在進(jìn)行S形曲線加減速控制過程中,當(dāng)最初算法要求產(chǎn)生變化,就需要為這 種特殊情況來準(zhǔn)備一套特別的公式組,并且還需要持續(xù)開發(fā)出新的公式來適應(yīng)算法的變 化,并付諸大量時(shí)間去測(cè)試。做一種改動(dòng)需要對(duì)很多地方更改方程,漏掉或者出錯(cuò)的概率很 高,出錯(cuò)也不易理解不易修正,交接工作時(shí)對(duì)新入手的算法工程師來說讀懂這么多的公式 也會(huì)消耗大量時(shí)間。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明要解決的技術(shù)問題是提供一種S形曲線速度規(guī)劃方法、裝置及數(shù)控方法和 數(shù)控機(jī)床,能夠在需要改變運(yùn)動(dòng)狀態(tài)參數(shù)時(shí)無需分別更改所有相關(guān)方程組,以節(jié)省編程人 員的時(shí)間和提升系統(tǒng)可靠性。
[0005] 為解決上述問題,本發(fā)明提供的第一方案為提供一種S形曲線速度規(guī)劃方法,所 述S形曲線加減速的運(yùn)行區(qū)間段被劃分為7個(gè)連續(xù)的時(shí)間段1\、……1\、……T7,所述方 法包括:(1)獲取預(yù)先設(shè)定的運(yùn)動(dòng)狀態(tài)參數(shù)的期望值;(2)獲取1\時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng) 的狀態(tài)函數(shù)Motionstatus(i);其中,所述狀態(tài)函數(shù)Motionstatus(i)包括1\時(shí)間段起 始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀態(tài)參數(shù)的值,1 <i< 7 ;(3)根據(jù)所述運(yùn)動(dòng)狀態(tài)參數(shù)的期望值與 所述狀態(tài)函數(shù)Motionstatus(i)計(jì)算狀態(tài)函數(shù)Motionstatus(i+l);其中,所述狀態(tài)函數(shù) M〇ti〇nstatuS(i+l)包括時(shí)間段結(jié)束時(shí)間點(diǎn)或Ti+1時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀態(tài) 參數(shù)的值;循環(huán)執(zhí)行上述步驟(2)、(3),以計(jì)算得到1\至T7各個(gè)時(shí)間段對(duì)應(yīng)的狀態(tài)函數(shù) Motionstatus(i)至Motionstatus(8),從而得到S形曲線速度規(guī)劃的數(shù)據(jù)。
[0006] 其中,所述狀態(tài)函數(shù)Motionstatus(i)包括的時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀 態(tài)參數(shù)的值包括A時(shí)間段起始時(shí)間點(diǎn)時(shí)的加速度ai、速度Vi、位移Pi及時(shí)間ti;所述運(yùn)動(dòng) 狀態(tài)參數(shù)的期望值包括:加加速度J、期望加速度4、期望減速度隊(duì)、期望速度和期望位移 P〇
[0007]其中,所述根據(jù)所述運(yùn)動(dòng)狀態(tài)參數(shù)的期望值與所述狀態(tài)函數(shù)Motionstatus(i)計(jì) 算狀態(tài)函數(shù)Motionstatus(i+1)的步驟包括:由所述運(yùn)動(dòng)狀態(tài)參數(shù)的期望值計(jì)算所述時(shí)間 段Ti的時(shí)間長(zhǎng)度Di;由所述狀態(tài)函數(shù)Motionstatus(i)和所述時(shí)間長(zhǎng)度Di計(jì)算狀態(tài)函數(shù)Motionstatus(i+1)〇
[0008] 其中,所述由所述狀態(tài)函數(shù)Motionstatus (i)和所述時(shí)間長(zhǎng)度Di計(jì)算狀態(tài)函數(shù) Motionstatus (i+1)的步驟包括:利用如下公式計(jì)算所述狀態(tài)函數(shù)Motionstatus (i+1)包 括的加速度值:ai+1= JXDi+ai;利用如下公式計(jì)算所述狀態(tài)函數(shù)Motionstatus (i+1)包 括的速度值:
;利用如下公式計(jì)算所述狀態(tài) 函數(shù)Motionstatus (i+1)包括的位移值:
丨利用如下公式計(jì)算所述狀態(tài)函數(shù)Motionstatus (i+1)包括的時(shí)間值:ti+1 =ti+Di〇
[0009] 其中,所述方法還包括:根據(jù)所述S形曲線速度規(guī)劃的數(shù)據(jù)進(jìn)行插補(bǔ)計(jì)算。
[0010] 為解決上述問題,本發(fā)明提供的第二方案為提供一種基于s形曲線速度規(guī)劃的數(shù) 控方法,所述方法包括:利用如第一方案任意一項(xiàng)所述的s形曲線速度規(guī)劃方法形成的SB 曲線速度規(guī)劃數(shù)據(jù);根據(jù)所述S形曲線速度規(guī)劃數(shù)據(jù)產(chǎn)生數(shù)控指令,以驅(qū)動(dòng)機(jī)械相應(yīng)地運(yùn) 動(dòng)。
[0011] 為解決上述問題,本發(fā)明提供的第三方案為提供一種S形曲線速度規(guī)劃裝置, 所述S形曲線加減速的運(yùn)行區(qū)間段被劃分為7個(gè)連續(xù)的時(shí)間段1\、……Ti、……T7,所 述裝置包括:第一獲取單元,用于獲取預(yù)先設(shè)定的運(yùn)動(dòng)狀態(tài)參數(shù)的期望值;第二獲取單元, 用于獲取1\時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的狀態(tài)函數(shù)Motionstatus(i);其中,所述狀態(tài)函數(shù) Motionstatus(i)包括1\時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀態(tài)參數(shù)的值,1彡i彡7 ;計(jì)算 單元,用于根據(jù)所述運(yùn)動(dòng)狀態(tài)參數(shù)的期望值與所述狀態(tài)函數(shù)Motionstatus(i)計(jì)算狀態(tài)函 數(shù)Motionstatus(i+1);其中,所述狀態(tài)函數(shù)Motionstatus(i+1)包括1\時(shí)間段結(jié)束時(shí)間 點(diǎn)或Ti+1時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀態(tài)參數(shù)的值;所述第二獲取單元和所述計(jì)算單元 如上所述循環(huán)執(zhí)行,以計(jì)算得到1\至T7各個(gè)時(shí)間段對(duì)應(yīng)的狀態(tài)函數(shù)Motionstatus(i)至 Motionstatus(8),從而得到S形曲線速度規(guī)劃的數(shù)據(jù)。
[0012] 其中,所述狀態(tài)函數(shù)Motionstatus(i)包括的時(shí)間段起始時(shí)間點(diǎn)對(duì)應(yīng)的運(yùn)動(dòng)狀 態(tài)參數(shù)的值包括A時(shí)間段起始時(shí)間點(diǎn)時(shí)的加速度ai、速度Vi、位移Pi及時(shí)間ti;所述運(yùn)動(dòng) 狀態(tài)參數(shù)的期望值包括:加加速度J、期望加速度4、期望減速度隊(duì)、期望速度和期望位移 P〇
[0013] 其中,所述計(jì)算單元用于根據(jù)所述運(yùn)動(dòng)狀態(tài)參數(shù)的期望值計(jì)算所述時(shí)間段凡的 時(shí)間長(zhǎng)度Di;以及根據(jù)所述狀態(tài)函數(shù)Motionstatus(i)和所述時(shí)間長(zhǎng)度D,計(jì)算狀態(tài)函數(shù)Motionstatus(i+1)〇
[0014] 為解決上述問題,本發(fā)明提供的第四方案為提供一種數(shù)控機(jī)床,包括如第三方案 任一項(xiàng)所述的S形曲線速度規(guī)劃裝置以及控制裝置,其中,所述控制裝置用于根據(jù)所述S形 曲線速度規(guī)劃數(shù)據(jù)產(chǎn)生數(shù)控指令,以驅(qū)動(dòng)機(jī)械相應(yīng)地運(yùn)動(dòng)。
[0015]本發(fā)明提供的一種S形曲線速度規(guī)劃方法、裝置及數(shù)控方法和數(shù)控機(jī)床,將S形曲 線加減速控制過程中的運(yùn)動(dòng)狀態(tài)進(jìn)行封裝以及通過建立狀態(tài)函數(shù)將S形曲線加減速控制 過程中所需的方程封裝起來,如果需要改變運(yùn)動(dòng)狀態(tài)參數(shù)則可以直接調(diào)用函數(shù)對(duì)封裝起來 的運(yùn)動(dòng)狀態(tài)一起改掉,不易遺漏。將重復(fù)利用的方程或方法封裝后,如果需要新的算法要 求,只需要更改封裝起來的函數(shù),而不是所有用到這個(gè)方程的地方,從而節(jié)省了編程人員的 時(shí)間,提升了系統(tǒng)的可靠性。
【附圖說明】
[0016]圖1為現(xiàn)有技術(shù)中的S形曲線速度規(guī)劃的運(yùn)動(dòng)狀態(tài)參數(shù)對(duì)應(yīng)關(guān)系示意圖;
[0017] 圖2為本發(fā)明第一實(shí)施方式中的S形曲線速度規(guī)劃方法的流程示意圖;
[0018]圖3為本發(fā)明第一實(shí)施方式中的S形曲線速度規(guī)劃的運(yùn)動(dòng)狀態(tài)參數(shù)對(duì)應(yīng)關(guān)系示意 圖;
[0019] 圖4為本發(fā)明第一實(shí)施方式中計(jì)算狀態(tài)函數(shù)Motionstatus (i+1)的方法流程示意 圖;
[0020] 圖5為本發(fā)明第二實(shí)施方式中的S形曲線速度規(guī)劃方法的流程示意圖;
[0021] 圖6為本發(fā)明第三實(shí)施方式中的S形曲線速度規(guī)劃方法的流程示意圖;
[0022] 圖7為本發(fā)明第一實(shí)施方式中的S形曲線速度規(guī)劃裝置的功能模塊示意圖;
[0023] 圖8為本發(fā)明第二實(shí)施方式中的S形曲線速度規(guī)劃裝置的功能模塊示意圖;
[0024] 圖9為本發(fā)明實(shí)施方式中數(shù)控機(jī)床的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025] 下面將結(jié)合本發(fā)明實(shí)施方式中的附圖,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí) 施方式?;诒景l(fā)明中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所 獲得的所有其他實(shí)施方式,均屬于本發(fā)明保護(hù)的范圍。
[0026] 以下將首先對(duì)現(xiàn)有技術(shù)的數(shù)控系統(tǒng)的S形曲線速度規(guī)劃的基本原理進(jìn)行說明:
[0027] 請(qǐng)參閱圖1,為現(xiàn)有技術(shù)中的S形曲線速度規(guī)劃的運(yùn)動(dòng)狀態(tài)參數(shù)對(duì)應(yīng)關(guān)系示意圖, S形曲線指數(shù)控系統(tǒng)在加減速階段的速度曲線形狀呈S形,且S形曲線加減速的運(yùn)行區(qū)間 段一般可以分為七個(gè)連續(xù)的時(shí)間段,從S形曲線的起點(diǎn)依次分別為:加加速階段、勻加速階 段、減加速階段、勻速階段、加減速階段、勻減速階段和減減速階段階段。這七個(gè)時(shí)間段的 時(shí)間長(zhǎng)度分別記做T 2、T3、T4、T5、T6、T7,每個(gè)時(shí)間段末點(diǎn)的時(shí)間記做tp t2、t3、t4、t5、t6