這個系列的文章是之前Python實現所有算法的兄弟篇,眼看著夏令營完事,我也要又開始學習日子了:
若干篇,大家可以看以前的文章
我思來想去,決定深耕機器人領域,又大又深。雖然現在的算法大部分都可以找到,但是沒有一個集成的項目來做,這個PR的項目首先是保證了可視化的操作,我想沒人不愛可視化吧。其次就是算法的齊全:
常見的定位算法
地圖繪制
點雲配准
路徑規劃
路徑追蹤
機械臂等等
對於代碼庫,作者還編制了一個doc
安裝庫以後,這裡把依賴的庫安裝一下:
pip install -r requirements/requirements.txt
會把使用的全安裝
測試一下這個怎麼樣,注意是使用Python的終端
運行的很OK
除此之外,還搞了一篇論文,原文在最後:
看不懂英文的意思?我給你翻譯一下,近年來自主的導航技術在很多的領域都大受關注,這個系統是指,在不受操作者控制的情況下,能夠長時間的向目標移動的系統,首先是需要知道自己在哪裡,那些地方是安全的,去這個安全的地方該如何去,以及如何控制自己的運動。如果缺少任意一個,都是不可以的。可能太大白話了,定位,映射,路徑規劃,路徑跟隨。但是熟悉這些東西需要大量的不同的技能集合,線性代數,統計學,概率論,優化理論,控制理論等等。而且學習這些還得良好的教育資源,那麼這個項目就是為了為這個美好的願望來添磚加瓦,他有很多的模擬動畫,有助於讀者來了解之後的基本思想。
還是繼續說,雖然可以找到很多的資料,但是對於一個初學者還是不能很好的來了解算法的思路。
項目按照可讀性,就是代碼易於閱讀,實用性,算法必須具有實用性,就是在學術界和工業界得到廣泛的應用,最後就是最小的依賴關系,很少的外部依賴可以讓我們輕松的運行代碼的demo。這就是庫的三個重要特征。
在文章的後面我想寫一下這個庫的組織方式:
按照大的技術類別分為:定位,映射,SLAM,路徑規劃和路徑跟蹤。然後我會簡單的介紹一下這幾個的作用,定位是通過各種傳感器來確定自己的位置和方向的能力。映射也可以稱為測繪的能力,機器人需要了解環境,可以設別障礙物的位置和形狀,才能避開障礙物。SLAM是一種更加好的辦法,可以同時估計機器人的姿態和環境地圖的能力,但是它難以求解,因為定位需要地圖,映射需要定位,這樣看就好像是先有雞還是先有蛋的問題。路徑規劃是機器人尋找可行高效的路徑到達目標的能力,路徑必須要根據機器人的運動模型和障礙物位置滿足一些約束條件,並優化目標的時間和到障礙物的距離等一些目標函數。
現在就安裝這些庫就好,最後一個是一個優化的庫。
CVXPY 是一種用於凸優化問題的開源 Python 嵌入式建模語言。它可以讓您以一種遵循數學的自然方式表達您的問題,而不是求解器所需的限制性標准形式。
因為要不停的看各種API,劃詞翻譯這個浏覽器插件也值得擁有~
概率機器人,這個書你看過嗎?如果看過的話,這個庫是練習的解決方案
https://github.com/pptacher/probabilistic_robotics
https://fanyi.youdao.com/
https://arxiv.org/ftp/arxiv/papers/1808/1808.10703.pdf
https://github.com/AtsushiSakai/PythonRobotics
https://www.cvxpy.org/