{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/Firmware/issues/5324","repository_url":"https://api.github.com/repos/PX4/Firmware","labels_url":"https://api.github.com/repos/PX4/Firmware/issues/5324/labels{/name}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/5324/comments","events_url":"https://api.github.com/repos/PX4/Firmware/issues/5324/events","html_url":"https://github.com/PX4/Firmware/pull/5324","id":171185206,"number":5324,"title":"Cleanflight-style TPA test: simple linear throttle PID attenuation test","user":{"login":"kd0aij","id":2300221,"avatar_url":"https://avatars.githubusercontent.com/u/2300221?v=3","gravatar_id":"","url":"https://api.github.com/users/kd0aij","html_url":"https://github.com/kd0aij","followers_url":"https://api.github.com/users/kd0aij/followers","following_url":"https://api.github.com/users/kd0aij/following{/other_user}","gists_url":"https://api.github.com/users/kd0aij/gists{/gist_id}","starred_url":"https://api.github.com/users/kd0aij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kd0aij/subscriptions","organizations_url":"https://api.github.com/users/kd0aij/orgs","repos_url":"https://api.github.com/users/kd0aij/repos","events_url":"https://api.github.com/users/kd0aij/events{/privacy}","received_events_url":"https://api.github.com/users/kd0aij/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-08-15T14:46:59Z","updated_at":"2016-08-17T12:18:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/PX4/Firmware/pulls/5324","html_url":"https://github.com/PX4/Firmware/pull/5324","diff_url":"https://github.com/PX4/Firmware/pull/5324.diff","patch_url":"https://github.com/PX4/Firmware/pull/5324.patch"},"body":"flight test shows this is a simple fix to oscillations at high throttle, normal ACRO and STAB flight are unaffected"},"comment":{"url":"https://api.github.com/repos/PX4/Firmware/issues/comments/240394200","html_url":"https://github.com/PX4/Firmware/pull/5324#issuecomment-240394200","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/5324","id":240394200,"user":{"login":"MaEtUgR","id":4668506,"avatar_url":"https://avatars.githubusercontent.com/u/4668506?v=3","gravatar_id":"","url":"https://api.github.com/users/MaEtUgR","html_url":"https://github.com/MaEtUgR","followers_url":"https://api.github.com/users/MaEtUgR/followers","following_url":"https://api.github.com/users/MaEtUgR/following{/other_user}","gists_url":"https://api.github.com/users/MaEtUgR/gists{/gist_id}","starred_url":"https://api.github.com/users/MaEtUgR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MaEtUgR/subscriptions","organizations_url":"https://api.github.com/users/MaEtUgR/orgs","repos_url":"https://api.github.com/users/MaEtUgR/repos","events_url":"https://api.github.com/users/MaEtUgR/events{/privacy}","received_events_url":"https://api.github.com/users/MaEtUgR/received_events","type":"User","site_admin":false},"created_at":"2016-08-17T12:18:25Z","updated_at":"2016-08-17T12:18:25Z","body":"Yes, this is a well known problem and to my knowledge not solved in detail. Of course one can try to inverse the throttle curve but as already stated in #5287 the oscillation could as well arise from the high frequency response of the ESC-motor-propeller system being different under more load. As it seems to me the generalized empirical solution is to attenuate the control effort in higher thrust ranges and make this effect tunable of course. The suggested cleanflight method is probably the easiest approach that is also well-established (have never tested it myself but saw some videos on youtube). I personally would get the functionality in for extensive testing with tuning parameters not hard coded (see [https://github.com/cleanflight/cleanflight/blob/master/docs/PID%20tuning.md#tpa-and-tpa-breakpoint](url)) and disable it by default using standard parameters that lead to no effect at all (e.g. breakpoint 1 and attenuation 0).\r\n\r\nWhat I did in my tests is applying a squareroot function to all the PWM output to correct for a quadratic thrust curve. This is also just some approximation approach but it killed the higher throttle oscilations on the bebop I use and in practise this also lead to more pleasant collective throttle control by hand because the hover point is earlier and the interesting throttle range has less inclination, a bit like flying with expo... I would not claim that this is a good solution in general it is just another method of getting such behaviour."}}
{"actor":{"display_login":"MaEtUgR"}}