自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

緒論1.1背景與意義在21世紀(jì)的今天,全球化的快速發(fā)展為人類社會(huì)的進(jìn)步與交流帶來了無限便利,然而,這也伴隨著包括傳染病在內(nèi)的各種環(huán)境健康的威脅。新型冠狀病毒的全球大流行更是凸顯了公共場(chǎng)所清潔與消毒工作的重要性,使得世界范圍內(nèi)對(duì)于公共場(chǎng)所清潔與消毒的需求和意識(shí)達(dá)到前所未有的高度。傳統(tǒng)的消毒方法主要依賴于人工操作,這樣的消毒方法不僅效率低下、風(fēng)險(xiǎn)高,而且成本也較為昂貴。在這種背景下,探索一種或多種高效、安全且節(jié)約資源的清潔消毒新方案顯得尤為重要,這些因素推動(dòng)了消毒清潔機(jī)器人這一技術(shù)的迅速發(fā)展與應(yīng)用。消毒機(jī)器人作為一種科學(xué)技術(shù)創(chuàng)新的產(chǎn)物,目前正逐步在多個(gè)公共場(chǎng)所應(yīng)用,如醫(yī)院、學(xué)校和辦公區(qū)等,以減少疾病傳播的風(fēng)險(xiǎn)、降低消毒成本、提高可持續(xù)化消毒以及減輕勞動(dòng)力短缺所帶來的影響。雖然消毒機(jī)器人的出現(xiàn)顛覆了傳統(tǒng)消毒方法,但其普及和使用仍面臨若干挑戰(zhàn)。其中主要包括現(xiàn)有消毒機(jī)器人系統(tǒng)功能的不成熟,如在復(fù)雜環(huán)境下導(dǎo)航的不準(zhǔn)確、不精準(zhǔn),以及缺少物體識(shí)別功能、成本過高的等缺點(diǎn)。此外,人工消毒操作中給人員帶來的交叉感染的風(fēng)險(xiǎn)以及人力資源依賴等問題,也急需通過消毒機(jī)器人技術(shù)創(chuàng)新得到解決。針對(duì)上述問題,本課題提出了一種應(yīng)用ROS元操作系統(tǒng)及ROS導(dǎo)航框架所搭建的消毒機(jī)器人系統(tǒng)。該機(jī)器人系統(tǒng)包含硬件系統(tǒng)和軟件系統(tǒng)兩大系統(tǒng),系統(tǒng)的設(shè)計(jì)旨在通過更低的開發(fā)成本、更先進(jìn)的科學(xué)技術(shù)實(shí)現(xiàn)一款消毒機(jī)器人來提高消毒工作的效率和質(zhì)量,降低運(yùn)營成本,并保障人員安全,從而應(yīng)對(duì)當(dāng)前公共衛(wèi)生的挑戰(zhàn)。本系統(tǒng)通過整合先進(jìn)的傳感器、智能導(dǎo)航技術(shù)以及定點(diǎn)巡航功能和物體識(shí)別功能,提高了消毒機(jī)器人的能力,使得機(jī)器人導(dǎo)航精度提升、物體識(shí)別精準(zhǔn),有效地提升了消毒機(jī)器人的功能性和適用性。本系統(tǒng)的主要功能包括定點(diǎn)巡航、自主導(dǎo)航、障礙物規(guī)避、物體識(shí)別以及模擬樓層的更換。通過這些功能的實(shí)現(xiàn),消毒機(jī)器人能夠在復(fù)雜的室內(nèi)環(huán)境中執(zhí)行消毒任務(wù),讓消毒工作更為高效化、智能化,從而解放人力資源。此項(xiàng)研究不僅解決了現(xiàn)有的人工消毒方式所存在的大部分問題,而且推動(dòng)了消毒機(jī)器人技術(shù)尤其是在自動(dòng)化消毒領(lǐng)域的革新與發(fā)展。本課題的研究意義在于,它提供了一個(gè)有效的機(jī)器人消毒系統(tǒng)的設(shè)計(jì)方案,可供后續(xù)研究者和工程師參考和改進(jìn)。在系統(tǒng)測(cè)試中,結(jié)果表明所開發(fā)的消毒機(jī)器人能夠符合預(yù)期,展現(xiàn)了該系統(tǒng)的可行性、實(shí)用性和先進(jìn)性。本課題所研究的消毒機(jī)器人在提升公共衛(wèi)生安全標(biāo)準(zhǔn)、節(jié)約長期運(yùn)營成本的同時(shí),也為機(jī)器人技術(shù)在醫(yī)療衛(wèi)生領(lǐng)域的應(yīng)用提供了新方向。隨著科技的不斷發(fā)展,機(jī)器人在公共衛(wèi)生中的應(yīng)用前景廣闊,本研究提供的解決方案,將能夠有效響應(yīng)全球公共衛(wèi)生挑戰(zhàn),具有深遠(yuǎn)的社會(huì)價(jià)值和研究意義。1.2國內(nèi)外研究現(xiàn)狀1.2.1國外研究現(xiàn)狀隨著近年來全球化的公共衛(wèi)生挑戰(zhàn),特別是在COVID-19大流行之后,消毒機(jī)器人的需求和研究迅速增加。國外對(duì)于消毒機(jī)器人的技術(shù)開展了大量研究,著眼于增強(qiáng)其智能度、范圍、效率和自主性。關(guān)鍵技術(shù)如自主導(dǎo)航、智能感知、云數(shù)據(jù)分析以及機(jī)器學(xué)習(xí)等都被應(yīng)用到消毒機(jī)器人的研發(fā)之中。這些機(jī)器人能夠在醫(yī)院、機(jī)場(chǎng)、學(xué)校等公共場(chǎng)所進(jìn)行自主消毒,減少人工勞動(dòng),同時(shí)縮短消毒時(shí)間,并提高消毒質(zhì)量。例如,美國的一些機(jī)器人技術(shù)公司開發(fā)了使用紫外光消毒的機(jī)器人,這類機(jī)器人可以有效地殺死空氣和表面上的病原體。歐洲研究者則專注于提高消毒機(jī)器人在不同環(huán)境下的適應(yīng)性和消毒劑的分配效率??傮w而言,國外在消毒機(jī)器人的研究方面更加注重技術(shù)的創(chuàng)新與應(yīng)用,各種高度專業(yè)化的解決方案不斷涌現(xiàn),輔以嚴(yán)格的實(shí)驗(yàn)室和現(xiàn)實(shí)環(huán)境測(cè)試,以確保機(jī)器人產(chǎn)品可以安全、可靠地投入實(shí)際使用。1.2.2國內(nèi)研究現(xiàn)狀在中國,消毒機(jī)器人作為抗擊新冠肺炎疫情的關(guān)鍵技術(shù)之一,發(fā)展迅速,受到政府和產(chǎn)業(yè)界的高度重視。國內(nèi)不僅快速引進(jìn)和學(xué)習(xí)國際上的先進(jìn)消毒機(jī)器人技術(shù),還在基礎(chǔ)研究和應(yīng)用開發(fā)上取得了顯著成果。技術(shù)上,中國研究人員重點(diǎn)探討了消毒機(jī)器人的多種關(guān)鍵技術(shù),包括但不限于更有效的消毒方法、精準(zhǔn)的遙感監(jiān)測(cè)技術(shù)、完善的自主導(dǎo)航系統(tǒng)和基于人工智能的環(huán)境感知能力。這些技術(shù)的研究和應(yīng)用是為了確保消毒機(jī)器人能夠在復(fù)雜多變的環(huán)境中高效、穩(wěn)定地工作。在消毒方法方面,中國研發(fā)了融合多種消毒手段的機(jī)器人,包括化學(xué)噴霧、紫外燈照射等,以適應(yīng)不同的消毒場(chǎng)景和效率要求。同時(shí),縝密的消毒戰(zhàn)略和路徑規(guī)劃也是研究的重點(diǎn),以提升消毒覆蓋的全面性。系統(tǒng)方面,自主導(dǎo)航技術(shù)和環(huán)境感知能力成為了研究的熱點(diǎn)。自主導(dǎo)航技術(shù)使得消毒機(jī)器人能夠在沒有人工干預(yù)的情況下獨(dú)立完成消毒任務(wù),而高級(jí)的環(huán)境感知能力則確保了機(jī)器人在不同環(huán)境下均可準(zhǔn)確識(shí)別障礙物和消毒對(duì)象REF_Ref13090\r\h[1]。針對(duì)國情的研究與創(chuàng)新也在進(jìn)行。例如,針對(duì)中國大型公共場(chǎng)所的人流密集和空間復(fù)雜的特點(diǎn),中國研究人員開發(fā)了能夠進(jìn)行快速部署和高效消毒的機(jī)器人系統(tǒng),并能以更好的成本效益比投入運(yùn)營。就應(yīng)用場(chǎng)景而言,國內(nèi)的醫(yī)院、交通樞紐、商業(yè)中心等眾多場(chǎng)所已經(jīng)開始使用消毒機(jī)器人來提高環(huán)境衛(wèi)生水平。此外,疫情期間,政府部門也采購了大量消毒機(jī)器人,用于公共區(qū)域和疫情防控點(diǎn)的消毒工作。然而,國內(nèi)在推廣消毒機(jī)器人的過程中也遇到了一些挑戰(zhàn),其中包括消毒機(jī)器人產(chǎn)品標(biāo)準(zhǔn)化、維護(hù)成本、用戶接受度和消毒效果評(píng)價(jià)體系等方面的問題。為了解決這些問題,國內(nèi)學(xué)術(shù)和工業(yè)界正密切合作,加強(qiáng)人才培養(yǎng)和技術(shù)創(chuàng)新,同時(shí),政府也出臺(tái)了相應(yīng)的政策和指南以促進(jìn)該技術(shù)的健康發(fā)展。1.3論文組織結(jié)構(gòu)本次畢業(yè)設(shè)計(jì)的主要工作是對(duì)自主消殺移動(dòng)機(jī)器人進(jìn)行整體性的設(shè)計(jì),在此基礎(chǔ)上從硬件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)和軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)兩面展開。本文各章節(jié)的安排如下。2機(jī)器人關(guān)鍵技術(shù)2.1消毒機(jī)器人技術(shù)原理消毒機(jī)器人技術(shù)主要采用一種或多種消毒殺菌手段,通過自動(dòng)化的機(jī)器人平臺(tái)進(jìn)行環(huán)境消毒。為了提高消毒效果,一些機(jī)器人可能會(huì)整合多種消毒方式,例如結(jié)合紫外線和化學(xué)噴霧消毒。消毒機(jī)器人通常配備有高級(jí)的導(dǎo)航系統(tǒng),如激光、紅外或攝像頭,以及人工智能算法來確保它可以自主規(guī)劃路徑、規(guī)避障礙物,并覆蓋所有需要消毒的區(qū)域。消毒機(jī)器人的設(shè)計(jì)還兼顧了人機(jī)安全交互,以確保在其工作時(shí)不會(huì)對(duì)人類造成傷害。例如,UV-C消毒機(jī)器人在開始工作時(shí)可能會(huì)使用傳感器來監(jiān)測(cè)機(jī)器人周圍是否存在人員,若有人員進(jìn)入工作區(qū)域,那么機(jī)器人會(huì)自動(dòng)關(guān)閉紫外線燈以防止輻射對(duì)人員的傷害。消毒機(jī)器人結(jié)合一系列先進(jìn)技術(shù),有效地對(duì)公共空間進(jìn)行消毒和清潔。這些機(jī)器人中使用的一些關(guān)鍵技術(shù)包括ROS、單片機(jī)技術(shù)、傳感器技術(shù)、操作系統(tǒng)、3D建模、機(jī)器人導(dǎo)航技術(shù)、消毒技術(shù)、機(jī)器視覺等。具體如下所示:ROS(RobotOperatingSystem),它是一個(gè)開源元操作系統(tǒng)平臺(tái),在機(jī)器人操作技術(shù)中得到了廣泛的應(yīng)用。它極大地便利了開發(fā)者對(duì)于各式機(jī)器人功能模塊的開發(fā)與再次利用。隨著這個(gè)平臺(tái)的不斷成熟和功能的增強(qiáng),它已逐漸被公認(rèn)為機(jī)器人研發(fā)中的標(biāo)準(zhǔn)框架。內(nèi)置了眾多工具和庫,并采用了特定的通訊協(xié)議,ROS提供了操作系統(tǒng)層面的一些關(guān)鍵功能,極大地簡化了機(jī)器人操作的復(fù)雜性,并支持跨多個(gè)設(shè)備和系統(tǒng)運(yùn)行代碼。它可以視作機(jī)器人軟件框架,其整合了交互機(jī)制、實(shí)用工具、先進(jìn)的機(jī)器人功能以及一個(gè)廣泛的開發(fā)生態(tài)環(huán)境。簡而言之,ROS把通信系統(tǒng)、工具包、先進(jìn)功能和社區(qū)生態(tài)整合在了一起,為機(jī)器人編程與操作提供了全面的支持。ROS的設(shè)計(jì)者將ROS表述為“ROS=Plumbing+Tools+Capabilities+Ecosystem”(見圖2.1),即ROS是通訊機(jī)制、工具軟件包、機(jī)器人高層技能以及機(jī)器人生態(tài)系統(tǒng)的集合體。圖2.1ROS架構(gòu)隨機(jī)存取存儲(chǔ)器(RAM)、單片機(jī)技術(shù)是指將微處理器(CPU)、輸入/輸出接口、只讀存儲(chǔ)器(ROM)和其他功能集成在一塊芯片上的技術(shù)。單片機(jī)(MicrocontrollerUnit,MCU)可以視為一個(gè)小型計(jì)算機(jī),它通常被設(shè)計(jì)來執(zhí)行特定的任務(wù),如控制家用電器、辦公自動(dòng)化設(shè)備、機(jī)器人或汽車的各類電子系統(tǒng)。機(jī)器人系統(tǒng)中的傳感器技術(shù)是機(jī)器人系統(tǒng)不可或缺的一部分,因?yàn)閭鞲衅鳛闄C(jī)器人提供了與外部世界交流的能力,使它們能夠感知環(huán)境、識(shí)別物體、測(cè)量距離、感知運(yùn)動(dòng)等等。傳感器為機(jī)器人等自動(dòng)化系統(tǒng)提供了必須的信息以作出決策和執(zhí)行動(dòng)作。在機(jī)器人系統(tǒng)中,操作系統(tǒng)(OS)扮演著至關(guān)重要的角色,它是軟件架構(gòu)的核心層,負(fù)責(zé)管理機(jī)器人的硬件資源和提供程序運(yùn)行的基礎(chǔ)服務(wù)。一個(gè)有效的機(jī)器人OS能夠確保系統(tǒng)資源被合理地分配,同時(shí)保持任務(wù)的高效執(zhí)行。操作系統(tǒng)也負(fù)責(zé)處理并發(fā)操作、內(nèi)存管理、文件系統(tǒng)管理以及提供用戶接口。機(jī)器人的3D建模是通過使用計(jì)算機(jī)軟件來創(chuàng)建機(jī)器人的三維模型。這種建模技術(shù)可以用于設(shè)計(jì)、仿真和制造機(jī)器人外形、結(jié)構(gòu)。常見的機(jī)器人3D建模的軟件有AutodeskInventor、SolidWorks、Blender等。這些軟件具有強(qiáng)大的建模功能和豐富的工具集。地圖構(gòu)建、定位與感知等都是這項(xiàng)技術(shù)的原理。機(jī)器人通過建立環(huán)境地圖,實(shí)現(xiàn)對(duì)周圍環(huán)境的感知和精確的定位。在此基礎(chǔ)上,提出了一種通過掃描地圖來確位置的路徑規(guī)劃算法。當(dāng)它行進(jìn)時(shí),它會(huì)持續(xù)地感應(yīng)并更新它所處的環(huán)境。包括障礙物檢測(cè)、目標(biāo)識(shí)別等。這些原理共同為機(jī)器人導(dǎo)航提供基礎(chǔ),使機(jī)器人可以在復(fù)雜環(huán)境中實(shí)現(xiàn)自主感知、路徑規(guī)劃和準(zhǔn)確的運(yùn)動(dòng)控制,以到達(dá)預(yù)定的目標(biāo)位置。機(jī)器人系統(tǒng)在消毒領(lǐng)域的應(yīng)用成為了特別關(guān)注的重點(diǎn),尤其是在全球經(jīng)歷新型冠狀病毒疫情(COVID-19)之后。消毒機(jī)器人為衛(wèi)生工作提供了一個(gè)自動(dòng)化、高效和安全的解決方案,特別是在需要頻繁和徹底消毒的醫(yī)療機(jī)構(gòu)和公共場(chǎng)所。消毒機(jī)器人可以搭載一種或多種消毒方式,被應(yīng)用于消毒機(jī)器人中的消毒方式有紫外線(UV)消毒、化學(xué)噴霧消毒、干霧消毒和臭氧消毒等。這些消毒方式基于不同的原理和方法,有效地對(duì)消毒區(qū)域進(jìn)行消毒、凈化。機(jī)器視覺就是利用電腦、相機(jī)等設(shè)備來模仿人的視覺行為的技術(shù)。機(jī)器視覺技術(shù)原理包括獲取圖像、圖像預(yù)處理、特征提取、物體識(shí)別和跟蹤、三維重建以及數(shù)據(jù)分析和應(yīng)用。這些技術(shù)共同為機(jī)器提供了理解和分析圖像、識(shí)別物體和環(huán)境、進(jìn)行定位和導(dǎo)航、規(guī)劃路徑和控制運(yùn)動(dòng)等等重要功能,實(shí)現(xiàn)機(jī)器人在各種環(huán)境中的自主感知、執(zhí)行任務(wù)和與人交互的能力REF_Ref56\r\hREF_Ref13201\r\h[2]。2.22.32.42.2消毒方式及ROS技術(shù)的應(yīng)用現(xiàn)狀2.2.1消毒機(jī)器人消毒方式現(xiàn)狀在設(shè)計(jì)消毒機(jī)器人時(shí),消毒方式是必不可少的一部分,針對(duì)不同的環(huán)境,且考慮到成本、技術(shù)等因素,我們應(yīng)選擇合適的消毒方式應(yīng)用于消毒機(jī)器人中。至今,主流的消毒方式包括紫外線(UV)光消毒、霧化噴霧/噴霧消毒、液體消毒劑噴灑、空氣過濾和凈化等。UV-C光譜的紫外線光可以有效殺死細(xì)菌和病毒。消毒機(jī)器人攜帶這種光源在房間或其他空間中快速移動(dòng),通過使用紫外線照射目標(biāo)物體表面,破壞細(xì)菌、病毒的核酸結(jié)構(gòu),達(dá)到殺滅效果。UV-C消毒機(jī)器人在醫(yī)院用于消毒手術(shù)室和病房,減少醫(yī)院獲得性感染(HAI)的風(fēng)險(xiǎn)。這類消毒機(jī)器人通過噴霧或霧化消毒劑(如過氧化氫蒸汽、次氯酸鹽溶液)來消毒空氣和表面。霧化消毒可以覆蓋較大范圍,有效滲透到難以觸及的地方。某些消毒機(jī)器人配備了噴頭,可以直接在物體表面上噴灑液體消毒劑。這些機(jī)器人適用于那些需要特定消毒劑處理的場(chǎng)景,并且可以確保消毒劑均勻分布。有些消毒機(jī)器人配備有高效率顆粒物空氣過濾器(HEPA)或其他空氣凈化技術(shù),用于清除空氣中的微生物和其他污染物?,F(xiàn)對(duì)上面所提及的四種主流的消毒方式進(jìn)行表格對(duì)比(見表1)。表1主流消毒方式對(duì)比消毒方式消毒效率安全性操作簡便性成本紫外線光消毒高效對(duì)人體有害簡單較高霧化噴霧消毒高效使用化學(xué)消毒劑可能會(huì)對(duì)環(huán)境和人體有害簡單較高液體消毒劑噴灑有效依賴于消毒劑種類,可能腐蝕材料或有害健康相對(duì)簡單低空氣過濾和凈化有效安全簡單中等2.2.2ROS技術(shù)應(yīng)用現(xiàn)狀ROS(RobotOperatingSystem)是一個(gè)廣泛使用的機(jī)器人操作系統(tǒng),以其靈活性、可擴(kuò)展性和易用性而聞名。它在各種機(jī)器人研究、開發(fā)和實(shí)際應(yīng)用場(chǎng)景中發(fā)揮著重要作用,涵蓋了工業(yè)、服務(wù)業(yè)、教育研究業(yè)和農(nóng)業(yè)等多個(gè)領(lǐng)域。具體如下所示:工業(yè)機(jī)器人在工業(yè)領(lǐng)域,ROS被廣泛應(yīng)用于自動(dòng)化生產(chǎn)線、智能制造和物流運(yùn)輸?shù)确矫?。通過ROS,機(jī)器人可以實(shí)現(xiàn)精確的定位、抓取、搬運(yùn)等操作,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。同時(shí),ROS還可以與企業(yè)的信息化系統(tǒng)進(jìn)行集成,實(shí)現(xiàn)生產(chǎn)過程的智能化管理和監(jiān)控。服務(wù)機(jī)器人在服務(wù)業(yè)中,ROS也被廣泛應(yīng)用于家庭機(jī)器人、醫(yī)療機(jī)器人和娛樂機(jī)器人等領(lǐng)域。家庭機(jī)器人可以幫助人們完成家庭清潔、照顧老人和兒童等任務(wù),提高生活質(zhì)量和便利性。醫(yī)療機(jī)器人則可以在手術(shù)、康復(fù)和護(hù)理等方面發(fā)揮重要作用,提高醫(yī)療服務(wù)的水平和效率。教育和研究領(lǐng)域在教育研究業(yè)中,ROS成為了機(jī)器人教育和研究的重要工具。通過ROS平臺(tái),學(xué)生可以更加直觀地了解機(jī)器人的工作原理和應(yīng)用場(chǎng)景,提高機(jī)器人技術(shù)的普及率和教育水平。同時(shí),ROS也為教育研究者提供了豐富的實(shí)驗(yàn)工具和數(shù)據(jù)資源,推動(dòng)了機(jī)器人教育理論和實(shí)踐的發(fā)展。農(nóng)業(yè)機(jī)器人在農(nóng)業(yè)領(lǐng)域,ROS同樣發(fā)揮著重要作用。通過ROS控制農(nóng)業(yè)機(jī)器人進(jìn)行精準(zhǔn)播種、施肥、灌溉和收割等作業(yè),可以提高農(nóng)業(yè)生產(chǎn)效率和減少人力成本。同時(shí),ROS還可以結(jié)合傳感器技術(shù)實(shí)現(xiàn)對(duì)農(nóng)田環(huán)境的實(shí)時(shí)監(jiān)測(cè)和數(shù)據(jù)采集,為精準(zhǔn)農(nóng)業(yè)和智慧農(nóng)業(yè)提供有力支持??罩泻退聶C(jī)器人通過ROS技術(shù),無人機(jī)、水下機(jī)器人等空中和水下機(jī)器人能夠?qū)崿F(xiàn)自主飛行、水下探測(cè)、環(huán)境監(jiān)測(cè)等任務(wù),為人類的生產(chǎn)和生活帶來了極大的便利。在空中領(lǐng)域,通過ROS技術(shù),無人機(jī)可以實(shí)現(xiàn)精確的導(dǎo)航、避障、目標(biāo)追蹤等功能。ROS支持多種傳感器和設(shè)備的集成,如攝像頭、激光雷達(dá)等,使得無人機(jī)能夠完成更加復(fù)雜的任務(wù),如空中攝影、地形測(cè)繪、農(nóng)業(yè)噴灑等;在水下領(lǐng)域,通過ROS技術(shù),水下機(jī)器人可以實(shí)現(xiàn)自主導(dǎo)航、水下探測(cè)、海底地形測(cè)繪等功能。ROS支持與各種水下設(shè)備的通信和控制,如水下攝像頭、聲吶等,使得水下機(jī)器人能夠更加精確且高效地完成海底資源勘探、海洋環(huán)境監(jiān)測(cè)等任務(wù)。2.52.6達(dá)芬奇手術(shù)機(jī)器人2.72.3ROS技術(shù)特點(diǎn)/優(yōu)點(diǎn)ROS(機(jī)器人操作系統(tǒng),RobotOperatingSystem)是一個(gè)用于編寫機(jī)器人軟件的系統(tǒng)。盡管名為操作系統(tǒng),實(shí)際上它是一套面向機(jī)器人的中間件,提供了服務(wù)-客戶端架構(gòu)下的消息傳遞和軟件包管理功能。ROS為機(jī)器人軟件開發(fā)提供了工具和庫,允許研究人員和開發(fā)者更容易地構(gòu)建復(fù)雜和健壯的機(jī)器人行為。ROS的核心部分包含各種服務(wù),包括硬件抽象、底層設(shè)備控制、常用功能實(shí)現(xiàn)、進(jìn)程間通訊,以及包管理。ROS還支持代碼的重用和共享,具備一個(gè)龐大的開源社區(qū),社區(qū)成員開發(fā)并分享大量的機(jī)器人軟件組件。其具有開源、模塊化、分布式計(jì)算、豐富的數(shù)據(jù)和庫、多語言支持、強(qiáng)調(diào)社區(qū)合作等方面特點(diǎn)REF_Ref13488\r\h[3]REF_Ref13492\r\h[4]。ROS具有如下多種優(yōu)點(diǎn):開源ROS是一個(gè)開源的軟件框架,其中的源代碼可以免費(fèi)獲取和使用,這意味著用戶可以自由地查看、修改和重新分發(fā)ROS的代碼。這種開源性帶來了更大的靈活性和可定制性,用戶可以根據(jù)自己的需求對(duì)ROS進(jìn)行定制和擴(kuò)展。并且這推動(dòng)了全球范圍內(nèi)用戶社區(qū)的形成。模塊化和重用ROS以模塊化的方式設(shè)計(jì),在開發(fā)過程中將復(fù)雜的系統(tǒng)分解為多個(gè)獨(dú)立的節(jié)點(diǎn)。這種模塊化架構(gòu)使得開發(fā)者可以將節(jié)點(diǎn)作為獨(dú)立的功能單元開發(fā)和測(cè)試,然后通過消息傳遞機(jī)制進(jìn)行數(shù)據(jù)交換和通信。模塊化的設(shè)計(jì)有助于代碼的重用和維護(hù),加快了開發(fā)的速度和效率。例如,如果某個(gè)開發(fā)者創(chuàng)建了一個(gè)很好的激光雷達(dá)處理節(jié)點(diǎn),其他開發(fā)者就可以很容易地將其集成到他們的項(xiàng)目中。分布式計(jì)算ROS支持分布式計(jì)算,可以在多臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)可以在獨(dú)立的計(jì)算機(jī)或者分布式網(wǎng)絡(luò)上進(jìn)行開發(fā)和部署,相互之間通過網(wǎng)絡(luò)進(jìn)行通信。這種分布式計(jì)算架構(gòu)能夠充分利用多臺(tái)計(jì)算機(jī),通過網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)之間的相互通信、合作等工作。這種分布式計(jì)算能夠提高系統(tǒng)的并發(fā)性和響應(yīng)性,并更好地適應(yīng)復(fù)雜的機(jī)器人應(yīng)用場(chǎng)景。可擴(kuò)展性ROS的通信框架非常靈活,支持多種通信方式(如話題、服務(wù)、動(dòng)作服務(wù)器等),便于不同功能節(jié)點(diǎn)之間交換數(shù)據(jù)。同時(shí),它可以輕松擴(kuò)展到多個(gè)計(jì)算機(jī)和新的硬件設(shè)備。開發(fā)者可以根據(jù)自己的需求添加新的節(jié)點(diǎn)、消息類型或服務(wù),以滿足特定的機(jī)器人應(yīng)用需求。這種可擴(kuò)展性使得ROS適用于不同規(guī)模和需求的機(jī)器人項(xiàng)目。強(qiáng)大的通信模型ROS提供了可靠和靈活的通信和消息傳遞機(jī)制,使得不同節(jié)點(diǎn)之間可以方便地進(jìn)行數(shù)據(jù)交換和通信。這種消息系統(tǒng)的設(shè)計(jì)可以幫助機(jī)器人系統(tǒng)實(shí)現(xiàn)分布式計(jì)算和協(xié)同工作,提高了系統(tǒng)的可擴(kuò)展性和靈活性。機(jī)器人的功能場(chǎng)景會(huì)使用不同的通信機(jī)制來實(shí)現(xiàn)。豐富的工具和庫ROS為工具和庫,從硬件抽象、設(shè)備驅(qū)動(dòng)、庫函數(shù)、視覺算法、消息傳遞到包管理等多個(gè)方面提供了支持。例如,Rviz可以實(shí)現(xiàn)3D可視化和仿真,使開發(fā)者可以可視化地查看機(jī)器人在環(huán)境中的狀態(tài)和行為;Gazebo提供了高度逼真的機(jī)器人仿真環(huán)境,用于快速驗(yàn)證和調(diào)試機(jī)器人控制算法等REF_Ref13665\r\h[5]。此外,ROS還提供了許多功能庫和工具,如導(dǎo)航、感知、運(yùn)動(dòng)規(guī)劃等,為開發(fā)者提供了豐富的現(xiàn)成解決方案和工具鏈。這些工具減少了軟件的底層管理工作,讓開發(fā)者能專注于機(jī)器人的行為和任務(wù)。多語言支持ROS客戶端庫支持多種編程語言,包括但不限于Python、C++和Lisp,不同的編程語言可以滿足不同開發(fā)者的偏好和需求,也有利于與現(xiàn)有的代碼和庫進(jìn)行集成。開發(fā)者可以根據(jù)自己的熟悉程度和項(xiàng)目需求選擇適合自己的編程語言進(jìn)行開發(fā),提高了開發(fā)的效率和靈活性。3系統(tǒng)整體設(shè)計(jì)3.1設(shè)計(jì)目標(biāo)自主消殺移動(dòng)機(jī)器人的設(shè)計(jì)目標(biāo)是使機(jī)器人能夠在公共空間內(nèi)的進(jìn)行消毒和清潔,減少傳染病的傳播,提高公共衛(wèi)生安全。該系統(tǒng)的具體功能有,機(jī)器人能夠在需要被消毒的空間區(qū)域內(nèi)進(jìn)行多目標(biāo)點(diǎn)間的定點(diǎn)巡航,并在巡航的過程中進(jìn)行避障、消毒操作,在定點(diǎn)巡航完指定圈數(shù)后,機(jī)器人能夠返回至電梯門前并執(zhí)行機(jī)器人系統(tǒng)中的視覺模塊,對(duì)電梯按鈕進(jìn)行識(shí)別,當(dāng)識(shí)別到電梯按鈕后給予反饋來模擬更換樓層操作。假設(shè)一個(gè)消毒區(qū)域(見圖3.1),應(yīng)先對(duì)消毒區(qū)域建圖,并將圖像信息保存以用于后續(xù)流程。對(duì)該區(qū)域進(jìn)行建圖操作后,應(yīng)對(duì)該地圖進(jìn)行選點(diǎn)操作,被選入的目標(biāo)點(diǎn)的信息將用于后續(xù)的定點(diǎn)巡航中,且選擇的消毒目標(biāo)點(diǎn)應(yīng)當(dāng)均勻地分布于地圖中,使得機(jī)器人消毒能夠均勻覆蓋消毒區(qū)域。此處選取了6處目標(biāo)點(diǎn),分別為one、two、three、four、five、six。所需消毒區(qū)域建的地圖假設(shè)消毒機(jī)器人應(yīng)當(dāng)消毒2圈,則根據(jù)所設(shè)計(jì)的目標(biāo)功能可知,機(jī)器人應(yīng)當(dāng)在one點(diǎn)到six點(diǎn)間定點(diǎn)巡航2圈后返回至one點(diǎn),因此機(jī)器人定點(diǎn)巡航的具體導(dǎo)航順序從始到終為one、two、three、four、five、six、one、two、three、four、five、six、one。在定點(diǎn)巡航完2圈后會(huì)返回至one目標(biāo)點(diǎn),啟動(dòng)物體識(shí)別模塊,識(shí)別電梯按鈕。綜上所述,所選定的第一個(gè)目標(biāo)點(diǎn),應(yīng)設(shè)定在電梯門前。3.2整體方案設(shè)計(jì)根據(jù)系統(tǒng)的設(shè)計(jì)目標(biāo),將自主消殺移動(dòng)機(jī)器人系統(tǒng)分解為三大部分,分別為機(jī)器人開發(fā)平臺(tái)的搭建(包含硬件平臺(tái)和軟件平臺(tái))、機(jī)器人定點(diǎn)巡航消毒功能以及機(jī)器人視覺模塊。對(duì)于此項(xiàng)目而言,首先應(yīng)搭建機(jī)器人開發(fā)平臺(tái)。且應(yīng)先搭建合理的硬件平臺(tái),并在硬件平臺(tái)上安裝合適的軟件平臺(tái),為后續(xù)的系統(tǒng)功能實(shí)現(xiàn)做鋪墊。對(duì)于機(jī)器人的硬件平臺(tái)的搭建,應(yīng)當(dāng)從執(zhí)行結(jié)構(gòu)、驅(qū)動(dòng)系統(tǒng)、主控系統(tǒng)、感知系統(tǒng)、通信系統(tǒng)及消毒結(jié)構(gòu)這六個(gè)方面去考慮。而最主要的就是驅(qū)動(dòng)系統(tǒng)和主控系統(tǒng),驅(qū)動(dòng)系統(tǒng)用來負(fù)責(zé)驅(qū)動(dòng)執(zhí)行結(jié)構(gòu),主控系統(tǒng)用來運(yùn)行智能算法來實(shí)現(xiàn)具體的設(shè)計(jì)目標(biāo)中的功能。故硬件開發(fā)平臺(tái)部分應(yīng)著重考慮上位機(jī)和下位機(jī)所用的單片機(jī),并應(yīng)當(dāng)從處理能力、接口類型、功耗、支持的軟件平臺(tái)等方面去考慮。對(duì)于上位機(jī),可以選用像RaspberryPi這樣的單板計(jì)算機(jī),或者搭載RT-Thread、FreeRTOS等操作系統(tǒng)的高性能MCUs,比如STM32F7/H7系列、NXPi.MXRT系列或者更高性能的MCUs等,以滿足數(shù)據(jù)處理和通信需求。對(duì)于下位機(jī),可以選擇能夠處理實(shí)時(shí)控制任務(wù)的MCUs,如STM32F4系列或者TI的Tiva系列。這些單片機(jī)有豐富的外圍接口,并且獲得了廣泛的支持和資源。除此之外為了獲取消毒區(qū)域的環(huán)境信息,應(yīng)當(dāng)考慮各種傳感器,因此消毒機(jī)器人系統(tǒng)所配備的傳感器應(yīng)包括但不限于:用于避障的距離傳感器、用于導(dǎo)航和定位的導(dǎo)航傳感器,用于目標(biāo)識(shí)別的視覺傳感器等。根據(jù)系統(tǒng)的需求,所選擇的傳感器的具體類型和型號(hào)應(yīng)當(dāng)確保能夠與所選單片機(jī)兼容。在搭建消毒機(jī)器人系統(tǒng)的上位機(jī)和下位機(jī)軟件開發(fā)平臺(tái)時(shí),對(duì)于上位機(jī)通常需要選擇具備較強(qiáng)計(jì)算能力的操作系統(tǒng),如Linux或RTOS,并搭載適合的機(jī)器人開發(fā)框架如ROS,以及支持多種編程語言的開發(fā)環(huán)境。此外,還需考慮仿真、通信協(xié)議及版本控制等工具以便于開發(fā)和測(cè)試。對(duì)于下位機(jī)則更加聚焦于固件和實(shí)時(shí)操作系統(tǒng)(RTOS),利用專門的嵌入式IDE進(jìn)行開發(fā),同時(shí)為各種傳感器和執(zhí)行器配置相應(yīng)的驅(qū)動(dòng)程序和控制算法庫,以確保機(jī)器人具有穩(wěn)定的實(shí)時(shí)響應(yīng)能力。在確保上位機(jī)與下位機(jī)軟件兼容及通信順暢的基礎(chǔ)上,可以高效地實(shí)現(xiàn)機(jī)器人硬件平臺(tái)上的系統(tǒng)功能。對(duì)機(jī)器人定點(diǎn)巡航功能進(jìn)行拆解,可以拆解為兩個(gè)部分,一部分為定點(diǎn)循跡功能,另一部分為巡航過程中的導(dǎo)航功能(見圖3.2)。圖3.2定點(diǎn)巡航功能拆解圖3.3ROSCommunicationModel定點(diǎn)巡航可以結(jié)合ROS官方提供NavigationModel和ROSCommunicationModel自定義邏輯來實(shí)現(xiàn)。ROSCommunicationModel包含話題通信、服務(wù)通信以及參數(shù)服務(wù)器(見圖3.3)。機(jī)器人的導(dǎo)航功能是指機(jī)器人能夠向主控系統(tǒng)發(fā)布出的目標(biāo)點(diǎn)導(dǎo)航前進(jìn)的操作。由于機(jī)器人系統(tǒng)所采用的是ROS元操作系統(tǒng),故可采用ROSNavigationModel實(shí)現(xiàn)機(jī)器人的導(dǎo)航功能(見圖3.4)。其中的NavigationModel可以分為如下五個(gè)關(guān)鍵點(diǎn):全局地圖、自身定位、路徑規(guī)劃、運(yùn)動(dòng)控制以及環(huán)境感知。首先,借助ROS的SLAM算法(如Gmapping或Cartographer)構(gòu)建機(jī)器人所在環(huán)境的地圖,為導(dǎo)航提供基礎(chǔ)。接著,利用ROS的定位算法(如AMCL)通過在地圖上對(duì)機(jī)器人進(jìn)行定位,從而得到其所處的實(shí)時(shí)位置。然后,使用ROS的導(dǎo)航功能包(如move_base節(jié)點(diǎn))進(jìn)行路徑規(guī)劃,根據(jù)起點(diǎn)、終點(diǎn)和地圖信息計(jì)算出機(jī)器人需要沿途經(jīng)過的路徑。一旦路徑規(guī)劃完成,通過ROSCommunicationModel將路徑指令發(fā)送給機(jī)器人底層的控制器或硬件接口節(jié)點(diǎn),使機(jī)器人能夠沿著規(guī)劃的路徑移動(dòng)REF_Ref13821\r\h[6]。圖3.4ROSNavigationModel機(jī)器人的定點(diǎn)循跡功能是指機(jī)器人能夠在預(yù)定的循跡目標(biāo)點(diǎn)之間執(zhí)行導(dǎo)航操作。在ROS中,可以采用ROSTopicCommunicationModel來實(shí)現(xiàn)這一功能(見圖3.5)。創(chuàng)建一個(gè)subscriber節(jié)點(diǎn),訂閱發(fā)布循跡目標(biāo)點(diǎn)信息的publisher節(jié)點(diǎn)傳遞的目標(biāo)點(diǎn)信息。這個(gè)subscriber節(jié)點(diǎn)會(huì)接收并保存訂閱到的目標(biāo)點(diǎn)信息。接下來,創(chuàng)建一個(gè)publisher節(jié)點(diǎn),通過ROSCommunicationModel將保存的目標(biāo)點(diǎn)信息發(fā)布給ROSNavigationModel。這樣一來,ROSNavigationModel就可以根據(jù)發(fā)布的目標(biāo)點(diǎn)信息執(zhí)行導(dǎo)航操作,將自身導(dǎo)航到循跡目標(biāo)點(diǎn)。圖3.5ROSTopicCommunicationModel機(jī)器人的消毒方式有多種,消毒方式在2.2.1部分已經(jīng)指出。在設(shè)計(jì)消毒機(jī)器人時(shí),消毒方式是必不可少的一部分,針對(duì)不同的環(huán)境,且考慮到成本、技術(shù)等因素,應(yīng)選擇合適的消毒方式。消毒機(jī)器人是一種基于機(jī)器人技術(shù)和人工智能技術(shù)相結(jié)合的新型消毒設(shè)備,可以自主執(zhí)行消毒任務(wù),減少人力和物力資源的浪費(fèi),同時(shí)具有高效、精準(zhǔn)、可靠的優(yōu)勢(shì)。而在機(jī)器人的智能化過程中,對(duì)各類按鈕的智能識(shí)別是非常重要的一步。在ROS平臺(tái)上結(jié)合TensorFlow深度學(xué)習(xí)框架,就可以實(shí)現(xiàn)消毒機(jī)器人對(duì)電梯按鈕的智能識(shí)別。在設(shè)計(jì)消毒機(jī)器人的視覺模塊時(shí),基于RobotOperatingSystem(ROS)作為主要平臺(tái)進(jìn)行整合,并采用TensorFlow機(jī)器學(xué)習(xí)庫來執(zhí)行圖像識(shí)別功能。該視覺模塊主要依靠一個(gè)功能包,名為ros_object_detection,這個(gè)功能包是構(gòu)建在TensorFlow算法之上的,利用谷歌提供的強(qiáng)大ObjectDetectionAPI來實(shí)現(xiàn)物體的識(shí)別功能。此API涵蓋了TensorFlow下各種先進(jìn)的物體檢測(cè)模型,使得我們的機(jī)器人在識(shí)別電梯按鈕等對(duì)象時(shí)既準(zhǔn)確又高效。視覺模塊的工作流程起始于攝像頭采集的圖像數(shù)據(jù)。機(jī)器人會(huì)使用攝像頭實(shí)時(shí)捕捉電梯內(nèi)的場(chǎng)景,并將所獲得的圖像傳輸至ROS系統(tǒng)。然后,圖像預(yù)處理步驟會(huì)將圖像數(shù)據(jù)轉(zhuǎn)換成ObjectDetectionAPI所能識(shí)別的格式。一旦圖像預(yù)處理完畢,ros_tensorflow_classify節(jié)點(diǎn)就會(huì)被調(diào)用,以利用預(yù)先訓(xùn)練好的物體檢測(cè)模型來分析并識(shí)別這些圖像。識(shí)別過程本質(zhì)上是與訓(xùn)練模型對(duì)圖像進(jìn)行比較,在確定圖像中物體的類別與置信度。通過這種方式,消毒機(jī)器人可以精確識(shí)別出電梯按鈕,并將此信息傳遞給后續(xù)處理模塊以執(zhí)行反饋操作來模擬更換電梯樓層。整個(gè)物體識(shí)別流程的實(shí)現(xiàn),不僅體現(xiàn)了TensorFlow在數(shù)據(jù)流計(jì)算、狀態(tài)共享和運(yùn)算執(zhí)行上的靈活性和高效性,還凸顯了ROS在實(shí)時(shí)處理和模塊協(xié)調(diào)方面的強(qiáng)大能力。4系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)4.1硬件系統(tǒng)整體設(shè)計(jì)機(jī)器人硬件系統(tǒng)整體可分為六個(gè)部分(見圖4.1),分別為執(zhí)行結(jié)構(gòu)、驅(qū)動(dòng)系統(tǒng)、主控系統(tǒng)、感知系統(tǒng)、通信系統(tǒng)以及消毒結(jié)構(gòu)。圖4.1硬件架構(gòu)框圖機(jī)器人的執(zhí)行結(jié)構(gòu)是機(jī)器人的機(jī)械構(gòu)成部分,它使得機(jī)器人在現(xiàn)實(shí)世界中具有行動(dòng)的能力。在這一部分中,電機(jī)驅(qū)動(dòng)的麥克納姆輪使得機(jī)器人能夠自由移動(dòng)。麥克納姆輪以其獨(dú)特的全向移動(dòng)特性,賦予了機(jī)器人出色的移動(dòng)能力,使它們能夠在各種復(fù)雜多變的地形中自由穿行,如同人類的腳一般靈活。麥克納姆輪的設(shè)計(jì)靈感來源于傳統(tǒng)的萬向輪,但它在結(jié)構(gòu)和功能上有了突破性的創(chuàng)新。通過在輪子外緣安裝一系列小滾輪,麥克納姆輪實(shí)現(xiàn)了全方位的運(yùn)動(dòng)能力。這些小滾輪可以獨(dú)立控制,使輪子能夠同時(shí)向前、向后、向左、向右自由移動(dòng),甚至進(jìn)行原地旋轉(zhuǎn)。這種全方位的移動(dòng)方式使機(jī)器人在面對(duì)復(fù)雜環(huán)境時(shí)能夠更加自如地調(diào)整自己的位置和姿態(tài),提高了機(jī)器人的工作效率和適應(yīng)性。驅(qū)動(dòng)系統(tǒng)用于驅(qū)動(dòng)執(zhí)行結(jié)構(gòu)、與主控系統(tǒng)通信以及連接若干傳感器等。消毒機(jī)器人的驅(qū)動(dòng)系統(tǒng)采用了STM32F407VET6微控制器芯片,這款芯片具有高性能和高性價(jià)比的特點(diǎn),能夠以合理的價(jià)格提供強(qiáng)大的計(jì)算能力和穩(wěn)定的通信功能,從而降低整體成本。主控系統(tǒng)主控系統(tǒng)相當(dāng)于人腦,通過傳感系統(tǒng)獲取的數(shù)據(jù)進(jìn)行算法處理,可以完成復(fù)雜的功能。消毒機(jī)器人采用了樹莓派4B4G作為主控系統(tǒng),這款開源硬件平臺(tái)具備強(qiáng)大的計(jì)算和通信能力,非常適合開發(fā)消毒機(jī)器人。借助樹莓派4B可靠穩(wěn)定的性能,機(jī)器人能夠快速響應(yīng)環(huán)境變化,并根據(jù)實(shí)時(shí)數(shù)據(jù)做出適應(yīng)性調(diào)整。感知系統(tǒng)感知系統(tǒng)類似于人眼這一感覺器官,其主要作用是感知外部環(huán)境來收集外部信息,將信息傳遞給主控系統(tǒng)和控制系統(tǒng),使機(jī)器人能夠通過信息進(jìn)行決策。消毒機(jī)器人配備了多種傳感器,包括慣性測(cè)量單元(IMU)用于檢測(cè)機(jī)器人的姿態(tài)和加速度,深度攝像頭用于識(shí)別物體和地面上的障礙物,激光雷達(dá)用于實(shí)時(shí)建立環(huán)境地圖和定位,以及液位傳感器用于測(cè)量水箱內(nèi)的水位信息等。通信系統(tǒng)通信系統(tǒng)可以采用5G模塊或WiFi模塊進(jìn)行通信。使得機(jī)器人能夠與終端設(shè)備進(jìn)行連接,在終端設(shè)備處看到由機(jī)器人設(shè)備傳輸過來的重要數(shù)據(jù),從而可以使得工作人員對(duì)數(shù)據(jù)進(jìn)行分析,做出決策并向機(jī)器人發(fā)布指令。消毒結(jié)構(gòu)消毒結(jié)構(gòu)(見圖4.2)由水泵、噴霧式的噴嘴、藥水箱、細(xì)水管組成,水泵負(fù)責(zé)將消毒液從水箱中抽取,藥水從細(xì)水管中流出,并通過噴嘴以噴霧形式釋放出來,以確保整個(gè)區(qū)域充分覆蓋和消毒。圖4.2消毒結(jié)構(gòu)架構(gòu)圖4.2主要元器件選型隨著科技的不斷發(fā)展,自主消殺移動(dòng)機(jī)器人已經(jīng)成為公共衛(wèi)生領(lǐng)域的一大亮點(diǎn)。這種機(jī)器人可以自主執(zhí)行消殺任務(wù),減少人力、物力的投入,提高消殺效率。而在這背后,離不開驅(qū)動(dòng)系統(tǒng)、主控系統(tǒng)、感知系統(tǒng)中的距離傳感器和視覺傳感器等關(guān)鍵元器件。自主消殺移動(dòng)機(jī)器人系統(tǒng)最主要的元器件是驅(qū)動(dòng)系統(tǒng)、主控系統(tǒng)、感知系統(tǒng)中的距離傳感器和視覺傳感器,其中驅(qū)動(dòng)系統(tǒng)采用STM32F407VET6ROS底層板、主控系統(tǒng)采用樹莓派4B4G、距離傳感器采用思嵐雷達(dá)LD108、視覺傳感器采用AstraPro深度相機(jī)。4.2.1.STM32F407VET6ROS底層板STM32F407VET6微控制器可用作ROS機(jī)器人的底板(見圖4.2),作為機(jī)器人的基礎(chǔ),提供必要的硬件和連接來支持系統(tǒng)的各個(gè)組件。STM32F407VET6具有一系列功能,非常適合用作ROS底板。圖4.2STM32F407VET6ROS底層板首先,STM32F407VET6微控制器提供高性能,時(shí)鐘速度高達(dá)168MHz,采用32位ARMCortex-M4內(nèi)核,能夠高效處理復(fù)雜任務(wù)。此外,它還具有廣泛的集成外設(shè),包括USB,以太網(wǎng),CAN和SPI,可用于與機(jī)器人中常用的各種傳感器,執(zhí)行器和其他設(shè)備連接。此外,STM32F407VET6微控制器具有成本效益,使其成為構(gòu)建低成本ROS機(jī)器人的合適選擇。它還可以使用各種開發(fā)工具(如Keil,IAR和STM32CubeIDE)進(jìn)行編程,使開發(fā)人員能夠根據(jù)其特定要求定制機(jī)器人的功能。4.2.2.樹莓派4B4GRaspberryPi4B4G是一款功能強(qiáng)大的單板計(jì)算機(jī)(見圖4.3),近年來越來越受歡迎,特別是在機(jī)器人領(lǐng)域。它于2019年發(fā)布,是RaspberryPi系列的第四代,與其前輩相比擁有許多改進(jìn)。RaspberryPi4B4G最重要的升級(jí)之一是其增強(qiáng)的處理能力。它由1.5GHz四核ARMCortex-A72CPU供電,與以前的型號(hào)相比,性能顯著提升。這使得它能夠輕松處理要求更高的應(yīng)用程序,例如計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)。圖4.3樹莓派4B4G作為機(jī)器人的主控制系統(tǒng),RaspberryPi4B4G具有多種優(yōu)勢(shì)。首先,RaspberryPi4B4G具有四核64位ARMCortex-A72CPU,可提供高性能計(jì)算能力。4GBRAM容量可實(shí)現(xiàn)更快的處理速度和更流暢的多任務(wù)處理,使其適合為計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)等任務(wù)運(yùn)行復(fù)雜的算法。其次,RaspberryPi4B4G具有一系列連接選項(xiàng),包括千兆以太網(wǎng),雙頻Wi-Fi,藍(lán)牙5.0和USB3.0,可以輕松連接到機(jī)器人應(yīng)用所需的各種傳感器,相機(jī)和其他外圍設(shè)備。它還具有一個(gè)HDMI端口,可用于連接到顯示器,從而可以輕松監(jiān)控機(jī)器人的操作。此外,RaspberryPi4B4G擁有龐大的開發(fā)人員和用戶社區(qū),他們創(chuàng)建廣泛的軟件庫和工具,可用于構(gòu)建機(jī)器人和其他設(shè)備。該社區(qū)提供了豐富的資源和支持,使新用戶更容易使用樹莓派4B4G和機(jī)器人技術(shù),在社區(qū)中可以輕松找到資源、教程以及對(duì)構(gòu)建和編程機(jī)器人的支持。RaspberryPi4B4G可以運(yùn)行各種操作系統(tǒng),包括基于Linux的系統(tǒng),如Raspbian和Ubuntu,以及其他操作系統(tǒng),如Windows10IoTCore。這使得為特定機(jī)器人應(yīng)用定制和開發(fā)軟件變得容易。4.2.3思嵐雷達(dá)LD108二維激光雷達(dá)(見圖4.4)是SLAMTEC自主研發(fā)的360°激光掃描測(cè)距雷達(dá)(RPLIDARA1)。本項(xiàng)目擬在二維平面(A1M8-R4及其前身機(jī)型,可實(shí)現(xiàn)半徑為6m范圍內(nèi))的360°全向激光測(cè)距,生成其所處空間的點(diǎn)云地圖信息。本項(xiàng)目的研究成果將為地圖制圖、機(jī)器人定位與導(dǎo)航、目標(biāo)/環(huán)境建模等領(lǐng)域提供重要的技術(shù)支持。圖4.4思嵐雷達(dá)LD108RPLIDARA1采用的是激光三角測(cè)距法,在SLAMTEC開發(fā)的高速圖像獲取處理機(jī)制的支持下,可以實(shí)現(xiàn)每秒8000多次的測(cè)距。RPLIDARA1每隔一段距離,就會(huì)發(fā)出一束經(jīng)調(diào)制的紅外激光信號(hào),照射到物體后,將其反射回路給RPLIDARA1。通過置于RPLIDARA1內(nèi)部的DSP處理器對(duì)其進(jìn)行實(shí)時(shí)解算,并從通訊接口輸出被輻照對(duì)象與RPLIDARA1之間的距離和當(dāng)前夾角度信息。在電機(jī)機(jī)構(gòu)的驅(qū)動(dòng)下RPLIDARA1的測(cè)距核心將進(jìn)行順時(shí)針旋轉(zhuǎn),從而實(shí)現(xiàn)對(duì)360度全方位環(huán)境的掃描測(cè)距檢測(cè)REF_Ref13932\r\h[7]。4.2.4.AstraPro深度相機(jī)AstraPro深度相機(jī)是一款高性能相機(jī)(見圖4.5),用于捕獲3D圖像和深度信息。它旨在滿足各種行業(yè)的需求,包括機(jī)器人、虛擬現(xiàn)實(shí)和3D掃描。該相機(jī)配備了先進(jìn)的傳感器和算法,使其能夠捕獲高質(zhì)量的圖像和精確的深度信息。圖4.5AstraPro深度相機(jī)AstraPro深度相機(jī)的主要功能之一是其深度感應(yīng)技術(shù)。它使用紅外傳感器和結(jié)構(gòu)光來捕獲深度信息,從而能夠創(chuàng)建物體和環(huán)境的精確3D模型。這使其成為機(jī)器人應(yīng)用的理想選擇,在這些應(yīng)用中,準(zhǔn)確的深度信息對(duì)于導(dǎo)航、物體識(shí)別和映射等任務(wù)至關(guān)重要。除了深度感應(yīng)功能外,AstraPro深度攝像頭還設(shè)計(jì)為高度通用且易于使用。它帶有一系列軟件開發(fā)工具和API,包括ROS(機(jī)器人操作系統(tǒng))支持,使開發(fā)人員可以輕松地將其集成到他們的應(yīng)用程序中。這使其成為經(jīng)驗(yàn)豐富的開發(fā)人員和機(jī)器人新手的理想選擇。AstraPro深度相機(jī)的另一個(gè)優(yōu)點(diǎn)是其緊湊的尺寸和輕巧的設(shè)計(jì)。它足夠小,可以安裝在各種機(jī)器人和設(shè)備上,使其成為移動(dòng)機(jī)器人應(yīng)用的理想選擇。此外,其低功耗和高性能使其成為電池供電機(jī)器人的理想選擇。AstraPro深度攝像頭還具有高分辨率彩色攝像頭,可以捕獲分辨率高達(dá)1920x1080的圖像。這使其成為顏色信息很重要的應(yīng)用的理想選擇,例如對(duì)象識(shí)別和跟蹤。此外,該相機(jī)具有寬廣的視野,可以捕獲大型環(huán)境的圖像。4.3機(jī)器人系統(tǒng)實(shí)體圖將機(jī)器人硬件進(jìn)行組裝、連接后可以得到自主消殺移動(dòng)機(jī)器人的實(shí)體(見圖4.6、圖4.7、圖4.8)。機(jī)器人采用兩層架構(gòu)設(shè)計(jì),這樣的設(shè)計(jì)不僅使機(jī)器人結(jié)構(gòu)更加穩(wěn)固,而且有利于各個(gè)部件之間的協(xié)同工作。在上層部分,放置雷達(dá)和STM32單片機(jī)。在下層部分,放置樹莓派單片機(jī)。同時(shí),STM32和樹莓派單片機(jī)還具備強(qiáng)大的擴(kuò)展性,可以通過連接其他外設(shè)模塊,實(shí)現(xiàn)更多功能。在機(jī)器人的后部,裝有消毒結(jié)構(gòu)。圖4.6機(jī)器人正視圖圖4.7機(jī)器人側(cè)視圖圖4.8機(jī)器人俯視圖5系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)5.1STM32驅(qū)動(dòng)程序?qū)τ跈C(jī)器人的驅(qū)動(dòng)系統(tǒng),所采用的硬件是STM32單片機(jī),在該單片機(jī)上通過Keil利用FreeRTOS來設(shè)計(jì)機(jī)器人的驅(qū)動(dòng)系統(tǒng)部分。FreeRTOS的執(zhí)行流程圖(見圖5.1)中清晰地描述了機(jī)器人驅(qū)動(dòng)系統(tǒng)的執(zhí)行流程。圖5.1STM32程序執(zhí)行流程圖打開機(jī)器人開關(guān)后,首先會(huì)進(jìn)行硬件初始化,其中包括對(duì)LED燈、蜂鳴器、串口、電機(jī)等硬件的初始化。初始化完成后,創(chuàng)建FreeRTOS任務(wù),這些任務(wù)都會(huì)被分配一個(gè)任務(wù)優(yōu)先級(jí)(見表2),在FreeRTOS中,任務(wù)優(yōu)先級(jí)數(shù)字越大,則任務(wù)優(yōu)先級(jí)越高,當(dāng)兩個(gè)不同優(yōu)先級(jí)的任務(wù)到來時(shí),會(huì)先執(zhí)行優(yōu)先級(jí)最高的那個(gè)任務(wù)。RTOS任務(wù)調(diào)度器根據(jù)任務(wù)的優(yōu)先級(jí)決定任務(wù)的執(zhí)行順序,每個(gè)任務(wù)執(zhí)行的時(shí)間很短,因此幾乎等效于所有任務(wù)同時(shí)執(zhí)行,期間如果發(fā)生中斷則系統(tǒng)會(huì)去響應(yīng)中斷。表2任務(wù)優(yōu)先級(jí)任務(wù)名稱小車運(yùn)動(dòng)控制任務(wù)獲取IMU數(shù)據(jù)LED燈閃爍串口1、串口3、CAN發(fā)送數(shù)據(jù)任務(wù)優(yōu)先級(jí)43345.2基于ROSNavigationModel的導(dǎo)航功能基于ROSNavigationModel的導(dǎo)航功能是自主消殺移動(dòng)機(jī)器人的定點(diǎn)巡航功能中最重要的組成部分。假設(shè)機(jī)器人處在一個(gè)消毒區(qū)域,現(xiàn)在要讓它從當(dāng)前所在的位置導(dǎo)航至下一個(gè)目標(biāo)點(diǎn),它需要知道當(dāng)前所處環(huán)境的地圖、自身的位置和目標(biāo)點(diǎn)的位置。接下來機(jī)器人需要規(guī)劃一個(gè)全局的最短路徑,使得機(jī)器人能夠以最優(yōu)解從現(xiàn)在所處位置到達(dá)目標(biāo)點(diǎn),但是在全局規(guī)劃的最優(yōu)路徑上不可避免地會(huì)出現(xiàn)障礙物和環(huán)境的變化,因此機(jī)器人還需要有局部的路徑規(guī)劃來實(shí)現(xiàn)動(dòng)態(tài)決策,通過局部路徑規(guī)劃來規(guī)劃局部路徑來動(dòng)態(tài)躲避障礙物并防止與物體產(chǎn)生碰撞,并盡可能地使機(jī)器人沿著規(guī)劃好的全局路徑運(yùn)動(dòng),直到到達(dá)目標(biāo)點(diǎn)。在上述過程中,機(jī)器人還需要能夠進(jìn)行運(yùn)動(dòng),局部路徑規(guī)劃會(huì)產(chǎn)生機(jī)器人運(yùn)動(dòng)信息,通過轉(zhuǎn)換模型將運(yùn)動(dòng)信息轉(zhuǎn)化為電機(jī)命令并傳輸給電機(jī)來實(shí)現(xiàn)運(yùn)動(dòng)。除此之外上述很多過程都需要感知外界環(huán)境,通常而言機(jī)器人需要搭載感知外界的傳感器獲取數(shù)據(jù)給其他模塊使用。綜上所述,消毒機(jī)器人的導(dǎo)航功能可以總結(jié)為五個(gè)部分,分別為代價(jià)地圖、自身定位、路徑規(guī)劃、環(huán)境感知以及運(yùn)動(dòng)控制,而ROS官方提供的導(dǎo)航模型(見圖3.4)便可從這五個(gè)角度去解釋。sensorsource通過傳感器驅(qū)動(dòng)將由激光雷達(dá)或深度照相機(jī)等深度傳感器從外部掃描而得到的環(huán)境信息發(fā)布至話題中來實(shí)現(xiàn)環(huán)境感知。通過SLAM構(gòu)建需要消毒區(qū)域的地圖,該地圖存放于mapserver中。自身定位可以通過兩種方式實(shí)現(xiàn),一種是通過amcl,另一種是通過odometrysource。amcl需要結(jié)合sensortransforms進(jìn)行坐標(biāo)變換來實(shí)現(xiàn)自身定位。而odometrysource是基于里程計(jì)硬件在"odom"話題中發(fā)布里程計(jì)信息來實(shí)現(xiàn)自身定位。而ROS導(dǎo)航模型中move_base是最常見的路徑規(guī)劃模型。其中g(shù)lobal_planner和local_planner分別為全局路徑規(guī)劃器和局部路徑規(guī)劃器,兩者分別依據(jù)global_costmap和local_costmap代價(jià)地圖的信息進(jìn)行代價(jià)計(jì)算來實(shí)現(xiàn)路徑規(guī)劃,代價(jià)越小,規(guī)劃的路徑越優(yōu)。如果機(jī)器人發(fā)現(xiàn)自身無法正常導(dǎo)航,則recovery_behaviors會(huì)執(zhí)行恢復(fù)行為,而這些行為可以由我們自行設(shè)計(jì)。在上述過程中,路徑規(guī)劃能夠規(guī)劃機(jī)器人每時(shí)每刻的運(yùn)動(dòng)速度,而這個(gè)速度包含方向和大小。速度指令將發(fā)布至"/cmd_vel"話題中,此話題的消息類型為geometry_msgs/Twist。basecontroller負(fù)責(zé)將從"/cmd_vel"話題得到的消息封裝并發(fā)布到硬件平臺(tái)來實(shí)現(xiàn)運(yùn)動(dòng)控制REF_Ref14070\r\h[8]。5.2.1代價(jià)地圖代價(jià)地圖包括全局代價(jià)地圖和局部代價(jià)地圖,即global_costmap和local_costmap。global_costmap的生成依靠于建圖技術(shù),常見的建圖slam技術(shù)有g(shù)mapping、hector_slam、cartographer等,通過slam技術(shù)創(chuàng)建的地圖將會(huì)保存至map_server中。而local_costmap通常不需要slam技術(shù),只需要有傳感器感知外部環(huán)境和一定的算法。通過slam所建地圖無法直接應(yīng)用到導(dǎo)航中,應(yīng)當(dāng)再此基礎(chǔ)上添加一些元素信息而得到一個(gè)新的地圖,稱之為代價(jià)地圖。不管是全局代價(jià)地圖還是局部代價(jià)地圖,它們都稱為代價(jià)地圖(見圖5.2)。代價(jià)地圖均由多層疊加而來,通常包括Inflationlayer、Obstacleslayer以及Staticlayer,有時(shí)還會(huì)包含自定義層。SLAM所建地圖即為Staticlayer(如圖6.3)。當(dāng)傳感器感知到周圍存在著障礙物時(shí),會(huì)在障礙物的邊上生成紅色線條,這就是Obstacleslayer。Inflationlayer是在實(shí)體障礙物的周圍增加了一圈膨脹的安全區(qū)域,這使得導(dǎo)航過程更加安全。自定義層可根據(jù)個(gè)人需求自行設(shè)計(jì)添加,例如需要在代價(jià)地圖中設(shè)計(jì)一塊障礙物區(qū),而這個(gè)障礙物區(qū)并不真實(shí)存在,這時(shí)便需要用到自定義層。圖5.2代價(jià)地圖在代價(jià)地圖中,代價(jià)值代表了機(jī)器人在不同區(qū)域的移動(dòng)代價(jià),通常表示為一個(gè)實(shí)數(shù)值,代表機(jī)器人通過該區(qū)域的難易程度。通常情況下,代價(jià)值越低表示該區(qū)域越容易通行,而代價(jià)值越高表示該區(qū)域通行難度越大,可能存在障礙物或者其他風(fēng)險(xiǎn)。5.2.2自身定位在ROSNavigationModel中,自身定位是指機(jī)器人在未知環(huán)境中準(zhǔn)確地估計(jì)自身位置和方向的過程。這是導(dǎo)航系統(tǒng)中至關(guān)重要的一步,因?yàn)闄C(jī)器人需要知道自己所處的位置才能正確規(guī)劃路徑、避開障礙物并到達(dá)目標(biāo)位置。amcl是一種針對(duì)二維空間的蒙特卡洛定位方法,該方法以已有的地圖為基礎(chǔ),采用粒子濾波器對(duì)機(jī)器人的位姿進(jìn)行跟蹤,從而獲得最優(yōu)的全局定位REF_Ref14135\r\h[9]。在機(jī)器人導(dǎo)航過程中,持續(xù)地為機(jī)器人提供位置信息。amcl(AdaptiveMonteCarloLocalization),蒙特卡羅算法的基本思路是:在所求的問題中,如果是一個(gè)事件發(fā)生的概率,或是一個(gè)隨機(jī)變量的期望值,那么,我們就可以用一些“試驗(yàn)”的方式,來獲得該事件發(fā)生的頻率,或該隨機(jī)變量的平均值,以此來確定該問題的解決方案。amcl是用于機(jī)器人概率定位系統(tǒng),實(shí)現(xiàn)了自適應(yīng)蒙特卡洛定位方法,可以根據(jù)已有地圖使用粒子濾波器推算機(jī)器人位置。amcl算法基本流程(見圖5.3)REF_Ref14220\r\h[10]REF_Ref14239\r\h[11]REF_Ref14243\r\h[12]。圖5.3amcl算法流程在機(jī)器人導(dǎo)航的過程中,初始時(shí)有機(jī)器人與啟動(dòng)點(diǎn)的位置信息,這時(shí)在機(jī)器人的空間區(qū)域內(nèi)進(jìn)行初始化,具體操作為在空間中隨機(jī)產(chǎn)生若干個(gè)假設(shè)粒子;然后再計(jì)算權(quán)重,依據(jù)原始的位置信息,來記錄粒子的可能性,可能性大的分配較大的權(quán)重,可能性小的分配較小的權(quán)重;然后進(jìn)行重采樣,拋棄之前生成的舊粒子,生成若干個(gè)新粒子,新的粒子集中出現(xiàn)在權(quán)重大的舊粒子位置上,并且有大量的新粒子疊加在同一個(gè)位置(經(jīng)過重采樣的粒子具有相同權(quán)重);然后進(jìn)行狀態(tài)轉(zhuǎn)移,也就是說機(jī)器人進(jìn)行移動(dòng),粒子也跟隨機(jī)器人一起移動(dòng);然后不斷地進(jìn)行循環(huán)操作直至得到機(jī)器人的最終位置為止REF_Ref14412\r\h[13]REF_Ref14416\r\h[14]。5.2.3路徑規(guī)劃在ROS中,ROS導(dǎo)航模型中的路徑規(guī)劃是用于實(shí)現(xiàn)機(jī)器人定點(diǎn)巡航的重要組成部分。路徑規(guī)劃是指機(jī)器人在環(huán)境中規(guī)劃出一條從起點(diǎn)到目標(biāo)點(diǎn)的路徑,以實(shí)現(xiàn)有效且安全的導(dǎo)航。路徑規(guī)劃的目的是讓機(jī)器人能夠避開障礙物、遵循規(guī)定的行進(jìn)規(guī)則,并在給定的約束條件下到達(dá)目標(biāo)點(diǎn)。通過路徑規(guī)劃,機(jī)器人可以在未知環(huán)境中進(jìn)行自主探索和避障,實(shí)現(xiàn)自主導(dǎo)航功能REF_Ref14474\r\h[15]。ROS導(dǎo)航模型中的路徑規(guī)劃包含全局路徑規(guī)劃和局部路徑規(guī)劃。之所以路徑規(guī)劃包含兩種路徑規(guī)劃,是因?yàn)槿致窂揭?guī)劃考慮整體環(huán)境和長距離導(dǎo)航,而局部路徑規(guī)劃則專注于短距離的動(dòng)態(tài)避障和路徑調(diào)整,兩者相結(jié)合可以使機(jī)器人在復(fù)雜環(huán)境中高效、安全地導(dǎo)航。全局路徑規(guī)劃是指在整個(gè)地圖中搜索最佳路徑的過程,考慮整體環(huán)境情況,以找到連接起點(diǎn)至終點(diǎn)的一條最優(yōu)路徑。全局路徑規(guī)劃通常使用的算法包括Astar算法、Dijkstra算法等,這些算法能夠在考慮地圖信息和機(jī)器人運(yùn)動(dòng)約束的情況下,找到一條最短路徑或最優(yōu)路徑REF_Ref14550\r\h[16]。Dijkstra算法是一種圖搜索算法(見圖5.4),可以找到圖中所有頂點(diǎn)到某個(gè)源點(diǎn)的最短路徑。該算法會(huì)逐步擴(kuò)展前沿,每次選擇與源點(diǎn)最近的未訪問頂點(diǎn)作為下一個(gè)考慮的頂點(diǎn),然后更新它的相鄰頂點(diǎn)的最短路徑。Dijkstra算法重視已經(jīng)確定為最短路徑的頂點(diǎn),不會(huì)回退,這意味著在任何時(shí)候,你所得到的路徑都是到當(dāng)前頂點(diǎn)的最短路徑。這個(gè)過程會(huì)持續(xù),直到找到目標(biāo)頂點(diǎn)的最短路徑為止。圖5.4Astar算法基于Dijkstra算法,但是引入了啟發(fā)式信息,提高搜索效率(見圖5.5)。啟發(fā)式函數(shù)h(n)用來評(píng)估任何頂點(diǎn)到目標(biāo)頂點(diǎn)的預(yù)計(jì)成本。在A算法中,選擇頂點(diǎn)的過程既考量了到源點(diǎn)的已知成本g(n),也考量了到目標(biāo)點(diǎn)的預(yù)計(jì)成本h(n)。因此,每個(gè)頂點(diǎn)的評(píng)分函數(shù)是f(n)=g(n)+h(n)。搜索過程中,A算法優(yōu)先考慮那些具有最低f(n)值的頂點(diǎn),這使得路徑搜索可以更快地指向目標(biāo)方向。圖5.5AStar路徑規(guī)劃通過python編寫Astar算法和Dijkstra算法的對(duì)比程序,運(yùn)行程序選擇相同的起點(diǎn)和目標(biāo)點(diǎn),可以看到對(duì)比結(jié)果(見圖5.4和圖5.5)。在相同的地圖中,選擇相同的起始點(diǎn)和目標(biāo)點(diǎn),運(yùn)行不同的算法可以看到路徑規(guī)劃的過程。地圖中的S和G分別代表起始點(diǎn)和目標(biāo)點(diǎn),白色方塊代表無障礙區(qū),黑色方塊代表障礙區(qū),綠色方塊代表算法所規(guī)劃的最短路徑,紫色方塊代表搜索過的路徑,方塊中的數(shù)字代表距離。通過結(jié)果對(duì)比可知,雖然Dijkstra算法能保證所規(guī)劃的路徑是最短的,但由于Dijkstra算法不使用啟發(fā)式信息,所以它會(huì)對(duì)圖中的更多頂點(diǎn)進(jìn)行考察,這一般會(huì)花費(fèi)更多的時(shí)間。而Astar算法使用啟發(fā)式信息來指導(dǎo)搜索方向,通常比Dijkstra算法更快REF_Ref14644\r\h[17]。對(duì)于消毒機(jī)器人來說,通常需要在消毒區(qū)域中高效地規(guī)劃路徑,且消毒機(jī)器人的路徑規(guī)劃任務(wù)往往對(duì)時(shí)間有一定的限制。在這種情況下,使用Astar算法可能是更佳的選擇,它提供了更快的計(jì)算速度,能夠更快地給出解決方案,使機(jī)器人能夠快速開始消毒任務(wù)。局部路徑規(guī)劃則是在機(jī)器人移動(dòng)過程中,根據(jù)實(shí)時(shí)傳感器信息和環(huán)境變化,對(duì)全局路徑規(guī)劃出的路徑進(jìn)行微調(diào)以避開動(dòng)態(tài)障礙物、避免碰撞。局部路徑規(guī)劃通?;跈C(jī)器人周圍的傳感器數(shù)據(jù),如激光雷達(dá)數(shù)據(jù)或視覺信息,采用類似于避障算法(如DWA、Teb等)來實(shí)現(xiàn)路徑的動(dòng)態(tài)調(diào)整和優(yōu)化REF_Ref14723\r\h[18]。5.3基于ROSCommunicationModel的定點(diǎn)循跡功能ROS所提供的導(dǎo)航功能可以在RVIZ上測(cè)試,但光靠導(dǎo)航是不夠的,其具有一定的局限性,僅僅只能通過人員在RVIZ中發(fā)布坐標(biāo)點(diǎn)信息,實(shí)現(xiàn)定點(diǎn)導(dǎo)航。由于RVIZ中需要手動(dòng)發(fā)布坐標(biāo)點(diǎn),每次啟動(dòng)都需要重新發(fā)布坐標(biāo)點(diǎn),因此不適用于消毒機(jī)器人。所以,應(yīng)在ROSNavigationModel的基礎(chǔ)上結(jié)合ROSTopicCommunicationModel,如圖3.5所示,實(shí)現(xiàn)符合自主消殺移動(dòng)機(jī)器人的與其功能的功能包。對(duì)此,其整體流程分為三個(gè)步驟:編寫從SLAM構(gòu)造的地圖中提取目標(biāo)點(diǎn)信息的代碼、編寫發(fā)布之前所提取的坐標(biāo)點(diǎn)的信息來模擬RVIZ中發(fā)布坐標(biāo)點(diǎn)信息的代碼、進(jìn)行實(shí)操。第一步:通過Python實(shí)現(xiàn)提取RVIZ中發(fā)布的目標(biāo)點(diǎn)的位姿信息至CSV文件中。其代碼邏輯是使用話題通信方式創(chuàng)建訂閱者,訂閱ROS中的"/move_base_simple/goal"話題,本話題的消息的類型為"geometry_msgs/PoseStamped",創(chuàng)建的訂閱者監(jiān)聽本話題。每次在RVIZ中發(fā)布機(jī)器人的目標(biāo)點(diǎn)時(shí),該目標(biāo)點(diǎn)的位置和方向數(shù)據(jù)都會(huì)發(fā)布到本話題上,每當(dāng)新消息到達(dá)話題中時(shí),回調(diào)函數(shù)將話題中機(jī)器人的位置X、Y和方向Z、W的信息附加到列表中,并且在程序主入口中通過在while循環(huán)按中實(shí)現(xiàn)按下“s”或“S”鍵實(shí)現(xiàn)將數(shù)據(jù)保存到名為test.csv的CSV文件中。這里需要注意的是,程序主入口中的"rospy.spin"函數(shù)可以異步執(zhí)行回調(diào)函數(shù),即回調(diào)函數(shù)的執(zhí)行不會(huì)妨礙程序主入口中的while循環(huán)以及程序其余部分的執(zhí)行。第二步:獲取到消毒區(qū)域中的目標(biāo)點(diǎn)的信息后,接著需要通過Python代碼實(shí)現(xiàn)使消毒清潔機(jī)器人通過先前生成的CSV文件中儲(chǔ)存的目標(biāo)點(diǎn)信息進(jìn)行多點(diǎn)導(dǎo)航的功能。其代碼邏輯是,定義一個(gè)多目標(biāo)導(dǎo)航類,類中包含多個(gè)函數(shù)。類中的構(gòu)造方法用于發(fā)布從CSV文件中所讀取到的目標(biāo)點(diǎn)的數(shù)據(jù)至"move_base_simple/goal"話題中,并且訂閱"/amcl_pose"話題中的信息獲取當(dāng)前位姿。每當(dāng)導(dǎo)航至目標(biāo)點(diǎn)后,都會(huì)使用(1)公式計(jì)算,并將與所設(shè)定的閾值進(jìn)行對(duì)比。小于閾值時(shí),才能被視為到達(dá)目標(biāo)點(diǎn),到達(dá)目標(biāo)點(diǎn)后,導(dǎo)航至下一個(gè)目標(biāo)點(diǎn)。當(dāng)導(dǎo)航完指定圈數(shù)后,機(jī)器人會(huì)返回至所有目標(biāo)點(diǎn)中的第一個(gè)目標(biāo)點(diǎn),啟動(dòng)電梯按鈕識(shí)別節(jié)點(diǎn)。(1)式中,為小車到達(dá)目標(biāo)點(diǎn)后的實(shí)際坐標(biāo)與目標(biāo)點(diǎn)的坐標(biāo)的差值。其中,和為通過“/amcl_pose”主題所訂閱到的機(jī)器的當(dāng)前坐標(biāo)點(diǎn)信息;和為目標(biāo)點(diǎn)坐標(biāo)。第三步:6.2中的系統(tǒng)測(cè)試部分應(yīng)當(dāng)參考此步驟。實(shí)操部分可分為準(zhǔn)備階段和執(zhí)行階段。準(zhǔn)備階段是SLAM構(gòu)建操作和取點(diǎn)操作,在進(jìn)行取點(diǎn)操作之前,需要對(duì)消毒清潔的空間區(qū)域進(jìn)行點(diǎn)的規(guī)劃和配置,然后進(jìn)行取點(diǎn)。取點(diǎn)后,運(yùn)行導(dǎo)航節(jié)點(diǎn)和定點(diǎn)導(dǎo)航節(jié)點(diǎn)。下次消毒,不需再次取點(diǎn)。綜上所述,定點(diǎn)循跡功能流程如圖5.6所示。圖5.6定點(diǎn)循跡功能流程圖5.4基于TensorFlow的物體識(shí)別功能物體識(shí)別技術(shù)作為現(xiàn)代人工智能領(lǐng)域的關(guān)鍵分支,對(duì)于提升智能化水平具有顯著作用。其中,ros_object_detection功能包以其基于Tensorflow算法和ObjectDetectionAPI的先進(jìn)實(shí)現(xiàn),在ROS系統(tǒng)中展現(xiàn)出卓越的性能和準(zhǔn)確性。Tensorflow作為一種廣泛應(yīng)用的機(jī)器學(xué)習(xí)框架,其數(shù)據(jù)流計(jì)算圖的設(shè)計(jì)使得算法表達(dá)、狀態(tài)共享和運(yùn)算優(yōu)化得以高效實(shí)現(xiàn)。而ObjectDetectionAPI作為谷歌推出的內(nèi)部物體識(shí)別系統(tǒng),集成了多種先進(jìn)的物體檢測(cè)模型,為ros_object_detection功能包提供了強(qiáng)大的技術(shù)支持。在ROS系統(tǒng)中,ros_object_detection功能包中的ros_tensorflow_classify是物體識(shí)別功能。該功能包通過調(diào)用ObjectDetectionAPI的檢測(cè)模型,實(shí)現(xiàn)了對(duì)目標(biāo)物體的精確識(shí)別。該功能包嚴(yán)格遵循官方模型標(biāo)準(zhǔn),確保了識(shí)別結(jié)果的準(zhǔn)確性和實(shí)時(shí)性。ros_object_detection功能包在多個(gè)領(lǐng)域具有廣泛的應(yīng)用價(jià)值。在無人駕駛領(lǐng)域,它能夠幫助車輛準(zhǔn)確識(shí)別道路上的各類物體,提高行車安全性;在智能監(jiān)控領(lǐng)域,它能夠?qū)崟r(shí)監(jiān)測(cè)異常物體,為安全保障提供有力支持。物體識(shí)別功能流程(見圖5.7)邏輯為將相機(jī)拍攝到的圖像與訓(xùn)練好的檢測(cè)模型對(duì)比,得到物體類別與置信度。圖5.7物體識(shí)別流程物體識(shí)別功能節(jié)點(diǎn)關(guān)系圖(見圖5.8)。相機(jī)節(jié)點(diǎn)/usb_cam將圖像數(shù)據(jù)發(fā)布至/usb_cam/image_raw話題下,物體識(shí)別節(jié)點(diǎn)/ros_rensorflow_classify訂閱/usb_cam/image_raw話題獲取圖像信息,根據(jù)信息進(jìn)行識(shí)別處理。圖5.8物體識(shí)別功能節(jié)點(diǎn)關(guān)系圖6系統(tǒng)測(cè)試6.1系統(tǒng)測(cè)試整體設(shè)計(jì)在對(duì)自主消殺機(jī)器人系統(tǒng)進(jìn)行測(cè)試時(shí),需要關(guān)注的是系統(tǒng)是否滿足預(yù)期的功能進(jìn)行定點(diǎn)巡航,在巡航完指定圈數(shù)后是否返回至第一個(gè)循跡目標(biāo)點(diǎn),并且是否執(zhí)行了物體識(shí)別模塊對(duì)目標(biāo)物體進(jìn)行識(shí)別,且當(dāng)識(shí)別到目標(biāo)物體后是否能夠給予反饋。此外,在定點(diǎn)巡航過程中應(yīng)當(dāng)伴隨著消毒噴灑的工作。故在進(jìn)行系統(tǒng)測(cè)試時(shí),應(yīng)當(dāng)先選取測(cè)試地點(diǎn)、確定測(cè)試地點(diǎn)中的循跡目標(biāo)點(diǎn)信息、確定巡航圈數(shù)。此處,選取3S北314為測(cè)試地點(diǎn),目標(biāo)點(diǎn)信息(見表3),巡航圈數(shù)設(shè)定為2。表3循跡目標(biāo)點(diǎn)信息(表中信息保留兩位小數(shù))定點(diǎn)巡航目標(biāo)點(diǎn)目標(biāo)點(diǎn)屬性位置X位置Y方向Z方向Wgoal11.920.620.001.00goal23.010.64-0.720.70goal34.000.11-0.710.716.2系統(tǒng)功能測(cè)試將電腦終端設(shè)備通過WiFi連接至機(jī)器人,與機(jī)器人進(jìn)行通信。電腦終端設(shè)備進(jìn)入虛擬機(jī),通過SSH指令接入機(jī)器人(見圖6.1)。從圖6.1中可以看出,終端設(shè)備可以和機(jī)器人進(jìn)行正常通信。圖6.1主機(jī)與機(jī)器人的通信電腦終端設(shè)備連接至機(jī)器人,在機(jī)器人端,打開建圖節(jié)點(diǎn)和鍵盤控制節(jié)點(diǎn);并在passoni端打開RVIZ,通過鍵盤控制節(jié)點(diǎn)移動(dòng)小車,進(jìn)行建圖(見圖6.2),圖6.2中右側(cè)部分為RVIZ界面。圖6.2建圖功能測(cè)試建圖完成后可在存儲(chǔ)文件中找到存放所建地圖的路徑,該路徑下存放了建圖信息,可以看到對(duì)應(yīng)的地圖信息(見圖6.3),圖6.3即為3S實(shí)訓(xùn)樓北314教室所建的地圖。圖6.33S北314所建地圖先關(guān)閉機(jī)器人的STM32的使能按鈕,再通過ROS中的Navigation導(dǎo)航節(jié)點(diǎn)進(jìn)行取點(diǎn),利用Python執(zhí)行取點(diǎn)的py文件,按下“s”或“S”將數(shù)據(jù)保存至代碼所指定好的CSV類型文件中(見圖6-4),從圖6.4中右下角可以看到終端窗口界面顯示“writesuccessfully”,即寫入信息成功。圖6.4對(duì)地圖進(jìn)行取點(diǎn)并保存至CSV類型文件中在存放目標(biāo)點(diǎn)信息的CSV類型文件中記錄了所取點(diǎn)的坐標(biāo)點(diǎn)信息(見圖6.5),從圖6.5中可以看出,一共有三行數(shù)據(jù),每一行代表一個(gè)目標(biāo)點(diǎn)的信息。在每一行中,從左至右分別目標(biāo)點(diǎn)的位置X、目標(biāo)點(diǎn)的位置Y、目標(biāo)點(diǎn)的方向Z、目標(biāo)點(diǎn)的方向W。圖6.5CSV文件中的目標(biāo)點(diǎn)信息通過更改代碼中的g_num參數(shù),可以設(shè)置定點(diǎn)巡航的目標(biāo)圈數(shù)(見圖6.6),圖6.6中可以看到“g_num=2”,即設(shè)置的定點(diǎn)巡航圈數(shù)為2圈。圖6.6定點(diǎn)導(dǎo)航部分代碼打開機(jī)器人的STM32使能開關(guān),再次開啟Navigation節(jié)點(diǎn),并通過roslaunch執(zhí)行對(duì)應(yīng)的定點(diǎn)導(dǎo)航py文件,即可實(shí)現(xiàn)定點(diǎn)巡航(見圖6.7)。圖6.7定點(diǎn)導(dǎo)航功能(讀點(diǎn)+循跡)從圖6.7中終端窗口界面中可以清晰地看到“readsuccessfully?。 ?,即代表成功地從所保存的CSV類型文件中讀取到定點(diǎn)巡航目標(biāo)點(diǎn)數(shù)據(jù),并且每成功發(fā)布一個(gè)目標(biāo)點(diǎn)信息至話題中時(shí),都會(huì)在終端窗口顯示“goalpublished”和目標(biāo)點(diǎn)的ID(ID從0開始計(jì)數(shù))??紤]到測(cè)試環(huán)境、機(jī)器設(shè)備等因素,此處用水瓶來代替電梯按鈕進(jìn)行測(cè)試。導(dǎo)航完目標(biāo)圈數(shù)后,將水瓶放在機(jī)器人攝像頭前,可以在終端窗口界面看到信息反饋(見圖6.8)。從圖6.8中左側(cè)可以看到出現(xiàn)在攝像頭面前的物體名稱以及score數(shù)值;而右側(cè)顯示“發(fā)現(xiàn)目標(biāo)?。。 ?,代表機(jī)器人檢測(cè)到了水瓶,并且機(jī)器人給出了信息反饋。圖6.8物體識(shí)別除此之外機(jī)器人在導(dǎo)航的過程中能夠持續(xù)地進(jìn)行噴灑藥水操作(此處用黑墨水來代替消毒水),通過圖6.10和圖6.11可以清晰地看到液體從消毒裝置的噴嘴中噴出。圖6.9導(dǎo)航消毒場(chǎng)景1圖6.10導(dǎo)航消毒場(chǎng)景2圖6.11導(dǎo)航消毒場(chǎng)景36.3測(cè)試結(jié)論在所設(shè)定的測(cè)試場(chǎng)所中進(jìn)行測(cè)試時(shí),機(jī)器人與主機(jī)間的通信、建圖功能、取點(diǎn)功能、讀點(diǎn)及定點(diǎn)導(dǎo)航功能、TensorFlow物體識(shí)別功能、消毒噴灑等功能均運(yùn)行正常,且符合目標(biāo),能夠達(dá)到預(yù)期目的。7總結(jié)本次畢業(yè)設(shè)計(jì)項(xiàng)目成功設(shè)計(jì)并實(shí)現(xiàn)了自主消殺移動(dòng)機(jī)器人,該設(shè)備通過集成STM32F407驅(qū)動(dòng)系統(tǒng)和樹莓派4B4G主控系統(tǒng),搭載先進(jìn)的深度攝像頭和激光雷達(dá)等傳感器,實(shí)現(xiàn)了高精度的環(huán)境感知、自動(dòng)行走和障礙規(guī)避功能。在軟件開發(fā)方面,機(jī)器人運(yùn)用FreeRTOS和ROS操作系統(tǒng)協(xié)同工作,使得設(shè)備能夠準(zhǔn)確導(dǎo)航至指定的消毒區(qū)域,并運(yùn)用TensorFlow實(shí)現(xiàn)了對(duì)電梯按鈕關(guān)鍵對(duì)象的識(shí)別。系統(tǒng)測(cè)試結(jié)果表明,機(jī)器人按照預(yù)期完成了消毒任務(wù),有效提高了消毒效率并降低了人工成本,這對(duì)于減少環(huán)境源污染、預(yù)防病原體傳播具有重要的社會(huì)意義。盡管目前畢業(yè)設(shè)計(jì)的成果已經(jīng)初步體現(xiàn)了消殺機(jī)器人的實(shí)用價(jià)值,但在消毒方式和其他方面仍有改進(jìn)的空間。目前機(jī)器人使用的消毒液噴灑式消毒方法可能無法達(dá)到全面覆蓋。未來可以考慮集成紫外線(UV-C)照射、干霧消毒或者熱消毒等非接觸式消毒方式,以提升消殺效果,并減少化學(xué)消毒劑的使用量,降低對(duì)環(huán)境的影響。后續(xù)還可以調(diào)研新型高性能芯片以提升計(jì)算效率,以及更好的電力管理系統(tǒng)來延長機(jī)器人的工作時(shí)間,對(duì)硬件進(jìn)一步完善。目前機(jī)器人在復(fù)雜環(huán)境中的適應(yīng)能力尚可進(jìn)一步增強(qiáng),特別是在識(shí)別準(zhǔn)確率和反應(yīng)速度方面還需持續(xù)優(yōu)化。此外,機(jī)器人的人機(jī)交互界面可以設(shè)計(jì)得更加友好直觀,以便于操作者更加簡便地進(jìn)行操作和監(jiān)控。最后,在未來的工作中,考慮到現(xiàn)實(shí)應(yīng)用需求,還需要在更多不同環(huán)境下進(jìn)行測(cè)試,以確保機(jī)器人在各種情況下都能可靠地工作。綜上所述,本畢業(yè)設(shè)計(jì)成功地實(shí)現(xiàn)了自主消殺移動(dòng)機(jī)器人的基礎(chǔ)功能,并證明了其在公共衛(wèi)生領(lǐng)域的潛在應(yīng)用價(jià)值。成功展示了消毒機(jī)器人的實(shí)用性和有效性,并為今后改進(jìn)和發(fā)展消殺機(jī)器人提供了寶貴的經(jīng)驗(yàn)和數(shù)據(jù)支持。希望隨著技術(shù)的不斷進(jìn)步和優(yōu)化,將來能夠?qū)⒗^續(xù)對(duì)該機(jī)器人進(jìn)行優(yōu)化、深化、拓展,為保障人們的健康和安全做出貢獻(xiàn)。參考文獻(xiàn)林熾杰.基于ROS的機(jī)器人集群虛實(shí)協(xié)同導(dǎo)航系統(tǒng)研究與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2021.陳卓.基于車載單目機(jī)器視覺的前方車輛測(cè)速測(cè)距系統(tǒng)的研究與實(shí)現(xiàn)[D].浙江工商大學(xué),2012.楊惠.動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人路徑規(guī)劃算法研究[D].廈門大學(xué),2020.袁江.基于單目視覺與慣導(dǎo)融合的室內(nèi)定位算法研究[D].哈爾濱工業(yè)大學(xué),2020.宋劍.基于機(jī)器視覺的抓取檢測(cè)算法和抓取系統(tǒng)設(shè)計(jì)[D].西安電子科技大學(xué),2021.齊春輝.基于ROS的室內(nèi)移動(dòng)機(jī)器人導(dǎo)航技術(shù)研究[D].河北工業(yè)大學(xué),2017.宋正輝.基于激光SLAM的AGV導(dǎo)航技術(shù)研究[D].青島大學(xué),2021.楊記周.一種室內(nèi)移動(dòng)機(jī)器人定位和路徑規(guī)劃的算法優(yōu)化[D].中國科學(xué)技術(shù)大學(xué),2019.苑新偉.室內(nèi)移動(dòng)機(jī)器人混合路徑規(guī)劃方法研究[D].哈爾濱工程大學(xué),2021.邱祖澤.基于激光雷達(dá)與IMU的輪式機(jī)器人SLAM研究[D].東北石油大學(xué),2022.李宏達(dá).基于ROS的自主導(dǎo)航機(jī)器人設(shè)計(jì)[D].哈爾濱師范大學(xué),2021.張靜.基于ROS的智能家居機(jī)器人系統(tǒng)設(shè)計(jì)[D].遼寧工業(yè)大學(xué),2020.張儀.基于多傳感器融合的室內(nèi)自主導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西京學(xué)院,2021.程笑宇.移動(dòng)機(jī)器人的SLAM與自主路徑規(guī)劃研究[D].北京交通大學(xué),2022.王方.基于多移動(dòng)機(jī)器人的無線傳感器網(wǎng)絡(luò)系統(tǒng)[D].太原理工大學(xué),2013.陸輝東.基于激光和視覺傳感器的全方位移動(dòng)機(jī)器人定位和導(dǎo)航研究[D].合肥工業(yè)大學(xué),2022.魯翔.基于SLAM技術(shù)的移動(dòng)機(jī)器人路徑規(guī)劃系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].湖北師范大學(xué),2022.閆南亞.基于單目視覺的室內(nèi)移動(dòng)機(jī)器人導(dǎo)航技術(shù)研究與實(shí)現(xiàn)[D].沈陽工業(yè)大學(xué),2021.張輝,王耀南,易俊飛等.面向重大疫情應(yīng)急防控的智能機(jī)器人系統(tǒng)研究[J].中國科學(xué):信息科學(xué),2020,50(07):1069-1090.胡福文,劉宴誠,強(qiáng)潤子.EOW綠色消毒智能機(jī)器人自主導(dǎo)航系統(tǒng)設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造,2020,(02):275-278.殷陳君,宋家琛.防疫消毒服務(wù)機(jī)器人造型設(shè)計(jì)[J].機(jī)械設(shè)計(jì),2021,38(10):150.沈家禮,蔣其友,楊環(huán)等.基于樹莓派的固定路線巡航消毒機(jī)器人設(shè)計(jì)[J].無線互聯(lián)科技,2021,18(23):57-58.FanY,HuY,JiangL,etal.Intelligentdisinfectionrobotsassistmedicalinstitutionsincontrollingenvironmentalsurfacedisinfection[J].IntelligentMedicine,2021,1(01):19-23.王博.一種新型消毒機(jī)器人的消毒效果評(píng)價(jià)[J].中國消毒學(xué)雜志,2022,39(12):951-952.史蕊丹.醫(yī)用消毒機(jī)器人設(shè)計(jì)研究[D].湖北工業(yè)大學(xué),2021.袁鵬.防疫消毒機(jī)器人的設(shè)計(jì)與開發(fā)研究[D].山東大學(xué),2021.張喆.消毒機(jī)器人的控制系統(tǒng)設(shè)計(jì)與研究[D].上海海洋大學(xué),2022.劉小軍,溫宏愿,周軍等.基于ROS的消毒機(jī)器人控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)床與液壓,2021,49(11):17-21.熊安迪.消毒配送機(jī)器人:以鋼鐵之軀阻斷病毒傳輸通道[J].機(jī)器人產(chǎn)業(yè),2020,(02):41-45.附錄1定點(diǎn)導(dǎo)航與物體識(shí)別結(jié)合核心源碼#!/usr/bin/envpython#coding:utf-8#=============取點(diǎn)=============#Publisher:goal_pub#subscriber:GetPoints#topic:'/move_base_simple/goal'#messagetype:PoseStampedsimportrospyimportmathimportsys,select,termios,ttyimporttfimportcsvimportcodecsfromgeometry_msgs.msgimportPoseStampedcount=0point=[]#CallbackfunctiondefPoseStampedCB(data):globalcountgx=data.pose.position.xgy=data.pose.position.ygz=data.pose.orientation.zgw=data.pose.orientation.wpoint.append([gx,gy,gz,gw])if(count==3):data_write_csv('test.csv',point)#GetthekeyvaluefunctiondefgetKey():tty.setraw(sys.stdin.fileno())rlist,_,_=select.select([sys.stdin],[],[],0.1)ifrlist:key=sys.stdin.read(1)else:key=''termios.tcsetattr(sys.stdin,termios.TCSADRAIN,settings)returnkey#Writedotfunctionsdefdata_write_csv(file_name,datas):file_csv=codecs.open(file_name,'w+','utf-8')writer=csv.writer(file_csv,delimiter=',',quoting=csv.QUOTE_MINIMAL)fordataindatas:writer.writerow(data)print("writesuccessfully!!")#Mainentranceif__name__=='__main__':try:#Nodeinitializationrospy.init_node("GetPoints",anonymous=True)rospy.Subscriber('/move_base_simple/goal',PoseStamped,PoseStampedCB,queue_size=10)settings=termios.tcgetattr(sys.stdin)while(1):Key=getKey()ifKey=='s'orKey=='S':data_write_csv('test.csv',point)ifKey=='\x03':breakrospy.spin()exceptrospy.ROSInterruptException:pass#!/usr/bin/envpython#coding:utf-8#=========讀點(diǎn)、定點(diǎn)導(dǎo)航=========importcsvimportmathimportstringimportsysimporttimeimportosimportnumpyasnpimportrospyfromgeometry_msgs.msgimportPose,PoseStamped,PoseWithCovarianceStampedfrommove_base_msgs.msgimportMoveBaseActionResultfromstd_msgs.msgimportFloat64,StringclassMultiGoals:#Constructor:Performsinitializationdef__init__(self,goalListX,goalListY,retry,map_frame):self.retry=1if(self.retry==1):self.pub=rospy.Publisher('move_base_simple/goal',

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論