【问题标题】:Robotic Navigation using Kinect使用 Kinect 的机器人导航
【发布时间】:2012-05-21 10:19:13
【问题描述】:

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

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

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

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

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

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

非常感谢!

【问题讨论】:

  • 这是四个问题,其中两个是题外话。
  • 哪两个?我不想写个别问题....

标签: artificial-intelligence kinect emgucv lego


【解决方案1】:

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

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

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

This lecture 由伦敦帝国理工学院的 Andrew Davison 撰写,很好地概述了所涉及的数学。 (考虑到您正在尝试创建的内容,本课程的其余部分很可能对您来说也很有趣)。祝你好运!

【讨论】:

  • 你是神!非常感谢伙计。你救了我一辈子,我本来会花时间找到这些东西的。非常翔实的答案。虽然我有另一个(也许很傻)。我已经成功地使用了一个光学鼠标来获得它经过的确切距离。实际上,我在跑步机上运行它,看看它是否足够准确,令我惊讶的是,它就像一个魅力。我只是想知道通过使用其中的 2 只鼠标,我是否真的可以用这种方法进行航位推算算法。提前致谢。
  • 乐于助人!光学鼠标的想法非常聪明——我不明白为什么它不可能。出于好奇,您是否有一个项目博客/线程,我可以随时了解您的进度?如果我有时间,我很想自己做这种事情:(
  • 我实际上已经在研究它,我实际上已经侵入了鼠标并访问了原始鼠标数据,我必须计算出方程来获得角度和位置。在这种混乱中,我忘记了维护我的博客。抱歉 :-(。不过不用担心,如果我“可以”写博客,我会在这里告诉你。非常感谢!
猜你喜欢
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-08
相关资源
最近更新 更多