0
$\begingroup$

Rosanswers logo

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.


Originally posted by alfa_80 on ROS Answers with karma: 1053 on 2012-02-06

Post score: 2

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

"/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.


Originally posted by DimitriProsser with karma: 11163 on 2012-02-06

This answer was ACCEPTED on the original site

Post score: 7


Original comments

Comment by alfa_80 on 2012-02-06:
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.

Comment by DimitriProsser on 2012-02-06:
Yes, that would mean that base_link is at x, y, z with respect to the world

Comment by alfa_80 on 2012-02-06:
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?

Comment by kwiesz91 on 2015-08-02:
Actually, the last parameter in StampedTransform() is the child frame.

http://docs.ros.org/indigo/api/tf/html/c++/classtf_1_1StampedTransform.html

Comment by TouchDeeper on 2019-09-26:
@DimitriProsser Is the world frame a pre-defined coordinate system by tf?

Comment by Tristan9497 on 2021-02-17:
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.

$\endgroup$
0
$\begingroup$

Rosanswers logo

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.


Originally posted by tfoote with karma: 58457 on 2012-02-06

This answer was NOT ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.