{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/Firmware/issues/9050","repository_url":"https://api.github.com/repos/PX4/Firmware","labels_url":"https://api.github.com/repos/PX4/Firmware/issues/9050/labels{/name}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/9050/comments","events_url":"https://api.github.com/repos/PX4/Firmware/issues/9050/events","html_url":"https://github.com/PX4/Firmware/pull/9050","id":303976348,"number":9050,"title":"precland: support receiving LANDING_TARGET message","user":{"login":"okalachev","id":1683279,"avatar_url":"https://avatars3.githubusercontent.com/u/1683279?v=4","gravatar_id":"","url":"https://api.github.com/users/okalachev","html_url":"https://github.com/okalachev","followers_url":"https://api.github.com/users/okalachev/followers","following_url":"https://api.github.com/users/okalachev/following{/other_user}","gists_url":"https://api.github.com/users/okalachev/gists{/gist_id}","starred_url":"https://api.github.com/users/okalachev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okalachev/subscriptions","organizations_url":"https://api.github.com/users/okalachev/orgs","repos_url":"https://api.github.com/users/okalachev/repos","events_url":"https://api.github.com/users/okalachev/events{/privacy}","received_events_url":"https://api.github.com/users/okalachev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-03-09T20:51:58Z","updated_at":"2018-03-20T18:56:06Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/PX4/Firmware/pulls/9050","html_url":"https://github.com/PX4/Firmware/pull/9050","diff_url":"https://github.com/PX4/Firmware/pull/9050.diff","patch_url":"https://github.com/PX4/Firmware/pull/9050.patch"},"body":"I added support for receiving `LANDING_TARGET` MAVLINK message. This is useful for setups, when we don't use IRLock for precise landing, but an external computer, that detects the landing target (a visual marker, for example). The receiver simply retransmits the message to the `landing_target_pose` uORB topic.\n\nUnfortunately, `LANDING_TARGET` lacks some helpful fields, that `landing_target_pose` topic has:\n* Landing target relative velocities\n* Is the target static? Considered, that not, for now\n* Landing place size in meters (contains only the fields, that are described as sizes in radians)\n* Covariances\n\nI think, adding this fields to `LANDING_TARGET` should be considered.\n\nAlso, two issues in precland.cpp were fixed:\n* typo, where `y_rel` should be `y_abs`\n* removed using `x_rel` and `y_rel` for two reasons: \n  * this is fields are lacked in `LANDING_TARGET` message\n  * they can be easily recalculated from `x_abs`, `y_abs` (and this is done in other parts of the code).\n\nTested the landing is SITL."},"comment":{"url":"https://api.github.com/repos/PX4/Firmware/issues/comments/374716580","html_url":"https://github.com/PX4/Firmware/pull/9050#issuecomment-374716580","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/9050","id":374716580,"user":{"login":"okalachev","id":1683279,"avatar_url":"https://avatars3.githubusercontent.com/u/1683279?v=4","gravatar_id":"","url":"https://api.github.com/users/okalachev","html_url":"https://github.com/okalachev","followers_url":"https://api.github.com/users/okalachev/followers","following_url":"https://api.github.com/users/okalachev/following{/other_user}","gists_url":"https://api.github.com/users/okalachev/gists{/gist_id}","starred_url":"https://api.github.com/users/okalachev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okalachev/subscriptions","organizations_url":"https://api.github.com/users/okalachev/orgs","repos_url":"https://api.github.com/users/okalachev/repos","events_url":"https://api.github.com/users/okalachev/events{/privacy}","received_events_url":"https://api.github.com/users/okalachev/received_events","type":"User","site_admin":false},"created_at":"2018-03-20T18:56:06Z","updated_at":"2018-03-20T18:56:06Z","author_association":"NONE","body":"Tested precision landing through `LANDING_TARGET` on a real drone. Used an ArUco-maker for targeting, its position was sending to the FCU.\r\nThe copter landed several times successfully. Here the video of the flight: https://www.youtube.com/watch?v=HGX1RccfN1g.\r\n\r\nSo I think the results are not bad, and this is mergeable (with added strict `landing_target_pose` message checks) even without the support of landing target angles.\r\n\r\nIssues:\r\n* There is no `yaw` field in the `LANDING_TARGET` message. So the copter can't align its yaw to the marker (in some situations this is necessary, e. g. landing into a charing station).\r\n* Sometimes copter is yawing when doing horizontal approach phase, is it really necessary when doing landing?\r\n* There is some weird bug: sometimes when the copter transitions to `SETPOINT_TYPE_LAND` waypoint type, it stops correcting its velocity setpoints (sets them to zeros), so the landing isn't really precise. I can attach a log of such a situation."}}
{"actor":{"display_login":"okalachev"}}