- 機(jī)器人SLAM導(dǎo)航:核心技術(shù)與實戰(zhàn)
- 張虎
- 2780字
- 2022-01-04 17:29:13
前言
互聯(lián)網(wǎng)和人工智能技術(shù)可以看成是對人類大腦的進(jìn)一步延展,而機(jī)器人技術(shù)則可以看成是對人類軀體的進(jìn)一步延展。如果人工智能技術(shù)僅僅停留在虛擬的網(wǎng)絡(luò)和數(shù)據(jù)之中,那么其挖掘并利用新知識的能力將很難擴(kuò)展開來。可以說,機(jī)器人是人工智能技術(shù)應(yīng)用能力的有效延展,而能自主移動的機(jī)器人更是極大地拓展了人工智能技術(shù)的應(yīng)用范圍。SLAM導(dǎo)航技術(shù)正是當(dāng)下實現(xiàn)機(jī)器人自主移動的熱門研究領(lǐng)域,也是本書內(nèi)容的核心所在。
為什么寫這本書
幫助機(jī)器人實現(xiàn)完全自主化的每一種底層技術(shù)無疑將成為“機(jī)器人時代”的基礎(chǔ)設(shè)施,其中的自主移動技術(shù)在當(dāng)下備受矚目,其實質(zhì)就是解決從地點(diǎn)A到地點(diǎn)B的問題。這個問題看似簡單,實則非常復(fù)雜。當(dāng)向機(jī)器人下達(dá)移動到地點(diǎn)B的命令后,機(jī)器人不免會問出三個頗具哲學(xué)性的問題,即“我在哪”“我將到何處去”和“我該如何去”。經(jīng)過近幾十年來的研究,業(yè)界形成了一套有效解決機(jī)器人自主移動的方案,即SLAM導(dǎo)航方案。
目前以SLAM導(dǎo)航技術(shù)為支撐的自主移動應(yīng)用已經(jīng)十分廣泛,涵蓋航天、軍事、特種作業(yè)、工業(yè)生產(chǎn)、智慧交通、消費(fèi)娛樂等眾多領(lǐng)域。典型應(yīng)用包括火星探測車、軍事機(jī)器人、特種作業(yè)機(jī)器人、農(nóng)業(yè)領(lǐng)域機(jī)器人、自動駕駛汽車、終端物流配送機(jī)器人、機(jī)器人智慧養(yǎng)老、機(jī)器人餐廳、家庭服務(wù)機(jī)器人等。
雖然SLAM導(dǎo)航技術(shù)在許多方面取得了突破,但其仍處于發(fā)展階段且尚未真正落地。這就需要有更多的人參與到這個龐大且深奧的項目中來,以加快技術(shù)突破和產(chǎn)品落地的速度。而機(jī)器人是多專業(yè)知識交叉的學(xué)科,通常涉及傳感器、驅(qū)動程序、多機(jī)通信、機(jī)械結(jié)構(gòu)、算法等眾多領(lǐng)域。這就導(dǎo)致各個領(lǐng)域的研究、開發(fā)人員都在自己熟悉的領(lǐng)域內(nèi)“閉門造車”,缺乏領(lǐng)域之間的必要交流與實踐。軟件層面的開發(fā)者由于缺乏對機(jī)器人傳感器、機(jī)器人主機(jī)和機(jī)器人底盤的系統(tǒng)性認(rèn)識,因此往往會在涉及軟硬件深度優(yōu)化方面的問題時束手無策。而硬件層面的開發(fā)者由于缺乏軟件方面的必備基礎(chǔ),因此經(jīng)常會在理解軟件層需求時出現(xiàn)偏差。由于缺乏相關(guān)的數(shù)學(xué)理論體系,因此ROS及硬件相關(guān)領(lǐng)域的開發(fā)人員大多只能充當(dāng)“調(diào)參俠”,很難對SLAM導(dǎo)航方面的算法提出實質(zhì)性的改善建議。缺乏工程思維和實踐經(jīng)驗,SLAM算法或?qū)Ш剿惴ǚ矫娴难芯咳藛T則很難將研究成果真正落地。
可以說,機(jī)器人SLAM導(dǎo)航是一個軟硬件相結(jié)合、理論加實戰(zhàn)的浩大工程性問題。而目前各領(lǐng)域之間還存在很大的交流屏障,這無疑成了機(jī)器人SLAM導(dǎo)航技術(shù)突破與落地的突出痛點(diǎn)。我由此萌生了寫一本兼具理論性和實踐性的系統(tǒng)化圖書的想法,希望通過這樣一本書將機(jī)器人SLAM導(dǎo)航中的軟件技術(shù)、硬件技術(shù)、數(shù)學(xué)理論、工程落地等一系列問題打通。
歷經(jīng)兩年多的艱苦創(chuàng)作,這本書終于要完稿了。最開始寫這本書的時候,想法其實比較簡單。當(dāng)時自以為對機(jī)器人SLAM導(dǎo)航技術(shù)很了解,因而有著強(qiáng)烈的欲望想將自己所理解的知識和經(jīng)驗分享給更多有需要的人,為機(jī)器人SLAM導(dǎo)航技術(shù)的普及與產(chǎn)品落地貢獻(xiàn)一份力量。但隨著寫作的逐步深入,我發(fā)現(xiàn)以前的很多理解存在不少偏差和局限,所以這倒逼著自己不斷去學(xué)習(xí)更深層的知識,不斷進(jìn)行自我認(rèn)知革新。直到寫完最后一章回頭望時,我發(fā)現(xiàn)自己已經(jīng)超越從前的自己很多很多了。希望大家也能以這樣的心態(tài)去學(xué)習(xí)本書,不斷進(jìn)行自我革新,等你學(xué)完整本書再回首時一定能發(fā)現(xiàn)一個全新的自己。
本書特色
本書的第一大亮點(diǎn)是對SLAM理論體系做了深入淺出的分析。本書先對SLAM理論做了總結(jié)性討論,這作為SLAM討論的開篇章節(jié)有利于讀者快速理清學(xué)習(xí)思路;而更深層的SLAM理論知識則放在后續(xù)具體SLAM系統(tǒng)中詳細(xì)展開討論,結(jié)合實例進(jìn)行講解,這樣的好處是能大大降低深奧理論知識的理解難度。
本書的第二大亮點(diǎn)是將SLAM與導(dǎo)航兩大研究領(lǐng)域有機(jī)地串接起來。目前很多資料只側(cè)重于討論SLAM問題,而很少談及導(dǎo)航問題。其實對自主移動機(jī)器人來說,SLAM技術(shù)只相當(dāng)于給機(jī)器人提供了一條腿,而另一條腿則是導(dǎo)航技術(shù)。由于本書前幾章對機(jī)器人硬件、系統(tǒng)、SLAM理論及具體算法實現(xiàn)做了大量鋪墊,這就為SLAM與導(dǎo)航相結(jié)合內(nèi)容的討論提供了土壤。
本書的第三大亮點(diǎn)是對機(jī)器學(xué)習(xí)所涉及的理論基礎(chǔ)進(jìn)行了全面介紹,特別是對與SLAM前沿方向密切相關(guān)的深度學(xué)習(xí)及與自主導(dǎo)航前沿方向密切相關(guān)的強(qiáng)化學(xué)習(xí)進(jìn)行了深入對比分析。深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)理論知識的講解為本書學(xué)習(xí)者后續(xù)的持續(xù)研究提供了廣闊的想象空間,為機(jī)器人實現(xiàn)強(qiáng)人工智能提供了技術(shù)路線的參考。
讀者對象
本書適合的讀者范圍極為廣泛,主要包括:
- 從事自主移動機(jī)器人或者無人駕駛方面工作的開發(fā)人員;
- 智能機(jī)器人方面的市場調(diào)研人員、產(chǎn)品經(jīng)理等;
- 想要轉(zhuǎn)型到機(jī)器人算法崗位的開發(fā)者;
- SLAM導(dǎo)航領(lǐng)域的本科生或研究生;
- 從事機(jī)械設(shè)計、機(jī)器人底盤研發(fā)、AGV算法升級等方面工作的開發(fā)人員;
- 對SLAM導(dǎo)航感興趣的愛好者。
如何閱讀本書
本書分為四篇,共13章。
編程基礎(chǔ)篇(第1~3章)。本篇帶領(lǐng)大家了解ROS的核心概念、大型C++工程的代碼組織方式以及圖像處理方面的基礎(chǔ)知識,為后續(xù)學(xué)習(xí)打好必要的編程基礎(chǔ)。
硬件基礎(chǔ)篇(第4~6章)。本篇通過對機(jī)器人傳感器、機(jī)器人主機(jī)和機(jī)器人底盤的討論,讓缺少硬件基礎(chǔ)的開發(fā)者對機(jī)器人的硬件有一個系統(tǒng)的認(rèn)識并更好地理解軟件與硬件之間的協(xié)同關(guān)系。機(jī)器人傳感器相當(dāng)于機(jī)器人的眼耳口鼻,機(jī)器人主機(jī)相當(dāng)于機(jī)器人的大腦,而機(jī)器人底盤則相當(dāng)于集成傳感器和主機(jī)的軀干。
SLAM篇(第7~10章)。本篇首先總結(jié)式地介紹整個SLAM的理論知識體系,接著以各個具體的SLAM系統(tǒng)實現(xiàn)為例進(jìn)一步介紹SLAM算法的代碼框架及核心算法的實現(xiàn)細(xì)節(jié)。
自主導(dǎo)航篇(第11~13章)。本篇首先給出整個自主導(dǎo)航的理論體系知識的總結(jié),接著以各個具體的自主導(dǎo)航系統(tǒng)實現(xiàn)為例進(jìn)一步介紹自主導(dǎo)航算法的代碼框架以及核心算法的細(xì)節(jié)實現(xiàn),最后以一個真實機(jī)器人為例介紹應(yīng)用SLAM導(dǎo)航技術(shù)進(jìn)行開發(fā)的完整流程。學(xué)完本書的全部內(nèi)容后,相信大家能夠繼續(xù)進(jìn)行SLAM導(dǎo)航技術(shù)的獨(dú)立研究和開發(fā)。
勘誤與支持
由于本人水平有限,因此書中難免會出現(xiàn)一些錯誤或者表述不嚴(yán)謹(jǐn)?shù)牡胤剑瑧┱堊x者朋友批評指正,你可以發(fā)郵件到我的郵箱(robot4xiihoo@163.com)或者添加我的個人微信號(xiaohugege277)來與我聯(lián)系。另外,我還為本書制作了配套的課件文檔和教學(xué)視頻,大家可以關(guān)注我的知乎賬號(@小虎哥哥愛學(xué)習(xí))獲取最新課件文檔,或者關(guān)注我的bilibili賬號(@小虎哥哥愛學(xué)習(xí))獲取最新教學(xué)視頻。大家還可以前往GitHub倉庫(https://github.com/xiihoo/Books_Robot_SLAM_Navigation)下載本書相關(guān)實驗代碼以及課后習(xí)題答案。同時大家也可以加入QQ技術(shù)交流群(728661815)參與本書的話題討論,或者前往網(wǎng)站(www.xiihoo.com)獲取機(jī)器人SLAM導(dǎo)航方面的更多相關(guān)資料。
致謝
感謝機(jī)械工業(yè)出版社華章公司的高婧雅編輯在寫作方面給予我的細(xì)心指導(dǎo);感謝清華大學(xué)的高翔博士為本書作序;感謝亮風(fēng)臺首席架構(gòu)師侯曉輝、海軍工程大學(xué)吳中紅老師、香港大學(xué)博士生王斯煜對本書進(jìn)行審閱并給予高度評價;感謝廣大網(wǎng)友在本書寫作過程中提供的眾多寶貴建議;感謝在本書寫作過程中給予我極大鼓勵與關(guān)懷的親朋好友。
最后,希望這本書能陪伴大家走過一段難忘的學(xué)習(xí)之旅,并收獲一份珍貴的成長經(jīng)歷。星辰大海,如你所見,如你所愿。
- 神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí):基于MATLAB的仿真與實現(xiàn)
- 基于機(jī)器學(xué)習(xí)的行為識別技術(shù)研究
- 工業(yè)人工智能
- COMSOL Multiphysics工程實踐與理論仿真
- 人工智能:現(xiàn)代方法(第4版)
- 邊緣人工智能
- 從零構(gòu)建大模型
- 向AI提問的藝術(shù):提示工程入門與應(yīng)用
- 人形機(jī)器人(原書第2版)
- 人工智能倫理
- Manus極簡入門:從0到1快速打造你的AI智能體
- 機(jī)器人愛好者 (第6輯)
- 生成:AI生產(chǎn)力重構(gòu)營銷新范式
- 機(jī)器人浪潮:開啟人工智能的商業(yè)時代
- TensorFlow自然語言處理