任 偉 王志剛 楊 華 張翌盛 陳 銘
1(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院 上海 200240) 2(英特爾中國(guó)研究院 北京 100086)
隨著大容量鋰離子電池技術(shù)的成熟,越來(lái)越多的汽車制造商采取動(dòng)力電池作為新能源汽車動(dòng)力源[1].我國(guó)電動(dòng)汽車的使用壽命一般在5~8年之間,因此,在未來(lái)數(shù)十年內(nèi)將有大量的動(dòng)力電池需要回收[2].中國(guó)汽車技術(shù)研究中心提供的最新數(shù)據(jù)顯示:伴隨著退役動(dòng)力電池量的不斷增加,到2025年國(guó)內(nèi)汽車動(dòng)力電池累計(jì)退役量將高達(dá)78萬(wàn)噸(約116 GWh).動(dòng)力電池中含有鈷、鎳、銅、鋁、鋰等金屬元素,其電解液中含有多種有機(jī)溶劑、鋰鹽等,如果回收處理不當(dāng),將會(huì)對(duì)環(huán)境產(chǎn)生很大影響.為了減輕對(duì)環(huán)境的影響,動(dòng)力電池的回收也變得越來(lái)越重要.目前,動(dòng)力電池的回收再利用主要在兩大方向進(jìn)行開(kāi)展:梯次利用和有價(jià)值材料回收再生.但不管是哪一種回收,首先都需要對(duì)電池進(jìn)行拆解.目前,動(dòng)力電池拆解回收主要采取人工拆解為主,機(jī)器輔助拆解的方式[3-4].這種方式不僅低效,而且拆解工作環(huán)境惡劣,風(fēng)險(xiǎn)高.為了應(yīng)對(duì)大規(guī)模急速增加的拆解任務(wù)工作量,減少拆解工作環(huán)境對(duì)拆解工人的傷害,提高經(jīng)濟(jì)和社會(huì)效益,采取機(jī)器人自主智能化拆解回收動(dòng)力電池勢(shì)在必行[5].
當(dāng)下,機(jī)器人智能化自主拆解面臨的主要困難是非結(jié)構(gòu)化的拆解環(huán)境和多種不確定的條件.汽車制造商為了迎合消費(fèi)者個(gè)性化動(dòng)力的需求,動(dòng)力電池包不僅外觀造型各異而且性能配置亦不同,即使是同一品牌同一型號(hào)的新能源汽車動(dòng)力電池包的配置也往往不同[5],導(dǎo)致結(jié)構(gòu)不同、連接約束件不同[6].此外,在非結(jié)構(gòu)化的使用環(huán)境中動(dòng)力電池包存在變形(如圖1所示[7])、污濁、腐蝕等.而且,由于消費(fèi)者使用的頻次、時(shí)長(zhǎng)和習(xí)慣不同,導(dǎo)致動(dòng)力電池的健康狀態(tài)和剩余壽命不同,廢舊動(dòng)力電池包拆解廠商無(wú)法批量獲得特定批次的動(dòng)力電池進(jìn)行拆解.因此,拆解廠商無(wú)法像制造廠商一樣,針對(duì)同一批次的電池包借助固定結(jié)構(gòu)化的預(yù)編程控制機(jī)器人進(jìn)行大規(guī)模的拆解回收.
Fig.1 Illustration of the electric vehicle battery pack after collision
Fig.2 Illustration with intelligent disassembly system based on NeuroSymbolic
本文的主要貢獻(xiàn)是把動(dòng)力電池的智能拆解任務(wù)規(guī)范為基于神經(jīng)符號(hào)的任務(wù)與運(yùn)動(dòng)規(guī)劃問(wèn)題,并基于此形成一個(gè)感知和控制緊密結(jié)合的閉環(huán)控制系統(tǒng).該系統(tǒng)的架構(gòu)圖如圖2所示,與經(jīng)典的規(guī)劃方法類似,系統(tǒng)用PDDL(planning domain define language)描述每個(gè)拆解動(dòng)作原語(yǔ),包括每個(gè)動(dòng)作執(zhí)行的前提條件,以及該動(dòng)作執(zhí)行完成后對(duì)環(huán)境的影響.最佳方案搜索模塊根據(jù)當(dāng)前的狀態(tài)和目標(biāo)狀態(tài),使用邏輯推理的方法自動(dòng)地設(shè)計(jì)(搜索)出達(dá)到目標(biāo)的動(dòng)作規(guī)劃(動(dòng)作原語(yǔ)序列).整個(gè)過(guò)程具有可解釋性,系統(tǒng)清楚地知道為什么要做某步驟,以及該步驟的前提條件.與經(jīng)典規(guī)劃方法不同的是,我們引入了神經(jīng)謂詞,利用神經(jīng)網(wǎng)絡(luò)幫助符號(hào)系統(tǒng)完成符號(hào)接地(symbol grounding)的問(wèn)題(即,將連續(xù)輸入狀態(tài),如機(jī)器人位姿或圖像等,映射到規(guī)劃器生成所需的符號(hào)狀態(tài)),使該規(guī)劃方法不局限于符號(hào)空間,無(wú)需人工完成復(fù)雜的抽象工作,根據(jù)實(shí)際物理空間中任務(wù)類型自主完成任務(wù)規(guī)劃,進(jìn)而控制機(jī)器人執(zhí)行任務(wù).由于神經(jīng)謂詞的輸出存在誤差,如果簡(jiǎn)單粗暴(設(shè)定某個(gè)閾值)完成映射工作,很容易產(chǎn)生無(wú)效的狀態(tài).所以,我們將搜索模塊進(jìn)行了相應(yīng)的擴(kuò)展,使用基于概率邏輯的搜索策略[8-9],將神經(jīng)網(wǎng)絡(luò)中softmax層的輸出與之對(duì)接,促使2個(gè)模塊能夠密切的協(xié)同工作.進(jìn)一步,利用邏輯系統(tǒng)的可解釋性,我們對(duì)系統(tǒng)進(jìn)行擴(kuò)展,在執(zhí)行過(guò)程中,機(jī)器人根據(jù)當(dāng)前的執(zhí)行狀態(tài),判斷出執(zhí)行的結(jié)果,從而收集拆解現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù),并利用這些數(shù)據(jù)訓(xùn)練神經(jīng)謂詞,逐漸地提高系統(tǒng)的識(shí)別精度.
我們提出的模型將符號(hào)邏輯系統(tǒng)AI 1.0中的推理能力和神經(jīng)網(wǎng)絡(luò)系統(tǒng)AI 2.0中的感知和學(xué)習(xí)能力融合在一起,該模型系統(tǒng)具備4方面優(yōu)勢(shì):
1)自主性.系統(tǒng)能夠智能感知環(huán)境差別,自主選擇并執(zhí)行運(yùn)動(dòng)原語(yǔ),實(shí)現(xiàn)動(dòng)力電池連接約束件的自主解除;
2)可擴(kuò)展性.系統(tǒng)通過(guò)添加新的動(dòng)作原語(yǔ)完成更復(fù)雜的任務(wù);
3)可學(xué)習(xí)性.系統(tǒng)通過(guò)引入神經(jīng)謂詞實(shí)現(xiàn)從連續(xù)空間狀態(tài)到規(guī)劃器所需的符號(hào)狀態(tài)的映射,映射是基于數(shù)據(jù)進(jìn)行學(xué)習(xí)獲得的該映射.這種方法避免了像傳統(tǒng)符號(hào)邏輯系統(tǒng)一樣要求專業(yè)人員提前定義和抽象符號(hào),而且,使得整個(gè)系統(tǒng)可以在工作中通過(guò)現(xiàn)場(chǎng)學(xué)習(xí)(in situ learning)不斷的提高精度;
4)可解釋性.任務(wù)規(guī)劃采取符號(hào)邏輯驅(qū)動(dòng),它能夠掌握拆解動(dòng)作執(zhí)行的原因和結(jié)果,因此,人類可以輕松地干預(yù)和指導(dǎo).考慮到系統(tǒng)在可擴(kuò)展性和可學(xué)習(xí)性方面的優(yōu)勢(shì),人類的干預(yù)和指導(dǎo)可以進(jìn)一步促進(jìn)系統(tǒng)的完善和性能的提高.目前,我們基于該系統(tǒng)實(shí)現(xiàn)了在復(fù)雜多變的拆解工作環(huán)境中動(dòng)力電池連接約束件的智能拆解,驗(yàn)證了系統(tǒng)的可行性.
動(dòng)力電池的智能拆解涉及到拆解策略、機(jī)器人規(guī)劃和感知等多方面的工作,本節(jié)對(duì)現(xiàn)有的研究工作進(jìn)行分析和概括.
拆解策略研究是動(dòng)力電池拆解領(lǐng)域最早開(kāi)始的研究,主要目標(biāo)是在環(huán)境影響最小化的約束條件下追求最大的拆解回收利潤(rùn),在完全拆解和部分拆解之間設(shè)計(jì)了一個(gè)權(quán)衡策略[10].2014—2015年,研究人員設(shè)計(jì)了拆解工作站針對(duì)奧迪Q5電池包展開(kāi)了深入的研究[11-12].最近的研究工作則是將問(wèn)題進(jìn)一步細(xì)化,主要根據(jù)動(dòng)力電池的幾何結(jié)構(gòu),利用遺傳算法、基于矩陣或基于圖論對(duì)拆解行為、拆解順序甚至是拆解路徑進(jìn)行決策和優(yōu)化[6,13-15].這方面的研究已基本成熟,為高效地拆解動(dòng)力電池提供了科學(xué)的分析和指導(dǎo).但具體執(zhí)行環(huán)節(jié)仍需要人工完成.一些研究嘗試通過(guò)結(jié)構(gòu)化的編程控制機(jī)器人完成最終的執(zhí)行,實(shí)現(xiàn)自動(dòng)化拆解[16-18],但是忽略了實(shí)際拆解過(guò)程中高度動(dòng)態(tài)的拆解環(huán)境和電池包的不確定性因素,這樣的方案還無(wú)法大規(guī)模地推廣應(yīng)用.
目前在不確定環(huán)境下機(jī)器人根據(jù)感知結(jié)果進(jìn)行自主規(guī)劃,是實(shí)現(xiàn)智能化拆解的主要障礙.雖然機(jī)器人技術(shù)日臻成熟,已經(jīng)廣泛應(yīng)用于各種工業(yè)場(chǎng)景,例如:切割、搬運(yùn)、螺栓姿態(tài)檢測(cè)[15]、動(dòng)力電池抓取[6]等.然而在當(dāng)下,機(jī)器人主要應(yīng)用于結(jié)構(gòu)化的環(huán)境中,人們采用固定編程的方式指導(dǎo)機(jī)器人完成任務(wù)[6-15],但這種方法卻很難應(yīng)對(duì)動(dòng)力電池拆解過(guò)程中復(fù)雜多樣的拆解任務(wù).機(jī)器人要替代人類進(jìn)行智能化拆解必須具備自主規(guī)劃拆解任務(wù)的能力,例如:移動(dòng)到目標(biāo)、靠近目標(biāo)、貼合目標(biāo)、移除目標(biāo)等[19],同時(shí)根據(jù)操縱目標(biāo)的類型進(jìn)行拆解任務(wù)和運(yùn)動(dòng)規(guī)劃.
伴隨著深度學(xué)習(xí)技術(shù)的發(fā)展,已有的一些研究工作嘗試通過(guò)計(jì)算機(jī)視覺(jué)神經(jīng)網(wǎng)絡(luò)識(shí)別物體的類型和位置,根據(jù)識(shí)別定位信息規(guī)劃?rùn)C(jī)器人的運(yùn)動(dòng)軌跡[20-21].這類方案嘗試打破傳統(tǒng)結(jié)構(gòu)化環(huán)境對(duì)機(jī)器人開(kāi)發(fā)的約束,理論上能夠有效提高機(jī)器人應(yīng)對(duì)復(fù)雜環(huán)境的能力,但是深度學(xué)習(xí)技術(shù)依賴于海量的標(biāo)注數(shù)據(jù).在實(shí)際應(yīng)用中,一方面在拆解環(huán)境中采集動(dòng)力電池感知信息的條件受限,很難得到足夠多的數(shù)據(jù)樣本.另一方面,由于拆解過(guò)程中電池包及其組件的幾何精度要求非常高(如圖3所示:拆解夾具套筒的中心線和螺栓中心線之間的距離e要小于3 mm,拆解夾具套筒與螺栓的角度差δ在±7.5°范圍內(nèi)時(shí),拆解夾具套筒才可以正常插入螺栓頭部),很難對(duì)獲取的數(shù)據(jù)進(jìn)行高精度的標(biāo)注.2種因素的疊加,使得深度學(xué)習(xí)模塊的表現(xiàn)差強(qiáng)人意,計(jì)算機(jī)視覺(jué)感知模塊無(wú)法長(zhǎng)期、穩(wěn)定、準(zhǔn)確地識(shí)別出電池連接約束件的類型和位置,致使機(jī)器人行為具有隨機(jī)性,影響拆解進(jìn)程.此外,這類方案把感知和規(guī)劃分開(kāi)成2個(gè)完全獨(dú)立的模塊,而現(xiàn)實(shí)中非結(jié)構(gòu)化的拆解環(huán)境是高度雜亂的,拆解對(duì)象周圍經(jīng)常出現(xiàn)障礙物導(dǎo)致機(jī)器人只能部分觀察到物體,或者即便觀察到了目標(biāo)物體也無(wú)法直接接觸拆解連接目標(biāo).這要求機(jī)器人使用推動(dòng)、滑動(dòng)物體的動(dòng)作,從周圍的雜物中部分或全部分離出連接約束件,使機(jī)器人有足夠的空間進(jìn)行拆解工作,而不是簡(jiǎn)單依靠識(shí)別定位,調(diào)整拆解器目標(biāo)位置[22].
Fig.3 The angular relationship between thesocket and the bolt
機(jī)器人任務(wù)規(guī)劃一直是機(jī)器人研究中的熱點(diǎn)問(wèn)題.機(jī)器人任務(wù)規(guī)劃是指在無(wú)干涉情況下根據(jù)被操縱對(duì)象初始狀態(tài)和目標(biāo)狀態(tài),選擇合理的動(dòng)作和約束條件序列改變機(jī)器人和被操縱物體的狀態(tài),實(shí)現(xiàn)從初始狀態(tài)到目標(biāo)狀態(tài)的轉(zhuǎn)移[23-24].這類方法大部分都以人工智能為基礎(chǔ)展開(kāi)任務(wù)規(guī)劃,先針對(duì)不同的任務(wù)定義問(wèn)題,并通過(guò)對(duì)PDDL[25-27]進(jìn)行調(diào)整和擴(kuò)展,實(shí)現(xiàn)不同的解決方案,例如:在多階段復(fù)雜的任務(wù)中,采取分層規(guī)劃的方法將整體的機(jī)器人任務(wù)分解成簡(jiǎn)單的任務(wù)[28-29].為了減少計(jì)算的復(fù)雜性,利用連續(xù)性松弛規(guī)劃器減少實(shí)時(shí)計(jì)算的開(kāi)銷[25-30].此外,一些學(xué)者針對(duì)不確定情況下運(yùn)動(dòng)規(guī)劃決策[31],雜亂環(huán)境下機(jī)器人推離物體任務(wù)規(guī)劃決策[22],智能機(jī)器人操作物體行為實(shí)時(shí)在線任務(wù)規(guī)劃和決策[32]等進(jìn)行了研究.盡管這類研究成果斐然,但它們都有一個(gè)共同的問(wèn)題,即規(guī)劃器要求輸入系統(tǒng)狀態(tài)的符號(hào)表征,這往往需要符號(hào)學(xué)專家預(yù)先定義,極大地限制了任務(wù)規(guī)劃的應(yīng)用范圍.目前,這類研究仍停留在實(shí)驗(yàn)室階段.
部分學(xué)者嘗試?yán)蒙疃葘W(xué)習(xí)的方法完成機(jī)器人任務(wù)規(guī)劃[33-34],但深度學(xué)習(xí)需要大量的數(shù)據(jù)才能訓(xùn)練出滿足要求的規(guī)劃器.電池拆解任務(wù)中,任務(wù)步驟多,環(huán)境動(dòng)態(tài)性強(qiáng),很難找到足夠的數(shù)據(jù)訓(xùn)練機(jī)器人.而且,電池拆解任務(wù)中,有些工作(例如,插拔電路接口)由于機(jī)器手的靈活性的限制,短期內(nèi)無(wú)法完全由機(jī)器人完成;有些工作(例如,按順序解除電池組與電池控制模塊連接)對(duì)可靠性要求很高.人機(jī)協(xié)同工作是必然的.這對(duì)系統(tǒng)可解釋性提出了很高的要求.人需要清楚的知道,機(jī)器人當(dāng)下在做什么事,它為什么要做這件事.基于這些原因,在電池拆解領(lǐng)域鮮見(jiàn)采用深度學(xué)習(xí)完成機(jī)器人任務(wù)規(guī)劃的方法.
人工智能已經(jīng)經(jīng)歷了2代的發(fā)展.第一代是符號(hào)推理方法:研發(fā)人員通過(guò)定義符號(hào)表示和規(guī)則,把知識(shí)和邏輯表示出來(lái),計(jì)算機(jī)根據(jù)這些知識(shí)和邏輯智能地進(jìn)行推理.這類方法具有可解釋性和可靠性高的優(yōu)點(diǎn),但依賴于人工定義的符號(hào),所以應(yīng)用范圍有限,目前,機(jī)器人任務(wù)規(guī)劃方面的研究主要沿著這個(gè)方向進(jìn)行.第二代基于概率學(xué)習(xí)(或深度學(xué)習(xí))方法:這類方法的本質(zhì)是,首先針對(duì)問(wèn)題設(shè)計(jì)概率模型,然后收集目標(biāo)的大數(shù)據(jù)并從其中訓(xùn)練出模型中的參數(shù).這種方法在圖像處理、語(yǔ)音識(shí)別等領(lǐng)域取得了豐碩的成果,但也逐漸觸及了該技術(shù)的天花板.該方法強(qiáng)烈依賴數(shù)據(jù),且不可解釋,這限制了它在更多更廣泛的領(lǐng)域取得突破.有人嘗試基于第二代人工智能技術(shù)完成機(jī)器人控制任務(wù),包括Deep Reinforcement Learning(DRL)[33]和Learning from Demonstration(LfD)[35-36]等.盡管這類工作也取得了一些可喜的研究成果,但由于第二代人工智能技術(shù)本身的局限性,它們都只適用于簡(jiǎn)單的運(yùn)動(dòng)規(guī)劃,鮮見(jiàn)在復(fù)雜的長(zhǎng)程任務(wù)規(guī)劃中取得突破.所以許多研究工作開(kāi)始探討第三代人工智能[37],把第一代人工智能和第二代人工智能的優(yōu)勢(shì)結(jié)合在一起.目前兩者的結(jié)合存在不小的挑戰(zhàn),主要因?yàn)樗鼈冊(cè)诓煌臻g中進(jìn)行操作,一個(gè)是向量空間,一個(gè)是符號(hào)空間,必須借助新的數(shù)學(xué)工具.神經(jīng)符號(hào)是一個(gè)新興的技術(shù),[38]最早可追溯到d’Avila Garcez A在2015年AAAI研討會(huì)上的討論,它的目標(biāo)是將高級(jí)推理(通過(guò)邏輯系統(tǒng)實(shí)現(xiàn))與低級(jí)感知能力(通過(guò)概率學(xué)習(xí)實(shí)現(xiàn))緊密結(jié)合在一起.在架構(gòu)方面,這些方法都采用了和人類思維方式相同的架構(gòu),將系統(tǒng)分成2層,在高層次進(jìn)行基于知識(shí)的邏輯推理,在低層次進(jìn)行基于概率學(xué)習(xí)的感知、控制等[39].2個(gè)層次互相協(xié)作,共同完成復(fù)雜的任務(wù).通過(guò)高層推理,系統(tǒng)能夠更清楚地了解當(dāng)下的工作狀態(tài),基于該狀態(tài)降低低層感知模塊的識(shí)別難度.通過(guò)低層的識(shí)別,將原本復(fù)雜的高維信息,抽象成簡(jiǎn)單的低維信息,使高層可直接進(jìn)行推理而無(wú)需人工介入.這一技術(shù)在很多領(lǐng)域都產(chǎn)生了不錯(cuò)的成果[40-42],不過(guò)目前還沒(méi)有形成統(tǒng)一的解決方案.由于應(yīng)用領(lǐng)域的不同,各項(xiàng)研究工作在狀態(tài)表征、融合方法上各有千秋.神經(jīng)符號(hào)仍是一個(gè)新興的研究熱點(diǎn).
針對(duì)動(dòng)力電池拆解開(kāi)展的研究表明,這項(xiàng)工作所面臨的問(wèn)題與神經(jīng)符號(hào)試圖解決的問(wèn)題完全一致.一方面,動(dòng)力電池的拆解狀態(tài)復(fù)雜多變,要求機(jī)器人根據(jù)實(shí)際情況實(shí)時(shí)推理出后續(xù)的行動(dòng)方案.動(dòng)力電池作為人造的產(chǎn)品,通過(guò)引入人類已有的知識(shí),能夠極大的加速拆解進(jìn)程.在人機(jī)協(xié)作的背景下,系統(tǒng)對(duì)可解釋性和可靠性等方面提出了更高的要求,需要系統(tǒng)融合符號(hào)推理的能力.另一方面,由于動(dòng)力電池的拆解情況復(fù)雜多變,人工很難把所有拆解狀態(tài)全部符號(hào)化,這要求系統(tǒng)能夠融合概率學(xué)習(xí)的方法,具有從輸入圖像等信息中自主學(xué)習(xí)出符號(hào)表征的能力.另外,高層的符號(hào)推理系統(tǒng)可以為低層的感知提供上下文,系統(tǒng)無(wú)需學(xué)習(xí)通用復(fù)雜的識(shí)別模塊,只需要根據(jù)當(dāng)前的上下文在一定范圍內(nèi)進(jìn)行識(shí)別和抽象,極大地降低了概率學(xué)習(xí)的難度,從而擴(kuò)展系統(tǒng)的應(yīng)用范圍,促進(jìn)從實(shí)驗(yàn)室走向?qū)嶋H的工業(yè)場(chǎng)景.基于這個(gè)理解,我們將神經(jīng)符號(hào)應(yīng)用于動(dòng)力電池拆解任務(wù)中,希望為動(dòng)力電池的智能化拆解提供有意義的嘗試.
作為將神經(jīng)符號(hào)推廣到動(dòng)力電池拆解應(yīng)用的初探,本文選取了動(dòng)力電池拆解中最具有代表性的螺栓連接件的拆解移除作為研究案例對(duì)象.
對(duì)于人類而言,拆解螺栓輕而易舉,但在不確定環(huán)境下,現(xiàn)有的機(jī)器人還不能持續(xù)、穩(wěn)定地自主完成螺栓拆解.通過(guò)分析機(jī)械臂拆解螺栓的特點(diǎn)和拆解過(guò)程中需要關(guān)注的不同狀態(tài),我們將螺栓拆解任務(wù)可能涉及到的動(dòng)作劃分為靠近目標(biāo)、姿態(tài)調(diào)整、撥動(dòng)雜物、螺栓套接、解除連接5個(gè)動(dòng)作原語(yǔ).
1)靠近目標(biāo)(Move).表示將機(jī)械臂末端執(zhí)行器從當(dāng)前的任意狀態(tài)移動(dòng)到目標(biāo)螺栓附近(上方).執(zhí)行該步驟需要知道螺栓的大概位置(注意不是精確位置,該位置可以從已有的3D模型獲得,也可以從識(shí)別模塊獲知;由于電池包變形或者視覺(jué)識(shí)別誤差等原因,識(shí)別模塊通常只能提供一個(gè)粗略的位置),這一步,在移動(dòng)過(guò)程中僅僅改變機(jī)械臂自身的位置狀態(tài),不涉及拆解對(duì)象和操縱物體.
2)姿態(tài)調(diào)整(Mate).表示調(diào)整機(jī)械臂末端執(zhí)行器的姿態(tài),使末端執(zhí)行器和拆解對(duì)象的姿態(tài)一致,即:將末端執(zhí)行器的中心線和拆解對(duì)象的中心線進(jìn)行對(duì)齊.
3)撥動(dòng)雜物(Push).表示機(jī)械臂執(zhí)行推拉動(dòng)作撥去拆解連接件周圍的障礙物,確保后續(xù)螺栓套接任務(wù)能夠順利執(zhí)行.當(dāng)視覺(jué)相機(jī)捕獲到拆解對(duì)象周圍沒(méi)有足夠的拆解空間時(shí),導(dǎo)致拆解末端執(zhí)行器無(wú)法進(jìn)行有效的拆解,將會(huì)調(diào)用該動(dòng)作,為后續(xù)步驟創(chuàng)造條件.
4)螺栓套接(Insert).表示拆解末端執(zhí)行器沿著螺栓軸心線進(jìn)行移動(dòng),使拆解末端執(zhí)行器和螺栓頭能夠有效地接觸,一般接觸深度為距離螺栓頭部墊圈上方1mm處,同時(shí)拆解執(zhí)行器順時(shí)針低速旋轉(zhuǎn),當(dāng)感知到力矩大于5Nm時(shí)停止旋轉(zhuǎn),避免拆解執(zhí)行器無(wú)法正常螺栓套接.
5)解除連接(Disassembly).表示解除約束連接,拆解末端執(zhí)行器采取逆時(shí)針高速旋轉(zhuǎn),同時(shí)沿著螺栓軸心線與插入方向相反的方向進(jìn)行移動(dòng),移動(dòng)速度為每秒鐘螺栓旋轉(zhuǎn)的螺距.
為實(shí)現(xiàn)機(jī)器人在動(dòng)態(tài)、非結(jié)構(gòu)化環(huán)境中自主拆解螺栓,需要根據(jù)當(dāng)前的狀態(tài)選擇合適的動(dòng)作原語(yǔ)并決定執(zhí)行順序如圖4所示,到達(dá)目標(biāo)位置并完成連接約束件的移除.
Fig.4 Illustration of process of taskfor robotic disassembly of electric vehicle battery pack
我們將螺栓拆解問(wèn)題形式化為一個(gè)規(guī)劃問(wèn)題(S0,SG,A);S0表示拆解系統(tǒng)的初始狀態(tài),SG表示拆解系統(tǒng)的目標(biāo)狀態(tài),A表示一組拆解動(dòng)作原語(yǔ)集A={a},具體包括Move,Mate,Push,Insert,Disassembly等5個(gè)原語(yǔ).將每個(gè)原語(yǔ)進(jìn)行細(xì)化定義為:
action(a),pre(a),eff(a),param(a),
(1)
其中,action(a)表示動(dòng)作原語(yǔ)的名字,如果該動(dòng)作原語(yǔ)需要輸入拆解參數(shù),則在param(a)中定義,pre(a)表示執(zhí)行該動(dòng)作原語(yǔ)必備的前提條件,eff(a)表示執(zhí)行該動(dòng)作原語(yǔ)帶來(lái)的后果.前提條件和后果借助拆解狀態(tài)進(jìn)行表征.在經(jīng)典的規(guī)劃方法中,狀態(tài)是由符號(hào)謂詞表征的.例如:A物體上方是否有其他物體,可以用謂詞clear(A)進(jìn)行表示,它返回True或者False,用于支撐后續(xù)的推理,我們對(duì)其進(jìn)行擴(kuò)充,詳見(jiàn)后面章節(jié).求解規(guī)劃問(wèn)題就是要找到一個(gè)拆解規(guī)劃的順序,次序執(zhí)行plan中的動(dòng)作原語(yǔ),使機(jī)器人從初始狀態(tài)S0轉(zhuǎn)變成目標(biāo)狀態(tài)SG.
plan=(a1,a2,…,ai,ai+1,…,an),
(2)
PDDL[25-27]是描述形式化定義的標(biāo)準(zhǔn)語(yǔ)言,本研究借助此語(yǔ)言,定義不同的拆解狀態(tài)和拆解動(dòng)作,并基于此實(shí)現(xiàn)了動(dòng)力電池的智能化拆解.
動(dòng)力電池拆解面臨的問(wèn)題與神經(jīng)符號(hào)試圖解決的問(wèn)題完全一致.我們大膽的嘗試將神經(jīng)符號(hào)應(yīng)用于動(dòng)力電池拆解任務(wù),以實(shí)現(xiàn)智能拆解.但神經(jīng)符號(hào)是一個(gè)新興的研究熱點(diǎn),尚無(wú)成熟的技術(shù)方案可以直接使用.本文在經(jīng)典規(guī)劃問(wèn)題的基礎(chǔ)上,引入神經(jīng)謂詞,把神經(jīng)網(wǎng)絡(luò)中softmax層的輸出,作為一種狀態(tài)的表征,并輸出給推理模塊,根據(jù)神經(jīng)謂詞完成各個(gè)動(dòng)作原語(yǔ)的定義.最后,我們使用基于概率的最佳方案搜索方法替換傳統(tǒng)的基于符號(hào)的最佳方案搜索方法,從而在動(dòng)力電池拆解方案中實(shí)現(xiàn)推理與概率學(xué)習(xí)的完美融合.
因?yàn)槠鋸?qiáng)大的描述能力,謂詞邏輯得到了廣泛的應(yīng)用[43].謂詞是謂詞邏輯中的核心概念,用來(lái)刻畫(huà)個(gè)體詞性質(zhì)的詞,即刻畫(huà)事和物之間某種關(guān)系表現(xiàn)的詞.例如:規(guī)劃問(wèn)題中常用謂詞clear(A)描述物體A上方是否有其他物體,on(A,B)描述物體A是否在物體B上面.這樣的定義非常適用于描述動(dòng)作原語(yǔ),并基于此進(jìn)行推理得到規(guī)劃問(wèn)題的解,因此大量關(guān)于規(guī)劃問(wèn)題的研究都是基于這種方法展開(kāi)的.但這種方法的缺陷在于,很難實(shí)現(xiàn)謂詞與物理世界的關(guān)聯(lián).經(jīng)典的方法通過(guò)規(guī)則不斷地細(xì)化謂詞的定義,直到能和傳感器數(shù)據(jù)一一對(duì)應(yīng).例如:clear(A)將會(huì)被細(xì)化成不存在任何物體B在A上,物體B在A上又被細(xì)化成B在空間中的x,y坐標(biāo)區(qū)間,與A在空間中的x,y坐標(biāo)區(qū)間有重合,并且B的在空間中z坐標(biāo)區(qū)間大于A在空間中的z坐標(biāo)空間.這種定義需要非常有經(jīng)驗(yàn)的人員才能完成,而且僅限于限定的實(shí)驗(yàn)環(huán)境中(不同環(huán)境謂詞的定義可能不同,例如上文描述的“在..上”的定義并不能使用“在椅子上”),很難在動(dòng)態(tài)的,開(kāi)放的環(huán)境中推廣應(yīng)用.
針對(duì)很難實(shí)現(xiàn)謂詞與物理世界的關(guān)聯(lián)問(wèn)題我們創(chuàng)造性地引入了神經(jīng)謂詞這個(gè)概念,它既是邏輯系統(tǒng)中的謂詞,也是一個(gè)神經(jīng)網(wǎng)絡(luò),負(fù)責(zé)將連續(xù)輸入狀態(tài)(如機(jī)器人位姿或物體之間的關(guān)系圖像等信息)經(jīng)過(guò)映射得到符號(hào)狀態(tài),該狀態(tài)可以直接被動(dòng)作原語(yǔ)使用,無(wú)需再去設(shè)計(jì)復(fù)雜的逐級(jí)展開(kāi)的邏輯規(guī)則.對(duì)應(yīng)的形式為p(sensor,O),與傳統(tǒng)的謂詞相比它有3個(gè)差異.
1)該謂詞的輸入是傳感器數(shù)據(jù),目前雖然在我們的實(shí)驗(yàn)系統(tǒng)中,我們主要的輸入是圖像,但理論上,選擇哪一種傳感器作為主要的數(shù)據(jù)來(lái)源可以在訓(xùn)練過(guò)程中由神經(jīng)網(wǎng)絡(luò)自主選擇,所以我們將該謂詞的輸入定義為傳感器數(shù)據(jù).
2)假設(shè)該謂詞有n個(gè)接地(grounding)的可能,則輸出是一個(gè)n維向量,代表了該謂詞在n個(gè)類別上的概率分布.例如謂詞clear有True,False兩種可能,輸出[p1,p2]分別對(duì)應(yīng)clear(sensor,True)和clear(sensor,F(xiàn)alse)的概率.系統(tǒng)進(jìn)行推理時(shí)根據(jù)需要自動(dòng)讀取對(duì)應(yīng)的概率值.這種方式既保證了通用性又可以適用于有多個(gè)接地可能的謂詞(如和數(shù)字相似性),也保證了輸出的一致性,同時(shí)保證利用同一個(gè)網(wǎng)絡(luò)完成不同接地可能的評(píng)估.
Fig.5 The diagram of neuronal predicates
3)每一個(gè)神經(jīng)謂詞對(duì)應(yīng)一個(gè)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)負(fù)責(zé)將輸入的傳感器數(shù)據(jù),轉(zhuǎn)換成一個(gè)n維的向量.深度學(xué)習(xí)中softmax的輸出與n維的概率分布具有很好的匹配性,我們將softmax的輸出作為神經(jīng)謂詞的輸出.
在螺栓拆解機(jī)器人系統(tǒng)中,我們定義了2個(gè)神經(jīng)謂詞,如圖5所示:對(duì)準(zhǔn)目標(biāo)(target_aim)和目標(biāo)無(wú)遮擋(target_clear).值得一提的是,由于神經(jīng)謂詞針對(duì)的判斷比較簡(jiǎn)單,對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)相對(duì)容易訓(xùn)練.實(shí)驗(yàn)系統(tǒng)中我們?yōu)槊總€(gè)神經(jīng)謂詞采集了400張圖片,利用預(yù)訓(xùn)練的圖像分類神經(jīng)網(wǎng)絡(luò)VGG-16[44]作為基礎(chǔ),展開(kāi)訓(xùn)練.謂詞‘對(duì)準(zhǔn)目標(biāo)(target_aim)’經(jīng)過(guò)40輪次(epoch)的訓(xùn)練到達(dá)98%的精度,謂詞‘目標(biāo)無(wú)遮擋(target_clear)’經(jīng)過(guò)40輪次(epoch)的訓(xùn)練到達(dá)96%的精度.這樣的精度完全滿足后續(xù)推理的要求.
原語(yǔ)是機(jī)器人任務(wù)規(guī)劃問(wèn)題中聯(lián)系邏輯規(guī)劃與機(jī)器人真實(shí)運(yùn)動(dòng)之間的橋梁.PDDL在邏輯規(guī)劃空間中準(zhǔn)確的描述每個(gè)原語(yǔ)以及每個(gè)原語(yǔ)執(zhí)行所需要的前提條件(:pre)和執(zhí)行動(dòng)作后的狀態(tài)(:eff).PDDL在描述動(dòng)作原語(yǔ)的同時(shí)還清楚地描述系統(tǒng)的初始狀態(tài)(Init)和目標(biāo)狀態(tài)(Goal).基于PDDL的描述規(guī)劃器在邏輯規(guī)劃空間中通過(guò)推理,找出從目標(biāo)狀態(tài)到初始狀態(tài)的動(dòng)作原語(yǔ)序列,形成執(zhí)行規(guī)劃.在動(dòng)力電池拆解領(lǐng)域,針對(duì)螺栓連接件的拆解任務(wù),拆解動(dòng)作由靠近目標(biāo)(Move)、撥動(dòng)雜物(Push)、姿態(tài)調(diào)整(Mate)、螺栓套接(Insert)、解除連接(Disassembly)組成.對(duì)應(yīng)的PDDL定義為:
(:Inithave(coarse_pose)
(:Goaldissembled(sensor)
(:actionMove
:param(coarse_posesensor)
:pre(have(coarse_pose))
:eff(and(above_bolt)(target_aim(sensor))
(target_clear(sensor)))
(:actionMate
:param(sensor)
:pre(and(above_bolt(sensor))(not(target_aim(sensor)))
:eff(target_aim(sensor)))
(:actionPush
:param(sensor)
:pre(and(above_bolt(sensor))
(not(target_clear(sensor))))
:eff(target_clear(sensor))
(:actionInsert
:param(sensor)
:pre(and(target_aim(sensor))(target_clear(sensor)))
:eff(cramped(sensor))
(:actionDisassembly
:param(sensor)
:pre(cramped(sensor))
:eff(dissembled(sensor))
完成邏輯規(guī)劃空間定義的同時(shí),系統(tǒng)定義每個(gè)原語(yǔ)對(duì)應(yīng)的控制函數(shù),將它稱為原語(yǔ)控制函數(shù).原語(yǔ)控制函數(shù)能夠控制機(jī)器人在真實(shí)環(huán)境中完成原語(yǔ)定義的功能,即在環(huán)境滿足前提條件(:pre)的情況下,以(:param)中定義的參數(shù)作為輸入,控制機(jī)器人從當(dāng)下?tīng)顟B(tài)轉(zhuǎn)換成(:eff)中描述的狀態(tài).在本文的實(shí)驗(yàn)系統(tǒng)搭建過(guò)程中,我們基于ROS Moveit[45]人工開(kāi)發(fā)了控制程序?qū)崿F(xiàn)各個(gè)原語(yǔ)控制函數(shù).但這并不是必須的,理論上,本系統(tǒng)允許采用運(yùn)行任何方式實(shí)現(xiàn)原語(yǔ)控制函數(shù).事實(shí)上,我們?cè)陂_(kāi)發(fā)過(guò)程中發(fā)現(xiàn)Mate和Push兩個(gè)原語(yǔ)的目標(biāo)明確,需要面對(duì)的情況復(fù)雜多樣,若采用Deep Reinforce Learning(DRL)[33]的方法完成對(duì)應(yīng)的原語(yǔ)控制函數(shù),可以取得更佳的工作效果(我們計(jì)劃在后續(xù)研究中深入探索).而Insert原語(yǔ),工作流程簡(jiǎn)單,采用Learning from demonstration(LfD)[36]方法,并根據(jù)環(huán)境微調(diào),可以取得滿意的效果.總之,原語(yǔ)控制函數(shù)根據(jù)實(shí)際情況采用各種成熟的手段實(shí)現(xiàn).
經(jīng)過(guò)神經(jīng)謂詞符號(hào)和拆解動(dòng)作原語(yǔ)的抽象,原本在連續(xù)空間中復(fù)雜的規(guī)劃問(wèn)題,被抽象成在邏輯空間中找到一個(gè)最佳的可行動(dòng)作原語(yǔ)序列,順序執(zhí)行該序列中的每個(gè)動(dòng)作原語(yǔ),拆解系統(tǒng)將機(jī)器人從初始狀態(tài)S0轉(zhuǎn)變成目標(biāo)狀態(tài)SG.我們采用前向搜索的方法解決該問(wèn)題,具體的算法描述如算法1所示.
算法1.基于神經(jīng)符號(hào)的拆解任務(wù)規(guī)劃算法.
輸入:S0,SG,A;/*S0是初始狀態(tài),SG是目標(biāo)狀態(tài),A是動(dòng)作原語(yǔ)集合*/
輸出:op_list./*能夠完成任務(wù)的原語(yǔ)序列*/
①initial_queue(Q1);
②Q1.enqueue((S0,{}));/*用包含S0和{}的tuple初始化Q1;S0為規(guī)劃問(wèn)題的初始狀態(tài);{}拆解動(dòng)作原語(yǔ)列表,初始狀態(tài)為空*/
③ whileQ1≠null
④curr_status,curr_op_list=
Q1.pop_front();
⑤initial_set(tmp_set);/*臨時(shí)記錄當(dāng)前
狀態(tài)使用操作原語(yǔ)后的新?tīng)顟B(tài)*/
⑥ forainA;/*遍歷規(guī)劃問(wèn)題定義中的
所有的動(dòng)作原語(yǔ)*/
⑦ ifcurr_statusa.precondition
⑧new_status=apply(curr_status,a);
/*對(duì)當(dāng)前狀態(tài)應(yīng)用動(dòng)作原語(yǔ)a*/
⑨new_op_list=curr_op_list+a;
⑩ ifnew_statusSG;
/*到達(dá)目標(biāo)狀態(tài)*/
new_op_list));
/*根據(jù)概率把tmp_set中的tuple
排序并過(guò)濾掉概率太小的tuple*/
tuple按序加入隊(duì)列*/
盡管在抽象過(guò)程中我們引入了神經(jīng)謂詞符號(hào),并以概率的方式表征系統(tǒng)的各種狀態(tài),避免人為設(shè)定閾值造成不合理的表征或者邏輯沖突,但依然無(wú)法完全解決規(guī)劃過(guò)程中的不確定性.例如:當(dāng)機(jī)器人根據(jù)粗定位完成靠近物體的動(dòng)作原語(yǔ)后,是否還需要進(jìn)行姿態(tài)調(diào)整;當(dāng)機(jī)器人在執(zhí)行撥除雜物的動(dòng)作原語(yǔ)時(shí),能否真正清除雜物也具有一定的不確定性.為了有效地解決這個(gè)問(wèn)題,我們采用了樂(lè)觀估計(jì)、保守執(zhí)行的策略.具體來(lái)說(shuō),動(dòng)作原語(yǔ)定義時(shí),我們都按照樂(lè)觀的方式對(duì)系統(tǒng)狀態(tài)進(jìn)行估計(jì).例如:在動(dòng)作原語(yǔ)Move的效果定義中,我們樂(lè)觀地認(rèn)為執(zhí)行完該操作后就能夠?qū)崿F(xiàn)對(duì)準(zhǔn)目標(biāo)且目標(biāo)無(wú)遮擋.規(guī)劃算法基于樂(lè)觀估計(jì)的原語(yǔ)定義,生成樂(lè)觀的執(zhí)行方案.但在執(zhí)行過(guò)程中,在執(zhí)行每個(gè)原語(yǔ)前,系統(tǒng)都要根據(jù)原語(yǔ)的前提條件,檢查當(dāng)下的狀態(tài).如果滿足條件的概率大于不滿足條件的概率,就繼續(xù)執(zhí)行.反之,則以當(dāng)前的狀態(tài)為初始狀態(tài),目標(biāo)狀態(tài)不變,重新調(diào)用規(guī)劃算法,獲得新的行動(dòng)方案.
目前,系統(tǒng)的原語(yǔ)還比較少,加上使用了樂(lè)觀估計(jì)的原語(yǔ)定義,規(guī)劃算法的復(fù)雜度不高.未來(lái)如果原語(yǔ)數(shù)量大量增加,復(fù)雜度變高,將考慮引入啟發(fā)式搜索算法提高規(guī)劃算法的效率,確保搜索仍能在線實(shí)時(shí)完成.
雖然神經(jīng)符號(hào)謂詞是基于不可解釋的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的,但任務(wù)規(guī)劃卻是在一個(gè)可解釋的邏輯空間中進(jìn)行的.該方案使機(jī)器人清楚的知道目前正在執(zhí)行的具體動(dòng)作原語(yǔ),以及為什么執(zhí)行它.系統(tǒng)在力反饋機(jī)械臂的幫助下判斷出動(dòng)作原語(yǔ)的執(zhí)行情況.如果執(zhí)行某個(gè)動(dòng)作原語(yǔ)獲得成功的結(jié)果,說(shuō)明對(duì)應(yīng)的判斷是正確的,如果執(zhí)行失敗,系統(tǒng)可以推理出哪些謂詞判斷出現(xiàn)了問(wèn)題(必要時(shí)可請(qǐng)求人工幫助,針對(duì)有限個(gè)謂詞做出判斷).因此,系統(tǒng)不斷地自動(dòng)采集數(shù)據(jù)和標(biāo)注數(shù)據(jù).利用這些新的數(shù)據(jù),系統(tǒng)利用持續(xù)學(xué)習(xí)的方法[46]不斷地提高神經(jīng)謂詞的準(zhǔn)確性,甚至適應(yīng)新的環(huán)境變化,學(xué)習(xí)新的技能(動(dòng)作原語(yǔ)).因?yàn)槌掷m(xù)學(xué)習(xí)不是本文的重點(diǎn),所以此處不展開(kāi)深入討論,但需要強(qiáng)調(diào)的是,基于神經(jīng)符號(hào)的設(shè)計(jì),使整個(gè)系統(tǒng)具備了很好的可解釋性和可學(xué)習(xí)性.
為驗(yàn)證本文提出的基于神經(jīng)符號(hào)的動(dòng)力電池拆解任務(wù)與運(yùn)動(dòng)規(guī)劃模型的有效性,我們?cè)跈C(jī)器人仿真平臺(tái)上開(kāi)展動(dòng)力電池連接約束件拆解任務(wù)規(guī)劃的實(shí)驗(yàn).首先在無(wú)障礙物環(huán)境下展開(kāi)實(shí)驗(yàn),主要測(cè)試系統(tǒng)在感知系統(tǒng)出現(xiàn)誤差時(shí)的應(yīng)變能力.隨后在實(shí)驗(yàn)環(huán)境中引入障礙物,機(jī)器人主動(dòng)移除障礙物后,才能順利地完成拆解任務(wù),實(shí)驗(yàn)證明,本文提出的方法具備相當(dāng)?shù)膬?yōu)勢(shì).
圖6展示了本文的實(shí)驗(yàn)環(huán)境,在可視化仿真環(huán)境Gazebo中,以七自由度固定基座機(jī)械臂為實(shí)驗(yàn)載體開(kāi)展螺栓的拆解任務(wù).為了方便日后的工作遷移,仿真環(huán)境中的機(jī)器臂與實(shí)際場(chǎng)景中的機(jī)械臂一致,為珞石科技七自由度機(jī)械臂xMatePro7,相關(guān)參數(shù)如表1,并且機(jī)械臂末端安裝有氣動(dòng)扭力末端執(zhí)行器.可以使用ROS MoveIt!控制其運(yùn)動(dòng).此外與真實(shí)環(huán)境對(duì)應(yīng)的是,在仿真環(huán)境中加入了全局相機(jī)(安裝在操作臺(tái)正上方)和局部相機(jī)(安裝在機(jī)械臂末端關(guān)節(jié)上),相機(jī)的相關(guān)參數(shù)與Intel RealSense Depth Camera D435i保持一致.仿真器中還加入了長(zhǎng)安汽車EV460動(dòng)力電池包、螺栓以及木塊等障礙物.所有的實(shí)驗(yàn)運(yùn)行在Intel NUC電腦上,相關(guān)參數(shù)見(jiàn)表2.
Fig.6 Illustration of platform of Disassembly
Table 1 Features Parameters of Motion with Robotic Arm
Table 2 Parameters of Configuration for Computer
在機(jī)器人任務(wù)規(guī)劃模型方面常見(jiàn)的指標(biāo)是執(zhí)行成功率(Success Rate, SR),我們沿用這一指標(biāo)驗(yàn)證基于神經(jīng)符號(hào)的拆解任務(wù)規(guī)劃模型在動(dòng)力電池拆解過(guò)程中的性能.分別在有障礙物和無(wú)障礙物的環(huán)境中進(jìn)行評(píng)估.目前,業(yè)界尚無(wú)成熟可用的拆解方案,但為了驗(yàn)證我們提出的神經(jīng)符號(hào)的動(dòng)力電池拆解任務(wù)與運(yùn)動(dòng)規(guī)劃的性能,實(shí)驗(yàn)中,我們采取成熟度相對(duì)較高的方法,也稱為傳統(tǒng)方法,該方法假設(shè)從已有的3D模型或者感知模塊中獲得的目標(biāo)位置是準(zhǔn)確的[15],通過(guò)求解運(yùn)動(dòng)方程,直接控制末端執(zhí)行器到達(dá)目標(biāo)位置實(shí)現(xiàn)套接,進(jìn)而完成拆解,用此作為對(duì)比驗(yàn)證.在實(shí)驗(yàn)中我們分析對(duì)比了目標(biāo)位置的感知誤差對(duì)2種方法的影響.拆解任務(wù)規(guī)劃實(shí)驗(yàn)相關(guān)的約束參數(shù)如表3所示:
Table 3 Simulation parameter setting for ROS
Fig.7 Illustration of experimental simulation with free obstacle
拆解任務(wù)執(zhí)行結(jié)果如圖7所示:傳統(tǒng)的拆解方法在方差小于1 mm(螺栓位置數(shù)據(jù)準(zhǔn)確)時(shí)拆解成功率比較高,近乎全部成功拆解,但隨著方差的增大(螺栓位置數(shù)據(jù)不準(zhǔn)確)性能急劇下降.這與我們?cè)趯?shí)際工作中獲取的經(jīng)驗(yàn)一致.在靜態(tài)結(jié)構(gòu)化的環(huán)境中,機(jī)器人無(wú)需復(fù)雜的任務(wù)規(guī)劃,也能夠很好地完成任務(wù).但這種方法,無(wú)法針對(duì)動(dòng)態(tài)非結(jié)構(gòu)的環(huán)境自主規(guī)劃.相比之下,本文提出的拆解任務(wù)規(guī)劃模型,借助神經(jīng)符號(hào)進(jìn)行動(dòng)態(tài)規(guī)劃,在發(fā)現(xiàn)螺栓位置信息誤差較大是,重新自主規(guī)劃,根據(jù)實(shí)際情況自動(dòng)執(zhí)行姿態(tài)調(diào)整,從而使拆解成功率始終保持在100%附近.我們?cè)诳偣?00次實(shí)驗(yàn)中發(fā)現(xiàn)了3次失敗,失敗的原因是由于在姿態(tài)調(diào)整的原語(yǔ)中對(duì)錯(cuò)誤情況處理的不完備造成的(由于光線原因,無(wú)法找到螺栓的6個(gè)角點(diǎn),導(dǎo)致進(jìn)入死循環(huán)).
Fig.8 Illustration of experimental simulation with obstacle
實(shí)驗(yàn)數(shù)據(jù)如圖8所示.由于傳統(tǒng)方法不具備清理礙障物的能力,當(dāng)σ較小時(shí),也就是障礙物影響螺栓套接的可能性較大時(shí),失敗概率較大,反之,成功概率較大.而本文提出的方法,始終保持較高的成功率,而傳統(tǒng)方法則因?yàn)檎系K物這一不確定性的引入導(dǎo)致性能顯著下降.需要強(qiáng)調(diào)的是我們的方法并不總是執(zhí)行清除障礙物的動(dòng)作原語(yǔ),如圖9所示,我們的規(guī)劃系統(tǒng)會(huì)根據(jù)實(shí)際情況動(dòng)態(tài)確定是否需要進(jìn)行清障工作.當(dāng)σ較小時(shí),也就是障礙物離螺栓較近,影響螺栓套接的可能性較大時(shí),系統(tǒng)執(zhí)行4個(gè)動(dòng)作原語(yǔ)(Move→Push→Insert→Disassembly),而當(dāng)σ較大時(shí),也就是障礙物離螺栓較遠(yuǎn),影響螺栓套接的可能性較小時(shí),系統(tǒng)僅僅需要執(zhí)行3個(gè)動(dòng)作原語(yǔ)(Move→Insert→Disassembly).
Fig.9 Illustration of performance counter for average for experimental simulation with obstacle
Fig.10 Two Illustrations of explicability
需要說(shuō)明的是,由于目前清理障礙物的動(dòng)作原語(yǔ)實(shí)現(xiàn)的并不完美,導(dǎo)致清障的時(shí)候偶爾會(huì)出現(xiàn)錯(cuò)誤,使得在有障礙物拆解實(shí)驗(yàn)中,成功率有所下降,平均為98%.
如3.4節(jié)所述,電池拆解任務(wù)對(duì)系統(tǒng)的可解釋性要求很高.人們希望清楚的了解機(jī)器人目前正在做什么,以及為什么執(zhí)行它以便支持安全的人機(jī)協(xié)同.本文提出基于神經(jīng)符號(hào)的任務(wù)與運(yùn)動(dòng)規(guī)劃方法,可以清楚地判斷機(jī)器人的執(zhí)行狀態(tài)和原因.圖10是實(shí)驗(yàn)過(guò)程中2個(gè)任意時(shí)刻的示意圖.圖中左半部分顯示機(jī)器人的執(zhí)行狀態(tài)和傳感器數(shù)據(jù),右邊是系統(tǒng)規(guī)劃過(guò)程中的內(nèi)部狀態(tài).這些狀態(tài)基本上是符號(hào)化的,可以清晰地描述出當(dāng)前狀態(tài),原計(jì)劃,是否需要更新計(jì)劃(樂(lè)觀估計(jì),保守執(zhí)行)以及將要做什么操作.圖10(a)中,系統(tǒng)完成Move操作后,發(fā)現(xiàn)當(dāng)前狀態(tài)與樂(lè)觀估計(jì)值一致,無(wú)需重新規(guī)劃,于是按照原有規(guī)劃,繼續(xù)執(zhí)行Insert操作.圖10(b)中,系統(tǒng)完成Move操作后,發(fā)現(xiàn)當(dāng)前狀態(tài)與樂(lè)觀估計(jì)值不一致,不但沒(méi)有對(duì)準(zhǔn)目標(biāo),而且目標(biāo)附近還有遮擋,于是基于當(dāng)前狀態(tài)重新規(guī)劃,規(guī)劃從(Move→Insert→Disassembly)更新為(Mate→Push→Insert→Disassembly),因此下一步系統(tǒng)將執(zhí)行Mate操作.通過(guò)這2個(gè)典型例子不難看出,人們可以通過(guò)符號(hào)化的表示輕松的理解機(jī)器人的行為.這為人機(jī)協(xié)作完成復(fù)雜的拆解任務(wù)打下良好的基礎(chǔ).
在復(fù)雜的非結(jié)構(gòu)化的拆解工作環(huán)境下,由于種種不確定性導(dǎo)致解除緊固動(dòng)力電池零部件的連接關(guān)系時(shí)拆解任務(wù)難以規(guī)劃,本文提出基于神經(jīng)符號(hào)的任務(wù)與運(yùn)動(dòng)規(guī)劃方法,讓機(jī)器人在動(dòng)態(tài)環(huán)境下也能夠自主規(guī)劃,完成任務(wù).實(shí)驗(yàn)證明該方法具有很好的魯棒性,實(shí)驗(yàn)整體成功率達(dá)到98%,而且該方法在自主性、可擴(kuò)展性、可解釋性、可學(xué)習(xí)性4方面與傳統(tǒng)方法相比有明顯的優(yōu)勢(shì).
在未來(lái)的工作中,我們將把現(xiàn)有的工作遷移到實(shí)際場(chǎng)景中,并擴(kuò)展拆解動(dòng)作原語(yǔ)將整個(gè)系統(tǒng)推廣到動(dòng)力電池的抓取、搬運(yùn)、收納整理等方面;同時(shí)進(jìn)一步深入研究目前系統(tǒng)中有待提高的學(xué)習(xí)環(huán)節(jié),充分利用神經(jīng)符號(hào)所帶來(lái)的可解釋,可學(xué)習(xí)等優(yōu)勢(shì),在拆解現(xiàn)場(chǎng)基于云邊端系統(tǒng)[47]不斷地通過(guò)現(xiàn)場(chǎng)學(xué)習(xí)(in-situ learning)提升拆解效率和精度;最終真正實(shí)現(xiàn)動(dòng)力電池拆解智能化.