Hi Jordi,
I've used the truth interface without any problem.
The only thing you shoud add is:
truth->data->cmd_new = 1;
To "inform" the interface that new data is available.
I hope it helps,
Didac
Jordi wrote:
>Hi
>I have some problems playing with the truth interface, I'm using the libgazebo
>interface directly, Gazebo 0.6
>The code attached below can't modify the position of any object of the world.
>I've added truth intefaces to anything with no results: I always get the
>same readings and nothing changes.
>The interface is correctly opened.
>The readings of the interface are correct and if I try to modify the readings
>(for instance: iface->truth->data->pos[0]=pos_x+x-startX), the next time my
>function is called, those readings go back to the real reading of the object
>so I'm sure the server is working and updating the data.
>
>
> double pos_x, pos_y, pos_z;
> double rot_u, rot_x, rot_y, rot_z;
>
> pos_x=iface->truth->data->pos[0];
> pos_y=iface->truth->data->pos[1];
> pos_z=iface->truth->data->pos[2];
>
> rot_u=iface->truth->data->pos[0];
> rot_x=iface->truth->data->pos[1];
> rot_y=iface->truth->data->pos[2];
> rot_z=iface->truth->data->pos[3];
>
>
> Debug () << "post_x " << pos_x << " x " << x << " startX " <<startX << "
>
>total " <<pos_x+x-startX ;
> gz_truth_lock(iface->truth,1);
> //iface->truth->data->pos[0]=pos_x+x-startX
> iface->truth->data->cmd_pos[0]=pos_x+x-startX;
> iface->truth->data->cmd_pos[1]=pos_y+y-startY;
> iface->truth->data->cmd_pos[2]=pos_z;
> iface->truth->data->cmd_rot[0]= rot_u;
> iface->truth->data->cmd_rot[1]= rot_x;
> iface->truth->data->cmd_rot[2]= rot_y;
> iface->truth->data->cmd_rot[3]= rot_z;
> gz_truth_unlock(iface->truth);
>
>
>
>x and startX are defined elsewhere. The output is like this.
>
>post_x 8.64727 x 478 startX 477 total 9.64727
>post_x 8.64727 x 481 startX 478 total 11.6473
>post_x 8.64727 x 482 startX 481 total 9.64727
>post_x 8.64727 x 483 startX 482 total 9.64727
>post_x 8.64727 x 483 startX 483 total 8.64727
>
>
>That numbers are logical to me, except that I'm overriding cmd_pos with the
>position named total but it is not changing anything of the real position of
>the object.
>
>--
>Jordi Polo
>
>
>_______________________________________________
>Playerstage-gazebo mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
>
>
>
>
--
Didac Busquets i Font
Dept. d'Electronica, Informatica i Automatica
Institut d'Informatica i Aplicacions
Edifici P-IV
Despatx 128
Universitat de Girona
Campus Montilivi
17071-Girona
web: eia.udg.es/~busquets
email: [EMAIL PROTECTED]
Tel. (+34) 972.41.81.79
Fax. (+34) 972.41.80.98
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo