This is proposal for adding new type of sensor to sensor element
Please see current definitions urdf/XML/sensor
<sensor> element
Attributes
name (required) (string)
- The name of the sensor itself
type (required) (string)
- The type of the sensor as camera, ray, imu, magnetometer, gps, force_torque, contact, sonar, rfidtag, rfid
id (optional) (string)
- The id of the sensor, it's used for describing order of sensors, and so on.
update_rate (optional) (float) (Hz)
- The frequency at which the sensor data is generated. If left unspecified, the sensor will generate data every cycle.
Elements
<parent> (required)
link (required) (string)
- The name of the link this sensor is attached to.
<origin> (optional: defaults to identity if not specified)
- This is the pose of the sensor optical frame, relative to the sensor parent reference frame. The sensor optical frame adopts the conventions of z-forward, x-right and y-down.
xyz (optional: defaults to zero vector)
Represents the offset.
rpy (optional: defaults to identity if not specified)
- Represents the fixed axis roll, pitch and yaw angles in radians.
<gazebo> (optional)
- This element may be ignored by ROS.
<camera> (optional)
<image> (required)
width (required) (unsigned int) (pixels)
- Width of the camera in pixels.
height (required) (unsigned int) (pixels)
- Height of the camera in pixels.
format (required) (string)
Image format of the camera. Can be any of the strings defined in image_encodings.h insdie sensor_msgs.
hfov (required) (float) (radians)
- Horizontal field of view of the camera
near (required) (float) (m)
- Near clip distance of the camera in meters.
far (required) (float) (m)
- Far clip distance of the camera in meters. This needs to be greater or equal to near clip.
<ray> (optional)
<horizontal> (optional)
samples (optional: default 1) (unsigned int)
- The number of simulated rays to generate per complete laser sweep cycle.
resolution (optional: default 1) (float)
- This number is multiplied by samples to determine the number of range data points returned. If resolution is less than one, range data is interpolated. If resolution is greater than one, range data is averaged.
min_angle (optional: default 0) (float) (radians)
max_angle (optional: default 0) (float) (radians)
- Must be greater or equal to min_angle
<vertical> (optional)
samples (optional: default 1) (unsigned int)
- The number of simulated rays to generate per complete laser sweep cycle.
resolution (optional: default 1) (float)
- This number is multiplied by samples to determine the number of range data points returned. If resolution is less than one, range data is interpolated. If resolution is greater than one, range data is averaged.
min_angle (optional: default 0) (float) (radians)
max_angle (optional: default 0) (float) (radians)
- Must be greater or equal to min_angle
<range> (optional)
min (optional: default 0) (float)
max (optional: default finite) (float)
resolution (optional) (float)
<imu> (optional)
<gyro> (optional)
<noise> (optional)
- Noise parameter should be as same as the definition of SDF.
<acceleration> (optional)
<noise> (optional)
<magnetometer> (optional)
<noise> (optional)
<gps> (optional)
<position_sensing> (optional)
<noise> (optional)
<velocity_sensing> (optional)
<noise> (optional)
<force_torque> (optional)
<frame> (optional)
<measure_direction> (optional)
- Direction of the wrench measured by the sensor. The supported options are: "parent_to_child" if the measured wrench is the one applied by parent link on the child link, "child_to_parent" if the measured wrench is the one applied by the child link on the parent link.
<contact> (optional)
<collision> (optional)
<sonar> (optional)
<min> (optional)
<max> (optional)
<radius> (optional)
<rfidtag> (optional)
<rfid> (optional)
Discussion
Types of sensor in some descriptions
Gazebo(sdf) http://sdformat.org/spec?ver=1.5&elem=sensor
- camera, depth, multicamera, contact, gps, imu, ir, ray
OpenHRP3(vrml) http://www.openrtp.jp/openhrp3/en/create_model.html
- accelerationSensor, gyroSensor, visonSensor, forceSensor, rangeSensor
OpenRAVE(collada) http://openrave.org/docs/latest_stable/collada_robot_extensions
- base_pinhole_camera, base_stereo_camera, base_laser2d, base_laser3d, base_flash_laser, base_encoder, base_force6d, base_imu, base_odometry