航迹推演

2023-10-21 01:40
文章标签 航迹 推演

本文主要是介绍航迹推演,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​ 做机器人底层程序的时候,经常用到航迹推演(Odometry),无论是定位导航还是普通的方向控制。航迹推演中除了对机器人位姿进行估计,另一个很重要的关系是移动机器人前进速度v、转向角速度w与左轮速度v_{l}、右轮速度v_{r}之间的转换。

​ 在机器人局部路径规划算法DWA解析一文中,是在假设已知机器人前进线速度v和角速度w的情况下,对机器人航迹推演的位姿进行推导了,然而缺少如何通过左右轮速度得到vw,因此本文将补上这个空缺。

​ 下图是移动机器人在两个相邻时刻的位姿,其中\theta _{1}是两相邻时刻移动机器人绕圆弧运动的角度,\theta _{3}是两相邻时刻移动机器航向角(朝向角head)的变化量。l是左右轮之间的间距,d是右轮比左轮多走的距离。r是移动机器人圆弧运动的半径。

​ 移动机器人前进速度等于左右轮速度的平均,这个好理解:

v=vr+vl2(1) v = v r + v l 2 ( 1 )

​ 现在来推导机器人航向角如何计算,以及如何计算角速度 w。如图所示,把两个时刻的机器人位置叠加在一起,可以清楚的看到移动机器人航向角变化量是 \theta _{3}。从图中的几何关系可以得到:
θ3=θ2=θ1 θ 3 = θ 2 = θ 1

​ 也就是说移动机器人航向角变化了多少角度,它就绕其运动轨迹的圆心旋转了多少角度。这句话很好验证,我们让机器人做圆周运动,从起点出发绕圆心一圈回到起点处,在这过程中机器人累计的航向角为360度,同时它也确实绕轨迹圆心运动了360度,说明机器人航向角变化多少度,就绕圆心旋转了多少度。而这三个角度中, \theta _{2}很容易计算出来,由于相邻时刻时间很短,角度变化量 \theta _{2}很小,有下面的近似公式:
θ2sin(θ)=dl=(vrvl)Δtl θ 2 ≈ s i n ( θ ) = d l = ( v r − v l ) ⋅ Δ t l

​ 所以可以得到机器人绕圆心运动的角速度 w,它也是机器人航向角变化的速度:
w=θ1Δt=vrvll(2) w = θ 1 Δ t = v r − v l l ( 2 )

​ 线速度、角速度都有了,因此可以推出移动机器人圆弧运动的半径:
r=vw=l(vr+vl)2(vrvl)(3) r = v w = l ⋅ ( v r + v l ) 2 ( v r − v l ) ( 3 )

​ 从公式(3)可以发现当左轮速度等于右轮速度时,半径无穷大,即直线运动。最后将三个公式综合起来,可以得到左右轮速度和线速度角速度之间的关系如下:
v=vr+vl2,ω=vrvll,v=ωr=l(vr+vl)2(vrvl) v = v r + v l 2 , ω = v r − v l l , v = ω r = l ( v r + v l ) 2 ( v r − v l )

这篇关于航迹推演的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251082

相关文章

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

鹅算法(GOOSE Algorithm,GOOSE)求解复杂城市地形下无人机避障三维航迹规划,可以修改障碍物及起始点(Matlab代码)

一、鹅算法 鹅优化算法(GOOSE Algorithm,GOOSE)从鹅的休息和觅食行为获得灵感,当鹅听到任何奇怪的声音或动作时,它们会发出响亮的声音来唤醒群中的个体,并保证它们的安全。 参考文献 [1]Hamad R K, Rashid T A. GOOSE algorithm: a powerful optimization tool for real-world engineering

【无人机三维路径规划】基于鱼鹰算法OOA实现复杂城市地形下无人机避障三维航迹规划附Matlab代码

% 初始化遗传算法参数 population_size = 50; % 种群大小 max_generations = 100; % 最大迭代次数 mutation_rate = 0.1; % 突变率 % 定义目标函数(适应度函数) fitness_function = @(x) calculate_fitness(x); % 定义路径规划问题的约束函数 constraint_function

深度学习 - RNN训练过程推演

1. 数据准备 字符序列 “hello” 转换为 one-hot 编码表示: 输入: [‘h’, ‘e’, ‘l’, ‘l’]输出: [‘e’, ‘l’, ‘l’, ‘o’] 2. 初始化参数 我们使用一个单层的 RNN,隐藏层大小为2,每次传1个字符。初始参数如下: W x h = ( 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 ) , W h h = ( 0.1

什么是数据分析?数据分析概念如何推演?

什么是数据分析? 如何从概念去推演什么是数据分析,数据分析的本质是什么? 1.推演目的 迷迷糊糊,每天都在做这件事,而没有去思考这件事件背后的定义和本质,走了很远的路,忘记了当初为什么出发,自己已经习惯性往前冲,忘记了为何而冲,为何而生,呜呼哀哉;生活如此,工作亦如此;不掌握分析本质,怎么样努力业务也是徒劳,原来人家指定的路,开始是一条阳光大道,但是慢慢经过演变,已经变成了崎岖野径;自己不知

【LeetCode】之字形顺序打印二叉树(层序遍历 / 双端队列 / 双栈),清晰推演过程

一、题目 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3/ \9 20/ \15 7 返回其层次遍历结果: [[3],[20,9],[15,7]] 二、思路分析 这个题目考察的是二叉树的

建模实例评点(3)领域类图-作战推演

1 00:00:00,310 --> 00:00:03,990 你看,我们会有很多很多泛化 2 00:00:04,360 --> 00:00:05,810 这里有很多很多泛化 3 00:00:06,350 --> 00:00:07,420 这种情况下 4 00:00:08,020 --> 00:00:09,850 包括这种,没准也可以 5 00:00:10,380 --> 00:00:13

路径优化算法 | 基于A_Star算法实现复杂地形下无人机威胁概率地图最短路径避障三维航迹规划

概述 A* (A-Star) 算法是一种广泛使用的路径搜索和图形遍历算法,用于在给定起点和终点的情况下找到最短路径。对于无人机在复杂地形下的三维航迹规划,A* 算法可以与其他技术结合,例如威胁概率地图(Threat Probability Map),以实现避障和最短路径规划。 以下是一个基于 A* 算法实现复杂地形下无人机威胁概率地图最短路径避障三维航迹规划的基本步骤: 构建威胁概率地图:

206基于matlab的无人机航迹规划(UAV track plannin)

基于matlab的无人机航迹规划(UAV track plannin)。输入输出参数包括 横滚、俯仰、航向角(单位:度);横滚速率、俯仰速率、航向角速率(单位:度/秒);飞机运动速度——X右翼、Y机头、Z天向(单位:米/秒);飞机运动加速度——X右翼、Y机头、Z天向(单位:米/秒/秒);航迹发生器初始位置经度、纬度、高度(单位:度、度、米);飞机运动速度——X东向、Y北向、Z天向(单位:米/秒);

【路径规划】快速行军树风场下无人机航迹规划【含Matlab源码 2619期】

⛄一、快速行军树风场下简介 本论文旨在解决无人机发动机熄火问题,在该问题中无人机沿每个点进行应急检查。每一次检查都会模拟一个发动机故障,之后无人机被迫进入稳定下滑,必须能够到达在分配的时间内预定义的安全区。固有的困难在于以计算有效的方式处理非线性时间检查。这是因为高精度要求精细的路径离散化,这导致正在执行大量检查。解决方案还必须包含非完整性动力学、风扰动和防撞。 这个问题的重要性不能低估,