0

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

  1. 帧率太吓人了。即使它应该像 30 fps,它也像 5 fps。(这是没有所有处理)我的应用程序运行良好,它从相机获取颜色和深度帧并显示它。帧率还是很差。样本运行得非常好,大约 25 fps。即使我从样本中运行了完全相同的代码,它也不会让步。:-( [不需要代码,请告诉我可能的问题。]

  2. 我想创建一个小机器人,在上面安装 kinect 和我的笔记本电脑。我尝试使用 Mindstorms 套件,但低扭矩电机无法解决问题。请告诉我我将如何实现这一目标。

  3. 如何在船上供电?我知道 Kinect 使用 12 伏的电机。但它是从交流适配器获得的。[我不想剪断电缆并用 12 伏电池代替它]

  4. 最大的问题:在这个世界上它将如何导航。我已经完成了 A* 和洪水填充算法。我把这篇论文读了一千遍,却一无所获。我脑子里有导航算法,但它到底如何定位自己?[它不应该使用 GPS 或任何其他类型的传感器,只使用它的眼睛,即 Kinect]

帮助我会很棒。我是新手,所以请不要指望我什么都知道。我已经上网 2 周了,但没有运气。

多谢!

4

1 回答 1

4

本地化是一项棘手的任务,因为它取决于事先了解您的机器人将被放置的环境(您的房子的地图)。虽然存在用于同时定位和映射的算法,但它们往往是特定于域的,因此不适用于将机器人放置在任意位置并让它自主映射其环境的一般情况。

但是,如果您的机器人确实对其环境的外观有一个粗略的(概率性)概念,那么蒙特卡洛定位是一个不错的选择。在高层次上,它类似于:

  1. 首先,机器人应该对它可能在其已知环境中的位置进行大量随机猜测(称为粒子)。
  2. 随着传感器的每次更新(即机器人移动了一小段距离之后),它使用其当前传感器数据的统计模型来调整其每个随机猜测正确的概率。如果机器人进行 360º 传感器测量,这可能会特别有效,但这并不是完全必要的。

伦敦帝国理工学院 Andrew Davison 的这次讲座很好地概述了所涉及的数学。(考虑到您要创建的内容,本课程的其余部分很可能对您也很感兴趣)。祝你好运!

于 2012-05-21T10:52:39.877 回答