DriveWorks SDK Reference
3.0.4260 Release
For Test and Development only

Control Constraints Data

Detailed Description

Defines the control constraints data structure.

Note
SW Release Applicability: These APIs are available in NVIDIA DRIVE Software releases.

Data Structures

struct  dwSafetyForceFieldControl
 dwSafetyForceFieldControl Control parameters used in Safety Force Field. More...
 
struct  dwSafetyForceFieldControlConstraints
 dwSafetyForceFieldControlConstraints A collection of constraints, which is derived from Safety Force Field, on ego car control parameters: front wheel steering angle (in radian) and longitudinal acceleration (in meter per second squared). Any control parameters that meet the constraints are classified as safe. More...
 
struct  dwSafetyForceFieldMultiControlConstraints
 dwSafetyForceFieldMultiControlConstraints An array of Safety Force Field control constraints. More...
 

Macros

#define DW_SAFETY_FORCE_FIELD_MAX_NUM_CONSTRAINTS   3
 

Enumerations

enum  dwSafetyForceFieldCombinationType {
  DW_SAFETY_FORCE_FIELD_COMBINATION_TYPE_UNION = 0,
  DW_SAFETY_FORCE_FIELD_COMBINATION_TYPE_VOTING = 1
}
 dwSafetyForceFieldCombinationType How control constraints are combined More...
 
enum  dwSafetyForceFieldConeType {
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_WHOLE_SPACE = 0,
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_HALF_SPACE = 1,
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_SECOND_ORDER_CONE = 2,
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_LINE = 3,
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_RAY = 4,
  DW_SAFETY_FORCE_FIELD_CONE_TYPE_POINT = 5
}
 

Data Structure Documentation

◆ dwSafetyForceFieldControl

struct dwSafetyForceFieldControl
Data Fields
float32_t acceleration Longitudinal acceleration, in meter per second squared.
float32_t steeringAngle Front wheel steering angle, in radian.

◆ dwSafetyForceFieldControlConstraints

struct dwSafetyForceFieldControlConstraints
Data Fields
float32_t end Ending angle in radian; see the description of dwSafetyForceFieldConeType for details.
dwSafetyForceFieldControl safeControl Control describing the safety procedure. It is also the origin of the convex cone.
float32_t start Starting angle in radian; see the description of dwSafetyForceFieldConeType for details.
dwSafetyForceFieldConeType type Type of the convex cone of control constraints.

◆ dwSafetyForceFieldMultiControlConstraints

struct dwSafetyForceFieldMultiControlConstraints
Data Fields
dwSafetyForceFieldCombinationType combinationType type of combination of control constraints
dwSafetyForceFieldControlConstraints constraints[DW_SAFETY_FORCE_FIELD_MAX_NUM_CONSTRAINTS] array of Safety Force Field control constraints

Macro Definition Documentation

◆ DW_SAFETY_FORCE_FIELD_MAX_NUM_CONSTRAINTS

#define DW_SAFETY_FORCE_FIELD_MAX_NUM_CONSTRAINTS   3

Definition at line 166 of file ControlConstraints.h.

Enumeration Type Documentation

◆ dwSafetyForceFieldCombinationType

dwSafetyForceFieldCombinationType How control constraints are combined

Enumerator
DW_SAFETY_FORCE_FIELD_COMBINATION_TYPE_UNION 

Indicating a control is safe if and only if it meets all control constraints.

DW_SAFETY_FORCE_FIELD_COMBINATION_TYPE_VOTING 

Indicating a control is safe if and only if it meets two out of three control constraints.

Definition at line 161 of file ControlConstraints.h.

◆ dwSafetyForceFieldConeType

dwSafetyForceFieldConeType Type of the convex cone of Safety Force Field control constraints in 2D space

DW_SAFETY_FORCE_FIELD_CONE_TYPE_WHOLE_SPACE: the entire 2D space, which is represented by the unit circle

DW_SAFETY_FORCE_FIELD_CONE_TYPE_POINT: the unique finite cone containing only the origin, which is represented by empty set.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_RAY: in the form {lambda v: lambda >= 0} given vector v in the 2D space, which is represented by one point in S^1

DW_SAFETY_FORCE_FIELD_CONE_TYPE_LINE: 1-dimensional linear subspace, which is represented by two antipodal points in S^1

DW_SAFETY_FORCE_FIELD_CONE_TYPE_HALF_SPACE: described by one linear inequality ax + by >= c. It is represented by a semi-circle.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_SECOND_ORDER_CONE: the region between two boundary rays, and the angle between two rays is less than 180 degrees. It is represented by an arc in the S^1 for which the angle subtended is less than 180 degrees.

Each point in S^1 can be described by an angle (up to adding 2*PI), we take the branch that (1, 0) is 0 degrees, and the angle increases in counterclockwise direction. For example, (0, 1) is 90 degrees, (-1, -1) is 225 degrees, (1, -1) is 315 degrees. We permit the range [0, 3*PI), so that, for example (1, 1) can be 45 or 405 degrees.

For the types DW_SAFETY_FORCE_FIELD_CONE_TYPE_RAY, DW_SAFETY_FORCE_FIELD_CONE_TYPE_LINE, DW_SAFETY_FORCE_FIELD_CONE_TYPE_HALF_SPACE, DW_SAFETY_FORCE_FIELD_CONE_TYPE_SECOND_ORDER_CONE, based on their subsets in S^1, we can use two angles called starting angle (or start) and ending angle (or end) to describe them precisely.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_RAY is represented by a point in S^1, we set start = end = its angle in [0, 2*PI).

DW_SAFETY_FORCE_FIELD_CONE_TYPE_LINE is represented by two antipodal points, then we get two angles in [0, 2*PI) differed by PI, start is the smaller angle while end is the larger one.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_HALF_SPACE is represented by a semi-circle, if we traverse the semi-circle in counterclockwise direction, then start = angle at starting point in [0, 2*PI), and end = angle at ending point in [PI, 3*PI). Notice that end = start + PI.

Examples: {(x, y): x + y <= 0} start = 135 deg, end = 135 + 180 = 315 deg {(x, y): x + y >= 0} start = 315 deg, end = 315 + 180 = 495 deg

DW_SAFETY_FORCE_FIELD_CONE_TYPE_SECOND_ORDER_CONE is represented by an arc. Traversing the arc in counterclockwise direction, start = angle at starting point in [0, 2*PI), end = angle at ending point >= start.

Examples: {(x, y): x + y >= 0, y >= 0} start = 0 deg, end = 135 deg {(x, y): x + y >= 0, y <= 0} start = 315 deg, end = 360 deg {(x, y): x + y <= 0, y >= 0} start = 135 deg, end = 180 deg {(x, y): x + y <= 0, y <= 0} start = 180 deg, end = 315 deg

Enumerator
DW_SAFETY_FORCE_FIELD_CONE_TYPE_WHOLE_SPACE 

see the description of dwSafetyForceFieldConeType.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_HALF_SPACE 

see the description of dwSafetyForceFieldConeType.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_SECOND_ORDER_CONE 

see the description of dwSafetyForceFieldConeType.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_LINE 

see the description of dwSafetyForceFieldConeType.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_RAY 

see the description of dwSafetyForceFieldConeType.

DW_SAFETY_FORCE_FIELD_CONE_TYPE_POINT 

see the description of dwSafetyForceFieldConeType.

Definition at line 121 of file ControlConstraints.h.