gazebosim / gz-sim

Open source robotics simulator. The latest version of Gazebo.
https://gazebosim.org
Apache License 2.0
664 stars 261 forks source link

oritentation of child sensor using set_pose service #2278

Closed jpvr20 closed 8 months ago

jpvr20 commented 8 months ago

Hello,

I'm trying to change the orientation of sensor present inside (model->base_link->rgbd_camera) using the /world//set_pose service. When I change the orientation of parent model, it works fine but I when I try to do the same in the child sensor, it doesn't work. Is it possible to do using this or any other service? or using c++?

jpvr20 commented 8 months ago

This is what I tried, but didn't work and return data: true in both cases

gz service -s /world/bluerov2_heavy_underwater/set_pose --reqtype gz.msgs.Pose --reptype gz.msgs.Boolean --timeout 300 --req 'name: "bluerov2_heavy::base_link::rgbd_camera", position: {x: 0.0, y: 0.0, z: 0.0}, orientation: {x: 1.57, y: 0.0, z: 0.0, w: 1.0}'

gz service -s /world/bluerov2_heavy_underwater/set_pose --reqtype gz.msgs.Pose --reptype gz.msgs.Boolean --timeout 300 --req 'name: "rgbd_camera", position: {x: 0.0, y: 0.0, z: 0.0}, orientation: {x: 1.57, y: 0.0, z: 0.0, w: 1.0}'
azeey commented 8 months ago

Only the poses of models can be changed with the set_pose service. To dynamically change the pose of a sensor, I think you'll have to attach it's parent link to a joint and command the position of the joint.

Edit: I'll go ahead and close this since it's not a bug.

jpvr20 commented 8 months ago

@azeey I think then it should return false instead of true