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.
---
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
- lookup_name
- description
- flags
- type
- default
Raw data input
raw_data_input
Receiver for raw packet data.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Range scan output
range_scan_output
Handle to the ‘range_scan_output’ transmitter.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Packet drop output
packet_drop_output
Outputs message on packet drop.
GXF_PARAMETER_FLAGS_OPTIONAL
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Memory allocator
allocator
Handle to the memory allocator pool used for output messages.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Sensor frame
sensor_frame
Handle to the pose frame the simulated beams originate from.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Intrinsics input
intrinsics_input
Receiver for lidar intrinsics.
GXF_PARAMETER_FLAGS_OPTIONAL
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Intrinsics input timeout in seconds
intrinsics_timeout
Timeout for intrinsics receiver in seconds.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_FLOAT64
10.0
nvidia::isaac::HesaiTcpClient
TCP client for hesai
Parameters:
- name
- lookup_name
- description
- flags
- type
- default
Memory allocator
allocator
Handle to the memory allocator pool used for output messages.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
Intrinsics Output
intrinsics_output
Outputs message containing intrinsic information for Hesai Pandar.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_HANDLE
N/A
- name
- lookup_name
- description
- flags
- type
- default
IP address for TCP interface
tcp_ip
Changes IP address for TCP client.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_STRING
192.168.1.201
- name
- lookup_name
- description
- flags
- type
- default
Port for TCP interface
tcp_port
Changes port for TCP client.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_UINT16
9347
- name
- lookup_name
- description
- flags
- type
- default
Frequency (Hz) for publishing metadata
frequency
Frequency (Hz) for publishing metadata. Defaults to publishing once if 0.0.
GXF_PARAMETER_FLAGS_NONE
GXF_PARAMETER_TYPE_FLOAT64
0.0