Compute Graph Framework SDK Reference  5.8
SelfCalibrationTypes.hpp
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
31#ifndef SELF_CALIBRATION_TYPES_HPP
32#define SELF_CALIBRATION_TYPES_HPP
33
34#include <dw/calibration/engine/common/CalibrationTypes.h>
35#include <dw/calibration/engine/common/CalibrationTypesExtra.h>
36#include <dw/calibration/engine/vehicle/VehicleParams.h>
37#include <dw/core/health/HealthSignals.h>
38#include <dw/rig/Vehicle.h>
39#include <dw/rig/Rig.h>
40#include <dw/core/base/Types.h>
41#include <dw/core/container/BaseString.hpp>
42
43namespace dw
44{
45namespace framework
46{
47
48static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_IMU = 1;
49static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_VEHICLEIO = 1;
50static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_CAMERAS = 9;
51static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_RADARS = 9;
52static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_LIDARS = 8;
53static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_ROUTINE_COUNT = SELF_CALIBRATION_NODE_MAX_CAMERAS * MAX_EXTRINSIC_PROFILE_COUNT +
58static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_WHEELS = 4;
59
60// For every estimation, a property will be added to the rig file by the dwRigNode
61// to indicating results of previous calibration:
62//
63// "properties": {
64// "self-calibration": "accepted"
65// },
66static constexpr char SELF_CALIBRATION_TAG[] = "self-calibration";
67static constexpr char CALIBRATION_ACCEPTED_STATE_STRING[] = "accepted";
68static constexpr char CALIBRATION_NOT_ACCEPTED_STATE_STRING[] = "not-accepted";
69static constexpr char CALIBRATION_FAILED_STATE_STRING[] = "failed";
70static constexpr char CALIBRATION_INVALID_STATE_STRING[] = "invalid";
71
72using CalibrationResultsString = dw::core::FixedString<512>;
73using CalibrationIntrinsicsString = dw::core::FixedString<64>;
74using CalibrationExtrinsicProfileName = dw::core::FixedString<DW_MAX_EXTRINSIC_PROFILE_NAME_SIZE>;
75
76using dwCalibratedExtrinsics = struct CalibratedExtrinsics
77{
79 dwCalibrationSensorPositionState positionState;
81 dwTransformation3f currentSensor2Rig;
82 dwCalibrationStatus status;
84 dwCalibrationProperties properties;
85 dwCalibrationManeuverArray maneuvers;
86};
87
88using dwCalibratedWheelRadii = struct CalibratedWheelRadii
89{
90 float32_t currentWheelRadius[DW_VEHICLE_NUM_WHEELS];
91 dwCalibrationStatus status;
92 dwCalibrationProperties properties;
93 dwCalibrationManeuverArray maneuvers;
94};
95
96using dwCalibratedSteeringProperties = struct CalibratedSteeringProperties
97{
98 dwVehicleSteeringProperties steeringProperties;
99 dwCalibrationStatus status;
100 dwCalibrationProperties properties;
101 dwCalibrationManeuverArray maneuvers;
102};
103
104using dwCalibratedIMUIntrinsics = struct CalibratedIMUIntrinsics
105{
106 dwVector3f gyroscopeBias;
108 uint32_t sensorID;
111};
112
113} // namespace framework
114} // namespace dw
115
116#endif // SELF_CALIBRATION_TYPES_HPP
static constexpr char CALIBRATION_ACCEPTED_STATE_STRING[]
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_IMU
CalibratedSteeringProperties { dwVehicleSteeringProperties steeringProperties dwCalibratedSteeringProperties
dwVector3f accelerometerBias
dwTransformation3f currentSensor2Rig
static constexpr char CALIBRATION_FAILED_STATE_STRING[]
static constexpr char SELF_CALIBRATION_TAG[]
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_ROUTINE_COUNT
char extrinsicProfileName[DW_MAX_EXTRINSIC_PROFILE_NAME_SIZE]
static constexpr char CALIBRATION_INVALID_STATE_STRING[]
CalibratedExtrinsics { CalibrationExtrinsicProfileName extrinsicProfileName dwCalibratedExtrinsics
CalibratedIMUIntrinsics { dwVector3f gyroscopeBias dwCalibratedIMUIntrinsics
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_LIDARS
dwCalibrationStatus status
dwCalibrationManeuverArray maneuvers
dw::core::FixedString< DW_MAX_EXTRINSIC_PROFILE_NAME_SIZE > CalibrationExtrinsicProfileName
static constexpr char CALIBRATION_NOT_ACCEPTED_STATE_STRING[]
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_CAMERAS
dwCalibrationProperties properties
dw::core::FixedString< 512 > CalibrationResultsString
dwCalibrationSensorPositionState positionState
CalibratedWheelRadii { float32_t currentWheelRadius[DW_VEHICLE_NUM_WHEELS] dwCalibratedWheelRadii
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_RADARS
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_VEHICLEIO
dw::core::FixedString< 64 > CalibrationIntrinsicsString
static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_WHEELS
Definition: Exception.hpp:47