2自由度陀螺仪滑模控制和PID控制跟踪目标轨迹

目录

 

前言

1.陀螺仪模型

2.滑模跟踪控制

3.PID控制

4.总结


 

1.陀螺仪模型

ccf0fd2152944760bf67620c3d4d5f2a.png

2.滑模跟踪控制

对于2自由度陀螺仪有两个方向x、y跟踪,所以需要分别为两个方向单独设计滑模面,这里仍以简单的线性滑模面设计分析,有兴趣的读者可以查阅我的往期滑模文章专栏

激励选取简单的白噪声: 

3b6d0939ffad46e28b1fdb1965e3b499.png

跟踪轨迹选取简单的正弦曲线: 

79cab554338046d18ed78bc3761285ce.png

 x方向位移跟踪效果:

1952ebbccca04a9c8ca4d83c74a16af5.png

 x方向速度跟踪效果:

bba851fc166b4766b452a4200ffc63c4.png

 x方向跟踪误差:

c18d34401dfb4b8484d42b1c653fb34e.png

 由于x和y方向选取的跟踪轨迹、扰动相同,所以y方向跟踪效果和x方向一样,这里不再累赘展示。

控制输入曲线:

d99bef1f153f42caa703ebb05dcac3e6.png

3.PID控制

为了比对两者效果,同样扰动和跟踪曲线均选取与滑模控制相同,PID控制仿真结果如下:

7cb03a39914240b1b808d03d7d668803.png

60cac856fdba4a369afcb79524226356.png

27a99882e5484a67aea324c209323a53.png

82d3ecd80ede4d1892c1f662ca7b3422.png

 这里为了对比有、无控制、PID和滑模控制的效果,进行汇总x方向位移跟踪曲线,如下所示:

3bbdee94edd94a9ea065b4b61b1e5bf1.png

f3acc4b3d09440eaa73de1aa3cba48a2.png

4.总结

①可以看到PID控制和滑模控制均能跟踪目标轨迹,证实了PID参数调节和滑模控制设计的合理性;

②从PID和滑模控制跟踪效果上来看,滑模控制跟踪的误差更小,说明这里设计的滑模控制跟踪效果优于常规的PID控制。

 

 

 

 

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
前言: 开始之前先要说为什么要采用PID的算法来控制小车。玩过小车的DIY爱好者们都会碰到这样一种情况:为什么本该直线行驶的小车走着走着轨迹就会发生偏移,即所谓的“走不直”。 小车走不直的原因有:两个电机本身的驱动特性不可能完全相同,两个电机外形大小不可能是完全一致,组装时精度也会出现差异,另外轮胎在滚动时打、遇到细小的障碍物等因素都会造成左右轮的速度出现差异,从而走不直。开环控制是无法消除左右轮的速度误差的,因为上述的扰动是随机的。 要想小车走一条直线,唯有实现闭环控制,当小车受到扰动时能对左右轮及时给予反馈,修正两轮的速度偏差,从而可以走出一条直线。PID算法就是一种闭环控制算法,实现PID算法需得从硬件上实现闭环控制,即存在反馈,所以我采用的是带测速装置的电机。 项目简介: 本项目采用的是PID控制算法来修正小车行走时两轮的速度偏差,实现小车可以走直线。小车是使用一个安卓App来控制小车的行走路径,App通过App Inventor2来进行编写。 完成作品图: 需要用到的材料: 1. Arduino Uno 2. Arduino Uno的扩展板 3. DFRobot L298 双路2A直流电机驱动板 4. HC-05或HC-06的蓝牙块 5. 坦克小车底盘 6. 两个带霍尔传感器的电机 7. 锂电池 8. 杜邦线若干 软件部分: 1. Arduino IDE 2. App Invent 附件内容截图:
### 回答1: STM32是一款先进的单片机,具有高效的运算能力和丰富的外设资源,可以用来控制各种智能设备。PID控制器是一种广泛采用的控制算法,可以根据给定的目标值和实际值来调整输出信号,使系统的误差最小化。陀螺6050是一种能够感知运动状态的传感器,可以检测车辆的倾斜角度和转弯方向,从而实现精确的控制。 在利用STM32控制小车直线行驶时,可以将陀螺PID控制器结合起来,实现精准的控制。首先,通过陀螺6050获取小车倾斜角度和转向方向,将数据传输到STM32中进行处理。然后,根据目标值和实际值的差距,调整控制信号,使小车能够稳定地行驶。 具体来说,首先要进行数据采集和处理,得到各项数据,包括小车当前位置、速度、角度等。然后,将这些数据传输到PID控制器中,进行计算得到控制信号。最后,将控制信号输出到小车电机中,控制小车的运动。 需要注意的是,合理设置PID控制器的参数,以及根据陀螺的数据实时调整控制信号,才能实现精确的控制。此外,还要做好电路设计和布局,以保证信号传输的稳定性和可靠性。 ### 回答2: 首先,PID控制器是一种常见的控制算法,它可以通过不断地监测目标状态与实际状态的差距,并在每一次测量中对差距进行调整,最终达到期望的控制效果。其中,PID控制器包括比例控制、积分控制和微分控制三部分,这三部分的联合作用可以对系统进行精细优化。 其次,陀螺6050是一种能够测量随动特性和角加速度的MEMS传感器。在小车行驶过程中,陀螺能够实时监测车身的姿态和旋转状态,从而掌控整个车辆的运动。 最后,结合以上的两个元件,通过STM32控制小车直线行驶,具体步骤如下: 1、设计PID控制算法,根据小车速度的反馈信号进行调整 2、使用软件解算法实现陀螺6050的读取和处理,获得车体角度变化信息 3、根据陀螺获得的实时角度信息,加入到PID控制算法中进行计算,得出相应的驱动控制量 4、将驱动控制量通过STM32芯片发送给小车的驱动装置,实现小车行驶控制 总之,利用PID控制器和陀螺6050实现小车直线行驶,需要进行多方面的相关设计与调试,其中消息传递和数学型的选择也非常重要。通过科学合理的系统设计可以保证小车最终实现精确稳定的直线行驶。 ### 回答3: stm32作为一款性能稳定、功能强大的单片机,被广泛应用于各种控制系统中。其中,利用pid陀螺6050控制小车直线行驶,是一种比较常见的应用。 PID控制器是一种常见的反馈控制器,可适用于各种控制系统。它通过不断调整输出信号,使得误差尽量趋近于零,从而保持系统的稳定性。在该应用中,PID控制器通过对小车速度的调整,来维持其直线行驶。具体来说,PID控制器会根据小车的位置偏差(即期望位置与实际位置之差)、速度偏差(即期望速度与实际速度之差)与加速度偏差(即期望加速度与实际加速度之差)来调整小车的速度和方向,使其始终保持在直线行驶状态。 陀螺6050是一种高精度的惯性测量单元(IMU),可同时测量三个轴向的旋转角速度与加速度。在该应用中,陀螺6050通过实时检测小车的旋转角速度,来判断其行驶方向。具体来说,当小车出现偏移时,陀螺6050会检测到旋转角速度的变化,并通过信号输出,让PID控制器对速度进行调整,使小车重新回到直线行驶状态。 综上所述,利用PID陀螺6050控制小车直线行驶,可以有效保证小车的稳定性和准确性。同时,这种应用也为单片机在控制系统中的应用提供了新的思路和可能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. 邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值