DriveWorks GNSS Capture Failure for Ethernet based Novatel GNSS (PwrPak7D-E1)

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.10.0
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
2.1.0
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Issue Description
Hi,

We want to use Novatel GNSS Receiver PwrPak7D-E1 for Drive Orin Dev Kit’s GNSS, IMU sensor input.

But the DriveWorks sample application failed to connect to the Novatel device when run the command:
sudo /usr/local/driveworks/bin/sample_gps_logger --driver=gps.novatel --params=connection-type=ethernet,ip=192.168.7.7,port=2000

We configured Novatel PwrPak7D-E1 to Standalone Operation Mode, ICOM1 configuration to be static IP:192.168.7.7, Port :2000, Protocol : TCP, and enabled NEMA message GPGGA output. It is connected to the RJ45 of DriveOrin Dev Kit’s J1 MGBE-1 port. We are able to ping the PwrPak7D-E1 from DriveOrin.

From the output of sudo /usr/local/driveworks/bin/sample_sensors_info:

Sensor [19] : gps.novatel ? [connection-type={usb,ethernet},ip=X.X.X.X,port=XXXX,fifo-size=1024,timestamp-filter=true,xOffset=0.18,yOffset=0.54,zOffset=0.84][,output-timestamp={host,raw,synced,smoothed}]

Is there other params needed for “sample_gps_logger” besides “–driver=gps.novatel --params=connection-type=ethernet,ip=192.168.7.7,port=2000”. For the ethernet protocol , should orin use TCP or UDP?

Error String

[02-10-2024 20:08:54] SensorFactory::createSensor() → gps.novatel, connection-type=ethernet,ip=192.168.7.7,port=2000
[02-10-2024 20:08:54] Found driver: gps.novatel
[02-10-2024 20:08:54] Driveworks exception thrown: DW_FAILURE: EndpointNovatelEthernet: Couldn’t connect to sensor

Cannot create sensor gps.novatel with connection-type=ethernet,ip=192.168.7.7,port=2000
[02-10-2024 20:08:56] EndpointNVPPS: stopped on /dev/nvpps0
[02-10-2024 20:08:56] [02-10-2024 20:08:56] Releasing Driveworks SDK Context

Logs

wayve@mbn00004:~$ sudo /usr/local/driveworks/bin/sample_gps_logger --driver=gps.novatel --params=connection-type=ethernet,ip=192.168.7.7,port=2000
[02-10-2024 20:08:54] Platform: Detected Drive Orin P3710
[02-10-2024 20:08:54] Adding variable DW_Base:DW_Version
[02-10-2024 20:08:54] Added variable DW_Base:DW_Version
[02-10-2024 20:08:54] Platform: number of GPU devices detected 1
[02-10-2024 20:08:54] Platform: currently selected GPU device 0, Resource Data Dir: trt_08_06_10_03, Arch: ga10b
[02-10-2024 20:08:54] Platform: currently selected GPU device integrated ID 0
[02-10-2024 20:08:54] CUDLAEngine:getDLACount: CUDLA version is = 1004000
[02-10-2024 20:08:54] CUDLAEngine:getDLACount: Number of DLA devices = 2
[02-10-2024 20:08:54] Context::mountResourceCandidateDataPath resource FAILED to mount from ‘./resources’: VirtualFileSystem: Failed to mount ‘./resources/resources.pak’
[02-10-2024 20:08:54] Context::mountResourceCandidateDataPath resource FAILED to mount from ‘/home/wayve/data’: VirtualFileSystem: Failed to mount ‘/home/wayve/data/resources.pak’
[02-10-2024 20:08:54] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks-5.14/bin/…/data
[02-10-2024 20:08:54] Context::mountResourceCandidateDataPath resource FAILED to mount from ‘/usr/local/driveworks-5.14/bin/…/data’: VirtualFileSystem: Failed to mount ‘/usr/local/driveworks-5.14/bin/…/data/resources.pak’
[02-10-2024 20:08:54] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks-5.14/data
[02-10-2024 20:08:54] Context::mountResourceCandidateDataPath resource FAILED to mount from ‘/usr/local/driveworks-5.14/data’: VirtualFileSystem: Failed to mount ‘/usr/local/driveworks-5.14/data/resources.pak’
[02-10-2024 20:08:54] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.14/bin/…/lib/libdw_base.so.5.14
[02-10-2024 20:08:54] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.14/targets/aarch64-Linux/lib/libdw_base.so.5.14
[02-10-2024 20:08:54] SDK: No resources(.pak) mounted, some modules will not function properly
[02-10-2024 20:08:54] egl::Display: found 1 EGL devices
[02-10-2024 20:08:54] egl::Display: use drm device: /dev/dri/card0
[02-10-2024 20:08:54] [02-10-2024 20:08:54] Initialize DriveWorks SDK v5.14.74
[02-10-2024 20:08:54] [02-10-2024 20:08:54] Release build with GNU 9.3.0 from buildbrain-branch-0-g30b7ba5bb0c against Drive PDK v6.0.8.0
[02-10-2024 20:08:54] SensorFactory::createSensor() → time.nvpps, nvpps-device=/dev/nvpps0
[02-10-2024 20:08:54] Found driver: time.nvpps
[02-10-2024 20:08:54] TimeSensor: failed to set NVPPS parameters. Error: Invalid argument
[02-10-2024 20:08:54] This platform does not support NVPPS GPIO mode. Fallback to timer mode
[02-10-2024 20:08:54] TimeSensor: initialized with no UTC time reference.
[02-10-2024 20:08:54] SensorFactory: Override default timeSensor with the user passed one
[02-10-2024 20:08:54] EndpointNVPPS: started on /dev/nvpps0
[02-10-2024 20:08:54] SensorFactory::createSensor() → gps.novatel, connection-type=ethernet,ip=192.168.7.7,port=2000
[02-10-2024 20:08:54] Found driver: gps.novatel
[02-10-2024 20:08:54] Driveworks exception thrown: DW_FAILURE: EndpointNovatelEthernet: Couldn’t connect to sensor

