二轮车平衡车轨迹跟踪的Simulink仿真

最近做一些二轮平衡车的相关研究,做了一些分析,记录如下。

文章目录

  • 一、二轮平衡车模型分析?
  • 二、小车初始状态分析
  • 三、Simulink模型建立
  • 四、轨迹追踪
  • 四、总结


一、二轮平衡车模型分析?

二轮车的动力学模型已在博客两轮差速器了详细的说明,这里不在赘述。需要说明的是,二轮差速平衡车的左右轮可以根据相应控制策略会具有不同的转速,以调整不同的姿态信息。对应的动力学方程为:
二轮车平衡车轨迹跟踪的Simulink仿真_第1张图片
那么小车的前进是速度为:
在这里插入图片描述
此时对应的角速度为:
在这里插入图片描述
由此可以求出左右轮速度与整个小车速度和角速度之间的关系。

二、小车初始状态分析

对于任何动力学方程,都有初始解,假设小车的初始状态为(80,85,0)即小车在x=80,y=85处,此时角速度w=0,速度vc=0;再进一步假设,小车要追踪的轨迹为:
在这里插入图片描述
那么对应的程序为:

clc
clear
t = 0:0.01:70;
x = 90+2*sin(0.3*t);
y = 90+2*cos(0.3*t);
plot(x,y,'b')
hold on
plot(80,85,'r.','markersize',30)
xlabel('X')
ylabel('Y')

此时作图为:
二轮车平衡车轨迹跟踪的Simulink仿真_第2张图片
红点对应的就是初始小车所处的位置,要是实现小车沿着上面的圆(我也不知道为什么看这像椭圆!!!哈哈哈)运动,就需要不断给予小车位置信息,然后小车根据实时位置调整相应的姿态信息,实现实时跟踪。

三、Simulink模型建立

根据第一节所建立的动力学模型,搭建相应的Simulink模型为:
二轮车平衡车轨迹跟踪的Simulink仿真_第3张图片
假设左右轮速度相等时,其轨迹为:
二轮车平衡车轨迹跟踪的Simulink仿真_第4张图片
可知,在速度相等时,其轨迹做直线运动,在速度不相等时,对应的轨迹为:
二轮车平衡车轨迹跟踪的Simulink仿真_第5张图片
对应的轨迹为圆周运动,因此可以调整左右轮转速调整姿态变化。

四、轨迹追踪

在博客两轮差速移动机器人对控制策略进行深刻描述,非常准确,一言以蔽之,就是通过对当前时刻小车的位置,与当前时刻理想的位置之间的距离差和角度差进行控制,以达到调整左右车轮转速的目的。最简单也是最易上手的控制算法就是PID控制,通过调整PID对应的参数达到轨迹追踪的目的。其控制模型为:
二轮车平衡车轨迹跟踪的Simulink仿真_第6张图片
得出的轨迹跟踪图为:

二轮车平衡车轨迹跟踪的Simulink仿真_第7张图片
虽然的轨迹不是那么精确,存在一定的误差,但可以通过相关控制参数对其进行调整。

四、总结

轨迹追踪控制手段非常之多,PID控制是最简单的,但其误差较大,还需研究其他控制方法。

你可能感兴趣的:(自动驾驶,矩阵,人工智能)