RoboMaster

标题: 「2019」「RM圆桌」第十七期 陀螺仪 [打印本页]

作者: robomaster    时间: 2019-6-27 22:37
标题: 「2019」「RM圆桌」第十七期 陀螺仪
「RM圆桌」第十七期 陀螺仪

[attach]24037[/attach]

你的云台又疯了吧(手动滑稽)
你的陀螺仪又飘了吧(手动滑稽)

本次我们邀请到RM最可爱的攻城狮 @罗品
解答大家对陀螺仪的疑惑


圆桌时间:2019年6月28日(周五) 19:00-20:00
圆桌嘉宾:@罗品(论坛昵称:@陈小豪右边童鞋)  
主持人:@花师小哲

温馨提示:
在直播期间,大家可以直接移步至论坛技术交流版块,直播墙会自动实时更新内容
本次活动,有一个小时的提问时间,嘉宾会根据大家的提问顺序,依次回答大家的问题,欢迎积极留言!

嘉宾往期干货直通车:
如何优雅的翻车 https://bbs.robomaster.com/thread-7862-1-1.html
DR16战车遥控器防错误处理 https://bbs.robomaster.com/thread-8617-1-1.html


===============================================
1、有自制陀螺仪的吗?我们的陀螺仪受发外店家影响很大,有一批在电压稍高的时候就会飘
电压较高可能导致温度升温比较快,导致零漂改变,也可能是超过芯片容许电压导致工作不正常。

2、请问一下陀螺仪的回传频率对控制影响很大吗,控制频率是不是必须要低于陀螺仪的回传频率?
肯定有影响的,控制频率可以和陀螺仪回传频率相同,控制频率越高,对应的控制带宽也高

3、陀螺仪的回传频率一般达到多高能满足对云台控制的要求,100Hz够吗?
100Hz 我认为不够,500Hz以上吧,高频率可以提高云台控制响应,低频率下为了保证云台不发散,往往降低了带宽,导致响应不够

4、据说有学校用陀螺仪控制上岛姿态,能控制的较好吗?做起来容易吗?
我觉得可以控制吧,具体没有做过,也不好确定

5、云台疯掉一般都是什么情况所导致,如何解决呢?
可能由于遥控器误码,PID没调好, 外部受到较大震动,电机电源线没有接好等等吧,分析输入输出看一下原因再来确定

6、请问一下陀螺仪没开磁力计,零漂比较严重。云台抖动的时候会往一边漂,这个有什么算法解决吗?
零漂如果是开机的就比较漂的话,可以尝试校准零漂保存进flash中,云台抖动频率过大也会影响姿态解算,陀螺仪可以加上减震装置减少抖动。

7、往届老队员说去年板子的磁力计不能用,所以一直是关的,麻烦问下现在A板的磁力计可以用吗?
A板的磁力计可以读数据,可以谷歌一下芯片手册,另外使用磁力计也应注意一下环境干扰

8、那如果陀螺仪频率提不上去,还可以通过什么其他方式提高带宽吗?比如对反馈做一些预测?
可以再放一个只用于角速度的陀螺仪,角度环频率可以低一些,但内环角速度环可以设置高一些

9、有没有推荐的陀螺仪呢?
可以用icm系列 比如icm 20602等等

10、处理陀螺仪漂移一般都有哪些方法?
一般是采集一段时间的静止数据均值作为零漂估计,这样的基本上使用A板的mpu6500,差不多做的1分钟1°漂移吧。也可以使用视觉辅助进行光流来判断陀螺仪漂移进行校准。

11、之前我们把云台pid调好了,然后过了几分钟,也没人碰云台,它自己就暴走了,关点重启后就好了,但是放上几分钟又自己疯掉了。请问这跟陀螺仪有关系吗?我们用的是mpu6050
感觉和陀螺仪没有关系,如果是没有外部冲击,陀螺仪芯片应该是没问题的,而这样稳定复现的问题,应该是程序问题。

12、陀螺仪算法用DMP还是高低通互补滤波,卡尔曼滤波等好呢?
高低通吧,DMP频率太低了,卡尔曼滤波和你构建的模型相关

