I guess there are a few things to note. Firstly, the world coordinate
system is entirely abitrary: x, y, z can mean whatever you want them to
mean. Our default, however, is to have gravity acting in the -z
direction, which makes +z "up" and x and y in the plane. How you choose
the interpret the x and y is then up to you. Secondly, every model has
some abitrary origin, which (unfortunately) varies from model to model.
Thus, for example, with the SimpleSolid model, the origin is at the
*center* of the solid, so if you change the size of the model, you will
also need to change its position if you want to keep it sitting "on the
ground". We have talked about trying to rationalize this somehow, but the
"natural" coordinate system really does vary from model to model. We will
probably settle for documenting it in the manual.
If you are preparing an environment to run your Segway in, I suggest to
take a look at the MapExtruder model. I use this all the time to generate
the basic structure, then add a few SimpleSolids if a need to simulate
things like tunnels or things the robot needs to push around. If you are
using the most recent version of Gazebo, you might also want to play
around with the TruthWidget, which allows you to set the position of
models on the fly at run-time, and the Factory, which allows you to create
Someday, I'm hoping someone will write a utility that allows us to import
environments from the various 3D modelling programs out there.
On Wed, 28 Jan 2004, Karla Gail Conn wrote:
> Nathan and Andrew,
> I am a graduate student at Vanderbilt University under Dr. Alan Peters.
> We have recently begun working with the Player/Stage and Gazebo
> software. I have a question about the coordinate frames used in
> Gazebo. I am trying to make my first world file and found it more
> difficult than I thought it would be. Attached is a copy of the file.
> I am trying to make a world with the SegwayRMP positioned at (0,0,0) and
> no rotation and include some boxes that represent concrete benches and
> pillars. I want the world to eventually look like part of the campus
> here at Vanderbilt, specifically the courtyard next to Featheringill
> (FG) Hall where we work and take the segway out on "runs."
> The camera view in the world file is from behind the SegwayRMP. I want
> the Concrete Pillar to be positioned 2.15m in front of the Segway and
> 1.15m to the right, and the size of the pillar should be 1.3m parallel
> to the front of the segway, 0.3m thick along the axis parallel to the
> wheels of the segway, and 2m tall. Instead, the box is only 0.3m tall
> and is positioned off to the back right of the segway. Likewise, I want
> the Short Concrete Bench to be positioned 2.3m to the left of the segway
> and 3.8m in front of it with a size of 0.5m tall, 0.3m in the direction
> parallel to the front, and 1m long in the direction parallel to the
> wheels of the segway. The dimensions appear correct, but the box is
> slanted in its position instead of being straight. The Long Concrete
> Bench is suppose to be 4.6m in front of the segway and 1m over to the
> left, with a size of 0.5m tall, 5.6m in the direction parallel to the
> front of the segway, and 0.3m thick in the direction parallel to the
> side of the wheels of the segway. The size seems correct, but the
> position does not.
> In my world file is the x-axis running from left to right, y-axis
> running from the user camera out passed the segway front to back, and
> the z-axis top to bottom?
> How do these axes correspond to the size of objects when using the
> SimpleSolid tag? The Gazebo manual says the size of an box is in the
> order of <width length height> but does not say how these dimensions
> correspond to the coordinate axes. Is the third dimension, height,
> always correspond to the z axes?
> I have worked with simulation programs before, so I did not think I
> would have trouble orienting myself in Gazebo, but I am having trouble
> with it. I have found that if I change the size of an object in
> SimpleSolid the position of the object moves even without changing the
> position numbers. Can you help?
> Karla Conn
> Karla Gail Conn
> Vanderbilt University
Andrew Howard email: ahoward@...
Department of Computer Science http: www-robotics.usc.edu/~ahoward
University of Southern California phone: 1 (213) 740 6416
Los Angeles, CA, U.S.A. 90089-0781 fax: 1 (213) 821 5696
<< Insert pithy saying here >>>