【问题标题】:Advanced Line Follower Robot先进的线跟随机器人
【发布时间】:2015-10-17 12:11:30
【问题描述】:

我了解线路跟随器,主要是网格解决机器人,我实际上了解基本知识。实际上,他们必须在竞技场中追踪网格的路径,然后以最短的距离回到起点。这里我的疑问是关于我附加的这个链接中的线路追随者。Advanced line follower robot for grid solving and maze solving

我的疑问是用什么程序来做呢?他们已经绘制了路径并使用 Dijkstra 算法来解决路径。但是他们如何传输代码(即)它必须转向它必须转向的方向。他们如何生成应该传递的函数?请解释我需要单独的程序。我打算用python试试。

【问题讨论】:

  • 有 Arduino.Stackexchange 网站,你会在那里得到更多答案。
  • 这与 arduino 无关。并不是说可以借助arduino设计或开发机器人。如果您不知道答案,请不要降低我的声誉。
  • 反对票不是我的。无论如何,我同意你的问题比 Arduino 的范围更广。老实说,我认为它实际上可能因过于广泛而被否决。在我看来,在您的第二段中,您的要求不是很清楚。
  • 很好。他们在那个视频中的表现如何。程序是什么?
  • 如果我没有理解错,你想知道的是这个问题的答案:“当机器人到达一个路口时,他如何知道它必须转向哪个方向,根据他的哪个点必须下一个吗?”对吗?

标签: arduino robotics robotics-studio


【解决方案1】:

从我们交换的 cmets 来看,我更有信心假设您的实际问题是这样的:

可以使用什么数据结构将地图的结构(几何、拓扑)存储到机器人的内存中?

嗯,应该有很多可能的方法来做到这一点。基本上,这是一个连接图,其中节点位于矩形网格上。因此,首先,可以将节点描述为一组坐标对:

// just an example, this is not the actual map
// it doesn't need to be variables, could be array of arrays, or dictionary
var A = (0,0);
var B = (1,0);
var C = (2,1);
var D = (4,2);
// etc.

然后,您可以将边描述为点对:

var edges = [(A,B), (A,D), (B,C), ...];

有了这些,您肯定可以从点列表中计算出一条好的路径,以及每个节点的位置和方向。

我完全不确定这是否是最有效的数据结构,但这已经是一个开始。您只需要知道每个节点的位置,只需将两个节点连接在一起即可定义边。

【讨论】:

猜你喜欢
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多