{"action":"created","comment":{"url":"https://api.github.com/repos/mavlink/mavlink/pulls/comments/244681294","pull_request_review_id":188609042,"id":244681294,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDY4MTI5NA==","diff_hunk":"@@ -4977,5 +4977,12 @@\n       <field type=\"int32_t\" name=\"y\">Y coordinate of center point.  Coordinate system depends on frame field: local = x position in meters * 1e4, global = latitude in degrees * 1e7.</field>\n       <field type=\"float\" name=\"z\" units=\"m\">Altitude of center point. Coordinate system depends on frame field.</field>\n     </message>\n+    <!-- Rover specific messages -->\n+    <message id=\"9000\" name=\"WHEEL_DISTANCE\">\n+       <description>Cumulative distances traveled by each wheel (forward rotations increase these values, backward - decrease).</description>\n+       <field type=\"uint64_t\" name=\"time_usec\" units=\"us\">Timestamp (synced to UNIX time or since system boot)</field>\n+       <field type=\"uint8_t\" name=\"count\">Number of wheels reported</field>\n+       <field type=\"float[16]\" name=\"distance\" units=\"m\">Distance traveled by each wheel. The distance wraps around after 100000m, so 99999 + 1m becomes 1m and -99999 - 1m becomes -1m. This is necessary as floating point numbers have finite precision and the encoder would otherwise start to loose precision over time. The first wheel is the front left, 2nd is the front right, and then row-by-row.</field>","path":"message_definitions/v1.0/common.xml","position":null,"original_position":9,"commit_id":"4150c927d4b8feaf5593850242a0a6c75e0ec56f","original_commit_id":"be79eeb906a488ceba04eccde2c55960e32458f9","user":{"login":"pavloblindnology","id":27725335,"node_id":"MDQ6VXNlcjI3NzI1MzM1","avatar_url":"https://avatars0.githubusercontent.com/u/27725335?v=4","gravatar_id":"","url":"https://api.github.com/users/pavloblindnology","html_url":"https://github.com/pavloblindnology","followers_url":"https://api.github.com/users/pavloblindnology/followers","following_url":"https://api.github.com/users/pavloblindnology/following{/other_user}","gists_url":"https://api.github.com/users/pavloblindnology/gists{/gist_id}","starred_url":"https://api.github.com/users/pavloblindnology/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pavloblindnology/subscriptions","organizations_url":"https://api.github.com/users/pavloblindnology/orgs","repos_url":"https://api.github.com/users/pavloblindnology/repos","events_url":"https://api.github.com/users/pavloblindnology/events{/privacy}","received_events_url":"https://api.github.com/users/pavloblindnology/received_events","type":"User","site_admin":false},"body":"@hamishwillee \r\n>   * Just to be clear, can you confirm that the reason this does not work is that the mapping of encoders to vehicle wheels is not necessarily 1:1 or predictable. So you might have a 4 wheel vehicle, but only report 1 or 2 wheels (and which wheels is up to you)?\r\n>   * If so, I agree, we definitely cannot do it this way. To do this we'd need to know how many wheels are present, which ones have assigned encoders and the geometry (which we might have from the vehicle type). Possible, but a lot more data to send. Doubt it is worth it.\r\n\r\nYes, absolutely. It's up to user to decide how many, at which wheels and in what order to install encoders. E.g., Ardupilot Rover firmware uses up to two encoders ([link](http://ardupilot.org/rover/docs/wheel-encoder.html)) with the next prescription in case of two-wheeled config:\r\n`Connect motor encoder’s A and B outputs to the flight controller (i.e. Pixhawk’s) AUX OUT 3,4,5 and 6 pins. Normally 3,4 should be used for the left motor’s encoder, 5,6 for the right’s.`\r\nThis means that the left wheel is reported through the 1st value of `distance` array and the right through the 2nd. But it's up to user to guarantee this. And user is free to change the config on his own in case he uses his own firmware or uses the wheel distances in mavros plugin, etc.\r\n","created_at":"2019-01-02T08:42:49Z","updated_at":"2019-01-02T08:58:03Z","html_url":"https://github.com/mavlink/mavlink/pull/1032#discussion_r244681294","pull_request_url":"https://api.github.com/repos/mavlink/mavlink/pulls/1032","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/comments/244681294"},"html":{"href":"https://github.com/mavlink/mavlink/pull/1032#discussion_r244681294"},"pull_request":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/1032"}},"in_reply_to_id":239651012},"pull_request":{"url":"https://api.github.com/repos/mavlink/mavlink/pulls/1032","id":236437024,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM2NDM3MDI0","html_url":"https://github.com/mavlink/mavlink/pull/1032","diff_url":"https://github.com/mavlink/mavlink/pull/1032.diff","patch_url":"https://github.com/mavlink/mavlink/pull/1032.patch","issue_url":"https://api.github.com/repos/mavlink/mavlink/issues/1032","number":1032,"state":"open","locked":false,"title":"Add rover message to common.xml","user":{"login":"LorenzMeier","id":1208119,"node_id":"MDQ6VXNlcjEyMDgxMTk=","avatar_url":"https://avatars3.githubusercontent.com/u/1208119?v=4","gravatar_id":"","url":"https://api.github.com/users/LorenzMeier","html_url":"https://github.com/LorenzMeier","followers_url":"https://api.github.com/users/LorenzMeier/followers","following_url":"https://api.github.com/users/LorenzMeier/following{/other_user}","gists_url":"https://api.github.com/users/LorenzMeier/gists{/gist_id}","starred_url":"https://api.github.com/users/LorenzMeier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LorenzMeier/subscriptions","organizations_url":"https://api.github.com/users/LorenzMeier/orgs","repos_url":"https://api.github.com/users/LorenzMeier/repos","events_url":"https://api.github.com/users/LorenzMeier/events{/privacy}","received_events_url":"https://api.github.com/users/LorenzMeier/received_events","type":"User","site_admin":false},"body":"The WHEEL_DISTANCE is the first of a set of rover messages intended to allow easier integration of ground vehicles.","created_at":"2018-12-06T07:52:01Z","updated_at":"2019-01-02T08:58:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8d870436999a646d622e39e020c1a37ea8e1df3d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":908774435,"node_id":"MDU6TGFiZWw5MDg3NzQ0MzU=","url":"https://api.github.com/repos/mavlink/mavlink/labels/Dev%20Call","name":"Dev Call","color":"0e98d3","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/mavlink/mavlink/pulls/1032/commits","review_comments_url":"https://api.github.com/repos/mavlink/mavlink/pulls/1032/comments","review_comment_url":"https://api.github.com/repos/mavlink/mavlink/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mavlink/mavlink/issues/1032/comments","statuses_url":"https://api.github.com/repos/mavlink/mavlink/statuses/4150c927d4b8feaf5593850242a0a6c75e0ec56f","head":{"label":"mavlink:rover-wheel-distance","ref":"rover-wheel-distance","sha":"4150c927d4b8feaf5593850242a0a6c75e0ec56f","user":{"login":"mavlink","id":961247,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2MTI0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/961247?v=4","gravatar_id":"","url":"https://api.github.com/users/mavlink","html_url":"https://github.com/mavlink","followers_url":"https://api.github.com/users/mavlink/followers","following_url":"https://api.github.com/users/mavlink/following{/other_user}","gists_url":"https://api.github.com/users/mavlink/gists{/gist_id}","starred_url":"https://api.github.com/users/mavlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavlink/subscriptions","organizations_url":"https://api.github.com/users/mavlink/orgs","repos_url":"https://api.github.com/users/mavlink/repos","events_url":"https://api.github.com/users/mavlink/events{/privacy}","received_events_url":"https://api.github.com/users/mavlink/received_events","type":"Organization","site_admin":false},"repo":{"id":2195723,"node_id":"MDEwOlJlcG9zaXRvcnkyMTk1NzIz","name":"mavlink","full_name":"mavlink/mavlink","private":false,"owner":{"login":"mavlink","id":961247,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2MTI0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/961247?v=4","gravatar_id":"","url":"https://api.github.com/users/mavlink","html_url":"https://github.com/mavlink","followers_url":"https://api.github.com/users/mavlink/followers","following_url":"https://api.github.com/users/mavlink/following{/other_user}","gists_url":"https://api.github.com/users/mavlink/gists{/gist_id}","starred_url":"https://api.github.com/users/mavlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavlink/subscriptions","organizations_url":"https://api.github.com/users/mavlink/orgs","repos_url":"https://api.github.com/users/mavlink/repos","events_url":"https://api.github.com/users/mavlink/events{/privacy}","received_events_url":"https://api.github.com/users/mavlink/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mavlink/mavlink","description":"Marshalling / communication library for drones.","fork":false,"url":"https://api.github.com/repos/mavlink/mavlink","forks_url":"https://api.github.com/repos/mavlink/mavlink/forks","keys_url":"https://api.github.com/repos/mavlink/mavlink/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mavlink/mavlink/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mavlink/mavlink/teams","hooks_url":"https://api.github.com/repos/mavlink/mavlink/hooks","issue_events_url":"https://api.github.com/repos/mavlink/mavlink/issues/events{/number}","events_url":"https://api.github.com/repos/mavlink/mavlink/events","assignees_url":"https://api.github.com/repos/mavlink/mavlink/assignees{/user}","branches_url":"https://api.github.com/repos/mavlink/mavlink/branches{/branch}","tags_url":"https://api.github.com/repos/mavlink/mavlink/tags","blobs_url":"https://api.github.com/repos/mavlink/mavlink/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mavlink/mavlink/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mavlink/mavlink/git/refs{/sha}","trees_url":"https://api.github.com/repos/mavlink/mavlink/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mavlink/mavlink/statuses/{sha}","languages_url":"https://api.github.com/repos/mavlink/mavlink/languages","stargazers_url":"https://api.github.com/repos/mavlink/mavlink/stargazers","contributors_url":"https://api.github.com/repos/mavlink/mavlink/contributors","subscribers_url":"https://api.github.com/repos/mavlink/mavlink/subscribers","subscription_url":"https://api.github.com/repos/mavlink/mavlink/subscription","commits_url":"https://api.github.com/repos/mavlink/mavlink/commits{/sha}","git_commits_url":"https://api.github.com/repos/mavlink/mavlink/git/commits{/sha}","comments_url":"https://api.github.com/repos/mavlink/mavlink/comments{/number}","issue_comment_url":"https://api.github.com/repos/mavlink/mavlink/issues/comments{/number}","contents_url":"https://api.github.com/repos/mavlink/mavlink/contents/{+path}","compare_url":"https://api.github.com/repos/mavlink/mavlink/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mavlink/mavlink/merges","archive_url":"https://api.github.com/repos/mavlink/mavlink/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mavlink/mavlink/downloads","issues_url":"https://api.github.com/repos/mavlink/mavlink/issues{/number}","pulls_url":"https://api.github.com/repos/mavlink/mavlink/pulls{/number}","milestones_url":"https://api.github.com/repos/mavlink/mavlink/milestones{/number}","notifications_url":"https://api.github.com/repos/mavlink/mavlink/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mavlink/mavlink/labels{/name}","releases_url":"https://api.github.com/repos/mavlink/mavlink/releases{/id}","deployments_url":"https://api.github.com/repos/mavlink/mavlink/deployments","created_at":"2011-08-12T06:51:52Z","updated_at":"2019-01-02T02:39:05Z","pushed_at":"2019-01-02T03:02:37Z","git_url":"git://github.com/mavlink/mavlink.git","ssh_url":"git@github.com:mavlink/mavlink.git","clone_url":"https://github.com/mavlink/mavlink.git","svn_url":"https://github.com/mavlink/mavlink","homepage":"http://mavlink.io","size":7927,"stargazers_count":672,"watchers_count":672,"language":"CMake","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":974,"mirror_url":null,"archived":false,"open_issues_count":78,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":974,"open_issues":78,"watchers":672,"default_branch":"master"}},"base":{"label":"mavlink:master","ref":"master","sha":"4c160eac64675b87f7000a9a352654182ebcfba6","user":{"login":"mavlink","id":961247,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2MTI0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/961247?v=4","gravatar_id":"","url":"https://api.github.com/users/mavlink","html_url":"https://github.com/mavlink","followers_url":"https://api.github.com/users/mavlink/followers","following_url":"https://api.github.com/users/mavlink/following{/other_user}","gists_url":"https://api.github.com/users/mavlink/gists{/gist_id}","starred_url":"https://api.github.com/users/mavlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavlink/subscriptions","organizations_url":"https://api.github.com/users/mavlink/orgs","repos_url":"https://api.github.com/users/mavlink/repos","events_url":"https://api.github.com/users/mavlink/events{/privacy}","received_events_url":"https://api.github.com/users/mavlink/received_events","type":"Organization","site_admin":false},"repo":{"id":2195723,"node_id":"MDEwOlJlcG9zaXRvcnkyMTk1NzIz","name":"mavlink","full_name":"mavlink/mavlink","private":false,"owner":{"login":"mavlink","id":961247,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2MTI0Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/961247?v=4","gravatar_id":"","url":"https://api.github.com/users/mavlink","html_url":"https://github.com/mavlink","followers_url":"https://api.github.com/users/mavlink/followers","following_url":"https://api.github.com/users/mavlink/following{/other_user}","gists_url":"https://api.github.com/users/mavlink/gists{/gist_id}","starred_url":"https://api.github.com/users/mavlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavlink/subscriptions","organizations_url":"https://api.github.com/users/mavlink/orgs","repos_url":"https://api.github.com/users/mavlink/repos","events_url":"https://api.github.com/users/mavlink/events{/privacy}","received_events_url":"https://api.github.com/users/mavlink/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mavlink/mavlink","description":"Marshalling / communication library for drones.","fork":false,"url":"https://api.github.com/repos/mavlink/mavlink","forks_url":"https://api.github.com/repos/mavlink/mavlink/forks","keys_url":"https://api.github.com/repos/mavlink/mavlink/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mavlink/mavlink/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mavlink/mavlink/teams","hooks_url":"https://api.github.com/repos/mavlink/mavlink/hooks","issue_events_url":"https://api.github.com/repos/mavlink/mavlink/issues/events{/number}","events_url":"https://api.github.com/repos/mavlink/mavlink/events","assignees_url":"https://api.github.com/repos/mavlink/mavlink/assignees{/user}","branches_url":"https://api.github.com/repos/mavlink/mavlink/branches{/branch}","tags_url":"https://api.github.com/repos/mavlink/mavlink/tags","blobs_url":"https://api.github.com/repos/mavlink/mavlink/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mavlink/mavlink/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mavlink/mavlink/git/refs{/sha}","trees_url":"https://api.github.com/repos/mavlink/mavlink/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mavlink/mavlink/statuses/{sha}","languages_url":"https://api.github.com/repos/mavlink/mavlink/languages","stargazers_url":"https://api.github.com/repos/mavlink/mavlink/stargazers","contributors_url":"https://api.github.com/repos/mavlink/mavlink/contributors","subscribers_url":"https://api.github.com/repos/mavlink/mavlink/subscribers","subscription_url":"https://api.github.com/repos/mavlink/mavlink/subscription","commits_url":"https://api.github.com/repos/mavlink/mavlink/commits{/sha}","git_commits_url":"https://api.github.com/repos/mavlink/mavlink/git/commits{/sha}","comments_url":"https://api.github.com/repos/mavlink/mavlink/comments{/number}","issue_comment_url":"https://api.github.com/repos/mavlink/mavlink/issues/comments{/number}","contents_url":"https://api.github.com/repos/mavlink/mavlink/contents/{+path}","compare_url":"https://api.github.com/repos/mavlink/mavlink/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mavlink/mavlink/merges","archive_url":"https://api.github.com/repos/mavlink/mavlink/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mavlink/mavlink/downloads","issues_url":"https://api.github.com/repos/mavlink/mavlink/issues{/number}","pulls_url":"https://api.github.com/repos/mavlink/mavlink/pulls{/number}","milestones_url":"https://api.github.com/repos/mavlink/mavlink/milestones{/number}","notifications_url":"https://api.github.com/repos/mavlink/mavlink/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mavlink/mavlink/labels{/name}","releases_url":"https://api.github.com/repos/mavlink/mavlink/releases{/id}","deployments_url":"https://api.github.com/repos/mavlink/mavlink/deployments","created_at":"2011-08-12T06:51:52Z","updated_at":"2019-01-02T02:39:05Z","pushed_at":"2019-01-02T03:02:37Z","git_url":"git://github.com/mavlink/mavlink.git","ssh_url":"git@github.com:mavlink/mavlink.git","clone_url":"https://github.com/mavlink/mavlink.git","svn_url":"https://github.com/mavlink/mavlink","homepage":"http://mavlink.io","size":7927,"stargazers_count":672,"watchers_count":672,"language":"CMake","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":974,"mirror_url":null,"archived":false,"open_issues_count":78,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":974,"open_issues":78,"watchers":672,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/1032"},"html":{"href":"https://github.com/mavlink/mavlink/pull/1032"},"issue":{"href":"https://api.github.com/repos/mavlink/mavlink/issues/1032"},"comments":{"href":"https://api.github.com/repos/mavlink/mavlink/issues/1032/comments"},"review_comments":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/1032/comments"},"review_comment":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mavlink/mavlink/pulls/1032/commits"},"statuses":{"href":"https://api.github.com/repos/mavlink/mavlink/statuses/4150c927d4b8feaf5593850242a0a6c75e0ec56f"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"pavloblindnology"}}