范 萍
(宿遷澤達(dá)職業(yè)技術(shù)學(xué)院,江蘇 宿遷 223800)
隨著農(nóng)業(yè)智能化發(fā)展,果蔬采摘工作目前已經(jīng)實(shí)現(xiàn)了機(jī)械化,果蔬采摘機(jī)器人由于具有成本低、效率高、易操作等優(yōu)點(diǎn),目前已經(jīng)被廣泛應(yīng)用在果蔬采摘工作中,并且得到了批量化生產(chǎn)。果蔬采摘機(jī)器人按照預(yù)先設(shè)定的期望軌跡進(jìn)行采摘運(yùn)動(dòng),但是由于果蔬采摘環(huán)境比較復(fù)雜,對(duì)果蔬采摘機(jī)器人運(yùn)動(dòng)具有一定的影響,在不采取任何措施的情況下,果蔬采摘機(jī)器人是無(wú)法按照設(shè)定軌跡運(yùn)動(dòng)的,實(shí)際運(yùn)動(dòng)軌跡與期望軌跡會(huì)存在較大的差距,從而導(dǎo)致機(jī)器人不能有效完成果蔬采摘任務(wù)。因此,對(duì)其進(jìn)行智能控制是非常有必要的。但是現(xiàn)行方法的控制效果并不理想,在實(shí)際應(yīng)用中不僅超調(diào)量比較大,而且控制穩(wěn)態(tài)誤差也比較大,無(wú)法滿足實(shí)際需求,為此提出基于DDPG算法的果蔬采摘機(jī)器人智能控制方法。
為了描述出果蔬采摘機(jī)器人運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)特征,以牛頓-歐拉方程理論作為理論依據(jù),通過(guò)建立慣性坐標(biāo)系與立體坐標(biāo)系,對(duì)果蔬采摘機(jī)器人的運(yùn)動(dòng)進(jìn)行分析。以果蔬采摘機(jī)器人的重心為原點(diǎn),以機(jī)器人前進(jìn)方向作為X軸正方向,以機(jī)器人前進(jìn)方向的右側(cè)作為立體坐標(biāo)系的Y軸,以機(jī)器人下移方向作為Z軸,建立立體坐標(biāo)系。以水平面的某一點(diǎn)作為原點(diǎn),建立果蔬采摘機(jī)器人慣性坐標(biāo)系[1]。在運(yùn)動(dòng)空間中,果蔬機(jī)器人有6個(gè)自由度,可以通過(guò)以上建立的慣性坐標(biāo)系的基本參數(shù)描述出果蔬采摘機(jī)器人的運(yùn)動(dòng)狀態(tài),機(jī)器人運(yùn)動(dòng)狀態(tài)包括位置和姿態(tài)兩個(gè)參數(shù),用公式表示為:
式中,d表示果蔬采摘機(jī)器人的運(yùn)動(dòng)位置;X、Y、Z分別表示果蔬采摘機(jī)器人在慣性坐標(biāo)系x、y、z三個(gè)坐標(biāo)軸的位置;h表示果蔬采摘機(jī)器人的運(yùn)動(dòng)姿態(tài);α表示機(jī)器人翻滾角;β表示機(jī)器人俯仰角;γ表示機(jī)器人偏航角[2]。
通過(guò)建立的立體坐標(biāo)系基本參數(shù)描述出果蔬采摘機(jī)器人的運(yùn)動(dòng)速度和角速度參數(shù),用公式表示為:
式中,v0表示果蔬采摘機(jī)器人的運(yùn)動(dòng)速度;e、u、c分別表示果蔬采摘機(jī)器人在立體坐標(biāo)系中的縱向速度、水平速度以及垂向速度;vi表示果蔬采摘機(jī)器人的運(yùn)動(dòng)角速度;q表示機(jī)器人的翻滾角速度;p表示機(jī)器人的俯仰角速度;r表示機(jī)器人的偏航角速度[3]。
機(jī)器人在運(yùn)動(dòng)過(guò)程中,作用在機(jī)器人上的外力矩和外力表示為:
式中,σ1表示果蔬采摘機(jī)器人在運(yùn)動(dòng)過(guò)程中作用在機(jī)身上的外力;k、d、m分別表示縱向力、橫向力和垂向力;σ2表示果蔬采摘機(jī)器人在運(yùn)動(dòng)過(guò)程中作用在機(jī)身上的外力矩;a表示機(jī)器人翻滾力矩;n表示機(jī)器人俯仰力矩;l表示機(jī)器人偏航力矩[4]。
考慮到果蔬采摘機(jī)器人在采摘作業(yè)當(dāng)中,機(jī)器人的姿態(tài)和位置參數(shù)是實(shí)時(shí)發(fā)生變化的,因此通過(guò)對(duì)以上建立的兩個(gè)坐標(biāo)系進(jìn)行轉(zhuǎn)換,對(duì)果蔬采摘機(jī)器人的位置和姿態(tài)參數(shù)進(jìn)行實(shí)時(shí)更新[5],從而建立果蔬采摘機(jī)器人運(yùn)動(dòng)學(xué)數(shù)學(xué)模型,用公式表示為:
式中,τ表示果蔬采摘機(jī)器人運(yùn)動(dòng)學(xué)數(shù)學(xué)模型;χ表示慣性坐標(biāo)系與立體坐標(biāo)系轉(zhuǎn)換矩陣。通過(guò)以上建立的機(jī)器人運(yùn)動(dòng)學(xué)數(shù)學(xué)模型,描述出果蔬采摘機(jī)器人運(yùn)動(dòng)狀態(tài),同時(shí)也為后續(xù)控制提供主體。
在上述公式基礎(chǔ)上,利用DDPG算法對(duì)果蔬采摘機(jī)器人運(yùn)動(dòng)動(dòng)作進(jìn)行離散化,DDPG算法屬于深度強(qiáng)化學(xué)習(xí)算法,對(duì)機(jī)器人連續(xù)運(yùn)動(dòng)狀態(tài)進(jìn)行調(diào)控[6],在果蔬采摘機(jī)器人運(yùn)動(dòng)連續(xù)動(dòng)作中篩選出最優(yōu)運(yùn)動(dòng)策略[7],基于DDPG算法的機(jī)器人運(yùn)動(dòng)軌跡控制示意圖如圖1所示。
圖1 基于DDPG算法的機(jī)器人運(yùn)動(dòng)軌跡控制示意圖
如圖1所示,DDPG算法是基于確定性控制策略梯度,參考深度學(xué)習(xí)網(wǎng)絡(luò)目標(biāo)和經(jīng)驗(yàn)池重放機(jī)制,對(duì)果蔬采摘機(jī)器人運(yùn)動(dòng)參數(shù)進(jìn)行更新,從而實(shí)現(xiàn)對(duì)果蔬采摘機(jī)器人運(yùn)動(dòng)參數(shù)自整定的[8]?;贒DPG算法的機(jī)器人運(yùn)動(dòng)軌跡控制,設(shè)置深度神經(jīng)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中分為現(xiàn)實(shí)主網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),主網(wǎng)絡(luò)在深度神經(jīng)網(wǎng)絡(luò)中扮演著演員的角色,目標(biāo)網(wǎng)絡(luò)在深度神經(jīng)網(wǎng)絡(luò)中扮演著評(píng)論家的角色,將果蔬采摘機(jī)器人運(yùn)動(dòng)學(xué)數(shù)學(xué)模型運(yùn)動(dòng)參量作為DDPG算法中深度神經(jīng)網(wǎng)絡(luò)的輸入向量,演員根據(jù)輸入的果蔬采摘機(jī)器人運(yùn)動(dòng)策略給出一個(gè)新的參數(shù),用公式表示為:
式中,f表示主網(wǎng)絡(luò)給出的新的參數(shù);φ表示當(dāng)前果蔬采摘機(jī)器人的運(yùn)動(dòng)狀態(tài);ω表示深度神經(jīng)網(wǎng)絡(luò)參數(shù);F表示獎(jiǎng)勵(lì)。
以輸入的果蔬采摘機(jī)器人運(yùn)動(dòng)狀態(tài)為基礎(chǔ),主網(wǎng)絡(luò)對(duì)深度神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行更新設(shè)置,選擇出當(dāng)前機(jī)器人的最優(yōu)動(dòng)作,向評(píng)論家(目標(biāo)網(wǎng)絡(luò))輸入下一時(shí)刻的運(yùn)動(dòng)狀態(tài),并且給予獎(jiǎng)勵(lì)。評(píng)論家根據(jù)經(jīng)驗(yàn)池存放的果蔬采摘機(jī)器人運(yùn)動(dòng)數(shù)據(jù)選擇下一個(gè)最優(yōu)動(dòng)作,并且對(duì)深度神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行定期重新更新,生成果蔬采摘機(jī)器人運(yùn)動(dòng)目標(biāo)值,用公式表示為:
式中,v表示目標(biāo)網(wǎng)絡(luò)生成的果蔬采摘機(jī)器人運(yùn)動(dòng)目標(biāo)值;θ表示折扣因子;E表示果蔬采摘機(jī)器人當(dāng)前的動(dòng)作價(jià)值;Ct+1表示主網(wǎng)絡(luò)輸出的下一時(shí)刻的果蔬采摘機(jī)器人運(yùn)動(dòng)狀態(tài);At+1表示經(jīng)驗(yàn)池存放的果蔬采摘機(jī)器人運(yùn)動(dòng)動(dòng)作采樣數(shù)據(jù)中下一個(gè)最優(yōu)運(yùn)動(dòng)動(dòng)作。
將生成的目標(biāo)值與當(dāng)前果蔬采摘機(jī)器人運(yùn)動(dòng)狀態(tài)比對(duì),求出果蔬采摘機(jī)器人運(yùn)動(dòng)軌跡誤差,其計(jì)算公式為:
式中,υ表示果蔬采摘機(jī)器人運(yùn)動(dòng)軌跡誤差;vo表示當(dāng)前果蔬采摘機(jī)器人運(yùn)動(dòng)軌跡。將計(jì)算得到的運(yùn)動(dòng)軌跡誤差輸入控制器中,由控制器將其作為機(jī)器人參數(shù)整定值調(diào)控果蔬采摘機(jī)器人運(yùn)動(dòng)參數(shù)[9],以此消除機(jī)器人運(yùn)動(dòng)軌跡誤差,使其貼近期望運(yùn)動(dòng)軌跡,完成基于DDPG算法的果蔬采摘機(jī)器人智能控制。
在完成基于DDPG算法的果蔬采摘機(jī)器人智能控制設(shè)計(jì)后,為檢驗(yàn)設(shè)計(jì)方法的可靠性與可行性[10],將以設(shè)計(jì)方法作為實(shí)驗(yàn)對(duì)象,選擇目前兩種最為常用的方法作為對(duì)照對(duì)象,設(shè)計(jì)一組對(duì)比實(shí)驗(yàn)。為了方便后續(xù)實(shí)驗(yàn)陳述,將兩種傳統(tǒng)方法用傳統(tǒng)方法X、傳統(tǒng)方法Y表述。選擇某采摘農(nóng)業(yè)園中的果蔬采摘機(jī)器人作為控制對(duì)象,該果蔬采摘機(jī)器人型號(hào)為JFATAS-4A8F4,規(guī)格為980 mm×750 mm×450 mm,整備質(zhì)量為85 kg,前后輪距為650 mm,左右軸距為565 mm,越障高度為175 mm,最大載重量為150 kg,最大牽引力為1 750 N,整體材質(zhì)為鑄鋼,最大爬坡角度為55°,最高速度為2.5 km/h,該園區(qū)共有10臺(tái)果蔬采摘機(jī)器人,利用本文設(shè)計(jì)的方法對(duì)其進(jìn)行智能控制。實(shí)驗(yàn)在32位Windows 2010系統(tǒng)下進(jìn)行,DDPG算法使用Python 2.5編譯,建立果蔬采摘機(jī)器人運(yùn)動(dòng)學(xué)數(shù)學(xué)模型,經(jīng)過(guò)多次對(duì)DDPG算法的調(diào)試,選擇較為合適的算法參數(shù),將學(xué)習(xí)率設(shè)定為0.15,目標(biāo)平滑系統(tǒng)設(shè)定為0.01,折扣因子設(shè)定為0.53,目標(biāo)網(wǎng)絡(luò)升級(jí)間隔設(shè)定為15,數(shù)據(jù)容量設(shè)定為128。按照上述流程對(duì)機(jī)器人進(jìn)行控制,下文將對(duì)具體控制效果進(jìn)行評(píng)定。
超調(diào)量可以反映出果蔬采摘機(jī)器人的智能控制精度,超調(diào)量越大,則表示機(jī)器人控制精度越低,對(duì)于果蔬采摘機(jī)器人控制而言,超調(diào)包括角度和距離兩個(gè)方面,其計(jì)算公式為:
式中,G表示果蔬采摘機(jī)器人超調(diào)量;x表示果蔬采摘機(jī)器人理想角度;x0表示果蔬采摘機(jī)器人調(diào)控后的實(shí)際角度;y表示果蔬采摘機(jī)器人理想距離;y0表示果蔬采摘機(jī)器人調(diào)控后的實(shí)際距離。
實(shí)驗(yàn)中隨機(jī)選擇8個(gè)果蔬采摘機(jī)器人,通過(guò)對(duì)果蔬采摘機(jī)器人的控制完成一次果蔬采摘?jiǎng)幼?,利用上述公式?jì)算出果蔬采摘機(jī)器人智能控制的超調(diào)量,使用電子表格記錄實(shí)驗(yàn)數(shù)據(jù),具體數(shù)據(jù)如表1所示。
表1 三種方法超調(diào)量對(duì)比
從上表數(shù)據(jù)可以看出,三種方法在超調(diào)量方面表現(xiàn)出明顯的差異,設(shè)計(jì)方法的最高超調(diào)量?jī)H為0.22%,可以將超調(diào)量控制在1%以內(nèi),說(shuō)明在應(yīng)用設(shè)計(jì)方法時(shí),果蔬采摘機(jī)器人運(yùn)動(dòng)狀態(tài)與理想狀態(tài)基本一致。與傳統(tǒng)方法X相比,設(shè)計(jì)方法超調(diào)量最大約小12%;與傳統(tǒng)方法Y相比,設(shè)計(jì)方法超調(diào)量最大約小15%。因此,從控制精度方面來(lái)看,設(shè)計(jì)方法優(yōu)于兩種傳統(tǒng)方法。
單一的指標(biāo)不能全面反映出方法的應(yīng)用效果,因此,選擇穩(wěn)態(tài)誤差作為第二評(píng)價(jià)指標(biāo),穩(wěn)態(tài)誤差越大,則表示機(jī)器人的控制精度越低。對(duì)于控制穩(wěn)態(tài)誤差的評(píng)價(jià),選擇角度作為參量,以控制次數(shù)作為變量,使用電子表格記錄三種控制方法的穩(wěn)態(tài)誤差,具體數(shù)據(jù)如表2所示。
表2 三種方法穩(wěn)態(tài)誤差對(duì)比
從上表數(shù)據(jù)可以看出,三種方法在穩(wěn)態(tài)誤差方面也表現(xiàn)出明顯的差異,設(shè)計(jì)方法的穩(wěn)態(tài)誤差最大僅為0.06°,數(shù)值較小,基本可以忽略不計(jì),說(shuō)明在應(yīng)用設(shè)計(jì)方法時(shí),果蔬采摘機(jī)器人不會(huì)發(fā)生偏航問(wèn)題。與傳統(tǒng)方法X相比,設(shè)計(jì)方法的穩(wěn)態(tài)誤差最大約小11°;與傳統(tǒng)方法Y相比,設(shè)計(jì)方法的穩(wěn)態(tài)誤差最大約小18°。因此,以上實(shí)驗(yàn)結(jié)果可以證明,無(wú)論是在超調(diào)量方面還是在穩(wěn)態(tài)誤差方面,相較于兩種傳統(tǒng)方法,設(shè)計(jì)方法均表現(xiàn)出明顯的優(yōu)勢(shì),更適用于果蔬采摘機(jī)器人的智能控制。
為了保證果蔬采摘機(jī)器人能在復(fù)雜環(huán)境下順利完成果蔬采摘任務(wù),按照預(yù)先設(shè)定的期望軌跡進(jìn)行準(zhǔn)確運(yùn)動(dòng),本文結(jié)合DDPG算法優(yōu)勢(shì),將其應(yīng)用到果蔬采摘機(jī)器人智能控制中,提出了一種新的控制方法,有效降低了果蔬采摘機(jī)器人超調(diào)量與控制的穩(wěn)態(tài)誤差,為果蔬采摘機(jī)器人智能控制實(shí)踐提供了理論支撐,同時(shí)也為基于DDPG算法的果蔬采摘機(jī)器人智能控制方法研究提供了參考依據(jù),有助于提高果蔬采摘機(jī)器人控制的智能化水平,具有良好的現(xiàn)實(shí)意義。但是該研究方法目前尚處于初步探索階段,尚未得到大量的實(shí)踐與操作驗(yàn)證,在某些方面或許存在不足,今后將在方法優(yōu)化設(shè)計(jì)方面展開(kāi)深層次探究,促進(jìn)果蔬采摘機(jī)器人廣泛應(yīng)用與發(fā)展。