ROS小车实践记录(九)

ROS小车运动学正逆解代码讲解

我们打开Huanyu_usart.c文件
运动学通常分为正解和逆解
正解(上传):
用电机的速度来计算里程计(模型的空间运动向量数据),使用多个电机的速度去计算质点空间运动,最终输出:Vx\Vy\Vth
逆解(下发):
将空间运动向量转化为每个电机的速度,将Vx\Vy\Vth转换为电机的速度,最终输出:Vm1、Vm2、Vm3、Vm4即每个电机的速度
ROS小车实践记录(九)
正解的计算在main.c
ROS小车实践记录(九)
电机顺序为
2←→1
3←→4

*的安装方式为
ROS小车实践记录(九)
根据公式进行速度的计算
ROS小车实践记录(九)
计算完成后上传给上位机,在上位机中有对应的位置接受
ROS小车实践记录(九)
其中filter_vx_match是校准参数,如果有校准机器人则修改数值

逆解中的Vx\Vy\Vth是从上位机下发下来的,我们从串口数据中找进入运动学模型的函数,即接受上位机下发的x\y\z的速度
ROS小车实践记录(九)
通过传入的Vx\Vy\Vth来运算电机目标速度
ROS小车实践记录(九)

在通过main.c中这一部分代码计算,使用小车达到目标速度ROS小车实践记录(九)
麦克纳姆轮运动学正逆解公式
ROS小车实践记录(九)
ab分别为
ROS小车实践记录(九)