DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

SafetyForceFieldActuation.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2019 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
31 #ifndef DW_PLANNING_SAFETYFORCEFIELD_ACTUATION_SAFETYFORCEFIELDACTUATION_H_
32 #define DW_PLANNING_SAFETYFORCEFIELD_ACTUATION_SAFETYFORCEFIELDACTUATION_H_
33 
54 #include <dw/core/Context.h>
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 typedef struct dwSafetyForceFieldActuationObject* dwSafetyForceFieldActuationHandle_t;
62 
74 dwStatus dwSafetyForceFieldActuation_initialize(dwSafetyForceFieldActuationHandle_t* SafetyForceFieldActuation,
75  dwContextHandle_t context);
76 
86 dwStatus dwSafetyForceFieldActuation_reset(dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
87 
97 dwStatus dwSafetyForceFieldActuation_release(dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
98 
117  dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
118 
131  dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
132 
145  dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
146 
162 dwStatus dwSafetyForceFieldActuation_process(bool* isProposedControlSafe,
163  dwSafetyForceFieldControl* newControl,
164  const dwSafetyForceFieldControl* proposedControl,
165  float32_t steeringLimit,
166  float32_t minAccel,
167  float32_t maxAccel,
168  dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation);
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
176 #endif // DW_PLANNING_SAFETYFORCEFIELD_ACTUATION_SAFETYFORCEFIELDACTUATION_H_
dwSafetyForceFieldControl Control parameters used in Safety Force Field.
float float32_t
Specifies POD types.
Definition: Types.h:70
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_setMultiControlConstraints(const dwSafetyForceFieldMultiControlConstraints *constraints, dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Setter of Safety Force Field multi control constraints.
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_release(dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Release the safety force field actuation module.
NVIDIA DriveWorks API: Core Methods
dwSafetyForceFieldMultiControlConstraints An array of Safety Force Field control constraints.
dwStatus
Status definition.
Definition: Status.h:178
struct dwSafetyForceFieldActuationObject * dwSafetyForceFieldActuationHandle_t
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_setControlConstraints(const dwSafetyForceFieldControlConstraints *constraints, dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Setter of Safety Force Field control constraints.
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_setSteeringWeight(float32_t steeringWeight, dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Setter of the weight on steering for actuation for safety.
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_process(bool *isProposedControlSafe, dwSafetyForceFieldControl *newControl, const dwSafetyForceFieldControl *proposedControl, float32_t steeringLimit, float32_t minAccel, float32_t maxAccel, dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Explicitly test and correct the control parameters for safety.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_initialize(dwSafetyForceFieldActuationHandle_t *SafetyForceFieldActuation, dwContextHandle_t context)
Initialize an Safety Force Field actuation module.
DW_API_PUBLIC dwStatus dwSafetyForceFieldActuation_reset(dwSafetyForceFieldActuationHandle_t SafetyForceFieldActuation)
Reset the safety force field actuation module by clearing the control constraints.
#define DW_API_PUBLIC
Definition: Exports.h:56
dwSafetyForceFieldControlConstraints A collection of constraints, which is derived from Safety Force ...