{"action":"created","issue":{"url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/7655","repository_url":"https://api.github.com/repos/ArduPilot/ardupilot","labels_url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/7655/labels{/name}","comments_url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/7655/comments","events_url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/7655/events","html_url":"https://github.com/ArduPilot/ardupilot/pull/7655","id":294161848,"number":7655,"title":"Copter: chase/follow mode (attempt 2)","user":{"login":"rmackay9","id":1498098,"avatar_url":"https://avatars2.githubusercontent.com/u/1498098?v=4","gravatar_id":"","url":"https://api.github.com/users/rmackay9","html_url":"https://github.com/rmackay9","followers_url":"https://api.github.com/users/rmackay9/followers","following_url":"https://api.github.com/users/rmackay9/following{/other_user}","gists_url":"https://api.github.com/users/rmackay9/gists{/gist_id}","starred_url":"https://api.github.com/users/rmackay9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmackay9/subscriptions","organizations_url":"https://api.github.com/users/rmackay9/orgs","repos_url":"https://api.github.com/users/rmackay9/repos","events_url":"https://api.github.com/users/rmackay9/events{/privacy}","received_events_url":"https://api.github.com/users/rmackay9/received_events","type":"User","site_admin":false},"labels":[{"id":24269224,"url":"https://api.github.com/repos/ArduPilot/ardupilot/labels/Copter","name":"Copter","color":"02e10c","default":false},{"id":24259150,"url":"https://api.github.com/repos/ArduPilot/ardupilot/labels/Enhancement","name":"Enhancement","color":"84b6eb","default":false},{"id":219703373,"url":"https://api.github.com/repos/ArduPilot/ardupilot/labels/WIP","name":"WIP","color":"fef2c0","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ArduPilot/ardupilot/milestones/29","html_url":"https://github.com/ArduPilot/ardupilot/milestone/29","labels_url":"https://api.github.com/repos/ArduPilot/ardupilot/milestones/29/labels","id":2256267,"number":29,"title":"AC 3.6.0","description":"","creator":{"login":"OXINARF","id":1778527,"avatar_url":"https://avatars2.githubusercontent.com/u/1778527?v=4","gravatar_id":"","url":"https://api.github.com/users/OXINARF","html_url":"https://github.com/OXINARF","followers_url":"https://api.github.com/users/OXINARF/followers","following_url":"https://api.github.com/users/OXINARF/following{/other_user}","gists_url":"https://api.github.com/users/OXINARF/gists{/gist_id}","starred_url":"https://api.github.com/users/OXINARF/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OXINARF/subscriptions","organizations_url":"https://api.github.com/users/OXINARF/orgs","repos_url":"https://api.github.com/users/OXINARF/repos","events_url":"https://api.github.com/users/OXINARF/events{/privacy}","received_events_url":"https://api.github.com/users/OXINARF/received_events","type":"User","site_admin":false},"open_issues":49,"closed_issues":23,"state":"open","created_at":"2017-01-16T21:56:05Z","updated_at":"2018-03-05T06:08:10Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2018-02-04T01:49:54Z","updated_at":"2018-03-05T14:40:02Z","closed_at":"2018-03-05T06:08:10Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ArduPilot/ardupilot/pulls/7655","html_url":"https://github.com/ArduPilot/ardupilot/pull/7655","diff_url":"https://github.com/ArduPilot/ardupilot/pull/7655.diff","patch_url":"https://github.com/ArduPilot/ardupilot/pull/7655.patch"},"body":"#This PR builds on this earlier PR from @peterbarker (https://github.com/ArduPilot/ardupilot/pull/7460) to add \"Chase\" mode which allows a vehicle to follow another vehicle or ground station.\r\n\r\n- chase mode is built on Guided mode's velocity controller to fly towards a vehicle's position provided by the AP_Follow library.  The control uses the other vehicle's velocity as a base and then adds a correction to try and reduce the position error.\r\n- AP_Follow library is responsible for:\r\n  - consuming mavlink messages from the target vehicle (currently only GLOBAL_POSITION_INT is supported)\r\n  - providing a 3D distance vector to the other vehicle both with and without \"offsets\" (both are required to allow moving to a specified distance from the other vehicle while remaining pointed at it) and a 3D velocity vector\r\n  - FOLL_DIST_MAX holds the maximum distance to the other vehicle, beyond this the vehicle is ignored\r\n  - FOLL_SYSID should be set to the other vehicle's mavlink id or left as zero to track the first vehicle (or ground station) that provides a GLOBAL_POSITION_INT message\r\n  - FOLL_OFS_X, Y, Z allows specifying an offset from the lead vehicle that we should try and maintain.  Leaving these as zero means the offset will be initialised to the distance between the vehicles when the vehicle is switched into Chase mode.\r\n  - FOLL_OFS_TYPE allows specifying if the above offset should be relative to the lead vehicle's heading or in NED frame.\r\n  - FOLL_YAW_BEHAVE specifies if this vehicle should point at the lead vehicle or in the same direction as the lead vehicle\r\n\r\nThings to address is follow up PRs:\r\n\r\n- add support for the mavlink FOLLOW_TARGET (http://mavlink.org/messages/common#FOLLOW_TARGET) message that includes accelerations\r\n- add support for DO_FOLLOW_REPOSITION to support setting offsets\r\n- add support for NAV_FOLLOW to switch into chase/follow mode (?)\r\n- support pointing the camera at the lead vehicle\r\n- add filtering to smooth the response\r\n- add avoidance of the lead vehicle so we don't accidentally hit it which could happen if the offsets lead to this vehicle trying to fly from it's current position to the opposite side of the lead vehicle\r\n- allow the user to change the offset position from the lead vehicle using the transmitter (throttle for altitude, roll and pitch to change horizontal position)"},"comment":{"url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/comments/370439445","html_url":"https://github.com/ArduPilot/ardupilot/pull/7655#issuecomment-370439445","issue_url":"https://api.github.com/repos/ArduPilot/ardupilot/issues/7655","id":370439445,"user":{"login":"amilcarlucas","id":24453563,"avatar_url":"https://avatars1.githubusercontent.com/u/24453563?v=4","gravatar_id":"","url":"https://api.github.com/users/amilcarlucas","html_url":"https://github.com/amilcarlucas","followers_url":"https://api.github.com/users/amilcarlucas/followers","following_url":"https://api.github.com/users/amilcarlucas/following{/other_user}","gists_url":"https://api.github.com/users/amilcarlucas/gists{/gist_id}","starred_url":"https://api.github.com/users/amilcarlucas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amilcarlucas/subscriptions","organizations_url":"https://api.github.com/users/amilcarlucas/orgs","repos_url":"https://api.github.com/users/amilcarlucas/repos","events_url":"https://api.github.com/users/amilcarlucas/events{/privacy}","received_events_url":"https://api.github.com/users/amilcarlucas/received_events","type":"User","site_admin":false},"created_at":"2018-03-05T14:40:02Z","updated_at":"2018-03-05T14:40:02Z","author_association":"CONTRIBUTOR","body":"I rebased https://github.com/rmackay9/rmackay9-ardupilot/pull/15 into master at #7845 "}}
{"actor":{"display_login":"amilcarlucas"}}