開源自主導航小車MickX4(十)總結

開源自主導航小車MickX4(十)總結

開源自主導航小車MickX4 這個系列教程中,我們一共分爲了十個博客部分進行了講解差速小車的導航。由於一些的原因,這裏有一部分我們沒有仔細去深入研究其中每一個部分的算法內容,只是簡單的調用和理解了這個算法模塊的輸入輸出接口。比如說這裏用到的激光SLAM(gmapping,cartographer LeGO-LOAM),還有後續的全局規劃算法和局部規劃算法也只是調了一下參數,沒有對源碼進行分析。

在這裏插入圖片描述

1 博客回顧

最早針對先鋒機器人底盤上實現了自主導航,產生了如下的幾篇博客。當時在先鋒機器人的底盤上實現了自主導航。

後來由於項目需要,產生了自己製作ROS底盤的項目。因此製作了5輛麥卡納姆輪的底盤,這個過程編寫成爲了以下兩篇博文

後來想製作在室外運行的自主導航小車,因此確定了Mick 這個項目代號。開始使用四輪差速小車模型和16線的3D激光雷達作爲傳感器,導航框架是基於move_base進行修改的。

項目開源的代碼中支持麥克納姆輪和四輪差速底盤,該開源項目從搭建機械部分開始,分享底層的嵌入式控制,上層的建圖和導航部分,最終實現A點到B的自主導航。 當前地址的代碼爲麥克納姆輪和四輪差速ROS底盤的ROS導航節點包,與 mick_robot_chasiss 代碼(底層控制代碼)配合使用,更多的信息可以參考博客-熊貓飛天

2 學習建議

  • 1)先使用成品底盤
    根據我自己學習的經驗。大家如果是初學的話,最好還是先用一個成品的底盤(比如,turtlebot、autolabor、先鋒機器人和kuboki之類的)。先用成品的底盤調通導航程序,這樣如果你對自己搭建底盤感興趣,你在調試的時候起碼可以保證上層導航算法是沒有問題的。
  • 2)底盤選型
    在學習的過程中,我們發現兩輪差速底盤的里程計精度比起四輪差速要高很對(四輪是依靠輪子和底盤滑動實現轉向的)。但是室外環境,兩輪底盤不如四輪底盤平穩。
  • 3)底盤控制方案
    現在的伺服電機都支持總線式的電機,一些工控機也有IO接口。因此也有方案直接把底盤的運動控制放在了工控機裏面,也就是在ROS底盤節點裏面計算速度閉環,直接通過總線下發,控制電機調速。與之對比的方案就是我們採用的利用STM32來實現底盤的運動控制。這兩種方案我們都在不同的項目上使用過,單片機方案成熟度高,但是針對大功率電機需要對控制板做電磁屏蔽。工控機方案好調試,可視化數據比較方便,但是實時性差一點,此外類似於線程阻塞的坑(別問我咋知道的())。對於小車還是推薦單片機方案。
  • 4)學習方法
    遇到問題別自己一直想,多加羣交流,加羣,加羣

3 後續計劃

當前的小車教程,也只能算是走通了整個流程,算是一個入門教程吧。在實際的項目中還需要針對環境去微調參數和,但是基本上小車是可以動起來的。實際上小車的文檔在此之前就已經寫完了,中間由於一些項目上的事情去忙其他的了,最近把文檔整理了一遍(也算是複習了),使得它展示的更加有邏輯性一點。

由於自己的研究方向是視覺SLAM,因此在後續的任務中將繼續開源另外一個項目,計劃是實現基於視覺的導航。針對在激光導航中遇到的問題,後期可能會調整一些使用4輪8電機的全驅動結構的底盤,提升里程計的精度問題。新的視覺導航框架也會合併到Mick這個項目代號中去。

最後感謝向我反饋BUG的網友們,感謝大家的支持。

歡迎大家點贊在評論區交流討論([email protected]) O(∩_∩)O

或者加羣水一波(1149897304)
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章