OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10005|回复: 5

光流定点PID调试求助

[复制链接]

48

主题

157

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2018-4-21
在线时间
105 小时
发表于 2019-2-16 16:24:04 | 显示全部楼层 |阅读模式
20金钱
姿态PID已经没有问题了,这两天一直在调定点。
思路是把光流输出的距离做PID运算作为外环 输出给内环PID的期望 内环结果作为姿态的期望
调了两天的内环P 稍微大点就超调 小了又定不住飘走
光流用的是匿名光流 数据用的是修正过的数据
现在不知道怎么继续调了 特来求助

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2019-2-17 01:14:16 | 显示全部楼层
回复

使用道具 举报

0

主题

64

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2012-6-27
在线时间
69 小时
发表于 2019-6-18 09:43:06 | 显示全部楼层
帮顶!!!
回复

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2017-1-5
在线时间
38 小时
发表于 2019-7-11 09:46:08 | 显示全部楼层
光流控制和姿态控制一样分两环,外环进行位置控制计算目标速度给内环,内环进行速度控制,计算目标角度。
1、调试先调速度环,设定目标速度为0时,能实现缓慢漂移或者几乎不怎么飘了,轻轻推动有抵抗,猛地推一下能稳稳地刹车到速度为0,就差不多了。
2、速度环调好了,位置环一般一个P就可以了。
需要注意的是一些需要补偿的地方。
1、机身姿态变化对光流数据的补偿,有两种方式,看你怎么去计算速度和位移。一种是先用光流数据积分出位移,对这个位移进行角度补偿,得到不受姿态影响的位置。再用相邻两次的位置差结合dt计算速度。用这个速度进行滤波后再融合加速度(旋转到水平的加速度),得到速度环控制需要的水平速度。 一种是把每次读取到的像素位移直接作为速度(其实周期读取,也相对于就是速度了)进行角速度补偿,补偿后再和加速度融合,得到不受姿态变化影响的水平速度。
2、光流需要结合相对高度,对像素位移进行缩放,相对高度越高移动相同的位置得到的像素位移越小。

大体思路就这样,希望能帮到你。
有不对或者建议欢迎朋友们指正和分享。
回复

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2017-1-5
在线时间
38 小时
发表于 2019-7-11 09:46:35 | 显示全部楼层
光流控制和姿态控制一样分两环,外环进行位置控制计算目标速度给内环,内环进行速度控制,计算目标角度。
1、调试先调速度环,设定目标速度为0时,能实现缓慢漂移或者几乎不怎么飘了,轻轻推动有抵抗,猛地推一下能稳稳地刹车到速度为0,就差不多了。
2、速度环调好了,位置环一般一个P就可以了。
需要注意的是一些需要补偿的地方。
1、机身姿态变化对光流数据的补偿,有两种方式,看你怎么去计算速度和位移。一种是先用光流数据积分出位移,对这个位移进行角度补偿,得到不受姿态影响的位置。再用相邻两次的位置差结合dt计算速度。用这个速度进行滤波后再融合加速度(旋转到水平的加速度),得到速度环控制需要的水平速度。 一种是把每次读取到的像素位移直接作为速度(其实周期读取,也相对于就是速度了)进行角速度补偿,补偿后再和加速度融合,得到不受姿态变化影响的水平速度。
2、光流需要结合相对高度,对像素位移进行缩放,相对高度越高移动相同的位置得到的像素位移越小。

大体思路就这样,希望能帮到你。
有不对或者建议欢迎朋友们指正和分享。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2021-9-8
在线时间
1 小时
发表于 2021-9-9 00:08:26 | 显示全部楼层
会灰的鱼 发表于 2019-7-11 09:46
光流控制和姿态控制一样分两环,外环进行位置控制计算目标速度给内环,内环进行速度控制,计算目标角度。
...

你好,我有一个困惑想请教一下。
就是机身姿态的补偿,如何计算,我看正点原子的代码,是计算roll或pitch的正切再乘480,我寻思着不应该是正切除以高度,得到水平面的补偿么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 15:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表