基于FPGA实现的机器人路径规划:ENPS - RRT算法解析
1. ENPS - RRT RTL模型设计
在机器人路径规划中,为了适应FPGA的资源和能力,我们设计了一种基于酶促数值P系统的快速探索随机树(ENPS - RRT)的寄存器传输级(RTL)模型。由于IEEE 754单精度浮点标准的长位宽会消耗大量资源和功率,我们构建的ENPS - RRT模型能够在仅包含8个障碍物点的环境中生成两个RRT点。尽管该模型在RRT点和障碍物数量上有限,但它具有可扩展性,能够在大规模障碍物环境中生成更多的RRT点。
在这个模型中,我们使用Verilog作为硬件描述语言(HDL)来设计RTL模型。由于酶变量和条件规则之间的相互作用,ENPS的计算过程是确定性的。同时,引入标志信号来对ENPS - RRT的处理顺序进行排序,酶的功能被标志信号所替代,这是因为在HDL的if - else结构中无法实例化模块(如浮点单元),但可以使用固定点算术。
以下是该模型的主要计算步骤:
1. 生成随机点 :两个基于线性反馈移位寄存器(LFSR)的伪随机数生成器(PRNG)模块持续工作,生成浮点数字序列。它们的随机数输出端口连接到co_rand1模块,该模块生成第一个随机点(xrand1, yrand1)。当co_rand1的begin端口接收到上升沿时,ENPS - RRT的RTL模型开始工作,这可以通过将begin端口连接到FPGA开发板上的按钮引脚来实现。co_rand1包含两个Fp_mul_Eg乘法器,用于同时执行ENPS - RRT的规则Pr1 - 1和Pr2 - 1。
2. 计算距离 :获得随机点(xr
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



