Closed pugummy closed 1 year ago
https://github.com/ZJU-FAST-Lab/Fast-Drone-250/blob/8ff64274b161bb829653faf5946656658e7e2c9f/src/realflight_modules/px4ctrl/src/controller.cpp#L41-L42
我大概理解这两行并不是直接按微分平坦算的,而是在算外环(位置速度反馈和加速度前馈)的给内环串级控制的输入,这里实际上应该是把航向旋转影响消除后应该给内环的输入(实际上是外环输出通过旋转航向投影到pitch和roll轴以便姿态控制)。应该是这个矩阵乘以[a0, a1, a2]。
这里gamma是航向角,不过我推出来roll = ( des_acc(1) * cos-des_acc(0) * sin )
,roll和作者的方向相反,可能这里和roll的方向定义有关?
这里除以重力实际上应该是一种简单有点粗暴的归一化(反正有PID)参数,所以都无所谓的。具体还请作者指正。
另外关于Recursive least squares algorithm with vanishing memory https://github.com/ZJU-FAST-Lab/Fast-Drone-250/blob/8ff64274b161bb829653faf5946656658e7e2c9f/src/realflight_modules/px4ctrl/src/controller.cpp#L135
为什么要除 rho2_
,原始的Recursive least squares algorithm这里似乎不需要除
@dongdongbh the equations are coming from which paper? 方程式来自哪篇论文?
@FaboNo Recursive Least Squares Method
@dongdongbh 您好!请问可以把controller理解为位置控制器吗?而且没太看懂对debug_msg_赋值的意义,是为了存储计算得到的期望值将其作为内级控制器的输入吗?
debug_msg_只是为了debug方便而发布的topic,最终油门和姿态给了飞控,控制是位置和速度的P控制外加加速度前馈给到姿态控制器做串级
@dongdongbh 感谢您的回答,那controller这部分的位置控制算法是否可以替换成其他的呢?
可以
Finally understand it by reading their PPT 这里实际上用了小角度假设, 所以理论上还是SE3控制好一些,具体可参考
Minimum snap trajectory generation and control for quadrotors
@dongdongbh oh very interesting, where did you find the ppt?
Here is a video with this ppt talking about these stuff, but in Chinese.
另外关于Recursive least squares algorithm with vanishing memory
为什么要除
rho2_
,原始的Recursive least squares algorithm这里似乎不需要除
@dongdongbh Have you found any reason for this division with rho2_
? I've been wondering the same thing.
另外关于Recursive least squares algorithm with vanishing memory https://github.com/ZJU-FAST-Lab/Fast-Drone-250/blob/8ff64274b161bb829653faf5946656658e7e2c9f/src/realflight_modules/px4ctrl/src/controller.cpp#L135
为什么要除
rho2_
,原始的Recursive least squares algorithm这里似乎不需要除@dongdongbh Have you found any reason for this division with
rho2_
? I've been wondering the same thing.
Hello, do you understand the meaning of this formula?
您好!首先感谢您的分享! 请问px4ctrl里面控制器设计部分有没有参考文献呢?不是很明白控制器输出的姿态的计算方法。^_^