[ros-users] Gazebo C-Turtle API angle translation bug?

Leonardo Scandolo lscandolo at gmail.com
Mon Jun 21 10:59:23 UTC 2010


Sorry, I seem to have messed things up a little, actually the error does not
present itself with set_model_state, but with spawn_gazebo_model. The
behavior I'm getting is this:

I call gazebo/spawn_gazebo_model with orientation x: 0 y: 0 z: 0.70709 w:
0.707123 (obtained from tf::createQuaternionMsgFromYaw(3.1415 / 2.0) to make
sure)

This spawns the object in gazebo, but with the wrong orientation, since
afterwards I get

$rosservice call gazebo/get_model_state '{model_name: person,
relative_entity_name: map}'
pose:
  position:
    x: -0.00155193534221
    y: 0.000118788809867
    z: 0.0239993194685
  orientation:
    x: -1.93747979438e-07
    y: -4.43560139729e-07
    z: 0.0141537562013
    w: 0.999899804592
twist:
  linear:
    x: -0.000347819470335
    y: 0.000233947168454
    z: -0.000113238493213
  angular:
    x: -0.000709853426088
    y: -0.00107237440534
    z: -3.73239927285e-05

This is the orientation for a (PI / 2) degrees yaw rotation, which is what
shows on the gazebo gui : rpy: 0 0 1.57.

Hope this helps to clarify things a little bit.

Leonardo


On Fri, Jun 18, 2010 at 9:02 PM, John Hsu <johnhsu at willowgarage.com> wrote:

> Hi Leonardo,
>
> I've just tried the following,
>
>
>
>    - roslaunch gazebo_worlds  empty_world.launch
>    - rosrun gazebo spawn_model -file `rospack find
>    gazebo_worlds`/objects/000.580.67.model -gazebo -model cup -z 2
>    - rosservice call gazebo/get_model_state '{model_name: cup}'
>
>>    rosservice call gazebo/get_model_state '{model_name: cup}'
>>    pose:
>>      position:
>>        x: 0.0
>>        y: 0.0
>>        z: 1.99999995232
>>      orientation:
>>        x: 0.0
>>        y: 0.0
>>        z: 0.0
>>        w: 1.0
>>    twist:
>>      linear:
>>        x: 0.0
>>        y: 0.0
>>        z: 0.0
>>      angular:
>>        x: 0.0
>>        y: 0.0
>>        z: 0.0
>>    success: True
>>    status_message: GetModelState: got properties
>>
>    - rosservice call /gazebo/set_model_state '{model_state: { model_name:
>    cup, pose: { position: { x: 0, y: 0 ,z: 1 }, orientation: {x: 0, y: 0.7071,
>    z: 0, w: 0.7071} }, reference_frame: world } }'
>
>>    success: True
>
>    status_message: SetModelState: set model state done
>>
>    -  rosservice call gazebo/get_model_state '{model_name: cup}'
>
>>    pose:
>>      position:
>>        x: 7.45058056917e-10
>>        y: 0.0
>>        z: 1.0
>>      orientation:
>>        x: 0.0
>>        y: 0.70710682869
>>        z: 0.0
>>        w: 0.70710682869
>>    twist:
>>      linear:
>>        x: 0.0
>>        y: 0.0
>>        z: 0.0
>>      angular:
>>        x: 0.0
>>        y: 0.0
>>        z: 0.0
>>    success: True
>>    status_message: GetModelState: got properties
>>
>
> the model state seems to be as expected, not sure if I have the right steps
> you are referring to in order to recreate the error?
> thanks,
> John
>
>
> On Fri, Jun 18, 2010 at 6:10 AM, Leonardo Scandolo <lscandolo at gmail.com>wrote:
>
>> Hello, I've been trying out the new CTurtle Gazebo API and I've seem to
>> stumbled into a bug, but since I'm not really sure about it maybe you can
>> clarify the behavior I'm seeing before creating a ticket.
>>
>> The problem is this: when using the gazebo/set_model_state service,
>> apparently the orientation quaternion appears to be translated to roll pitch
>> and yaw and handed to gazebo, but the problem is that the rpy values handed
>> are in radians and gazebo seems to work with degrees.
>> Even if I input the orientation quaternion obtained from
>> gazebo/get_model_state back in through gazebo/set_model_state, it will
>> produce the same error (the quat obtained from get_model_state seems to be
>> correct). For example if the rpy in the gazebo gui for a model is '90 0 0',
>> I will get orientation quat '0.707114 0 0 0.7071' from get_model_state, send
>> it back in through set_model_state and it will come up as rpy '0.78 0 0' in
>> gazebo, which is the correct rpy, only that now it is in radians. Am I
>> missing something here ?
>>
>> Leonardo Scandolo
>>
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100621/44859d6c/attachment-0004.html>


More information about the ros-users mailing list