2012-05-21 46 views
0

到目前为止,我已经能够创建Kinect传感器位于一处的应用程序。我使用语音识别EmguCV(open cv)和Aforge.NET来帮助我处理图像,学习和识别对象。这一切工作正常,但总是有改进的余地,我摆了一些问题:忽略前三个我想要的答案第四]使用Kinect进行机器人导航

  1. 帧速率是可怕的。它像5fps一样,即使它应该是30fps。 (这是没有所有的处理)我的应用程序运行良好,它从相机获取颜色以及深度帧并显示它。帧速率仍然很糟糕。样品运行真棒,大约25 fps。尽管我从样本中运行完全相同的代码,但它不会让步。 :-([不需要代码,请告诉我可能出现的问题。]

  2. 我想创建一个小型机器人,在其上安装kinect和我的笔记本电脑我尝试使用Mindstorms Kit但是低扭矩电机不会这么做,请告诉我怎么做到这一点

  3. 我该如何在板上供电?我知道Kinect使用12伏电动机,但是它从AC [我不想切断我的电缆,并用12伏电池替换]

  4. 最大的问题:如何在这个世界上导航,我已经完成了A *和洪水填充算法。我读了this纸,就像上千次一样,我一无所获。我脑海中有导航算法,但它究竟如何本地化? [它不应该使用GPS或任何其他的传感器,只是它的眼睛即Kinect的]

帮助我将是真棒。我是新手,所以请不要指望我知道一切。我一直在互联网上连续2周没有运气。

非常感谢!

+1

这些是四个问题,其中两个是题外话。 – ziggystar

+0

哪两个?我不想写个别的问题.... –

回答

4

本地化是一项棘手的任务,因为它取决于事先了解您的机器人将放置在哪个环境中(,即是您家的地图)。虽然存在用于同时定位和映射的算法,但它们倾向于是特定领域的,因此不适用于将机器人放置在任意位置并使其自动映射其环境的一般情况。

但是,如果您的机器人确实对其环境的外观有粗略(概率)的概念,Monte Carlo localisation是一个不错的选择。在一个高的水平,它会是这样的:

  1. 首先,机器人应使大量随机猜测的(称为颗粒)到哪里它可能是其已知的环境中。
  2. 随着传感器的每次更新(即机器人移动一小段距离之后),它使用其当前传感器数据的统计模型来调整其每个随机猜测正确的概率。如果机器人需要360º的传感器测量值,这可以很好地工作,但这并非完全必要。

This lecture伦敦帝国理工学院的Andrew Davison对所涉及的数学进行了很好的概述。 (考虑到你正在努力创造的东西,课程的其余部分对你来说很可能也很有意思)。祝你好运!

+0

你是一个神!非常感谢。你为我节省了一生,我会花费一辈子的时间找到这些东西。非常翔实的答案。虽然我有另一个(也许很傻)。我已经成功地使用光学鼠标来获得它所走过的确切距离。我实际上是在跑步机上跑步,发现它是否足够准确,令我惊讶的是它像一种魅力。我只是想知道,如果使用其中的2只老鼠,我是否可以用这种方法实际进行航位推算算法。感谢A TONNE提前。 –

+0

乐意帮忙!光学鼠标的想法非常聪明 - 我不明白为什么它不可能。出于好奇,你有一个项目博客/线程的地方,我可以跟上你的进度?如果我有时间的话,这就是我喜欢做的事情:( –

+0

我实际上已经在使用它了,实际上我已经入侵鼠标并访问了原始鼠标数据,我必须工作如果我能“保留一个博客,我会在这里告诉你,谢谢你!”,但是没有任何担忧,如果我能“保留一个博客,我会在这里告诉你。 –