<element name="camera" required="0">
<description>These elements are specific to camera sensors.</description>
<attribute name="name" type="string" default="__default__" required="0">
<description>An optional name for the camera.</description>
</attribute>
<element name="triggered" type="bool" default="false" required="0">
<description>If the camera will be triggered by a topic</description>
</element> <!-- End Triggered -->
<element name="camera_info_topic" type="string" default="camera_info" required="0">
<description>Name of the camera info</description>
</element> <!-- End Trigger_Topic -->
<element name="trigger_topic" type="string" default="" required="0">
<description>Name of the topic that will trigger the camera if enabled</description>
</element> <!-- End Trigger_Topic -->
<element name="horizontal_fov" type="double" default="1.047" min="0.1" max="6.283186" required="1">
<description>Horizontal field of view</description>
</element> <!-- End Horizontal_FOV -->
<element name="image" required="1">
<description>The image size in pixels and format.</description>
<element name="width" type="int" default="320" required="1">
<description>Width in pixels</description>
</element>
<element name="height" type="int" default="240" required="1">
<description>Height in pixels </description>
</element>
<element name="format" type="string" default="R8G8B8" required="0">
<description>(L8|L16|R_FLOAT16|R_FLOAT32|R8G8B8|B8G8R8|BAYER_RGGB8|BAYER_BGGR8|BAYER_GBRG8|BAYER_GRBG8)</description>
</element>
<element name="anti_aliasing" type="int" default="4" required="0">
<description>Value used for anti-aliasing</description>
</element>
</element> <!-- End Image -->
<element name="clip" required="1">
<description>The near and far clip planes. Objects closer or farther than these planes are not rendered.</description>
<element name="near" type="double" default=".1" min="0.0" required="1">
<description>Near clipping plane</description>
</element>
<element name="far" type="double" default="100" min="0.1" required="1">
<description>Far clipping plane</description>
</element>
</element> <!-- End Clip -->
<element name="save" required="0">
<description>Enable or disable saving of camera frames.</description>
<attribute name="enabled" type="bool" default="false" required="1">
<description>True = saving enabled</description>
</attribute>
<element name="path" type="string" default="__default__" required="1">
<description>The path name which will hold the frame data. If path name is relative, then directory is relative to current working directory.</description>
</element>
</element> <!-- End Save -->
<element name="depth_camera" required="0">
<description>Depth camera parameters</description>
<element name="output" type="string" default="depths" required="1">
<description>Type of output</description>
</element>
<element name="clip" required="0">
<description>The near and far clip planes. Objects closer or farther than these planes are not detected by the depth camera.</description>
<element name="near" type="double" default=".1" min="0.0" required="0">
<description>Near clipping plane for depth camera</description>
</element>
<element name="far" type="double" default="10.0" min="0.1" required="0">
<description>Far clipping plane for depth camera</description>
</element>
</element>
</element> <!-- End depth_camera -->
<element name="segmentation_type" type="string" default="semantic" required="0">
<description>
The segmentation type of the segmentation camera. Valid options are:
- semantic: Semantic segmentation, which provides 2 images:
1. A grayscale image, with the pixel values representing the label of an object
2. A colored image, with the pixel values being a unique color for each label
- panoptic | instance: Panoptic segmentation, which provides an image where each pixel
has 1 channel for label value of the object and 2 channels for the
number of the instances of that label, and a colored image which its
pixels have a unique color for each instance.
</description>
</element> <!-- End segmentation_type -->
<element name="box_type" type="string" default="2d" required="0">
<description>
The boundingbox type of the boundingbox camera. Valid options are:
- 2d | visible_2d | visible_box_2d: a visible 2d box mode which provides axis aligned 2d boxes
on the visible parts of the objects
- full_2d | full_box_2d: a full 2d box mode which provides axis aligned 2d boxes that fills the
object dimentions, even if it has an occluded part
- 3d: a 3d mode which provides oriented 3d boxes
</description>
</element> <!-- End box_type -->
<element name="noise" required="0">
<description>The properties of the noise model that should be applied to generated images</description>
<element name="type" type="string" default="gaussian" required="1">
<description>The type of noise. Currently supported types are: "gaussian" (draw additive noise values independently for each pixel from a Gaussian distribution).</description>
</element>
<element name="mean" type="double" default="0.0" required="0">
<description>For type "gaussian," the mean of the Gaussian distribution from which noise values are drawn.</description>
</element>
<element name="stddev" type="double" default="0.0" required="0">
<description>For type "gaussian," the standard deviation of the Gaussian distribution from which noise values are drawn.</description>
</element>
</element> <!-- End Noise -->
<element name="distortion" required="0">
<description>Lens distortion to be applied to camera images. See http://en.wikipedia.org/wiki/Distortion_(optics)#Software_correction</description>
<element name="k1" type="double" default="0.0" required="0">
<description>The radial distortion coefficient k1</description>
</element>
<element name="k2" type="double" default="0.0" required="0">
<description>The radial distortion coefficient k2</description>
</element>
<element name="k3" type="double" default="0.0" required="0">
<description>The radial distortion coefficient k3</description>
</element>
<element name="p1" type="double" default="0.0" required="0">
<description>The tangential distortion coefficient p1</description>
</element>
<element name="p2" type="double" default="0.0" required="0">
<description>The tangential distortion coefficient p2</description>
</element>
<element name="center" type="vector2d" default="0.5 0.5" required="0">
<description>The distortion center or principal point</description>
</element>
</element> <!-- End Distortion -->
<element name="lens" required="0">
<description>Lens projection description</description>
<element name="type" type="string" default="stereographic" required="1">
<description>Type of the lens mapping. Supported values are gnomonical, stereographic, equidistant, equisolid_angle, orthographic, custom. For gnomonical (perspective) projection, it is recommended to specify a horizontal_fov of less than or equal to 90°</description>
</element>
<element name="scale_to_hfov" type="bool" default="true" required="1">
<description>If true the image will be scaled to fit horizontal FOV, otherwise it will be shown according to projection type parameters</description>
</element>
<element name="custom_function" required="0">
<description>Definition of custom mapping function in a form of r=c1*f*fun(theta/c2 + c3). See https://en.wikipedia.org/wiki/Fisheye_lens#Mapping_function</description>
<element name="c1" type="double" default="1" required="0">
<description>Linear scaling constant</description>
</element>
<element name="c2" type="double" default="1" required="0">
<description>Angle scaling constant</description>
</element>
<element name="c3" type="double" default="0" required="0">
<description>Angle offset constant</description>
</element>
<element name="f" type="double" default="1" required="0">
<description>Focal length of the optical system. Note: It's not a focal length of the lens in a common sense! This value is ignored if 'scale_to_fov' is set to true</description>
</element>
<element name="fun" type="string" default="tan" required="1">
<description>Possible values are 'sin', 'tan' and 'id'</description>
</element>
</element> <!-- End Custom Function -->
<element name="cutoff_angle" type="double" default="1.5707" min="0.0" max="3.141592653" required="0">
<description>Everything outside of the specified angle will be hidden, 90° by default</description>
</element>
<element name="env_texture_size" type="int" default="256" min="4" max="2048" required="0">
<description>Resolution of the environment cube map used to draw the world</description>
</element>
<element name="intrinsics" required="0">
<description>Camera intrinsic parameters for setting a custom perspective projection matrix (cannot be used with WideAngleCamera since this class uses image stitching from 6 different cameras for achieving a wide field of view). The focal lengths can be computed using focal_length_in_pixels = (image_width_in_pixels * 0.5) / tan(field_of_view_in_degrees * 0.5 * PI/180)</description>
<element name="fx" type="double" default="277" required="1">
<description>X focal length (in pixels, overrides horizontal_fov)</description>
</element>
<element name="fy" type="double" default="277" required="1">
<description>Y focal length (in pixels, overrides horizontal_fov)</description>
</element>
<element name="cx" type="double" default="160" required="1">
<description>X principal point (in pixels)</description>
</element>
<element name="cy" type="double" default="120" required="1">
<description>Y principal point (in pixels)</description>
</element>
<element name="s" type="double" default="0.0" required="1">
<description>XY axis skew</description>
</element>
</element> <!-- End Intrinsics -->
<element name="projection" required="0">
<description>Camera projection matrix P for overriding camera intrinsic matrix K values so that users can configure P independently of K. This is useful when working with stereo cameras where P may be different from K due to the transform between the two cameras.</description>
<element name="p_fx" type="double" default="277" required="0">
<description>X focal length for projection matrix(in pixels, overrides fx)</description>
</element>
<element name="p_fy" type="double" default="277" required="0">
<description>Y focal length for projection matrix(in pixels, overrides fy)</description>
</element>
<element name="p_cx" type="double" default="160" required="0">
<description>X principal point for projection matrix(in pixels, overrides cx)</description>
</element>
<element name="p_cy" type="double" default="120" required="0">
<description>Y principal point for projection matrix(in pixels, overrides cy)</description>
</element>
<element name="tx" type="double" default="0.0" required="0">
<description>X translation for projection matrix (in pixels)</description>
</element>
<element name="ty" type="double" default="0.0" required="0">
<description>Y translation for projection matrix (in pixels)</description>
</element>
</element> <!-- End Projection -->
</element> <!-- End Lens -->
<element name="visibility_mask" type="unsigned int" default="4294967295" required="0">
<description><![CDATA[Visibility mask of a camera. When (camera's visibility_mask & visual's visibility_flags) evaluates to non-zero, the visual will be visible to the camera.]]></description>
</element>
<element name="optical_frame_id" type="string" default="" required="0">
<description>An optional frame id name to be used in the camera_info message header.</description>
</element>
<include filename="pose.sdf" required="0"/>
</element> <!-- End Camera -->