13、在扭腰的时候,云台会出现-4到+4度的晃动,这是观测陀螺仪反馈的角度得出的,请问这种现象主要和什么有关?和陀螺仪的回传频率有关系吗?
云台重心不在底盘中心的话,扭腰的转动对于云台控制是一种干扰,PID控制是误差控制,所以没有办法消除这个,要解决的话还是从减少干扰的角度出发,减少云台的惯量,云台位置尽量在底盘中心,底盘扭腰转向的时候尽量缓慢。

14、陀螺仪要安装在车子上的中轴线上吗?
是的,尽量远离震动源,mems陀螺仪会受到加速度的影响

15、我们尝试过增大或减小前后轮的速度差来弥补重心不在中心造成的误差,但发现效果不明显。小陀螺的话,是不是这种现象会有所缓解
是的,对于一个方向的干扰,控制可以收敛到稳定值,使得云台不抖,起步和停止是比较严重的干扰,[size=18.018px]对于扭腰来讲,这两个干扰周期产生,所以云台抖动

16、用卡尔曼算法在快速运动的时候跟不上怎么办?就是指云台转过一定的角度,但是陀螺仪用卡尔曼计算出来的角度要慢几十ms才能达到转过的角度。观测就是磁力计计算得到的角度,预测是陀螺仪积分,但是磁力计数据不稳定,噪声较大,参数调大后得到的角度在静止时也会有波动
这个是你构建的卡尔曼滤波方程问题,设置了较低的频率带宽导致延迟过大,类似低通滤波器设置较低的带宽导致延迟过大。我觉得慢几十ms的原因是角度收敛到磁力计角度的过程

17、如果利用板载mpu做yaw角度控制,在云台俯仰的时候,出现控制分别为超调和滞后会有什么原因呢?
我觉得是你的角速度没有做旋转的原因,云台俯仰后,云台的z轴不再是陀螺仪的z轴,那么陀螺仪z轴测量的角速度是云台z轴旋转的一个分量,这时候陀螺仪的xy轴也有部分分量,需要旋转后保证测量的云台角速度正确,同时云台俯仰后转动惯量也不同,对控制也有一定影响。

18、我们的陀螺仪有时候会在YAW轴上出现位置回传数据不变但是角速度回传数据却存在的情况,请问这是什么情况?有解决方法吗?这一个不能叫零飘吧。
是角度不变,但角速度不是零?可能是姿态解算的时候使用了死区处理,对于低于一定值的角速度处理成0,这样角度保持不变,但角速度不为零。角度是角速度的积分,如果没死区处理,角度也是会波动的,不会静止不变

19、请问上面说的这个旋转是怎样操作的呢?
如果是x轴朝前,y轴朝左,z轴朝上,那么应该是cospitch * gyro_z - sin pitch * gyro_x



作者: 我开心    时间: 2019-6-28 18:45
有自制陀螺仪的吗我们的陀螺仪受发外店家影响很大,有一批在电压稍高的时候就会飘
作者: 花师小哲    时间: 2019-6-28 19:00
大家晚上好,本次圆桌依然由我来主持
作者: 花师小哲    时间: 2019-6-28 19:00
有请我们的嘉宾——RM嵌入式攻城狮罗品(论坛昵称:陈小豪右边童鞋)
作者: 花师小哲    时间: 2019-6-28 19:00
那么,我们开始吧
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:00
大家晚上好!
作者: 花师小哲    时间: 2019-6-28 19:00
大家多多提问哈
作者: 托马斯。    时间: 2019-6-28 19:00
自制好像要技术
作者: 我开心    时间: 2019-6-28 19:01
感觉本次人有点少鸭,我觉得陀螺仪还是很关键的
作者: 山野个小菜花呦    时间: 2019-6-28 19:01
蹲一下大佬的回答
作者: 我开心    时间: 2019-6-28 19:01
其实还好啦,排一下PCB,发外,焊接有点麻烦
作者: 我开心    时间: 2019-6-28 19:02
哎,如果有钱,就会换好的啦哈哈哈
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:02
我开心 发表于 2019-6-28 18:45
有自制陀螺仪的吗我们的陀螺仪受发外店家影响很大,有一批在电压稍高的时候就会飘 ...

电压较高可能导致温度升温比较快,导致零漂改变,也可能是超过芯片容许电压导致工作不正常。
作者: chinazc123    时间: 2019-6-28 19:03
请问一下陀螺仪的回传频率对控制影响很大吗,控制频率是不是必须要低于陀螺仪的回传频率?
作者: chinazc123    时间: 2019-6-28 19:04
陀螺仪的回传频率一般达到多高能满足对云台控制的要求,100Hz够吗?

