2012-09-04 53 views
2

我正在爲rrt(快速探索隨機樹)編寫代碼,這是一個基於採樣的運動規劃算法。我在MATLAB中編寫代碼,但現在我正在用C++寫它。 我想知道我們如何在所有障礙物的情況下實時繪製機器人路徑。 我想要的是:我想看看我的機器人遍歷空間。所以基本上是關於圖形。我試圖使用SFC,但我有問題。有人建議使用opencv或opengl,但我認爲他們是不容易使用。我正在尋找一個簡單易用的庫。 如果opencv或opengl是答案,那麼請告訴我具體需要在這些庫中使用什麼。我正在使用linux(ubuntu 11.10)繪圖機器人路徑

+0

您是否想要展開正在展開的RRT樹,或模擬執行最終計劃的機器人?您可能需要像Gazebo這樣的機器人模擬器。如果它只是在2D試玩Player。在google上查找機器人+模擬器。 –

回答

1

您可能需要查看使用內部matlab編譯器生成獨立直接從您的M代碼應用程序。這樣你就不必從零開始重寫所有的東西。

我已經使用了以下鏈接幾次,以喚起我的記憶 http://technologyinterface.nmsu.edu/5_1/5_1f/5_1f.html

例如,如果你已經有以下內容的M功能(從鏈接例):

function y=PolyValue(poly,x) 
poly=[1 2 -1 4 -5]; 
x=[5, 6]; 
y=polyval(poly, x) 

你可以使用命令

mcc -m PolyValue 

來編譯程序。

這個命令然後會給你在一個更大的c + +程序中實現所需的文件。

它甚至應該支持Gui元素和圖形。

1

類似http://www.ros.org/news/2011/01/open-motion-planning-library-ompl-released.html 可能是你在找什麼。

我在OpenCV中爲一些圖像識別項目和用於渲染顯示的OpenGL工作,以及您是否使用上面的庫或自己渲染它都取決於顯示器的複雜程度。問你自己一些關於你正在看的有多少種障礙場景的問題。障礙物和機器人有多種可能的形狀?這個問題是確定性的(就機器人的運動和環境而言)?

對於OpenGL和OpenCV而言,對於那些對他們來說不太好用的人來說,情況就是這樣,但選擇使用C++會讓初學者更加困難。正如另一位用戶所提到的那樣,包裝你的Matlab代碼而不是扔掉它可能是一個可行的選擇。即使在後臺運行matlab引擎來通過C++運行你的腳本也是可行的,如果速度不是關鍵因素的話。有關更多信息,請參見http://au.mathworks.com/help/matlab/matlab_external/introducing-matlab-engine.html