概述
新的问题
在前面的文章里,我们已经实现了通过网页控制小车移动,并且可以查看实时视频。如果仔细观察,你就会发现,在上一篇最后的视频里,我所控制的小车在前进时,会自己往左偏移。为什么会这样呢?
问题思考
左右两侧电机的速度不一样造成了小车跑偏的现象。理想状态下,每个电机接收相同的pwm信号,转速也会是一样的。然而实际情况中,每个电机并不可能会完全一样。也就是说在给定相同的pwm信号时,电机速度并不完全相同。经过上网查询资料,我得知需要进行闭环控制。
有两种方案:
- 添加陀螺仪传感器,通过他计算横滚,俯仰,航偏角。经过判断后调整四轮的pwm信号,使四轮的转速相匹配,进而推动小车平稳前进。
- 利用编码电机A,B相位的输出监测电机状态,进而调整电机的转速,最后控制小车四轮的转速相同
解决方法
手头没有陀螺仪,所以想先用第二种方案试一下。看到有网友说:树莓派都是通过软件pwm输出,所以频率占空比都会有所偏差。为了精确控制,现在打算增加一个stm32做下位机,树莓派和stm32之间利用串口通信。这样电机的控制放到stm32下位机。
所以我又在淘宝购买了陀螺仪和STM32ZET6开发板,总共五十元。等收到单片机以后,我要重新熟悉一下stm32的使用,以便进行后续开发。
最后
以上就是甜蜜冬瓜为你收集整理的(三)解决麦克纳姆轮小车跑偏的问题的全部内容,希望文章能够帮你解决(三)解决麦克纳姆轮小车跑偏的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复