ROS小车实践记录(九)
小车代码
ROS小车运动学正逆解代码讲解
我们打开Huanyu_usart.c文件
运动学通常分为正解和逆解
正解(上传):
用电机的速度来计算里程计(模型的空间运动向量数据),使用多个电机的速度去计算质点空间运动,最终输出:Vx\Vy\Vth
逆解(下发):
将空间运动向量转化为每个电机的速度,将Vx\Vy\Vth转换为电机的速度,最终输出:Vm1、Vm2、Vm3、Vm4即每个电机的速度
正解的计算在main.c
电机顺序为
2←→1
3←→4
*的安装方式为
根据公式进行速度的计算
计算完成后上传给上位机,在上位机中有对应的位置接受
其中filter_vx_match
是校准参数,如果有校准机器人则修改数值
逆解中的Vx\Vy\Vth是从上位机下发下来的,我们从串口数据中找进入运动学模型的函数,即接受上位机下发的x\y\z的速度
通过传入的Vx\Vy\Vth来运算电机目标速度
在通过main.c中这一部分代码计算,使用小车达到目标速度
麦克纳姆轮运动学正逆解公式
a和b分别为