我有一个汽车机器人套件,(Sunfounder Smart Video Car套件(
据我所知,我想让它开车到信标。
我知道如何测量信号强度,
我现在想编造一种将汽车引导到信标的算法。
我提出了几个想法,但我认为它们不是最佳的:
- 定义t-时间零件 - 量子的时间跨度。
- 定义Q -Quanta-及时乘车驱动的距离。
- 定义P-功率 - 信号强度
想法1:
- 假设汽车为 @(0,0(
- 假设汽车驶向 @(0,1(
- 开车前进1q
- 记录a0 = p [t] -p [t -t -t]
- 向后开车1Q
- 将车轮转为(alpha =(stand((度(导致预计/测量角(
- 开车前进1q
- 记录a1 = p [t] -p [t -t -t]
- axis0 = b0 =(0,1(
- axis2 = b1 =(cos(alpha(,sin(alpha((
- d = a0*b0 a1*b1
- 现在我需要开车去
D
!
这感觉很慢。
iDEA2
- 开车前进
- if(dp< 0(向后驱动
- 当'dp〜 = 0'//我知道我垂直于becon
- 右转90度
- if(dp< 0(向后驱动
这有点好,但仍然是最佳的,因为我可以进行调整很久,然后才能到达DP = 0
此外,我真的不能确保自己做一个不错的90毫克转弯,
我的汽车有一个转弯半径(与坦克机器人不同(
第三想法
我的第三个想法的目的是接近最佳,但我没有正确地理解:
令P-信号的功率令D-距信标
的距离我的想法,涉及纠正我的角度,
是"当前往灯塔时,DP将以p(d('速率下降,所以我尝试到达那里。
只是为了减少计算,我将使用d代替p并尝试获得d = 0
cmd =
FORWARD
如果DD降低(D2D< 0(=> Beacon在我面前,但不是直接。
所以cmd =最后/左CMD如果d2d〜 = 0 cmd =
FORWARD
现在我缺少某些东西如果CMD =
LEFT
/RIGHT
&& cmd =对面(cmd(转到步骤2
我尝试模拟这个想法,但它确实使我无处不在。
您能帮我制定算法吗?
我创建了一个excel表来模拟,在CMD列中输入转弯程度并查看结果。
您可以计算信号强度每单位距离变化的比率吗?!
就像,当我将5厘米移近信标时,强度会发生变化。
如果有的话,当DP比率更高或低于给定的dpratio时,您可以"纠正角度"。
因为那个dpratio意味着您要直接进入信标!