{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/Firmware/issues/3067","labels_url":"https://api.github.com/repos/PX4/Firmware/issues/3067/labels{/name}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/3067/comments","events_url":"https://api.github.com/repos/PX4/Firmware/issues/3067/events","html_url":"https://github.com/PX4/Firmware/issues/3067","id":113206366,"number":3067,"title":"LPE Enhancements and Fixes","user":{"login":"mhkabir","id":5557676,"avatar_url":"https://avatars.githubusercontent.com/u/5557676?v=3","gravatar_id":"","url":"https://api.github.com/users/mhkabir","html_url":"https://github.com/mhkabir","followers_url":"https://api.github.com/users/mhkabir/followers","following_url":"https://api.github.com/users/mhkabir/following{/other_user}","gists_url":"https://api.github.com/users/mhkabir/gists{/gist_id}","starred_url":"https://api.github.com/users/mhkabir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhkabir/subscriptions","organizations_url":"https://api.github.com/users/mhkabir/orgs","repos_url":"https://api.github.com/users/mhkabir/repos","events_url":"https://api.github.com/users/mhkabir/events{/privacy}","received_events_url":"https://api.github.com/users/mhkabir/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-10-25T04:48:48Z","updated_at":"2015-11-09T17:40:55Z","closed_at":null,"body":"LPE has several things we can improve on, opening this to keep track of the TODOs.\r\n\r\nIssues :\r\n- [x] Fix multi-subscription and properly handle rangefinders e.g when the flow board is connected. Range-finders do not work properly in LPE at the moment when more than one is connected (#2965)\r\n- [ ] Optical flow doesn't work properly. More on this below. This is due to a combination of factors. (rangefinder issue, rotation correction not working and terrain estimate needed for scaling)\r\n\r\nEnchancements :\r\n- [ ] Use Roman's terrain estimator and differentiate between AGL vs barometric altitude. (#2882)\r\n- [ ] The terrain estimator also needs to slightly modified to take a velocity estimate from the main filter instead of using raw GPS.\r\n- [ ] Add sensor failover capabilities to recover from sensor failures. Currently uses the first(0) accel/gyro only.\r\n\r\nOptical flow performance :\r\n- [x] Don't use flight controller gyro for flow body-rotation compensation, doesn't work well. (https://github.com/PX4/Firmware/blob/master/src/modules/local_position_estimator/BlockLocalPositionEstimator.cpp#L870)\r\n- [x] Add estimation of gyro bias for the flow board's gyro and use it instead for the compensation.\r\n- [x] Add yaw rotation compensation \r\n- [ ] Use the terrain estimate for flow scaling, not local Z directly (https://github.com/PX4/Firmware/blob/master/src/modules/local_position_estimator/BlockLocalPositionEstimator.cpp#L875)\r\n\r\n@jgoppert Please feel free to edit/add to the list as required. I will be sending in PRs after flight testing for the above."},"comment":{"url":"https://api.github.com/repos/PX4/Firmware/issues/comments/155136074","html_url":"https://github.com/PX4/Firmware/issues/3067#issuecomment-155136074","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/3067","id":155136074,"user":{"login":"scott-eddy","id":5719830,"avatar_url":"https://avatars.githubusercontent.com/u/5719830?v=3","gravatar_id":"","url":"https://api.github.com/users/scott-eddy","html_url":"https://github.com/scott-eddy","followers_url":"https://api.github.com/users/scott-eddy/followers","following_url":"https://api.github.com/users/scott-eddy/following{/other_user}","gists_url":"https://api.github.com/users/scott-eddy/gists{/gist_id}","starred_url":"https://api.github.com/users/scott-eddy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scott-eddy/subscriptions","organizations_url":"https://api.github.com/users/scott-eddy/orgs","repos_url":"https://api.github.com/users/scott-eddy/repos","events_url":"https://api.github.com/users/scott-eddy/events{/privacy}","received_events_url":"https://api.github.com/users/scott-eddy/received_events","type":"User","site_admin":false},"created_at":"2015-11-09T17:40:54Z","updated_at":"2015-11-09T17:40:54Z","body":"I actually am of the mindset that we don't necessarily need to make the quality calculation on the flight controller side, we just need to have a better understanding about how the quality metric is being calculated.  For instance a feature count or even a proper co variance estimate is merely a better understood/defined quality metric.  \r\n\r\nGiven that @LorenzMeier has pointed out before in #1722 and Flow #42 that changing the i2C frame needs to be done with minimal impact to current users I'm guessing altering it to do the quality calculation on the FCU is not going to be merged in.\r\n\r\nIs the source for the KLT binary the flow/klt_flow or flow/klt_flow2 on github, or neither of these?  I'm guessing if we understand the quality calculation there we can determine:\r\na) if the metric is good as it is currently calculated\r\nb) if a threshold of 100 makes sense"}}