作者: 陈小豪右边童鞋    时间: 2019-6-28 19:05
请问一下陀螺仪的回传频率对控制影响很大吗,控制频率是不是必须要低于陀螺仪的回传频率?
肯定有影响的,控制频率可以和陀螺仪回传频率相同,控制频率越高,对应的控制带宽也高
作者: 我开心    时间: 2019-6-28 19:07
据说有学校用陀螺仪控制上岛姿态,能控制的较好吗?做起来容易吗
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:07
陀螺仪的回传频率一般达到多高能满足对云台控制的要求,100Hz够吗?
100Hz 我认为不够,500Hz以上吧,高频率可以提高云台控制响应,低频率下为了保证云台不发散,往往降低了带宽,导致响应不够
作者: 我开心    时间: 2019-6-28 19:07
突然想到RM微信一篇推送讲自制大陀螺仪的哈哈哈
作者: 北杨    时间: 2019-6-28 19:08
云台疯掉一般都是什么情况所导致,如何解决呢?
作者: lyx1998    时间: 2019-6-28 19:08
请问一下陀螺仪没开磁力计,零漂比较严重。云台抖动的时候会往一边漂,这个有什么算法解决吗?
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:08
据说有学校用陀螺仪控制上岛姿态,能控制的较好吗?做起来容易吗
我觉得可以控制吧,具体没有做过,也不好确定
作者: lyx1998    时间: 2019-6-28 19:09
往届老队员说去年板子的磁力计不能用,所以一直是关的,麻烦问下现在A板的磁力计可以用吗?
作者: chinazc123    时间: 2019-6-28 19:10
那如果陀螺仪频率提不上去,还可以通过什么其他方式提高带宽吗?比如对反馈做一些预测
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:11
云台疯掉一般都是什么情况所导致,如何解决呢?
可能由于遥控器误码,PID没调好, 外部受到较大震动,电机电源线没有接好等等吧,分析输入输出看一下原因再来确定。
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:13
请问一下陀螺仪没开磁力计,零漂比较严重。云台抖动的时候会往一边漂,这个有什么算法解决吗?
零漂如果是开机的就比较漂的话,可以尝试校准零漂保存进flash中,云台抖动频率过大也会影响姿态解算,陀螺仪可以加上减震装置减少抖动。
作者: ASR-Crash    时间: 2019-6-28 19:15
有没有推荐的陀螺仪呢?
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:15
往届老队员说去年板子的磁力计不能用,所以一直是关的,麻烦问下现在A板的磁力计可以用吗?
A板的磁力计可以读数据,可以谷歌一下芯片手册,另外使用磁力计也应注意一下环境干扰
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:18
那如果陀螺仪频率提不上去,还可以通过什么其他方式提高带宽吗?比如对反馈做一些预测
可以再放一个只用于角速度的陀螺仪,角度环频率可以低一些,但内环角速度环可以设置高一些。
作者: chinazc123    时间: 2019-6-28 19:18
处理陀螺仪漂移一般都有哪些方法
作者: 350317008    时间: 2019-6-28 19:19
之前我们把云台pid调好了,然后过了几分钟,也没人碰云台,它自己就暴走了,关点重启后就好了,但是放上几分钟又自己疯掉了。请问这跟陀螺仪有关系吗?我们用的是mpu6050
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:20
有没有推荐的陀螺仪呢?
可以用icm系列 比如icm 20602等等
作者: DYchen    时间: 2019-6-28 19:20
陀螺仪算法用DMP还是高低通互补滤波,卡尔曼滤波等好呢。。
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:22
本帖最后由 陈小豪右边童鞋 于 2019-6-28 19:49 编辑

