Recording tool throw an error

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.6.1.8175
1.6.0.8170
other

Host Machine Version
native Ubuntu 18.04
other

When I start the Recorder tool with this command:
cd /usr/local/driveworks/tools/capture
./recorder-tui OR <rig_directory> [–bbr]

i get the error "fail to run rig legacy converter. What does it excatly mean? I tried it with several rig-files.

Hi, @eunow
Please provide the complete command (with the rig file) and its output for our analysis and reproducing. Thanks.

Command:
./recorder-tui /home/nvidia/rig/rig.json

Output:

-Rig rig.json
Copying rigs and setup code
Platform setup..
ERROR @rig : cmd: ['sudo', '/usr/local/driveworks-2.2/tools/capture/scripts/rig-legacy-converter' , '/tmp/recorder-5393/rig.json'.'/tmp/recorder-5393']
stdout: b'' stderr: b'Traceback (most recent call last):\n File "/usr/local/driveworks-2.2/tools/caputre/scripts/rig-legacy-converter", line 136, in <module>\n protocol = sensor[\'protocol\']\nKeyError: \'protocol\'\n'
Error: fail to run rig legacy converter.

Please also provide the rig file so we can reproduce the issue here. Thanks.

Dear @eunow,
It looks like the rig file is not complete. Could you share the other rig files too used in the shared rig.json

Dear @eunow,
I could reproduce the issue on my machine. It seems the issue is at line 136 in rig-legacy-converter python script. You may print sensor object value at line 136 in tools/capture/scripts/rig-legacy-converter It is checking for protocol parameter in the sensor object which is failing when you use json-merge based Json files. Could you use a single Json file similar to configs/rwd/hyperion7_1/release.json instead of multiple Json files.

Thank you, I will try!

1 Like

Dear @SivaRamaKrishnaNV,
I used a single json file. This time I get the following error:


And all error logs are empty.

Please make sure the below sample_radar_replay sample work with the settings in your rig file first.
/usr/local/driveworks/doc/nvsdk_html/dwx_radar_replay_sample.html

The radar_replay_sample works fine with this rig-file.

Could you share your sample_radar_replay command and its output for our reference? Thanks.

This is the command and output on my host-pc with recorded radar data and playback with can-utils.

./sample_radar_replay --protocol=radar.custom  --params=decoder-path=/home/nvidia/dw_samples/build/src/sensors/plugins/radar_plugin_ars408/libradar_plugin_ars408.so,device=vcan0,dbc-path=/home/nvidia/dw_samples/ars408.dbc
[21-10-2021 15:44:33] Platform: Detected Generic x86 Platform
[21-10-2021 15:44:33] TimeSource: monotonic epoch time offset is 1634829945207093
[21-10-2021 15:44:33] Platform: number of GPU devices detected 1
[21-10-2021 15:44:33] Platform: currently selected GPU device discrete ID 0
[21-10-2021 15:44:33] SDK: Resources mounted from /usr/local/driveworks/data/
[21-10-2021 15:44:33] TimeSource: monotonic epoch time offset is 1634829945207093
[21-10-2021 15:44:33] Initialize DriveWorks SDK v2.2.3136
[21-10-2021 15:44:33] Release build with GNU 7.4.0 from heads/buildbrain-branch-0-gca7b4b26e65
[21-10-2021 15:44:33] SensorFactory::createSensor() -> radar.custom, decoder-path=/home/nvidia/dw_samples/build/src/sensors/plugins/radar_plugin_ars408/libradar_plugin_ars408.so,device=vcan0,dbc-path=/home/nvidia/dw_samples/dbc-and-can/ARS408/dbc/ars408.dbc
[21-10-2021 15:44:33] SensorFactory::createSensor() -> can.socket, device=vcan0
[21-10-2021 15:44:33] CANSocket: Cannot get current state of hardware time stamping: ioctl(SIOCGHWTSTAMP, vcan0) -> No such file or directory
[21-10-2021 15:44:33] CANSocket: software based timestamps will be used for vcan0
[21-10-2021 15:44:33] DBC Parser: Ignoring message 'VECTOR__INDEPENDENT_SIG_MSG' at line 39 (dummy message, unused signals):
BO_ 3221225472 VECTOR__INDEPENDENT_SIG_MSG: 0 Vector__XXX

CAN DBC parsed results:
numMessages: 17
numSignals: 137
numSignalsExtendedValueType: 0
numIgnoredMessages: 1
numInvalidMessages: 0
numInvalidSignals: 1
numInvalidSignalsExtendedValueType: 0

[21-10-2021 15:44:33] Initialize DriveWorks VisualizationSDK v2.2.3136
[21-10-2021 15:44:33] Initialize DriveWorksGL SDK v2.2.3136
[21-10-2021 15:44:33] GL-SDK: initialize OpenGL
[21-10-2021 15:44:33] CANSocket: ioctl(SIOCSHWTSTAMP, vcan0) failed -> No such file or directory. Cannot enable HW timestamps, try with root user.
[21-10-2021 15:44:33] CANSocket: use SW based timestamps for vcan0
[21-10-2021 15:44:33] CANSocket: started vcan0
Timing results:
Thread main:
-onProcess                CPU:   171us, std=11901       | GPU:   158us, std=11978       | samples=2558
-onRender                 CPU:   413us, std=2477       | GPU:   255us, std=2591       | samples=159

[21-10-2021 15:44:41] Sensor statistics for: can.socket, device=vcan0
[21-10-2021 15:44:41] Events: 0
Errors: 0
Drops: 0
minDelta: 2.0000000
maxDelta: 66036.0000000
meanDelta: 860.925049
Standard deviation: 5804.131836
Inconsistent timestamps skipped: 210

Before looking into this log, may I know if sample_radar_replay also works with the relevant settings on your target system?

Yes, sample_radar_replay works properly.

Please try with recorder (/usr/local/driveworks/doc/nvsdk_html/dwx_recorder_textui_tool.html) first and see if it works. Thanks.