Skip to content

Provide a way to set the optical frame convention used for rendering sensorsΒ #488

@azeey

Description

@azeey

Desired behavior

Currently, Gazebo uses the +x forward convention for all rendering sensors. This was done to keep the same behavior as Gazebo Classic. However, this is at odds with the convention in ROS, which is +z forward. Users run into this issue (e.g. #29) and the current workaround is to set a static transform in ROS to create a separate optical frame. There's an old PR in gazebosim/ros_gz#257 to add a dedicated publisher, but I think it would be best if Gazebo itself provided a way to set the convention used.

Implementation suggestion

We could do one of the following:

  1. Add an SDFormat tag to all rendering sensors that sets whether the +z convention should be used.
  2. Add an SDFormat under <sensor> that sets whether the +z convention should be used. This would be easier since we'd only modify one SDFormat description file, but it would affect all sensors
  3. One of the two options above, but the tag would allow setting a custom transformation matrix.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

To do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions