• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • Compute Graph Framework SDK Reference  5.8
    All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    dwSelfCalibrationNode.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) 2019-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 DW_FRAMEWORK_SELF_CALIBRATION_NODE_HPP_
    32#define DW_FRAMEWORK_SELF_CALIBRATION_NODE_HPP_
    33
    34#include <dwcgf/node/Node.hpp>
    37#include <dwcgf/port/Port.hpp>
    42/* Need to include the appropriate ChannelPacketTypes.hpp since port initialization requires
    43 the parameter_trait overrides. Otherwise, it will be considered as a packet of generic type. */
    45
    46#include <dw/calibration/engine/Engine.h>
    47#include <dw/calibration/engine/camera/CameraParamsExtra.h>
    48
    49namespace dw
    50{
    51namespace framework
    52{
    53
    55{
    58 uint32_t sensorIndex;
    62 uint32_t calibrationSignals; // use uint32_t cause enum bitwise-or is not supported by codegen
    63 dwCameraModelHandle_t cameraHandle;
    64 dwCameraProperties cameraProps;
    65 cudaStream_t cudaStream;
    66};
    67
    69{
    72 uint32_t sensorIndex;
    74 dwRadarProperties radarProps;
    75 cudaStream_t cudaStream;
    76};
    77
    79{
    82 uint32_t sensorIndex;
    83 dwLidarProperties lidarProps;
    84 cudaStream_t cudaStream;
    85};
    86
    88{
    89 dwRigHandle_t rigHandle;
    91
    95
    103};
    104
    109{
    110public:
    111 static constexpr char LOG_TAG[] = "dwSelfCalibrationNode";
    112
    113 static constexpr auto describeInputPorts()
    114 {
    116 DW_DESCRIBE_PORT(dwEgomotionStateHandle_t, "EGOMOTION_STATE_ODO_IMU"_sv),
    117 DW_DESCRIBE_PORT(dwIMUFrame, "IMU_FRAME"_sv),
    118 DW_DESCRIBE_PORT(dwVehicleIOState, "VEHICLE_IO_STATE"_sv),
    119 DW_DESCRIBE_PORT(dwVehicleIONonSafetyState, "VEHICLE_IO_NON_SAFETY_STATE"_sv),
    120 DW_DESCRIBE_PORT_ARRAY(dwFeatureHistoryArray, SELF_CALIBRATION_NODE_MAX_CAMERAS, "CAMERA_FEATURE_DETECTION"_sv, PortBinding::OPTIONAL),
    122 DW_DESCRIBE_PORT_ARRAY(dwRadarDopplerMotion, SELF_CALIBRATION_NODE_MAX_RADARS, "RADAR_DOPPLER_MOTION"_sv, PortBinding::OPTIONAL),
    125 };
    126 static constexpr auto describeOutputPorts()
    127 {
    136 DW_DESCRIBE_PORT(void*, "MODULE_HANDLE"_sv, PortBinding::REQUIRED));
    137 };
    138
    139 static constexpr auto describePasses()
    140 {
    142 describePass("SETUP"_sv, DW_PROCESSOR_TYPE_CPU),
    143 describePass("PROCESS_IMU"_sv, DW_PROCESSOR_TYPE_CPU),
    144 describePass("PROCESS_VIO"_sv, DW_PROCESSOR_TYPE_CPU),
    145 describePass("PROCESS_VEHICLE_IO_NON_SAFETY_STATE"_sv, DW_PROCESSOR_TYPE_CPU),
    146 describePass("PROCESS_CAMERA_GPU_ASYNC"_sv, DW_PROCESSOR_TYPE_GPU),
    147 describePass("PROCESS_CAMERA_CPU_SYNC"_sv, DW_PROCESSOR_TYPE_CPU),
    148 describePass("PROCESS_RADAR"_sv, DW_PROCESSOR_TYPE_CPU),
    149 describePass("PROCESS_LIDAR_GPU_ASYNC"_sv, DW_PROCESSOR_TYPE_GPU),
    150 describePass("PROCESS_LIDAR_CPU_SYNC"_sv, DW_PROCESSOR_TYPE_CPU),
    151 describePass("SEND_ROADCAST"_sv, DW_PROCESSOR_TYPE_CPU),
    152 describePass("TEARDOWN"_sv, DW_PROCESSOR_TYPE_CPU));
    153 };
    154
    155 static std::unique_ptr<dwSelfCalibrationNode> create(ParameterProvider& provider);
    156
    157 static constexpr auto describeParameters()
    158 {
    159 return describeConstructorArguments<dwSelfCalibrationNodeParam, dwContextHandle_t>(
    162 dwRigHandle_t,
    165 bool,
    166 "enforceDependencies"_sv,
    169 bool,
    170 "calibrateVehicle"_sv,
    173 int32_t,
    174 "radarSensorWheelCalibration"_sv,
    176
    178 size_t,
    179 "cameraSensorIndices"_sv,
    182 size_t,
    183 "cameraSensorStreamIndices"_sv,
    186 bool,
    187 "cameraEnabledMask"_sv,
    190 uint32_t,
    191 "cameraCalibrationMethod"_sv,
    194 uint32_t,
    195 "cameraCalibrationSignals"_sv,
    197
    199 size_t,
    200 "radarSensorIndices"_sv,
    203 size_t,
    204 "radarSensorStreamIndices"_sv,
    207 bool,
    208 "radarEnabledMask"_sv,
    210
    212 size_t,
    213 "lidarSensorIndices"_sv,
    216 size_t,
    217 "lidarSensorStreamIndices"_sv,
    220 bool,
    221 "lidarEnabledMask"_sv,
    223
    225 uint32_t,
    226 "channelFifoSize"_sv,
    230 dwContextHandle_t)));
    231 }
    232
    233 dwSelfCalibrationNode(const dwSelfCalibrationNodeParam& param, const dwContextHandle_t ctx);
    234};
    235} // namespace framework
    236} // namespace dw
    237
    238#endif //DW_FRAMEWORK_SELF_CALIBRATION_NODE_HPP_
    #define DW_DESCRIBE_ABSTRACT_ARRAY_PARAMETER(TYPE_NAME, args...)
    #define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)
    #define DW_DESCRIBE_PARAMETER(TYPE_NAME, args...)
    #define DW_DESCRIBE_PORT(TYPE_NAME, args...)
    #define DW_DESCRIBE_PORT_ARRAY(TYPE_NAME, ARRAYSIZE, args...)
    The interface to access parameter values identified by name and/or (semantic) type.
    static std::unique_ptr< dwSelfCalibrationNode > create(ParameterProvider &provider)
    dwSelfCalibrationNode(const dwSelfCalibrationNodeParam &param, const dwContextHandle_t ctx)
    dwSelfCalibrationNodeCameraParams cameraParams[SELF_CALIBRATION_NODE_MAX_CAMERAS]
    dwSelfCalibrationNodeRadarParams radarParams[SELF_CALIBRATION_NODE_MAX_RADARS]
    constexpr auto describePortCollection(Args &&... args)
    CalibratedSteeringProperties { dwVehicleSteeringProperties steeringProperties dwCalibratedSteeringProperties
    constexpr std::tuple< dw::core::StringView, dwProcessorType > describePass(dw::core::StringView const &&name, dwProcessorType processorType)
    dwLidarPose { dwTime_t timeStampNow dwLidarPose
    CalibratedExtrinsics { CalibrationExtrinsicProfileName extrinsicProfileName dwCalibratedExtrinsics
    dwRoadCastNodeCalibrationDataArray { dwRoadCastNodeCalibrationData calibrationData[MAX_CALIBRATION_SENSORS] dwRoadCastNodeCalibrationDataArray
    static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_LIDARS
    constexpr auto describeConstructorArgument(const Args &&... args)
    dwSelfCalibrationNodeLidarParams lidarParams[SELF_CALIBRATION_NODE_MAX_LIDARS]
    static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_CAMERAS
    constexpr auto describePassCollection(const Args &&... args)
    CalibratedWheelRadii { float32_t currentWheelRadius[DW_VEHICLE_NUM_WHEELS] dwCalibratedWheelRadii
    static constexpr uint8_t SELF_CALIBRATION_NODE_MAX_RADARS
    Definition: Exception.hpp:47
    人人超碰97caoporen国产