Sensor: Proximity
Model ElementThe Sensor_Proximity element defines a sensor that measures the minimum distance between the graphics/mesh of two bodies. The sensor tracks the state of interference of the graphics/mesh, the length of the minimum distance, and the coordinates of a pair of closest points. These quantities can be accessed using the PROXIMITY function for use in defining expressions or for plotting.
Format
<Sensor_Proximity
id = "integer"
[ label = "string" ]
{
num_i_graphics = "integer"
i_graphics_id = "integer_list"
|
i_flexbody_id = "integer"
}
{
num_j_graphics = "integer"
j_graphics_id = "integer_list"
|
j_flexbody_id = "integer"
}
/>
Attributes
- id
- Element identification number (integer>0). This number is unique among all Sensor_Proximity elements and uniquely identifies the element.
- label
- The name of the Sensor_Proximity element. This argument is optional.
- num_i_graphics
- Specifies the number of Post_Graphic elements on the first body that are to be considered in evaluating the proximity.
- i_graphics_id
- This is the list of the Post_Graphic element IDs on the first body to be considered for proximity. The number of IDs in this list is specified by num_i_graphics.
- i_flexbody_id
- If the first body is flexible, this argument specifies the ID of Body_Flexible for the first body to be considered for contact.
- num_j_graphics
- Specifies the number of Post_Graphic elements on the second body that are to be considered in evaluating the proximity.
- j_graphics_id
- This is the list of the Post_Graphic element IDs on the second body to be considered for proximity. The number of IDs in this list is specified by num_j_graphics.
- j_flexbody_id
- If the second body is flexible, this argument specifies the ID of Body_Flexible for the second body to be considered for contact.
Example
The image below demonstrates how the Sensor_Proximity element is used to track the minimum distance between a robot end-effector and a work piece.
<Sensor_Proximity
id = "70002"
num_i_graphics = "1"
i_graphics_id = "90013"
num_j_graphics = "1"
j_graphics_id = "90011"
/>
The next image demonstrates how the Sensor_Proximity element is used to track the minimum distance between a rigid sphere and a flexible plate.
<Sensor_Proximity
id = "70001"
num_i_graphics = "1"
i_graphics_id = "90000"
j_flexbody_id = "30102"
/>
Comments
- Sensor_Proximity does not compute the penetration between two bodies. It only computes the minimum distance between them.
- The table below lists the graphic types that are supported by
the Sensor_Proximity element for minimum distance calculations.
Type of Body Supported Graphics Unsupported Graphics Rigid Body BoxDefinedFromCorner BoxDefinedFromCenter
Cylinder
Frustum
Ellipsoid
Sphere
Plane
Triamesh
CircleFromRM CircelFromRadius
ArcFromRM
ArcFromRadius
Point
LineMesh
SPDP
Outline
ParamCurve
ParamSurface
DeformCurve
DeformSurface
UserGra
Flexible Body H3D file referenced from Body_Flexible 0D (points) and 1D (lines/beam) elements inside the H3D file.