s四轴 怎么把pid计算出来的结果量分配到各个电机上?
我目前是这样做的 ,比如单独跳俯仰角上面的两个电机moto1=MOTO_FLY+pid.out; //增加升力不足的电机上面的PWM
moto2=MOTO_FLY-pid.out; //减小升的比较高电机上的pwm
但是我感觉这样有问题 ,如果传感器不是放在中间,相同的角度变化就需要不同的升力。
匿名 好像是这样做的但是没有看懂什么意思
moto1 = Rc_Get.THROTTLE - 1000 - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
moto2 = Rc_Get.THROTTLE - 1000 + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
moto3 = Rc_Get.THROTTLE - 1000 + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
moto4 = Rc_Get.THROTTLE - 1000 - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
任意一个电机和 三个角度的pid都有关系,而且符号更是不懂,求大神指点一二啊 关注中,我也到这了。在得出翻滚和俯仰角度后我是直接用对水平位置的偏差输送到PWM。不知道这样对不对。我现在在调试PID
motor1 = Base_PWM - roll + pitch;
motor2 = Base_PWM + roll + pitch;
motor3 = Base_PWM + roll - pitch;
motor4 = Base_PWM - roll - pitch; qinkaiabc 发表于 2014-4-15 21:33
关注中,我也到这了。在得出翻滚和俯仰角度后我是直接用对水平位置的偏差输送到PWM。不知道这样对不对。我 ...
n你是怎么得到这个关系的???? study_hardware 发表于 2014-4-16 08:26
n你是怎么得到这个关系的????
看人家的程序。
http://www.amobbs.com/thread-5544053-1-1.html
https://github.com/billhsu/MiniQ qinkaiabc 发表于 2014-4-15 21:33
关注中,我也到这了。在得出翻滚和俯仰角度后我是直接用对水平位置的偏差输送到PWM。不知道这样对不对。我 ...
你什么没有加yaw啊?昨天试飞了一下 炸了几次机都是那种一飞起来 就往一边倒啊你的也是大四吗?pid参数是多少?我是p=10 i=0 d=1 qinkaiabc 发表于 2014-4-16 08:42
看人家的程序。
http://www.amobbs.com/thread-5544053-1-1.html
你的是rollpitch 和yaw分别用一个pid 还是 公用一个? 我估计你的是十字模式,而匿名是X模式 我只是路过的 ,看看学习学习 路过,好像没看到用心的信息呢
你的疑问解决了么?是不是按照十字型飞,传感器的x y 分别落在roll 和 pitch 轴上,就是你写的这样?我现在感觉是,请帮忙确定下。 参考匿名四轴的例程
页:
[1]