ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

About /world frame

asked 2012-02-06 07:27:34 -0600

alfa_80 gravatar image

I would like to know about /world frame. Is it something to be explicitly defined or is it there automatically in our c++ code?

My assumption is that /world frame is supposed to be a fixed frame(if we want to see our robot moving) and the position of it is always (0,0,0), if it is a fixed frame. Is this kind of understanding true?

Thanks in advance.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
7

answered 2012-02-06 07:32:32 -0600

DimitriProsser gravatar image

"/world" frame is typically used to represent absolute positions in the world. It has no parent, so its value is always (0, 0, 0).

(0, 0, 0) in the world frame represents the intersection of the Prime Meridian and the Equator at sea level in outdoor applications, but could represent the southwest corner of a building on the 1st floor, or any other fixed point.

The world frame is your permanent frame. It is the frame against which all other frames are measured. If you're only working inside of a building, your world frame should be a fixed point in that building. If your robot can go anywhere in the world, maybe your world frame should be the world frame I mentioned above.

edit flag offensive delete link more

Comments

You've mentioned "It has no parent..", but, can I set as something like this [tfb.sendTransform(tf::StampedTransform(xform, pose3D_LDD.header.stamp, "/world", "/base_link"));], in which the world is the parent of the base_link?
alfa_80 gravatar image alfa_80  ( 2012-02-06 07:38:11 -0600 )edit
Yes, that would mean that base_link is at x, y, z with respect to the world
DimitriProsser gravatar image DimitriProsser  ( 2012-02-06 08:01:44 -0600 )edit
But then, /base_link is the parent in this case because the last parameter is the parent frame. You've said that /world has no parent. Sorry, for being a little bit confused on this.
alfa_80 gravatar image alfa_80  ( 2012-02-06 08:42:55 -0600 )edit
1

Actually, the last parameter in StampedTransform() is the child frame.

http://docs.ros.org/indigo/api/tf/htm...

kwiesz91 gravatar image kwiesz91  ( 2015-08-02 17:08:20 -0600 )edit

@DimitriProsser Is the world frame a pre-defined coordinate system by tf?

TouchDeeper gravatar image TouchDeeper  ( 2019-09-26 05:18:45 -0600 )edit

No nothing is pre defined in tf. Look at REP105 the frame world is not even a proposal, it's name should be earth. In tf you can build it like you want name the frames like you want etc. but i would highly recommend to build your ros system after the proposals in the rep index. This will help you get answers here on ros.answers and if anyone should ever take a look at your robot they will understand the basic structure immediately.

Tristan9497 gravatar image Tristan9497  ( 2021-02-17 15:31:29 -0600 )edit
3

answered 2012-02-06 09:31:02 -0600

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

There are no frame_ids with special names and meanings in the code. The use of all frame_ids are done using conventions. Currently for navigation one convention is written down in REP 105 which also has some background on why to choose the convention.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2012-02-06 07:27:34 -0600

Seen: 7,788 times

Last updated: Feb 06 '12