处理陀螺仪漂移一般都有哪些方法
一般是采集一段时间的静止数据均值作为零漂估计,这样的基本上使用A板的mpu6500,差不多做的1分钟1°漂移吧。也可以使用视觉辅助进行光流来判断陀螺仪漂移进行校准。
作者: 我开心    时间: 2019-6-28 19:22
我觉得高低通互补滤波就好
作者: 我开心    时间: 2019-6-28 19:22
但还是要看实际效果
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:24
之前我们把云台pid调好了,然后过了几分钟,也没人碰云台,它自己就暴走了,关点重启后就好了,但是放上几分钟又自己疯掉了。请问这跟陀螺仪有关系吗?我们用的是mpu6050
感觉和陀螺仪没有关系,如果是没有外部冲击,陀螺仪芯片应该是没问题的,而这样稳定复现的问题,应该是程序问题。
作者: 時光    时间: 2019-6-28 19:24
在扭腰的时候,云台会出现-4到+4度的晃动,这是观测陀螺仪反馈的角度得出的,请问这种现象主要和什么有关?和陀螺仪的回传频率有关系吗

作者: hust_lyc    时间: 2019-6-28 19:26
用卡尔曼算法在快速运动的时候跟不上怎么办?
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:26
陀螺仪算法用DMP还是高低通互补滤波,卡尔曼滤波等好呢
高低通吧,DMP频率太低了,卡尔曼滤波和你构建的模型相关。
作者: DYchen    时间: 2019-6-28 19:28
陀螺仪要安装在车子上的中轴线上吗
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:29
在扭腰的时候,云台会出现-4到+4度的晃动,这是观测陀螺仪反馈的角度得出的,请问这种现象主要和什么有关?和陀螺仪的回传频率有关系吗
云台重心不在底盘中心的话,扭腰的转动对于云台控制是一种干扰,PID控制是误差控制,所以没有办法消除这个,要解决的话还是从减少干扰的角度出发,减少云台的惯量,云台位置尽量在底盘中心,底盘扭腰转向的时候尽量缓慢。
作者: 時光    时间: 2019-6-28 19:31
我们尝试过增大或减小前后轮的速度差来弥补重心不在中心造成的误差,但发现效果不明显
作者: 時光    时间: 2019-6-28 19:32
小陀螺的话,是不是这种现象会有所缓解

作者: 陈小豪右边童鞋    时间: 2019-6-28 19:33
用卡尔曼算法在快速运动的时候跟不上怎么办?
没太明白,可以描述清楚一下工况?是底盘在快速运动的时候,云台响应不足吗?可能是底盘在限制功率的情况下,旋转跟不上云台,导致云台最终的运动速度和底盘旋转速度相同?
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:34
陀螺仪要安装在车子上的中轴线上吗
是的,尽量远离震动源,mems陀螺仪会受到加速度的影响
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:35
本帖最后由 陈小豪右边童鞋 于 2019-6-28 19:54 编辑

小陀螺的话,是不是这种现象会有所缓解
是的,对于一个方向的干扰,控制可以收敛到稳定值,使得云台不抖,起步和停止是比较严重的干扰,[size=18.018px]对于扭腰来讲,这两个干扰周期产生,所以云台抖动
作者: hust_lyc    时间: 2019-6-28 19:36
就是指云台转过一定的角度,但是陀螺仪用卡尔曼计算出来的角度要慢几十ms才能达到转过的角度
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:41
本帖最后由 陈小豪右边童鞋 于 2019-6-28 19:47 编辑

就是指云台转过一定的角度,但是陀螺仪用卡尔曼计算出来的角度要慢几十ms才能达到转过的角度
这个是你构建的卡尔曼滤波方程问题,设置了较低的频率带宽导致延迟过大,类似低通滤波器设置较低的带宽导致延迟过大。可以简要说一下你卡尔曼的观测方程和计算方程吗
作者: 花师小哲    时间: 2019-6-28 19:48
大家积极提问呀

