專利名稱:一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能農(nóng)業(yè)設(shè)施技術(shù),尤其是涉及一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法。
背景技術(shù):
工廠化穴盤育苗中成苗率在80-95%之間,穴盤內(nèi)除未發(fā)芽和漏播的孔穴,還有劣質(zhì)缽苗,導(dǎo)致后續(xù)機械化批量移栽出現(xiàn)栽空、漏栽等現(xiàn)象,因此穴盤苗出廠前需要有不健康苗剔除和補苗環(huán)節(jié)。設(shè)施農(nóng)業(yè)缽苗移栽機器人通過視覺檢測缽苗健康狀況和移缽系統(tǒng)實現(xiàn)各種功能的移栽,代替?zhèn)鹘y(tǒng)手工移栽,降低勞動強度,提高生產(chǎn)效率,且使秧苗移栽一致性 好。穴盤苗進入缽苗移栽機器人的補苗移栽系統(tǒng),在各苗缽健康狀況和位置信息均已知情況下,末端執(zhí)行器從移栽穴盤將健康苗缽逐一取出補種到目的穴盤中被視覺檢測不健康缽苗剔除后的空穴中去。目的穴盤內(nèi)各空穴位置的隨機性和移栽穴盤內(nèi)可移栽苗缽的多選擇性,致使移缽路徑距離會隨補種苗缽的先后順序不同而變化。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,能夠提高設(shè)施農(nóng)業(yè)自動化作業(yè)中自動移缽機械手機械手臂工作效率,減少補苗工序時長。為了達到上述目的,本發(fā)明采用的技術(shù)方案是
本發(fā)明使用機器視覺技術(shù)生成目的苗盤苗位信息矩陣與移栽苗盤苗位信息矩陣;通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體;對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來篩選保留作為子代個體;對子代個體進行交叉操作;對子代個體進行單點變異;重插入操作保證初始種群規(guī)模;重復(fù)篩選、交叉、變異、重插入過程直至滿足迭代條件后輸出優(yōu)化路徑結(jié)果。所述的通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體,具體過程為負(fù)實數(shù)位于染色體編碼奇數(shù)位,正實數(shù)位于染色體編碼偶數(shù)位,重復(fù)此過程直至滿足初始規(guī)模NMD條染色體的生成。所述的對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來選擇保留作為子代個體,適應(yīng)度函數(shù)為/(X) = I - (Disroue(x) - Mmroute) j(Maxroute- Mmrouts),將每條染色體適應(yīng)度值線性化到區(qū)間,其中Disrout'e{x.)表示為當(dāng)前染色體路徑值,Mnroute表示所有染色體中最小路徑值,Maxroute表示所有染色體中的路徑最大值。所述的對子代個體進行交叉操作,假設(shè)對于目的穴盤有4個空穴和移栽穴盤有41個有苗穴的補苗路徑問題,具體交叉算法過程描述如下
a)產(chǎn)生兩個介于I至8之間的隨機數(shù)i和j,其中i作為交配位,j作為交配步長;假設(shè) i = 4,j = 3,而父代個體 A =(0, 20,-3, 16,-1, 18,-2,36,-4,O);父代個體 B =(O, 18,-1, 14,-3,7,-4, 16,-2,0);
b)首先將兩個父代個體除原點O后的第i位到i+j位互換,若i+j>8,則視其均等于8 ;得到子代個體Al = (O, 20,-3,16,-I, 7,-4,16,-4,O);子代個體BI =(O, 18,-I, 14,-3,18,-2,36,-2,O);
c)對每個子代個體前后的原點O位去除后,從前開始搜索,發(fā)現(xiàn)相同的基因用1000代替;于是更新子代個體 Al = (0,20,-3,16,-I, 7,-4,1000,1000,O) ;B1 =(0, 18,-I, 14,-3,1000,-2,36,1000,O);
d)再對每個個體從除原點O后的第i+ I位開始遍歷,所有1000都依次被有效基因替換;具體方法是若1000處于偶數(shù)位,即帶負(fù)的標(biāo)記,則將目的穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個偶數(shù)位對比,如果是沒有出現(xiàn)過的,則以此來代替1000 ;若1000處于奇數(shù)位,即帶正的標(biāo)記,則將移栽穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個奇數(shù) 位對比,將沒有出現(xiàn)過標(biāo)記的歸為一組,隨機產(chǎn)生一個來代替1000 ;于是得到更新子代個體 Al = (O, 20,-3,16,-I, 7 -4,25,-2,O) ;B1 = (O, 18,-I, 14,-3,8,-2,36,-4, O);
這種交叉算法在考慮繼承父代信息同時,盡可能擴大隨機化搜索的范圍,并保證移缽路徑染色體特有基因個體排序的有效性。所述的對子代個體進行單點變異,其變異過程為
a)產(chǎn)生一個介于I至8之間的隨機數(shù)k代表變異位,將子代變異個體除原點O后的第k個標(biāo)記值取出,判斷該標(biāo)記的正負(fù)特性;
b)若標(biāo)記位為負(fù),則從除該標(biāo)記數(shù)的其他負(fù)標(biāo)記數(shù)中隨機選擇一個,從變異個體中遍歷找到該值與變異位基因互換,假設(shè)k = 2,子代個體Al =(O, 20, -3,16,-I, 7,-4,25,-2,0),則在除-3 標(biāo)記數(shù)的(_1,_2,-3,-4)中產(chǎn)生一個隨機數(shù)(設(shè)為 _2),于是更新子代個體 Al = (0,20,-2,16,-I, 7,-4,25,-3,0);
c)若標(biāo)記位為正,則從除該標(biāo)記數(shù)的其他正標(biāo)記數(shù)中隨機選擇一個與其進行基因互換,并遍歷基因替換后的子代個體,若其中有同的基因,則用原標(biāo)記數(shù)替換它,若無則滿足了排序編碼的特殊性要求;假設(shè)k = 3,則在除16標(biāo)記數(shù)的(1,2,3,…,36)中產(chǎn)生一個隨機數(shù),假設(shè)該隨機數(shù)為30,于是更新子代個體Al = (0,20,-3,30,-I, 7,-4,25,-2,O);若該隨機數(shù)為 25,則更新子代個體 Al = (0,20,-3,25,-I, 7,-4,16,-2,O)。所述的重插入操作保證初始種群規(guī)模,是重插入所有子代個體代替最不適應(yīng)的父代個體,以保持種初始種群規(guī)模。本發(fā)明具有的有益效果是
本發(fā)明通過機器視覺技術(shù)處理得到目的苗盤與移栽苗盤的苗位信息,運用遺傳算法為技術(shù)手段,完成快速優(yōu)化補苗機械手臂補苗工作路徑,從而提高機械手臂工作效率,減少補苗工序時長。
圖I表示本發(fā)明的基于遺傳算法的自動移缽路徑優(yōu)化方法的流程圖。圖2表示通過機器視覺技術(shù)得到的目的苗盤苗位信息矩陣。圖3表示通過機器視覺技術(shù)得到的移栽苗盤苗位信息矩陣。
圖4表示優(yōu)化過程中最優(yōu)隨優(yōu)化代數(shù)變化圖。圖5表示通過最終優(yōu)化路徑而得到的機械手臂移缽路徑圖。
具體實施例方式下面結(jié)合程序流程圖和實施例對本發(fā)明作進一步說明。步驟流程圖如圖I所示本發(fā)明使用機器視覺技術(shù)生成目的苗盤苗位信息矩陣(如圖2所示)與移栽苗盤苗位信息矩陣(如圖3所示);通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體;對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來篩選保留作為子代個體;對子代個體進行交叉操作;對子代個體進行單點變異; 重插入操作保證初始種群規(guī)模;重復(fù)篩選、交叉、變異、重插入過程直至滿足迭代條件后輸出優(yōu)化路徑結(jié)果。SllO :所述的通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體,具體過程為負(fù)實數(shù)位于染色體編碼奇數(shù)位,正實數(shù)位于染色體編碼偶數(shù)位,重復(fù)此過程直至滿足初始規(guī)模NMD條染色體的生成。S120 :所述的對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來選擇保留作為子代個體,適應(yīng)度函數(shù)為/(x) = l-(Disroue(x) — &£nrout&)/(Ma :rou£e- AfEnraule),將每條染色體適應(yīng)度值線性化到區(qū)間,其中Disroute(X)表示為當(dāng)前染色體路徑值,Minrouis表示所有染色體中最小路徑值,Maxrouie表示所有染色體中的路徑最大值。S130 :所述的對子代個體進行交叉操作,假設(shè)對于目的穴盤有4個空穴(如圖2所示)和移栽穴盤有41個有苗穴(如圖3所示)的補苗路徑問題,具體交叉算法過程描述如下
a)產(chǎn)生兩個介于I至8之間的隨機數(shù)i和j,其中i作為交配位,j作為交配步長;假設(shè) i = 4,j = 3,而父代個體 A =(0, 20,-3, 16,-1, 18,-2,36,-4,O);父代個體 B =(O, 18,-1, 14,-3,7,-4, 16,-2,0);
b)首先將兩個父代個體除原點O后的第i位到i+j位互換,若i+j>8,則視其均等于8 ;得到子代個體Al = (O, 20,-3,16,-I, 7,-4,16,-4,O);子代個體BI =(O, 18,-I, 14,-3,18,-2,36,-2,O);
c)對每個子代個體前后的原點O位去除后,從前開始搜索,發(fā)現(xiàn)相同的基因用1000代替;于是更新子代個體 Al = (0,20,-3,16,-I, 7,-4,1000,1000,O) ;B1 = (O, 18,-I, 14,-3,1000,-2,36,1000,O);
d)再對每個個體從除原點O后的第i+ I位開始遍歷,所有1000都依次被有效基因替換;具體方法是若1000處于偶數(shù)位,即帶負(fù)的標(biāo)記,則將目的穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個偶數(shù)位對比,如果是沒有出現(xiàn)過的,則以此來代替1000 ;若1000處于奇數(shù)位,即帶正的標(biāo)記,則將移栽穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個奇數(shù)位對比,將沒有出現(xiàn)過標(biāo)記的歸為一組,隨機產(chǎn)生一個來代替1000 ;于是得到更新子代個體 Al = (O, 20,-3,16,-I, 7 -4,25,-2,O) ;B1 = (O, 18,-I, 14,-3,8,-2,36,-4, O);
這種交叉算法在考慮繼承父代信息同時,盡可能擴大隨機化搜索的范圍,并保證移缽路徑染色體特有基因個體排序的有效性。
S140 :所述的對子代個體進行單點變異,其變異過程為
a)產(chǎn)生一個介于I至8之間的隨機數(shù)k代表變異位,將子代變異個體除原點O后的第k個標(biāo)記值取出,判斷該標(biāo)記的正負(fù)特性;
b)若標(biāo)記位為負(fù),則從除該標(biāo)記數(shù)的其他負(fù)標(biāo)記數(shù)中隨機選擇一個,從變異個體中遍歷找到該值與變異位基因互換,假設(shè)k = 2,子代個體Al =(O, 20, -3,16,-I, 7,-4,25,-2,0),則在除-3 標(biāo)記數(shù)的(_1,_2,-3,-4)中產(chǎn)生一個隨機數(shù)(設(shè)為 _2),于是更新子代個體 Al = (0,20,-2,16,-I, 7,-4,25,-3,0);
c)若標(biāo)記位為正,則從除該標(biāo)記數(shù)的其他正標(biāo)記數(shù)中隨機選擇一個與其進行基因互換,并遍歷基因替換后的子代個體,若其中有同的基因,則用原標(biāo)記數(shù)替換它,若無則滿足了排序編碼的特殊性要求;假設(shè)k = 3,則在除16標(biāo)記數(shù)的(1,2,3,…,36)中產(chǎn)生一個隨機數(shù),假設(shè)該隨機數(shù)為30,于是更新子代個體Al = (0,20,-3,30,-I, 7,-4,25,-2,O);若該隨機數(shù)為 25,則更新子代個體 Al = (0,20,-3,25,-I, 7,-4,16,-2,O)。
S150 :所述的重插入操作保證初始種群規(guī)模,是重插入所有子代個體代替最不適應(yīng)的父代個體,以保持種初始種群規(guī)模。S160 :當(dāng)遺傳代數(shù)值gen大于等于規(guī)定迭代次數(shù)Maxgen時既滿足終止條件,為保證能得到可靠優(yōu)化的路徑解,一般Maxgen需要取一個合適的值。S170:輸出優(yōu)化結(jié)果并作出路徑圖。以圖2目的苗盤苗位信息矩陣與圖3移栽苗盤苗位信息矩陣為輸入,優(yōu)化過程控制參數(shù)設(shè)置如下交叉率為O. 8,變異率為O. 3,代溝為O. 9,遺傳代數(shù)為50。圖4為每代解、種群均值隨著遺傳代數(shù)的變化情況,全局最優(yōu)由遍歷法計算得到,作為和遺傳算法得出的最優(yōu)解做對比。圖5是在此實例下,由優(yōu)化路徑輸出的移缽機械手動作路徑圖,移缽機械手由原點出發(fā)按圖5中優(yōu)化后的路徑動作,完成移栽過程又回到原點。
權(quán)利要求
1.一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于使用機器視覺技術(shù)生成目的苗盤苗位信息矩陣與移栽苗盤苗位信息矩陣;通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體;對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來篩選保留作為子代個體;對子代個體進行交叉操作;對子代個體進行單點變異;重插入操作保證初始種群規(guī)模;重復(fù)篩選、交叉、變異、重插入過程直至滿足迭代條件后輸出優(yōu)化路徑結(jié)果。
2.根據(jù)權(quán)利要求I所述的一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于所述的通過兩個苗位信息矩陣進行正負(fù)實數(shù)插序編碼并生成染色體,具體過程為負(fù)實數(shù)位于染色體編碼奇數(shù)位,正實數(shù)位于染色體編碼偶數(shù)位,重復(fù)此過程直至滿足初始規(guī)模NMD條染色體的生成。
3.根據(jù)權(quán)利要求I所述的一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于所述的對生成初始種群建立的染色體進行適應(yīng)度計算并由賭輪盤方法來選擇保留作為子代個體,適應(yīng)度函數(shù)為/(x) = I -(Disroue(x) — Mmrouid)Minrouid),將每條染色體適應(yīng)度值線性化到[O, I]區(qū)間,其中Disrouie(X)表示為當(dāng)前染色體路徑值,Minrouis表示所有染色體中最小路徑值,Maxroute表示所有染色體中的路徑最大值。
4.根據(jù)權(quán)利要求I所述的一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于所述的對子代個體進行交叉操作,假設(shè)對于目的穴盤有4個空穴和移栽穴盤有41個有苗穴的補苗路徑問題,具體交叉算法過程描述如下 a)產(chǎn)生兩個介于I至8之間的隨機數(shù)i和j,其中i作為交配位,j作為交配步長;假設(shè) i = 4,j = 3,而父代個體 A =(0, 20,-3, 16,-1, 18,-2,36,-4,O);父代個體 B =(O, 18,-1, 14,-3,7,-4, 16,-2,0); b)首先將兩個父代個體除原點O后的第i位到i+j位互換,若i+j>8,則視其均等于8 ;得到子代個體Al = (O, 20,-3,16,-I, 7,-4,16,-4,O);子代個體BI =(O, 18,-I, 14,-3,18,-2,36,-2,O); c)對每個子代個體前后的原點O位去除后,從前開始搜索,發(fā)現(xiàn)相同的基因用1000代替;于是更新子代個體 Al = (0,20,-3,16,-I, 7,-4,1000,1000,O) ;B1 =(0, 18,-I, 14,-3,1000,-2,36,1000,O); d)再對每個個體從除原點O后的第i+ I位開始遍歷,所有1000都依次被有效基因替換;具體方法是若1000處于偶數(shù)位,即帶負(fù)的標(biāo)記,則將目的穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個偶數(shù)位對比,如果是沒有出現(xiàn)過的,則以此來代替1000 ;若1000處于奇數(shù)位,即帶正的標(biāo)記,則將移栽穴盤內(nèi)的所有標(biāo)記號與染色體除原點O后的每個奇數(shù)位對比,將沒有出現(xiàn)過標(biāo)記的歸為一組,隨機產(chǎn)生一個來代替1000 ;于是得到更新子代個體 Al = (O, 20,-3,16,-I, 7 -4,25,-2,O) ;B1 = (O, 18,-I, 14,-3,8,-2,36,-4, O); 這種交叉算法在考慮繼承父代信息同時,盡可能擴大隨機化搜索的范圍,并保證移缽路徑染色體特有基因個體排序的有效性。
5.根據(jù)權(quán)利要求I所述的一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于所述的對子代個體進行單點變異,其變異過程為a)產(chǎn)生一個介于I至8之間的隨機數(shù)k代表變異位,將子代變異個體除原點O后的第k個標(biāo)記值取出,判斷該標(biāo)記的正負(fù)特性; b)若標(biāo)記位為負(fù),則從除該標(biāo)記數(shù)的其他負(fù)標(biāo)記數(shù)中隨機選擇一個,從變異個體中遍歷找到該值與變異位基因互換,假設(shè)k = 2,子代個體Al =(O, 20, -3,16,-I, 7,-4,25,-2,0),則在除-3 標(biāo)記數(shù)的(_1,_2,-3,-4)中產(chǎn)生一個隨機數(shù)(設(shè)為 _2),于是更新子代個體 Al = (0,20,-2,16,-I, 7,-4,25,-3,0); c)若標(biāo)記位為正,則從除該標(biāo)記數(shù)的其他正標(biāo)記數(shù)中隨機選擇一個與其進行基因互換,并遍歷基因替換后的子代個體,若其中有同的基因,則用原標(biāo)記數(shù)替換它,若無則滿足了排序編碼的特殊性要求;假設(shè)k = 3,則在除16標(biāo)記數(shù)的(1,2,3,…,36)中產(chǎn)生一個隨機數(shù),假設(shè)該隨機數(shù)為30,于是更新子代個體Al = (0,20,-3,30,-I, 7,-4,25,-2,O);若該隨機數(shù)為 25,則更新子代個體 Al = (0,20,-3,25,-I, 7,-4,16,-2,O)。
6.根據(jù)權(quán)利要求I所述的一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法,其特征在于所述的重插入操作保證初始種群規(guī)模,是重插入所有子代個體代替最不適應(yīng)的父代個體,以保持種初始種群規(guī)模。
全文摘要
本發(fā)明公開了一種基于遺傳算法的穴盤苗自動移缽路徑優(yōu)化方法。主要包括以下步驟,通過機器視覺處理技術(shù)得到目的苗盤與移栽苗盤的苗位信息,并生成相應(yīng)的苗位矩陣;通過苗位矩陣隨機生成實數(shù)路徑編碼并生成初始種群;對初始種群進行適應(yīng)度計算篩選,通過變異、交叉的方法生成子代同時運用重插入維持染色體規(guī)模;重復(fù)變異、交叉、篩選、重插入的過程直至滿足迭代條件后輸出優(yōu)化路徑結(jié)果。本發(fā)明可以生成優(yōu)化的補苗機械手臂動作路徑,該路徑能夠提高機械手臂工作效率,減少補苗工序時長。
文檔編號A01C11/02GK102870534SQ20121035312
公開日2013年1月16日 申請日期2012年9月21日 優(yōu)先權(quán)日2012年9月21日
發(fā)明者蔣煥煜, 周鳴川, 童俊華, 周偉, 劉巖 申請人:浙江大學(xué)