OpenEdv-开源电子网

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

关于minifly yaw轴pid控制的问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2019-2-12
在线时间
0 小时
发表于 2019-2-12 14:00:10 | 显示全部楼层 |阅读模式
1金钱
if (RATE_DO_EXECUTE(ATTITUDE_UPDATE_RATE, tick)) /* 500Hz */  
{
  if(setpoint->isAltHold == false)
  {
   actualThrust = setpoint->thrust;
  }
  if(control->flipDir == CENTER)
  {
   attitudeDesired.yaw -= setpoint->attitude.yaw/ATTITUDE_UPDATE_RATE;
   while(attitudeDesired.yaw > 180.0f)
    attitudeDesired.yaw -= 360.0f;
   while(attitudeDesired.yaw < -180.0f)
    attitudeDesired.yaw += 360.0f;
  }

  attitudeDesired.roll = setpoint->attitude.roll;  
  attitudeDesired.pitch = setpoint->attitude.pitch;
  
  attitudeAnglePID(&state->attitude, &attitudeDesired, &rateDesired);
  
  if(control->flipDir != CENTER)
  {
   rateDesired.pitch = setpoint->attitude.pitch;
   rateDesired.roll = setpoint->attitude.roll;
  }
  attitudeRatePID(&sensors->gyro, &rateDesired, control);   

不太明白怎么实现的yaw轴转动速率的控制,尤其红色部分第一行,求解答!

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 22:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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