Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 通过测量信号强度来引导汽车驶向信号_Algorithm_Arduino - Fatal编程技术网

Algorithm 通过测量信号强度来引导汽车驶向信号

Algorithm 通过测量信号强度来引导汽车驶向信号,algorithm,arduino,Algorithm,Arduino,我有一个汽车机器人套件,() 随着我的学习,我想让它驶向灯塔 我知道如何测量信号强度, 我现在想制定一个算法,使汽车指向信标 我提出了几个想法,但我不认为它们是最佳的: 定义quanta的t时间部分时间跨度 定义Q-量子-时间“t”中汽车行驶的距离 定义P-功率-信号强度 想法1: 假设car为@(0,0) 假设车辆航向@(0,1) 前进1Q 记录A0=P[T]-P[T-T] 向后开1Q 将车轮转动到(α=(常数))度(导致预先计算/测量的角度) 前进1Q 记录A1=P[T]-P[T-T]

我有一个汽车机器人套件,()
随着我的学习,我想让它驶向灯塔

我知道如何测量信号强度,
我现在想制定一个算法,使汽车指向信标

我提出了几个想法,但我不认为它们是最佳的:

  • 定义quanta的t时间部分时间跨度
  • 定义Q-量子-时间“t”中汽车行驶的距离
  • 定义P-功率-信号强度
想法1:
  • 假设car为@(0,0)
  • 假设车辆航向@(0,1)
  • 前进1Q
  • 记录A0=P[T]-P[T-T]
  • 向后开1Q
  • 将车轮转动到(α=(常数))度(导致预先计算/测量的角度)
  • 前进1Q
  • 记录A1=P[T]-P[T-T]
  • 轴0=b0=(0,1)
  • Axis2=b1=(cos(α),sin(α))
  • D=A0*b0+A1*b1
  • 现在我需要开车前往
    D
但是这种方法感觉很慢

Idea2
  • 前进
  • 如果(dP<0)向后行驶
  • 当'dP~=0'//我知道我正垂直于贝康方向行驶
  • 右转90度
  • 如果(dP<0)向后行驶
这有点好,但仍然不是最优的,因为我可以在dP=0之前进行调整

此外,我不能真正确定我是否做了一个良好的90度转弯,
我的车有转弯半径(不像坦克机器人)

第三个想法 我的第三个想法旨在接近最优,但我没有做到:

设p-信号的功率 设D—距离信标的距离

我的想法,包括边走边纠正角度,
是“当航向信标时,dP将以P(D)的速率下降”, 所以我试着去那里

为了减少计算量,我将使用D而不是p,并尝试得到D=0

  • CMD=
    FORWARD

  • 如果dD减少(d2D<0)=>信标在我前面,但不是直接在我前面。
    so CMD=最后一个右/左CMD

  • 如果d2D~=0 CMD=
    FORWARD

  • 现在,如果CMD=
    /
    &情况越来越糟,我就错过了一些东西

  • 转至步骤2

  • 我试着模仿那个想法,但实际上毫无结果

    你能帮我制定算法吗


    你能计算出每单位距离信号强度变化的比率吗?!
    比如,当我靠近信标5厘米时,强度会有多大变化。
    如果有,当dP比高于或低于给定的dPRatio时,您可以“边走边纠正角度”。

    因为这意味着你将直接前往信标!!

    你能计算出每单位距离信号强度变化的比率吗?!
    比如,当我靠近信标5厘米时,强度会有多大变化。
    如果有,当dP比高于或低于给定的dPRatio时,您可以“边走边纠正角度”。

    因为这个数字意味着你将直奔灯塔!!

    这是我的第三个想法,但我不知道如何表达它。我不知道我将直奔5厘米(没有惯性传感器)但是我可以说我开了1秒=>XcmIt没关系,积累一些经验,把车沿着直线朝着灯塔移动,记录给定时间的dP,然后计算目标值\u dP=dP/时间。我假设车是以恒定速度行驶的,顺便说一句。1sec=>Xcm……取决于加速/减速,但这不是我的问题……我甚至试过了d生成excel表格进行模拟…你有什么数据?根据与信标的距离确定信号强度?因为这是你问题的解决方案这是我的第三个想法,但我不知道如何表述。我不知道我要走5厘米(没有惯性传感器)但是我可以说我开了1秒=>XcmIt没关系,积累一些经验,把车沿着直线朝着灯塔移动,记录给定时间的dP,然后计算目标值\u dP=dP/时间。我假设车是以恒定速度行驶的,顺便说一句。1sec=>Xcm……取决于加速/减速,但这不是我的问题……我甚至试过了d生成excel表格进行模拟…您有什么数据?根据与信标的距离确定信号强度?因为这是您问题的解决方案