两轮差速纯跟踪模型

两轮差速纯跟踪模型
在AGV行业,差速轮已经非常普遍。在国内,两轮驱动主要使用Kinco品牌低压伺服驱动,性价比高。通过mcu与驱动器通讯(can、232等),得到两轮的实时编码器的值,通过mcu中断,将上一时刻的编码器值与实时编码器值做差,在较短时间内(20ms),此值约为此时速度值,从而得到两轮速度Vr和Vl。
则在这个时刻,小车平均速度V=(Vr+Vl)/2。
小车角速度W=(Vr-Vl)/L。L为两轮距离。W换算成rad/s的话=(Vr-Vl)/L*180/PAI`
小车当前姿态(即角度)tht+=W;记住:角度就是角速度的累加
最后,可以推算小车里程计
里程计在X方向 Xt+=Vcos(tht);
里程计在Y方向Yt+=Vsin(tht);
通过以上步骤,可以得出小车的实时位置及姿态;小车当前坐标X,Y,θ为(Xt,Yt,tht)
不喜勿喷,感谢。

### 两轮差速机器人轨迹跟踪算法实现原理 #### 1. 差速机器人运动模型 对于两轮差速驱动的非完整移动机器人而言,其运动特性决定了它能够沿曲线路径行驶的能力。这类机器人的运动学分析表明,通过调整两个独立驱动轮的速度差异来改变前进方向和姿态角速度是可行的方式之一[^2]。 具体来说,在理想情况下,假设地面摩擦力足够大以至于不会发生打滑现象,则可以根据车体坐标系下的线速度\(v\)以及角速度\(\omega\)表示出瞬时位置变化: \[ \dot{x} = vcos(\theta) \\ \dot{y} = vsin(\theta)\\ \dot{\theta}=ω \] 其中,\(x,y\)代表车辆质心相对于全局参考框架的位置坐标;\(\theta\)则指示了车身朝向角度;而上述微分方程组即构成了基本的动力学描述[^1]。 #### 2. Pure Pursuit控制器设计 Pure Pursuit是一种基于几何关系构建起来用于解决自动导航问题的有效策略,尤其适用于具有固定轴距特性的双轮差动底盘结构之上。该方法的核心思想在于选取前方一定距离处的目标点作为当前时刻期望到达的位置,并据此计算所需转弯半径从而指导左右两侧电机转矩分配以达成平滑过渡效果[^4]。 设L为目标前瞻长度(lookahead distance),当给定一系列离散化后的航路点集合{(xi ,yi)}后,可利用如下公式求解对应曲率κ: \[ κ=\frac{|(x_i-x_{i-1})(y_{i+1}-y_i)-(y_i-y_{i-1})(x_{i+1}-x_i)|}{((x_i-x_{i-1})^2+(y_i-y_{i-1})^2)^{3/2}} \] 进而得到相应的前轮转向角δ: \[ δ=arctan(L*κ) \] 最后再依据已知参数完成对各关节输入指令u_left,u_right 的设定: ```matlab function [ul ur]=calculate_wheel_speeds(v,delta,L,wheelbase) % 计算左右轮速度 R=L/tand(delta); % 转弯半径 if abs(R)>0.001 ul=v*(1-wheelbase/(2*R)); ur=v*(1+wheelbase/(2*R)); else ul=v; ur=v; end ``` 此处`delta`指的是由前述步骤得出的角度值;`L`为预瞄距离;`wheelbase`则是指前后桥间距大小。 #### 3. PID控制方案补充说明 除了采用先进的Pure Pursuit技术之外,传统的比例积分微分(PID)调节机制同样可以在一定程度上满足简单环境内的定位精度需求。然而值得注意的是,由于PID本质上属于反馈型控制系统范畴内的一种形式,因此往往难以避免存在滞后效应等问题出现,特别是在面对复杂多变的任务场景之时表现得尤为明显[^5]。 相比之下,尽管前者可能需要更多的前期准备工作量投入进去,但从长远角度来看却能带来更为理想的动态响应性能优势——这主要体现在更快捷稳定地逼近既定路线的同时保持较低水平的姿态偏差范围之内[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值