Cannot create sensor gps.novatel with connection-type=ethernet,ip=192.168.7.7,port=2000
[02-10-2024 20:08:56] EndpointNVPPS: stopped on /dev/nvpps0
[02-10-2024 20:08:56] [02-10-2024 20:08:56] Releasing Driveworks SDK Context
wayve@mbn00004:~$

Dear @sean.chen3,
I am checking internally on parameters for the novatel sensor and update you.

Hi Siva,

Do you know which port and protocol that DriverOrin’s driver gps.novatel listens to the incoming Novatel PwrPak7 GNSS data stream? Is the ethernet interface for DriveOrin to receive GNSS data packet fixed? Does DrivweWorks GNSS Sensor capture works on ethernet interface eqos_0 and mgbe1_0?

With Novatel Ports ICOM1 Configuration set to UDP protocol, Domain set to Orin’s IP address: 192.168.7.xxx, Port set to destination 3000 or 3001, Orin’s tcpdump capture shows that the UDP GNSS data packets are received at Orin’s ethernet interface, but the sample_gps_logger still show error:

[08-10-2024 15:15:07] SensorFactory: Override default timeSensor with the user passed one
[08-10-2024 15:15:07] EndpointNVPPS: started on /dev/nvpps0
[08-10-2024 15:15:07] SensorFactory::createSensor() -> gps.novatel, connection-type=ethernet,ip=192.168.7.7,port=3000,fifo-size=1024,timestamp-filter=true,xOffset=0.18,yOffset=0.54,zOffset=0.84
[08-10-2024 15:15:07] Found driver: gps.novatel
[08-10-2024 15:15:07] Driveworks exception thrown: DW_FAILURE: EndpointNovatelEthernet: Couldn't connect to sensor

Cannot create sensor gps.novatel with connection-type=ethernet,ip=192.168.7.7,port=3000,fifo-size=1024,timestamp-filter=true,xOffset=0.18,yOffset=0.54,zOffset=0.84
[08-10-2024 15:15:08] EndpointNVPPS: stopped on /dev/nvpps0
[08-10-2024 15:15:08] [08-10-2024 15:15:08] Releasing Driveworks SDK Context


Any suggestions?
Thanks,
Sean

Dear @sean.chen3,
Could you try ./sample_gps_logger --driver=gps.novate --params=connection-type=ethernet,ip=<DeviceIP>,port=2000,sensor2AntennaX=-0.380,sensor2AntennaY=0.5093,sensor2AntennaZ=1.1693,sensor2Antenna2X=0.360,sensor2Antenna2Y=-0.3943,sensor2Antenna2Z=1.1843

It uses TCP. Can you try the above command and change the sensor IP and make sure it is reachable.

Hi Siva,

With Novatel PwrPak7 configured as TCP, the gps.novatel drive works and I am able to capture the GNSS data packet.

Thanks a lot for the support!
Sean

Dear @sean.chen3,
Good to hear the issue is resolved. Can you confirm if the above command worked?

Hi Siva,

Yes, it works.

Thanks,
Sean

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.