求个自平衡系统算法

jiaoshiyao 2015-10-09 03:14:55
陀螺仪 有两个数值 X Y 都是-180到180之间的数值
如果 设备向左偏 那么 X值会减小 如果设备向前偏 那么 Y值会减小
如果设备偏了 那么就要调整 调整 有4种调法 就是 左右 上下
例如 当前设备向左 偏了 10度 现在 X的值 为-10 那么就要向右 调整设备
每个方向的调整 都有一个数值
例如 向右调整 有一个范围值 0 到1000
如果当前X的值 为-10 那么 向右调整 100
0.1秒 后 X的值为 10 然后 就要向左 调整 100
又0.1秒 X的值变成了-10
然后。。这里的100肯定 不能写死
求这套算法
...全文
209 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
runerback 2015-10-09
  • 打赏
  • 举报
回复
(r*sin, r*cos) 就是个圆上的点,不是很好算补偿了吗。。
runerback 2015-10-09
  • 打赏
  • 举报
回复
感觉用正余弦来做很直观啊
jiaoshiyao 2015-10-09
  • 打赏
  • 举报
回复
引用 6 楼 wanghui0380 的回复:
r*sin(10度)=100 那么你可以求到r 那么 r*cos(角度) 就是你要的补偿控制距离 , 他会根据你的角度在[-r ,r]之间变化,
不通的地区 不通的关系 这是一个飞机的 平衡系统 也就是说 10 有可能对应100 有可能 对应200
jiaoshiyao 2015-10-09
  • 打赏
  • 举报
回复
引用 6 楼 wanghui0380 的回复:
r*sin(10度)=100 那么你可以求到r 那么 r*cos(角度) 就是你要的补偿控制距离 , 他会根据你的角度在[-r ,r]之间变化,
。。。不行 首先 10 和 100的 关系 我不知道 在未开始之前 我根本 就求不出 R的 值
wanghui0380 2015-10-09
  • 打赏
  • 举报
回复
r*sin(10度)=100 那么你可以求到r 那么 r*cos(角度) 就是你要的补偿控制距离 , 他会根据你的角度在[-r ,r]之间变化,
jiaoshiyao 2015-10-09
  • 打赏
  • 举报
回复
引用 4 楼 wanghui0380 的回复:
那就这么说把sin(30度)+cos(30度) 等于多少 如果你获取的数据可以表示为一个正弦波,那么你实际要的补偿控制体系就是一个余弦波。
直接贴代码吧 我小时候家里穷 我没怎么上过学.
wanghui0380 2015-10-09
  • 打赏
  • 举报
回复
那就这么说把sin(30度)+cos(30度) 等于多少 如果你获取的数据可以表示为一个正弦波,那么你实际要的补偿控制体系就是一个余弦波。
jiaoshiyao 2015-10-09
  • 打赏
  • 举报
回复
引用 1 楼 wanghui0380 的回复:
转换成波系或者向量系的数据就ok了 波系就直接算出角度,cos函数反向叠加上去 向量系原理相同
直接贴代码吧
jiaoshiyao 2015-10-09
  • 打赏
  • 举报
回复
引用 1 楼 wanghui0380 的回复:
转换成波系或者向量系的数据就ok了 波系就直接算出角度,cos函数反向叠加上去 向量系原理相同
你猜我 听懂了吗....................
wanghui0380 2015-10-09
  • 打赏
  • 举报
回复
转换成波系或者向量系的数据就ok了 波系就直接算出角度,cos函数反向叠加上去 向量系原理相同

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