作者: 花师小哲    时间: 2019-6-28 19:48
问题收集到8点截止哈,还有问题的请尽快提问哦
作者: hust_lyc    时间: 2019-6-28 19:53
说一下你卡尔曼的观测方程和计算方程吗
观测就是磁力计计算得到的角度,预测是陀螺仪积分,但是磁力计数据不稳定,噪声较大,参数调大后得到的角度在静止时也会有波动
作者: 藤子不二熊    时间: 2019-6-28 19:53
如果利用板载mpu做yaw角度控制,在云台俯仰的时候,出现控制分别为超调和滞后会有什么原因呢?
作者: hust_lyc    时间: 2019-6-28 19:55
还有一个问题,起步和停止时加速度计会有较大的扰动,导致点头和抬头。目前我就是检测到较大加速度后就不用加速度计的值了,不知道有什么其他方法。
作者: leeka12138    时间: 2019-6-28 19:55
我们的陀螺仪有时候会在YAW轴上出现位置回传数据不变但是角速度回传数据却存在的情况,请问这是什么情况?有解决方法吗?这一个不能叫零飘吧。
作者: 陈小豪右边童鞋    时间: 2019-6-28 19:56
说一下你卡尔曼的观测方程和计算方程吗
观测就是磁力计计算得到的角度,预测是陀螺仪积分,但是磁力计数据不稳定,噪声较大,参数调大后得到的角度在静止时也会有波动
我觉得慢几十ms的原因是角度收敛到磁力计角度的过程。
作者: 陈小豪右边童鞋    时间: 2019-6-28 20:00
如果利用板载mpu做yaw角度控制,在云台俯仰的时候,出现控制分别为超调和滞后会有什么原因呢?
我觉得是你的角速度没有做旋转的原因,云台俯仰后,云台的z轴不再是陀螺仪的z轴,那么陀螺仪z轴测量的角速度是云台z轴旋转的一个分量,这时候陀螺仪的xy轴也有部分分量,需要旋转后保证测量的云台角速度正确,同时云台俯仰后转动惯量也不同,对控制也有一定影响。
作者: chinazc123    时间: 2019-6-28 20:01
请问上面说的这个旋转是怎样操作的呢?
作者: chinazc123    时间: 2019-6-28 20:01
利用什么算法吗
作者: 花师小哲    时间: 2019-6-28 20:01
八点到啦,问题收集现在截止了哦
作者: 陈小豪右边童鞋    时间: 2019-6-28 20:03
本帖最后由 陈小豪右边童鞋 于 2019-6-29 17:55 编辑

还有一个问题,起步和停止时加速度计会有较大的扰动,导致点头和抬头。目前我就是检测到较大加速度后就不用加速度计的值了,不知道有什么其他方法。
我觉得原因也可能是云台重心不在轴线上的原因,机械也尽量配平,你可以使用电机的角度做控制在平地起步,这个时候的抖动范围应该是你可以使用陀螺仪角度控制到的抖动范围,之后你可以不只检测加速度计过大,也可以通过判断遥控器给定起步控制的时候后的一段时间就不用加速度计的值。
作者: 陈小豪右边童鞋    时间: 2019-6-28 20:07
我们的陀螺仪有时候会在YAW轴上出现位置回传数据不变但是角速度回传数据却存在的情况,请问这是什么情况?有解决方法吗?这一个不能叫零飘吧。
是角度不变,但角速度不是零?可能是姿态解算的时候使用了死区处理,对于低于一定值的角速度处理成0,这样角度保持不变,但角速度不为零。角度是角速度的积分,如果没死区处理,角度也是会波动的,不会静止不变
作者: 陈小豪右边童鞋    时间: 2019-6-28 20:11
请问上面说的这个旋转是怎样操作的呢?
如果是x轴朝前,y轴朝左,z轴朝上,那么应该是cospitch * gyro_z - sin pitch * gyro_x。
作者: 花师小哲    时间: 2019-6-28 20:12
好的,那么本期的问题已经全部解答完了,本次圆桌就到此结束了
感谢嘉宾的精彩解答,辛苦啦
作者: 陈小豪右边童鞋    时间: 2019-6-28 20:13
谢谢主持人,大家晚安!
作者: 19的阳光小学妹    时间: 2019-7-18 10:04
又能学到好多
作者: 木易吖    时间: 2019-12-18 10:56
哈这也台点了吧
作者: BPJ    时间: 2020-7-22 21:13
陈小豪右边童鞋 发表于 2019-6-28 20:11
请问上面说的这个旋转是怎样操作的呢?
如果是x轴朝前,y轴朝左,z轴朝上,那么应该是cospitch * gyro_z -  ...

为什么是减的,如果设定云台Pitch轴水平时为0度,Pitch轴向上仰时的角度为正数,向下俯视时的角度为负数,则云台Z轴的角速度=gyro_z*cos(pitch) + gyro_x*sin(pitch)。想问一下是这样的吗?
作者: 炽热联队    时间: 2021-5-3 18:50
换了一下电机位置,也改了电流方向,但是上电后云台就疯了,实在难受啊




欢迎光临 RoboMaster (https://bbs.robomaster.com/) Powered by Discuz! X3.2