{"action":"created","comment":{"url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/comments/67791928","id":67791928,"diff_hunk":"@@ -81,9 +83,31 @@ The coordinate frame called ``base_link`` is rigidly attached to the\n mobile robot base. The ``base_link`` can be attached to the base in\n any arbitrary position or orientation; for every hardware platform\n there will be a different place on the base that provides an obvious\n-point of reference. Note that REP 103 [1] specifies a preferred\n+point of reference. Note that REP 103 [1]_ specifies a preferred\n orientation for frames.\n \n+earth\n+'''''\n+\n+The coordinate frame called ``earth`` is the origin of ECEF.\n+\n+This frame is designed to allow the interaction of multiple robots in different map frames.\n+If the application only needs one map the ``earth`` coordinate frame is not expected to be present.\n+In the case of running with multiple maps simultaneously the ``map`` and ``odom`` and ``base_link`` frames will need to be customized for each robot.\n+If running multiple robots and bridging data between them, the transform frame_ids can remain standard on each robot if the other robots_frame_ids are rewritten.\n+\n+If the ``map`` frame is globally referenced the publisher from ``earth`` to ``map`` can be a static transform publisher.\n+Otherwise the ``earth`` to ``map`` transform will usually need to be computed by taking the estimate of the current global position and subtracting the current estimated pose in the map to get the estimated pose of the origin of the map.\n+\n+In case the ``map`` frame's absolute positon is unknown at the time of startup, it can remain detached until such time that the global position estimation can be adaquately evaluated.\n+This will operate in the same way that a robot can operate in the ``odom`` frame before localization in the ``map`` frame is innitialized.\n+\n+.. figure:: rep-0105/ECEF_ENU_Longitude_Latitude_relationships.svg\n+   :width: 640px\n+   :alt: Earth Centered Earth Fixed diagram\n+   \n+   A visualization of Earth Centered Earth Fixed with a tangential ``map`` frame.\n+","path":"rep-0105.rst","position":39,"original_position":38,"commit_id":"04e5dad254cd2f6cf6cbd1d0c492ae22648297f5","original_commit_id":"c582b335786a3d51c328c3f52de7cf9c93521c81","user":{"login":"tfoote","id":447804,"avatar_url":"https://avatars.githubusercontent.com/u/447804?v=3","gravatar_id":"","url":"https://api.github.com/users/tfoote","html_url":"https://github.com/tfoote","followers_url":"https://api.github.com/users/tfoote/followers","following_url":"https://api.github.com/users/tfoote/following{/other_user}","gists_url":"https://api.github.com/users/tfoote/gists{/gist_id}","starred_url":"https://api.github.com/users/tfoote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfoote/subscriptions","organizations_url":"https://api.github.com/users/tfoote/orgs","repos_url":"https://api.github.com/users/tfoote/repos","events_url":"https://api.github.com/users/tfoote/events{/privacy}","received_events_url":"https://api.github.com/users/tfoote/received_events","type":"User","site_admin":false},"body":"With a connected tree, tf should be able to transform a point from any map into any other map. And there's the globally oriented `earth` coordinate frame. \r\n\r\nFor long distance planning I would expect it to use the global frame or something else which is specific to the non-euclidian planning. \r\n\r\nWhen a vehicle is travelling it will need to reparent to a new map periodically, such as when you transition between UTM zones. \r\n\r\n\r\nAs for planning for long distances. (aka we're going to non-euclidian geometries) the planner will need to understand the manifold it's working in and it can either use the ecef `earth` units or convert to it's own. \r\n\r\nDoes that clarify what you're asking? \r\n\r\n(Aside: Would a node that publishes all UTM 60 zones as static transforms from `earth` be useful?)","created_at":"2016-06-21T00:43:03Z","updated_at":"2016-06-21T00:43:03Z","html_url":"https://github.com/ros-infrastructure/rep/pull/103#discussion_r67791928","pull_request_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103","_links":{"self":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/comments/67791928"},"html":{"href":"https://github.com/ros-infrastructure/rep/pull/103#discussion_r67791928"},"pull_request":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103"}}},"pull_request":{"url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103","id":37381837,"html_url":"https://github.com/ros-infrastructure/rep/pull/103","diff_url":"https://github.com/ros-infrastructure/rep/pull/103.diff","patch_url":"https://github.com/ros-infrastructure/rep/pull/103.patch","issue_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/103","number":103,"state":"open","locked":false,"title":"Extend REP 105 to support multiple maps","user":{"login":"tfoote","id":447804,"avatar_url":"https://avatars.githubusercontent.com/u/447804?v=3","gravatar_id":"","url":"https://api.github.com/users/tfoote","html_url":"https://github.com/tfoote","followers_url":"https://api.github.com/users/tfoote/followers","following_url":"https://api.github.com/users/tfoote/following{/other_user}","gists_url":"https://api.github.com/users/tfoote/gists{/gist_id}","starred_url":"https://api.github.com/users/tfoote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfoote/subscriptions","organizations_url":"https://api.github.com/users/tfoote/orgs","repos_url":"https://api.github.com/users/tfoote/repos","events_url":"https://api.github.com/users/tfoote/events{/privacy}","received_events_url":"https://api.github.com/users/tfoote/received_events","type":"User","site_admin":false},"body":"This PR is to provide a place for feedback and discussion at the moment. It's very much in draft state. ","created_at":"2015-06-10T17:10:05Z","updated_at":"2016-06-21T00:43:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a87ca8762f3350d1584e24cc7a78e95968b2f78f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103/commits","review_comments_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103/comments","review_comment_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/103/comments","statuses_url":"https://api.github.com/repos/ros-infrastructure/rep/statuses/04e5dad254cd2f6cf6cbd1d0c492ae22648297f5","head":{"label":"ros-infrastructure:multi_map_extension","ref":"multi_map_extension","sha":"04e5dad254cd2f6cf6cbd1d0c492ae22648297f5","user":{"login":"ros-infrastructure","id":2328632,"avatar_url":"https://avatars.githubusercontent.com/u/2328632?v=3","gravatar_id":"","url":"https://api.github.com/users/ros-infrastructure","html_url":"https://github.com/ros-infrastructure","followers_url":"https://api.github.com/users/ros-infrastructure/followers","following_url":"https://api.github.com/users/ros-infrastructure/following{/other_user}","gists_url":"https://api.github.com/users/ros-infrastructure/gists{/gist_id}","starred_url":"https://api.github.com/users/ros-infrastructure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros-infrastructure/subscriptions","organizations_url":"https://api.github.com/users/ros-infrastructure/orgs","repos_url":"https://api.github.com/users/ros-infrastructure/repos","events_url":"https://api.github.com/users/ros-infrastructure/events{/privacy}","received_events_url":"https://api.github.com/users/ros-infrastructure/received_events","type":"Organization","site_admin":false},"repo":{"id":5918619,"name":"rep","full_name":"ros-infrastructure/rep","owner":{"login":"ros-infrastructure","id":2328632,"avatar_url":"https://avatars.githubusercontent.com/u/2328632?v=3","gravatar_id":"","url":"https://api.github.com/users/ros-infrastructure","html_url":"https://github.com/ros-infrastructure","followers_url":"https://api.github.com/users/ros-infrastructure/followers","following_url":"https://api.github.com/users/ros-infrastructure/following{/other_user}","gists_url":"https://api.github.com/users/ros-infrastructure/gists{/gist_id}","starred_url":"https://api.github.com/users/ros-infrastructure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros-infrastructure/subscriptions","organizations_url":"https://api.github.com/users/ros-infrastructure/orgs","repos_url":"https://api.github.com/users/ros-infrastructure/repos","events_url":"https://api.github.com/users/ros-infrastructure/events{/privacy}","received_events_url":"https://api.github.com/users/ros-infrastructure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ros-infrastructure/rep","description":"ROS Enhancement Proposals","fork":false,"url":"https://api.github.com/repos/ros-infrastructure/rep","forks_url":"https://api.github.com/repos/ros-infrastructure/rep/forks","keys_url":"https://api.github.com/repos/ros-infrastructure/rep/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ros-infrastructure/rep/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ros-infrastructure/rep/teams","hooks_url":"https://api.github.com/repos/ros-infrastructure/rep/hooks","issue_events_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/events{/number}","events_url":"https://api.github.com/repos/ros-infrastructure/rep/events","assignees_url":"https://api.github.com/repos/ros-infrastructure/rep/assignees{/user}","branches_url":"https://api.github.com/repos/ros-infrastructure/rep/branches{/branch}","tags_url":"https://api.github.com/repos/ros-infrastructure/rep/tags","blobs_url":"https://api.github.com/repos/ros-infrastructure/rep/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ros-infrastructure/rep/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ros-infrastructure/rep/git/refs{/sha}","trees_url":"https://api.github.com/repos/ros-infrastructure/rep/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ros-infrastructure/rep/statuses/{sha}","languages_url":"https://api.github.com/repos/ros-infrastructure/rep/languages","stargazers_url":"https://api.github.com/repos/ros-infrastructure/rep/stargazers","contributors_url":"https://api.github.com/repos/ros-infrastructure/rep/contributors","subscribers_url":"https://api.github.com/repos/ros-infrastructure/rep/subscribers","subscription_url":"https://api.github.com/repos/ros-infrastructure/rep/subscription","commits_url":"https://api.github.com/repos/ros-infrastructure/rep/commits{/sha}","git_commits_url":"https://api.github.com/repos/ros-infrastructure/rep/git/commits{/sha}","comments_url":"https://api.github.com/repos/ros-infrastructure/rep/comments{/number}","issue_comment_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/comments{/number}","contents_url":"https://api.github.com/repos/ros-infrastructure/rep/contents/{+path}","compare_url":"https://api.github.com/repos/ros-infrastructure/rep/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ros-infrastructure/rep/merges","archive_url":"https://api.github.com/repos/ros-infrastructure/rep/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ros-infrastructure/rep/downloads","issues_url":"https://api.github.com/repos/ros-infrastructure/rep/issues{/number}","pulls_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls{/number}","milestones_url":"https://api.github.com/repos/ros-infrastructure/rep/milestones{/number}","notifications_url":"https://api.github.com/repos/ros-infrastructure/rep/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ros-infrastructure/rep/labels{/name}","releases_url":"https://api.github.com/repos/ros-infrastructure/rep/releases{/id}","deployments_url":"https://api.github.com/repos/ros-infrastructure/rep/deployments","created_at":"2012-09-23T01:50:29Z","updated_at":"2016-06-18T00:34:39Z","pushed_at":"2016-06-21T00:27:12Z","git_url":"git://github.com/ros-infrastructure/rep.git","ssh_url":"git@github.com:ros-infrastructure/rep.git","clone_url":"https://github.com/ros-infrastructure/rep.git","svn_url":"https://github.com/ros-infrastructure/rep","homepage":"http://www.ros.org/reps/rep-0000.html","size":2873,"stargazers_count":16,"watchers_count":16,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":35,"mirror_url":null,"open_issues_count":10,"forks":35,"open_issues":10,"watchers":16,"default_branch":"master"}},"base":{"label":"ros-infrastructure:master","ref":"master","sha":"d9f305763effd1e1805bd6b15f09f34c5188e7ca","user":{"login":"ros-infrastructure","id":2328632,"avatar_url":"https://avatars.githubusercontent.com/u/2328632?v=3","gravatar_id":"","url":"https://api.github.com/users/ros-infrastructure","html_url":"https://github.com/ros-infrastructure","followers_url":"https://api.github.com/users/ros-infrastructure/followers","following_url":"https://api.github.com/users/ros-infrastructure/following{/other_user}","gists_url":"https://api.github.com/users/ros-infrastructure/gists{/gist_id}","starred_url":"https://api.github.com/users/ros-infrastructure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros-infrastructure/subscriptions","organizations_url":"https://api.github.com/users/ros-infrastructure/orgs","repos_url":"https://api.github.com/users/ros-infrastructure/repos","events_url":"https://api.github.com/users/ros-infrastructure/events{/privacy}","received_events_url":"https://api.github.com/users/ros-infrastructure/received_events","type":"Organization","site_admin":false},"repo":{"id":5918619,"name":"rep","full_name":"ros-infrastructure/rep","owner":{"login":"ros-infrastructure","id":2328632,"avatar_url":"https://avatars.githubusercontent.com/u/2328632?v=3","gravatar_id":"","url":"https://api.github.com/users/ros-infrastructure","html_url":"https://github.com/ros-infrastructure","followers_url":"https://api.github.com/users/ros-infrastructure/followers","following_url":"https://api.github.com/users/ros-infrastructure/following{/other_user}","gists_url":"https://api.github.com/users/ros-infrastructure/gists{/gist_id}","starred_url":"https://api.github.com/users/ros-infrastructure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros-infrastructure/subscriptions","organizations_url":"https://api.github.com/users/ros-infrastructure/orgs","repos_url":"https://api.github.com/users/ros-infrastructure/repos","events_url":"https://api.github.com/users/ros-infrastructure/events{/privacy}","received_events_url":"https://api.github.com/users/ros-infrastructure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ros-infrastructure/rep","description":"ROS Enhancement Proposals","fork":false,"url":"https://api.github.com/repos/ros-infrastructure/rep","forks_url":"https://api.github.com/repos/ros-infrastructure/rep/forks","keys_url":"https://api.github.com/repos/ros-infrastructure/rep/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ros-infrastructure/rep/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ros-infrastructure/rep/teams","hooks_url":"https://api.github.com/repos/ros-infrastructure/rep/hooks","issue_events_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/events{/number}","events_url":"https://api.github.com/repos/ros-infrastructure/rep/events","assignees_url":"https://api.github.com/repos/ros-infrastructure/rep/assignees{/user}","branches_url":"https://api.github.com/repos/ros-infrastructure/rep/branches{/branch}","tags_url":"https://api.github.com/repos/ros-infrastructure/rep/tags","blobs_url":"https://api.github.com/repos/ros-infrastructure/rep/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ros-infrastructure/rep/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ros-infrastructure/rep/git/refs{/sha}","trees_url":"https://api.github.com/repos/ros-infrastructure/rep/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ros-infrastructure/rep/statuses/{sha}","languages_url":"https://api.github.com/repos/ros-infrastructure/rep/languages","stargazers_url":"https://api.github.com/repos/ros-infrastructure/rep/stargazers","contributors_url":"https://api.github.com/repos/ros-infrastructure/rep/contributors","subscribers_url":"https://api.github.com/repos/ros-infrastructure/rep/subscribers","subscription_url":"https://api.github.com/repos/ros-infrastructure/rep/subscription","commits_url":"https://api.github.com/repos/ros-infrastructure/rep/commits{/sha}","git_commits_url":"https://api.github.com/repos/ros-infrastructure/rep/git/commits{/sha}","comments_url":"https://api.github.com/repos/ros-infrastructure/rep/comments{/number}","issue_comment_url":"https://api.github.com/repos/ros-infrastructure/rep/issues/comments{/number}","contents_url":"https://api.github.com/repos/ros-infrastructure/rep/contents/{+path}","compare_url":"https://api.github.com/repos/ros-infrastructure/rep/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ros-infrastructure/rep/merges","archive_url":"https://api.github.com/repos/ros-infrastructure/rep/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ros-infrastructure/rep/downloads","issues_url":"https://api.github.com/repos/ros-infrastructure/rep/issues{/number}","pulls_url":"https://api.github.com/repos/ros-infrastructure/rep/pulls{/number}","milestones_url":"https://api.github.com/repos/ros-infrastructure/rep/milestones{/number}","notifications_url":"https://api.github.com/repos/ros-infrastructure/rep/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ros-infrastructure/rep/labels{/name}","releases_url":"https://api.github.com/repos/ros-infrastructure/rep/releases{/id}","deployments_url":"https://api.github.com/repos/ros-infrastructure/rep/deployments","created_at":"2012-09-23T01:50:29Z","updated_at":"2016-06-18T00:34:39Z","pushed_at":"2016-06-21T00:27:12Z","git_url":"git://github.com/ros-infrastructure/rep.git","ssh_url":"git@github.com:ros-infrastructure/rep.git","clone_url":"https://github.com/ros-infrastructure/rep.git","svn_url":"https://github.com/ros-infrastructure/rep","homepage":"http://www.ros.org/reps/rep-0000.html","size":2873,"stargazers_count":16,"watchers_count":16,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":35,"mirror_url":null,"open_issues_count":10,"forks":35,"open_issues":10,"watchers":16,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103"},"html":{"href":"https://github.com/ros-infrastructure/rep/pull/103"},"issue":{"href":"https://api.github.com/repos/ros-infrastructure/rep/issues/103"},"comments":{"href":"https://api.github.com/repos/ros-infrastructure/rep/issues/103/comments"},"review_comments":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103/comments"},"review_comment":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ros-infrastructure/rep/pulls/103/commits"},"statuses":{"href":"https://api.github.com/repos/ros-infrastructure/rep/statuses/04e5dad254cd2f6cf6cbd1d0c492ae22648297f5"}}}}
{"actor":{"display_login":"tfoote"}}