Ros 自動避障和尋路相關資料

weixin_34321977發表於2018-03-30

1、運動平臺選擇

iRobot 推出了第二代機座 Roomba來取代Create.  這是一個綠臉的機座。

8883046-9fb1e1df83eea6f0.png
iRobot Create 2.0
8883046-170a99f9502d6988.png

運動平臺介紹:

 http://www.irobot.com/About-iRobot/STEM/Create-2.aspx

 http://www.turtlebot.com/

2、平臺搭建

https://blog.csdn.net/sonictl/article/details/49907337

相關裝置整合: https://blog.csdn.net/xiaocainiaodeboke/article/details/51476557

3、避障和尋路演算法

https://github.com/turtlebot/turtlebot_apps

https://blog.csdn.net/yiranhaiziqi/article/details/53085096

下面這個連結是對turtebot的navigation方式的說明文件,值得認真閱讀

http://wiki.ros.org/turtlebot_navigation

4、參考其他資料

作者:小王尼瑪

連結:https://www.zhihu.com/question/40605273/answer/87499600

來源:知乎

著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

以下是在移動機器人框架下的一點思路,如果是無人機避障的話,才疏學淺,愛莫能助

只瞭解利用kinect深度圖資訊的避障,2D的主要例子就是ROS turtlebot tutorial 5.3.2Autonomous Navigation of a Known Map with TurtleBot,我記得包括動態避障。其實就是將kinect的深度圖轉成laserscan型別的資訊,跑amcl+gmapping的演算法。

利用3D資訊的話,需要得到kinect的相機引數(需要對kinect做標定),這部分我沒仔細做,ROS應該有現成的包可以呼叫。如640*480大小的深度圖經過如下公式可以轉化為點雲,從畫素橫軸、縱軸、深度空間

參考這篇opencv文件。Camera Calibration and 3D Reconstruction。當然個人認為點雲更多意義上要包含色彩資訊,這塊涉及到深度圖和RGB圖的association問題,按下不表。

得到點雲後,最樸素的避障就是根據你移動機器人放置的kinect位置,設定高度閾值y、橫軸視界閾值x和深度閾值z,然後對裁剪後的點雲有效部分在水平方向上做平均,如果大於0則障礙物偏右,向左轉,小於0則障礙物偏左,向右轉。我在實驗室環境下跑能達到60~70%的正確率。見過好幾個小專案、小論文都是這個做法。

我本科畢設參考過這篇,很簡單的做法:Obstacle Detection and Avoidance Using TurtleBotPlatform and XBox Kinecthttps://www.cs.cmu.edu/~sboucher/turtlebot.pdf

還有一個印度人的小專案也用了這個方法:https://joelmoniz.com/2014/08/11/building-a-slam-bot-with-a-kinect/

2016.05.20

挖個坑,以後補上利用點雲進行3D避障、路徑規劃的方法。

2017.01.18

以下避障、運動規劃的內容均不涉及動態避障,我沒有做過

現在對Kinect能做的東西瞭解多了一些,還是按照上面的思路,分兩大流派:

直接利用Kinect的3D點雲做避障、路徑規劃:sbpl - ROS Wiki

3d_navigation - ROS Wiki

把Kinect點雲降維生成線鐳射,本質上是當成2D鐳射雷達,在平坦地面環境用。那就是gmapping、hector SLAM、cartographer等手段建圖,而區域性路徑規劃用動態窗演算法或者Time Elastic Band(TEB)演算法都可以。

相關文章