目前udacity正在提供免费的在线编程机器人汽车课程,该课程可教您Google如何为他们的无人驾驶汽车做到这一点。基本上,他们使用GPS进行总体定位,并使用存储的地图和视觉传感来进行高精度定位。该软件使用粒子过滤器。
如果您使用测量师使用的非常昂贵的差分GPS设备,则可以单独使用GPS来完成此操作,但这几乎不具有成本效益。如您所建议,如果您使用几个低成本(也许是Xbee?)收发器,则可以通过发送脉冲并测量从机器人上的发送器到机器人的时间来轻松地以极高的精度测量距离。远程中继器和返回。就像RADAR一样,只是它不是由无源表面反射信号,而是由固定的应答器发送回去。
编辑:自从我被凯文(Kevin)召集到这本书以来,也许我可以更好地解释;-)(非常有趣,我对凯文(Kevin)表示最高的敬意,他是正确的,因为我没有提供足够的细节来展示如何实施)。
要准确测量两点之间的传播延迟,主要需要做两件事:1)一条直线信号路径,因为反射会产生失真。2)两端的某些电子设备使用同步时钟,并且能够以所需的精度测量时间间隔。
同步时钟相对容易,因为接收站可以从其他站发送的信号中获取时钟。这是具有时钟恢复功能的标准同步数据传输。
这是一篇论文,介绍了在1.25 Gbps双向数据链路上的传输延迟的测量方法,该方法可以很容易地在10 km长的光纤上获得这种精度。他们指出:“它应该能够在长达10 km的长度上以亚纳秒的精度同步〜1000个节点。”
在本说明中,描述了一种确定两个节点之间的时间偏移的方法。这些节点通过8B / 10B编码的1.25 Gbps双向串行点对点通信通道连接,例如1000BASE-X(千兆位以太网)所使用的通道。通过使用标记信号测量传播延迟来确定时间偏移。使用(Virtex-5)FPGA中的串行器/解串器(SerDes)功能将信号从主节点发送到从节点,然后再返回。从节点上恢复的时钟用作从节点的发送时钟,因此整个系统是同步的。对于1.25 Gbps串行通信通道,已知的延迟具有单个单位间隔(即800 ps)的分辨率。通过测量主节点的发送和接收时钟之间的相位关系,可以进一步提高此分辨率。已经证明该技术可以在用于两个波长的单个10 km光纤上工作,以促进主节点和从节点之间的双向点对点连接。
也
建立了第一个测试设置,以验证使用工作于3.125 Gbps的编码串行通信信道来测量发射机与接收机之间的传播延迟的原理。发送器和接收器驻留在两个独立开发板上的FPGA中。第一个测试设置表明,以一个单位间隔(即3.125 Gbps时为320 ps)的分辨率测量100 km光纤上的传输延迟是可行的。
使用的设备:
测试设置包括两个ML507 Xilinx开发板[7]。每个板上都安装了Virtex-5 FPGA。一个ML507开发板被指定为主节点,另一个被指定为从节点。主设备和从设备通过小型可插拔(SFP)收发器和10 km的光纤连接,从而建立双向链接。使用在双波长下工作的单根光纤。
现在很明显,对于大多数爱好机器人项目而言,这种特殊设置是过大的,但是由于它使用了现成的开发板,并且不需要特殊的技能就能开始工作,因此可以很容易地在家复制。在机器人的情况下,链接将是无线电而不是光缆。也许它甚至可能是类似于电视遥控器的IR链接,尽管我怀疑外面的阳光直射可能会造成问题。在晚上,它可能会很棒!