本文介绍了底盘的几种运动模式:底盘普通运动、底盘跟随云台转动、小陀螺、小陀螺模式下的平动,并讲解了各种模式下的控制思路。
DrinkCat
1. 底盘基本控制
我们先从最简单的底盘控制开始。底盘的“X型”安装方式以及当每个轮子均正向转动时,各个轮子的受力如下图:
注意:轮子与地面接触面的纹路与俯视图的相反,此处容易混淆。
我们将底盘的运动分为三种:沿X轴方向、沿Y轴方向、绕YAW轴旋转:
1.1 沿Y轴方向
\(V_A=V_B=V_C=V_D=V_y\)
VA=VB=VC=VD=Vy
1.2 沿X轴方向
VA=VC=-Vx
VB=VD=Vx
1.3 沿着yaw轴旋转(顺时针)
VA=VD=Vyaw
VB=VC=-Vyaw
1.4 将上述三个方向叠加,得到麦克纳姆轮运动公式
VA=Vy-Vx+Vyaw
VB=Vy+Vx-Vyaw
VC=Vy-Vx-Vyaw
VD=Vy+Vx+Vyaw
1.5 根据底盘速度解算出各个轮子的速度后进行控制即可
电机采用速度环+电流环串级控制,会在后续博客文章中进行讲解。
2. 底盘跟随云台
2.1 底盘跟随云台需要实现的效果
遥控器左摇杆控制底盘前后左右运动,右侧摇杆控制云台的yaw轴和pitch轴旋转。在云台yaw轴旋转时,底盘跟随云台的yaw轴同步旋转。
2.2 实现思路
机器人云台yaw轴旋转由一个GM6020电机控制。我们可以通过PID控制,将反馈值设置为从编码器读取出的GM6020电机的角度(此处应该使用连续角度,需在读取数据时自行进行数据处理),期望值设置为“0”,被控对象为底盘,通过控制底盘绕yaw轴旋转,从而实现底盘跟随云台的效果。
3. 小陀螺&平动
为了降低机器人装甲板被敌方击中的概率,有前辈发明了“小陀螺”,即云台指向不变,但底盘不断绕yaw轴转动。本文会讲解如何实现“小陀螺“以及在“小陀螺”模式下进行可控移动。
3.1 小陀螺
实现小陀螺的难点在于如何保持云台指向不变。作者采用pid控制器,反馈量为安装在云台上的IMU的yaw轴角度,参考量为设定的目标角度,执行器为云台下方的GM6020电机。使用该思路可以很好地对云台指向进行控制。
3.2 小陀螺平动
我们希望以云台作为坐标系进行移动,因此我们需要通过坐标系变换,解算出底盘X、Y方向的速度。
将该速度带入底盘的运动学公式中即可控制底盘运动。