{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/Firmware/issues/9895","repository_url":"https://api.github.com/repos/PX4/Firmware","labels_url":"https://api.github.com/repos/PX4/Firmware/issues/9895/labels{/name}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/9895/comments","events_url":"https://api.github.com/repos/PX4/Firmware/issues/9895/events","html_url":"https://github.com/PX4/Firmware/pull/9895","id":340768586,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxMTAyNTY5","number":9895,"title":"Mavlink ODOMETRY handler and simple minimal restructure for VIO data propagation","user":{"login":"TSC21","id":5048656,"node_id":"MDQ6VXNlcjUwNDg2NTY=","avatar_url":"https://avatars1.githubusercontent.com/u/5048656?v=4","gravatar_id":"","url":"https://api.github.com/users/TSC21","html_url":"https://github.com/TSC21","followers_url":"https://api.github.com/users/TSC21/followers","following_url":"https://api.github.com/users/TSC21/following{/other_user}","gists_url":"https://api.github.com/users/TSC21/gists{/gist_id}","starred_url":"https://api.github.com/users/TSC21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TSC21/subscriptions","organizations_url":"https://api.github.com/users/TSC21/orgs","repos_url":"https://api.github.com/users/TSC21/repos","events_url":"https://api.github.com/users/TSC21/events{/privacy}","received_events_url":"https://api.github.com/users/TSC21/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":48,"created_at":"2018-07-12T19:29:46Z","updated_at":"2018-09-08T19:28:12Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/PX4/Firmware/pulls/9895","html_url":"https://github.com/PX4/Firmware/pull/9895","diff_url":"https://github.com/PX4/Firmware/pull/9895.diff","patch_url":"https://github.com/PX4/Firmware/pull/9895.patch"},"body":"**Test data / coverage**\r\n`iris_vision` takeoff and land, using `ODOMETRY` as the transport msg: https://review.px4.io/plot_app?log=84cdc725-415e-487c-8c6a-9d4324e26170\r\n\r\n**Describe problem solved by the proposed pull request**\r\nThis is a simpler iteration of https://github.com/PX4/Firmware/pull/9301, only handling the reception of `ODOMETRY` and propagating it to the consumers (`ekf2`, `local_position_estimator` - LPE -, and `position_estimator_inav`).\r\n\r\n**Describe your preferred solution**\r\nThe basic idea was already explained in https://github.com/PX4/Firmware/pull/9301. The main difference is that this time a `vehicle_odometry` uORB and respective aliases for vision and mocap, instead of extending the `vehicle_local_position`.\r\n\r\n**Describe possible alternatives**\r\nThis was the best solution found after discussing with @thomasgubler.\r\n\r\n**Additional context**\r\nThe further iterations on the VIO architecture restructure should include:\r\n1. an `ODOMETRY` loopback;\r\n2. add the 6x6 rotation matrix to rotate the pose and velocity covariance matrices on the `mavlink_receiver` in order to match the frame of reference of the msg - not added in this PR since it's not very relevant for the data validation check, since only the diagonals are used - though, for a matter of physics accuracy and appropriate data handling, this should be considered;\r\n3. use the full URT values of the covariance matrix on the estimators in order to fill, for example, the noise matrices;\r\n4. consider start doing some tests using fast-RTPS - one good way could be adding the agent code on the Gazebo and create a new plugin to interface Gazebo with fast-RTPS - that would fasten things in terms of VIO over RTPS development."},"comment":{"url":"https://api.github.com/repos/PX4/Firmware/issues/comments/419667230","html_url":"https://github.com/PX4/Firmware/pull/9895#issuecomment-419667230","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/9895","id":419667230,"node_id":"MDEyOklzc3VlQ29tbWVudDQxOTY2NzIzMA==","user":{"login":"TSC21","id":5048656,"node_id":"MDQ6VXNlcjUwNDg2NTY=","avatar_url":"https://avatars1.githubusercontent.com/u/5048656?v=4","gravatar_id":"","url":"https://api.github.com/users/TSC21","html_url":"https://github.com/TSC21","followers_url":"https://api.github.com/users/TSC21/followers","following_url":"https://api.github.com/users/TSC21/following{/other_user}","gists_url":"https://api.github.com/users/TSC21/gists{/gist_id}","starred_url":"https://api.github.com/users/TSC21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TSC21/subscriptions","organizations_url":"https://api.github.com/users/TSC21/orgs","repos_url":"https://api.github.com/users/TSC21/repos","events_url":"https://api.github.com/users/TSC21/events{/privacy}","received_events_url":"https://api.github.com/users/TSC21/received_events","type":"User","site_admin":false},"created_at":"2018-09-08T19:28:12Z","updated_at":"2018-09-08T19:28:12Z","author_association":"MEMBER","body":"I think after this I can also add a CI test for vision only."}}
{"actor":{"display_login":"TSC21"}}