2

我正在为 rrt(快速探索随机树)编写代码,这是一种基于采样的运动规划算法。我在 MATLAB 中编写了代码,但现在我正在用 C++ 编写它。我想知道我们如何在所有障碍物的情况下实时绘制机器人路径。我想要的是:我想看到我的机器人穿越空间。所以基本上是关于图形。我正在尝试使用 sfml,但我遇到了问题。有些人建议使用 opencv 或 opengl,但我认为他们不是易于使用。我正在寻找一个易于使用的库。如果 opencv 或 opengl 是答案,那么请告诉我我需要在这些库中具体使用什么。我正在使用 linux(ubuntu 11.10)

4

2 回答 2

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

于 2014-12-01T00:45:50.120 回答
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 元素和图形。

于 2013-06-11T03:20:51.157 回答