weixin_39616379
weixin_39616379
2020-11-26 18:04

New guidance max bank attempt

  • Split PD and I-gain with separate max bank
  • no wind: integrator (trim attitude) = 0, PD maxbank = -20 to 20 extra: total: -20 to 20
  • huge wind: integrator (trim attitude) = 20, PD maxbank = -20 to 20 extra: total: 0 to 40
  • Put gain before integrator to get better insight in the saturation values
  • Reduce integration overshoots while increasing integration speed by adding the speed error as well
  • no speed error: integrate as before
  • counterproductive speed error, integrate faster
  • if the position error is already decreasing fast, no integrator is needed or it will overshoot

Not yet test-flown: posted to get feedback / test-volonteers

该提问来源于开源项目:paparazzi/paparazzi

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

10条回答

  • weixin_39794340 weixin_39794340 5月前

    This should really be tested on top of the changes from pull request #539

    点赞 评论 复制链接分享
  • weixin_39794340 weixin_39794340 5月前

    So this doesn't even compile, since there are changes in the header and telemetry missing. Also I don't think it's a good idea to have the integrator after the again is already applied to the commands. And the integrator scale is completely off, it will immediately crash like this...

    I fixed the your commits so it at least compiles in the guidance_h_max_bank branch and based it ontop of the horizontal guidance improvements from the quat_transformations branch as per #539, but it still doesn't work at all... Closing this issue... please first fix the scaling in the guidance_h_max_bank branch and test in sim...

    点赞 评论 复制链接分享
  • weixin_39616379 weixin_39616379 5月前

    Hi Felix,

    Thank you for looking at the ideas. Please note that the intention here was to get feedback about the idea before more time was put into it.

    There were three ideas:

    1) to have separate limits for I and PD parts 2) to have I-gain before integrator so the value in the integrator becomes the trim attitude 3) to add a damping term in the integrator to significantly reduce overshoots and bad integration and speed up the learning

    If these make sense to many it is worth putting a lot of effort in it.

    -Christophe

    On Thu, Sep 26, 2013 at 3:03 PM, Felix Ruess notifications.comwrote:

    So this doesn't even compile, since there are changes in the header and telemetry missing. Also I don't think it's a good idea to have the integrator after the again is already applied to the commands. And the integrator scale is completely off, it will immediately crash like this...

    I fixed the your commits so it at least compiles in the guidance_h_max_bank branch and based it ontop of the horizontal guidance improvements from the quat_transformations branch as per #539https://github.com/paparazzi/paparazzi/pull/539, but it still doesn't work at all... Closing this issue... please first fix the scaling in the guidance_h_max_bank branch and test in sim...

    — Reply to this email directly or view it on GitHubhttps://github.com/paparazzi/paparazzi/pull/546#issuecomment-25165457 .

    点赞 评论 复制链接分享
  • weixin_39879522 weixin_39879522 5月前

    Wow ... its nice Christophe.

    I have the same idea about I term some time ago but i never put in practice. I will test your branch ASAP

    点赞 评论 复制链接分享
  • weixin_39794340 weixin_39794340 5月前

    , as we already discussed the idea is good, but also as mentioned I don't think doing the integration of the command after applying the again is good.

    this does not work yet! If you try the current state of the guidance_h_max_bank branch on your real quad it will crash!

    This should first be running properly in sim before testing on a real vehicle.

    点赞 评论 复制链接分享
  • weixin_39616379 weixin_39616379 5月前

    https://github.com/agressiva Thank you for your reply. As mentioned, the code is not considered ready but an earlier version has flown last week (prior to rebasing onto quat_transformation branch) and the result was that proper scaling of max_pd_bank (we flew with 15) and max_i_bank (also 15 deg) and i-gain and all fractions in between still needed more work (so we did not use it yet in the competition). The code as it was this morning would make your quad fly away aggressively because of a merge error but that has now been solved. If you start with a very low integrator gain the only risk is it will hover next to its waypoint. So I highly appreciate the offer for help.

    : Thank you for doing the rebase as amongst others the feedforward on the throttle at high banks is very interesting. The reason your simulation crashed however is you were accidently overwriting +45 degrees at the end of the function. The reason I committed the code without rebase is because that is what had flown.

    -Christophe

    On Thu, Sep 26, 2013 at 11:16 PM, Eduardo Reginato lavratti < notifications.com> wrote:

    Wow ... its nice Christophe.

    I have the same idea about I term some time ago but i never put in practice. I will test your branch ASAP

    Date: Thu, 26 Sep 2013 12:30:12 -0700 From: notifications.com To: paparazzi.github.com Subject: Re: [paparazzi] New guidance max bank attempt (#546)

    Hi Felix,

    Thank you for looking at the ideas. Please note that the intention here was

    to get feedback about the idea before more time was put into it.

    There were three ideas:

    1) to have separate limits for I and PD parts

    2) to have I-gain before integrator so the value in the integrator becomes

    the trim attitude

    3) to add a damping term in the integrator to significantly reduce

    overshoots and bad integration and speed up the learning

    If these make sense to many it is worth putting a lot of effort in it.

    -Christophe

    On Thu, Sep 26, 2013 at 3:03 PM, Felix Ruess <notifications.com

    wrote:

    So this doesn't even compile, since there are changes in the header and

    telemetry missing.

    Also I don't think it's a good idea to have the integrator after the again

    is already applied to the commands.

    And the integrator scale is completely off, it will immediately crash like

    this...

    I fixed the your commits so it at least compiles in the

    guidance_h_max_bank branch and based it ontop of the horizontal guidance

    improvements from the quat_transformations branch as per #539< https://github.com/paparazzi/paparazzi/pull/539>,

    but it still doesn't work at all...

    Closing this issue... please first fix the scaling in the

    guidance_h_max_bank branch and test in sim...

    Reply to this email directly or view it on GitHub< https://github.com/paparazzi/paparazzi/pull/546#issuecomment-25165457>

    .

    — Reply to this email directly or view it on GitHub.

    — Reply to this email directly or view it on GitHubhttps://github.com/paparazzi/paparazzi/pull/546#issuecomment-25204621 .

    点赞 评论 复制链接分享
  • weixin_39794340 weixin_39794340 5月前

    the version you previously pushed to the guidance_max_bank branch was definitely not the one that was flying since it didn't even compile. I think the version that flew was already based on the quat_transformations branch since it was already using these new variable names... and it also wasn't working properly before the total_max_bank mistake (due to wrong scaling). But thanks a lot for fixing it.

    点赞 评论 复制链接分享
  • weixin_39794340 weixin_39794340 5月前

    btw, this works much better in NPS (with simulated wind) than before. Shall I just push these changes to quat_transformations branch so it can be tested/discussed with issue #539? Or should we rather test the quat_transformations in real flight (and merge) before without this?

    点赞 评论 复制链接分享
  • weixin_39781550 weixin_39781550 5月前

    I think we can merge this with the quat_transformations and test them both at once, since this already relies on the quat_transformations and works fine in the simulator. Then we can test them both at once in test flights.

    点赞 评论 复制链接分享
  • weixin_39794340 weixin_39794340 5月前

    These improvements are merged into the quat_transformations branch which is in pull request #539, flight tests would be appreciated. Please continue discussion there...

    点赞 评论 复制链接分享

相关推荐