Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>

  • DriveWorks SDK Reference
    5.20.37 Release
    For Test and Development only

    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    MotionCompensator.h
    Go to the documentation of this file.
    1
    2// 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) 2022-2023 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
    46#ifndef DW_POINTCLOUDPROCESSING_MOTIONCOMPENSATOR_MOTIONCOMPENSATOR_H_
    47#define DW_POINTCLOUDPROCESSING_MOTIONCOMPENSATOR_MOTIONCOMPENSATOR_H_
    48
    51
    52#ifdef __cplusplus
    53extern "C" {
    54#endif
    55
    56typedef struct dwMotionCompensatorObject* dwMotionCompensatorHandle_t;
    57typedef struct dwMotionCompensatorObject const* dwMotionCompensatorConstHandle_t;
    58
    62typedef enum {
    65
    67
    71typedef struct
    72{
    74
    76
    78
    81
    83
    85
    87
    103
    121 dwMotionCompensatorParams const* params,
    123
    138
    153
    188
    204
    220
    238
    254 uint32_t const timestampChannelIndex,
    256
    272
    288
    304
    320
    321#ifdef __cplusplus
    322}
    323#endif
    325#endif // DW_POINTCLOUDPROCESSING_MOTIONCOMPENSATOR_MOTIONCOMPENSATOR_H_
    NVIDIA DriveWorks API: Egomotion Producer/State Methods
    dwStatus
    Status definition.
    Definition: ErrorDefs.h:44
    NVIDIA DriveWorks API: Lidar Point Cloud Processing
    int64_t dwTime_t
    Specifies a timestamp unit, in microseconds.
    Definition: BasicTypes.h:65
    struct dwContextObject * dwContextHandle_t
    Context handle.
    Definition: Context.h:85
    #define DW_API_PUBLIC
    Definition: Exports.h:56
    struct dwEgomotionStateObject const * dwConstEgomotionStateHandle_t
    Defines the properties of the lidar.
    Definition: LidarTypes.h:161
    dwMotionCompensatorInterpolationStrategy interpolationStrategy
    Interpolation strategy.
    uint32_t motionModelResolution
    Number of transfomations calculated at equal time intervals between start and the end of a spin.
    dwTransformation3f pointCloudToRig
    Transformation aligns the lidar sensor with the platform that produces the egomotion.
    bool enableCuda
    If set the module operate on GPU point clouds.
    uint32_t maxPointCloudSize
    Maximum number of points in input/output point cloud.
    bool outputInRigCoordinates
    If true output points are transformed to rig coordinate system.
    struct dwMotionCompensatorObject * dwMotionCompensatorHandle_t
    DW_API_PUBLIC dwStatus dwMotionCompensator_getDefaultParams(dwMotionCompensatorParams *params, dwLidarProperties const *lidarProps)
    Get default parameters for motion compensator.
    DW_API_PUBLIC dwStatus dwMotionCompensator_reset(dwMotionCompensatorHandle_t obj)
    Reset motion compensator.
    DW_API_PUBLIC dwStatus dwMotionCompensator_setCUDAStream(const cudaStream_t stream, dwMotionCompensatorHandle_t obj)
    Set CUDA stream of motion compensator.
    DW_API_PUBLIC dwStatus dwMotionCompensator_bindInput(dwPointCloud const *pointCloud, uint32_t const timestampChannelIndex, dwMotionCompensatorHandle_t obj)
    Bind input point cloud.
    DW_API_PUBLIC dwStatus dwMotionCompensator_bindEgomotionState(dwConstEgomotionStateHandle_t motionState, dwMotionCompensatorHandle_t obj)
    Bind egomotion state handle.
    DW_API_PUBLIC dwStatus dwMotionCompensator_bindInputLidarPointCloud(dwLidarPointCloud const *pointCloud, dwMotionCompensatorHandle_t obj)
    Bind input lidar point cloud.
    DW_API_PUBLIC dwStatus dwMotionCompensator_getCUDAStream(cudaStream_t *stream, dwMotionCompensatorConstHandle_t obj)
    Get CUDA stream of motion compensator.
    DW_API_PUBLIC dwStatus dwMotionCompensator_bindOutput(dwPointCloud *pointCloud, dwMotionCompensatorHandle_t obj)
    Bind output point cloud.
    DW_API_PUBLIC dwStatus dwMotionCompensator_release(dwMotionCompensatorHandle_t obj)
    Release motion compensator.
    DW_API_PUBLIC dwStatus dwMotionCompensator_initialize(dwMotionCompensatorHandle_t *obj, dwMotionCompensatorParams const *params, dwContextHandle_t ctx)
    Initialize motion compensator module.
    DW_API_PUBLIC dwStatus dwMotionCompensator_setTransform(dwTransformation3f const *transform, dwMotionCompensatorHandle_t obj)
    Update point cloud transformation to egomotion coordinate frame.
    DW_API_PUBLIC dwStatus dwMotionCompensator_process(dwMotionCompensatorHandle_t obj)
    Perform motion compensation.
    DW_API_PUBLIC dwStatus dwMotionCompensator_bindOutputLidarPointCloud(dwLidarPointCloud *pointCloud, dwMotionCompensatorHandle_t obj)
    Bind output lidar point cloud.
    dwMotionCompensatorInterpolationStrategy
    Defines transform interpolation strategy.
    DW_API_PUBLIC dwStatus dwMotionCompensator_setReferenceTimestamp(dwTime_t const timestamp, dwMotionCompensatorHandle_t obj)
    Set reference time for motion compensation.
    struct dwMotionCompensatorObject const * dwMotionCompensatorConstHandle_t
    @ DW_PC_MOTION_COMPENSATOR_INTERPOLATION_LINEAR
    Default interpolation strategy applying linear interpolation.
    Defines a LIDAR-specific point cloud data structure.
    Defines point cloud motion compensator parameters.
    Defines point cloud data structure.
    Definition: PointCloud.h:98
    Specifies a 3D rigid transformation.
    Definition: MatrixTypes.h:182
    人人超碰97caoporen国产