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