Nav2导航中的阿克曼计算
发布时间:2024年01月23日
非汽车专业,有误之处烦请回复指正。
1 基本概念
前轮转向的阿克曼小车。忽略左右轮的转角差,简化为自行车模型。如图:
可看到:
- 当前轮内转角为 α \alpha α时,前轮运动的旋转中心在前轮中垂线上,而后轮不能转向,所以后轮运动旋转中心就在后轮轴线上。因此小车的运动旋转中心O是图中两条蓝色线的交点。
- 根据几何关系可以知道 θ \theta θ = α \alpha α
- 根据小车的前后轴距L,可以算出O点与内侧后轮中心距离 R = L / t a n ( α ) R=L/tan(\alpha) R=L/tan(α)
- 后面在做简化到点的时候,会用两后轮的中心C点(为什么我也不知道,原来我用的是矩形中心,但小车供应商给的驱动用的是C点)。C点与旋转中心O的距离是 R + W / 2 R+W/2 R+W/2,其中W是后轴两轮中心距。
2 问题的提出
阿克曼车型在Nav2导航中需要用到的计算包括:
1.1 根据反馈信息估算当前位置,发布odom
- 需要根据上一次计算周期的坐标,结合小车当前的前进线速度( V x V_x Vx?)和前轮方向转角( α \alpha α),估算小车当前的位置。
- 上位机程序一般可以读到小车底层控制传上来的速度 V x V_x Vx?(或根据车轮电机编码器信号可求得)和内转角 α \alpha α(或根据转向电机编码器信号可求得)。
- 这时就把小车简化为一个质点(上图C点),它绕着O点在旋转,线速度就是小车前进速度( V x V_x Vx?),旋转角速度是线速度除以旋转半径 ω = V x R + W / 2 = V
文章来源:https://blog.csdn.net/vmt/article/details/135766602
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!