Hesai Driver

This driver provides a GXF interface to Hesai lidars. There are two Hesai lidars currently supported: XT32 and 128E3.

Overview

This parser pulls Hesai lidar data from UDP and publishes it out as a RangeScan message. It also optionally accepts intrinsic information.

Inputs

  • Raw Data: Raw UDP data packets with lidar scan data. This is represented using gxf::Tensor.

  • Sensor Frame: Pose frame where the beams originate from.

  • Intrinsics (Optional): Receiver for lidar intrinsics. This is a LidarIntrinsics3d message. If not specified pulls intrinsics from default values.

  • Intrinsics Timeout (Optional): Timeout for intrinsics receiver in seconds. Defaults to 10.0 seconds.

Outputs

  • Range Scan: Lidar’s processed range scan. This is a RangeScan message.

  • Packet Drop (Optional): Message with information about dropped packets. This is a Json message.

Overview

A separate TCP client for the Hesai lidar that currently gets intrinsic information from the lidar. This intrinsic data is published out as a LidarIntrinsics3d message.

Inputs

  • IP Address (Optional): The IP for the Hesai lidar. Defaults to “192.168.1.201”.

  • Port (Optional): The TCP port for the Hesai lidar. Defaults to 9347.

  • Frequency (Optional): Frequency in Hz for publishing intrinsics. Defaults to publishing once.

Outputs

  • Intrinsics: Hesai lidars intrinsics as LidarIntrinsics3d message.

Copy
Copied!
            

--- name: hesai_parser components: - name: raw_data_input type: nvidia::gxf::DoubleBufferReceiver parameters: capacity: 10 - name: range_scan_output type: nvidia::gxf::DoubleBufferTransmitter - name: allocator type: nvidia::gxf::BlockMemoryPool parameters: storage_type: 0 block_size: 2500000 num_blocks: 100 - name: intrinsics_input type: nvidia::gxf::DoubleBufferReceiver parameters: capacity: 10 - type: nvidia::isaac::HesaiParser parameters: raw_data_input: raw_data_input range_scan_output: range_scan_output allocator: allocator sensor_frame: atlas/lidar_frame intrinsics_input: intrinsics_input intrinsics_timeout: 10.0 - type: nvidia::gxf::MessageAvailableSchedulingTerm parameters: receiver: raw_data_input min_size: 1 - type: nvidia::gxf::DownstreamReceptiveSchedulingTerm parameters: transmitter: range_scan_output min_size: 1 --- name: hesai_tcp_client components: - name: intrinsics_output type: nvidia::gxf::DoubleBufferTransmitter - type: nvidia::isaac::HesaiTcpClient parameters: intrinsics_output: intrinsics_output tcp_ip: 192.168.1.201 tcp_port: 9347 frequency: 0.0 - type: nvidia::gxf::DownstreamReceptiveSchedulingTerm parameters: transmitter: intrinsics_output min_size: 1 --- name: udp_receiver components: - name: tensor type: nvidia::gxf::DoubleBufferTransmitter parameters: capacity: 10 - name: allocator type: nvidia::gxf::BlockMemoryPool parameters: storage_type: 2 block_size: 1080 num_blocks: 1000 - type: nvidia::isaac::UdpReceiver parameters: tensor: tensor allocator: allocator async_scheduling_term: async_scheduling_term address: 192.168.1.201 port: 2368 packet_accumulation: 50 buffer_size: 1080 receive_buffer_size: 561000 - name: async_scheduling_term type: nvidia::gxf::AsynchronousSchedulingTerm - type: nvidia::gxf::DownstreamReceptiveSchedulingTerm parameters: transmitter: tensor min_size: 1

NvIsaacHesaiExtension

Extension to interface with Hesai lidars

nvidia::isaac::HesaiParser

Parser for the raw hesai data packets

Parameters:

name

Raw data input

lookup_name

raw_data_input

description

Receiver for raw packet data.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Range scan output

lookup_name

range_scan_output

description

Handle to the ‘range_scan_output’ transmitter.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Packet drop output

lookup_name

packet_drop_output

description

Outputs message on packet drop.

flags

GXF_PARAMETER_FLAGS_OPTIONAL

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Memory allocator

lookup_name

allocator

description

Handle to the memory allocator pool used for output messages.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Sensor frame

lookup_name

sensor_frame

description

Handle to the pose frame the simulated beams originate from.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Intrinsics input

lookup_name

intrinsics_input

description

Receiver for lidar intrinsics.

flags

GXF_PARAMETER_FLAGS_OPTIONAL

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Intrinsics input timeout in seconds

lookup_name

intrinsics_timeout

description

Timeout for intrinsics receiver in seconds.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_FLOAT64

default

10.0

nvidia::isaac::HesaiTcpClient

TCP client for hesai

Parameters:

name

Memory allocator

lookup_name

allocator

description

Handle to the memory allocator pool used for output messages.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

Intrinsics Output

lookup_name

intrinsics_output

description

Outputs message containing intrinsic information for Hesai Pandar.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_HANDLE

default

N/A

name

IP address for TCP interface

lookup_name

tcp_ip

description

Changes IP address for TCP client.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_STRING

default

192.168.1.201

name

Port for TCP interface

lookup_name

tcp_port

description

Changes port for TCP client.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_UINT16

default

9347

name

Frequency (Hz) for publishing metadata

lookup_name

frequency

description

Frequency (Hz) for publishing metadata. Defaults to publishing once if 0.0.

flags

GXF_PARAMETER_FLAGS_NONE

type

GXF_PARAMETER_TYPE_FLOAT64

default

0.0

© Copyright 2018-2023, NVIDIA Corporation. Last updated on Oct 23, 2023.