ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

What is the camera_rgb_optical_frame? [..] I'd imagine it is the image sensor [..]

Indeed: it's the TF frame which is supposed to represent the location of the actual sensor which captures the RGB image.

Or: it's the TF frame which represents what the camera's driver reports as being that location -- as an OEM camera driver might post-process a raw image and thereby change certain characteristics.

So it's not the location of the lens, as that's not typically where the sensor is.

To decompose the name:

  • camera: indicates this is a frame inside of/related to a camera
  • rgb: this is a (plain) RGB camera/sensor (so not an IR or 3D/depth camera)
  • optical: the camera can have multiple frames, but this one is the location of the "optical sensor"
  • frame: well, this resource is a frame, a TF frame to be precise, hence the suffix

You'll see this frame name being used in many places which accept standardised TF configurations for cameras, both regular RGB (ie: 2D) and depth (ie: 3D) cameras. I've also seen it used for laser scanners (1D, 2D and 3D) and other optical-like sensors.

Variants of the frame exist, such as the camera_ir_optical_frame (for cameras using structured light, or other sensors which have an IR sensor).

There are a couple of REPs which mention it, such as REP 103: Standard Units of Measure and Coordinate Conventions - Coordinate Frame Conventions - Suffix Frames and REP 119: Specification for TurtleBot Compatible Platforms. There is no single REP which standardises this though, afaict. The use of the frame is more by convention, and it's a de-facto standard within the ROS community.

What is the camera_rgb_optical_frame? [..] I'd imagine it is the image sensor [..]

Indeed: Well, it's not the sensor, but the TF frame which is supposed to represent the location of the actual sensor sensor which captures the RGB image.images.

Or: it's the TF frame which represents what the camera's driver reports as being that location -- as an OEM camera driver might post-process a raw image and thereby change certain characteristics.

So it's not the location of the lens, as that's not typically where the sensor is.

To decompose the name:

  • camera: indicates this is a frame inside of/related to a camera
  • rgb: this is a (plain) RGB camera/sensor (so not an IR or 3D/depth camera)
  • optical: the camera can have multiple frames, but this one is the location of the "optical sensor"
  • frame: well, this resource is a frame, a TF frame to be precise, hence the suffix

You'll see this frame name being used in many places which accept standardised TF configurations for cameras, both regular RGB (ie: 2D) and depth (ie: 3D) cameras. I've also seen it used for laser scanners (1D, 2D and 3D) and other optical-like sensors.

Variants of the frame exist, such as the camera_ir_optical_frame (for cameras using structured light, or other sensors which have an IR sensor).

There are a couple of REPs which mention it, such as REP 103: Standard Units of Measure and Coordinate Conventions - Coordinate Frame Conventions - Suffix Frames and REP 119: Specification for TurtleBot Compatible Platforms. There is no single REP which standardises this though, afaict. The use of the frame is more by convention, and it's a de-facto standard within the ROS community.

What is the camera_rgb_optical_frame? [..] I'd imagine it is the image sensor [..]

Well, it's not the sensor, but the TF frame which is supposed to represent the location location of the sensor which captures RGB images.

Or: it's the TF frame which represents what the camera's driver reports as being that location -- as an OEM camera driver might post-process a raw image and thereby change certain characteristics.

So it's not the location of the lens, as that's not typically where the sensor is.

To decompose the name:

  • camera: indicates this is a frame inside of/related to a camera
  • rgb: this is a (plain) RGB camera/sensor (so not an IR or 3D/depth camera)
  • optical: the camera can have multiple frames, but this one is the location of the "optical sensor"
  • frame: well, this resource is a frame, a TF frame to be precise, hence the suffix

You'll see this frame name being used in many places which accept standardised TF configurations for cameras, both regular RGB (ie: 2D) and depth (ie: 3D) cameras. I've also seen it used for laser scanners (1D, 2D and 3D) and other optical-like sensors.

Variants of the frame exist, such as the camera_ir_optical_frame (for cameras using structured light, or other sensors which have an IR sensor).

There are a couple of REPs which mention it, such as REP 103: Standard Units of Measure and Coordinate Conventions - Coordinate Frame Conventions - Suffix Frames and REP 119: Specification for TurtleBot Compatible Platforms. There is no single REP which standardises this though, afaict. The use of the frame is more by convention, and it's a de-facto standard within the ROS community.