I am having trouble understanding the replay function. I have recorded a sample stream of data camera+lidar which was stored on my external SSD. I want to replay all of the sensor data with the replayer with the --rig flag. Which JSON file should I choose in order to replay all of the data at once, and not only individual sensors? I have tried the following:
./replayer --rig /path/to/last_record/config/NAME-virtual.json
→ this gives me errors saying that it cannot find .h264 and .bin files for cam+lidar, even if I point to the correct files with --camera and --lidar flag
./replayer --rig /path/to/last_record/recorder1.0-NAME.json
→ also gives errors ‘nlohmann::detail::type_error’
I copied NAME-virtual.json into last_record directory and then ./replayer --rig /path/to/last_record/NAME-virtual.json
→ this works! But this can clearly not be right, right?
Maybe I overlooked something in the docs, but could someone please advise me on how replayer is to be used?
This is my condition to record from sensors.
External storage path : /media/nvidia/AAA
Recorded files path : /media/nvidia/AAA/dw_2019_09_20xxx
release.json file location : /media/nvidia/AAA/dw_2019_09_20xxx
I do not have a JSON-file NAME.json (in your case Name=“release”) in the directory of the recording. This is located in the config/ folder in the same directory. If I launch ./replayer with --rig=NAME.json, it will only launch the sensors attached to the platform and live broadcast. It will not replay recorded data. The only way I cam replay recorded data is by copying NAME-virtual.json from the config/ directory one dir up directly into the recording folder.
This seems like a path problem. The NAME-virtual.sjon file should not be located in the config/ folder or otherwise reference the recorded data one dir up.
Clostest to your suggestion is the option you see below. My json is called “sensortests.json” and the recording tool outputs a “recorder1.0-sensortests.json” into the recording folder. When I launch with this file, the following error occurs:
./replayer --rig=/media/absolut/SensorData/dw_2017_07_04_08:15:13_000000_sensortests_e7dca0f2-6090-11e7-bd32-00044bcbcb32/recorder1.0-sensortests.json
Arguments:
–camera=
–can=
–can0dbc=
–can1dbc=
–can2dbc=
–can3dbc=
–candbc=
–gps=
–imu=
–lidar=
–offscreen=0
–profiling=1
–radar=
–rig=/media/absolut/SensorData/dw_2017_07_04_08:15:13_000000_sensortests_e7dca0f2-6090-11e7-bd32-00044bcbcb32/recorder1.0-sensortests.json
–timestamp=
[23-09-2019 14:49:09] Platform: Detected Generic x86 Platform
[23-09-2019 14:49:09] Initialize DriveWorks SDK v2.0.2081
[23-09-2019 14:49:09] Release build with GNU 4.9.4 from heads/buildbrain-branch-0-g36b127f
[23-09-2019 14:49:09] TimeSource: monotonic epoch time offset is 1569242752492591
[23-09-2019 14:49:09] Platform: number of GPU devices detected 1
[23-09-2019 14:49:09] Platform: currently selected GPU device discrete ID 0
[23-09-2019 14:49:09] SDK: Resources mounted from …/…/data/
[23-09-2019 14:49:09] Initialize DriveWorks VisualizationSDK v2.0.2081
[23-09-2019 14:49:09] Initialize DriveWorksGL SDK v2.0.2081
[23-09-2019 14:49:09] GL-SDK: initialize OpenGL
[23-09-2019 14:49:09] Loading rig file: /media/absolut/SensorData/dw_2017_07_04_08:15:13_000000_sensortests_e7dca0f2-6090-11e7-bd32-00044bcbcb32/recorder1.0-sensortests.json
terminate called after throwing an instance of ‘nlohmann::detail::type_error’
what(): [json.exception.type_error.302] type must be number, but is string
Aborted (core dumped)
when I choose --rig=NAME.json, this will only start replayer with live broadcast of attached sensors. I have to use --rig=NAME-virtual.json to replay sensor data, after I copied the file over from config/ one dir up.
So just to confirm, this seems to be the “right” way? A fix would then be appreciated in upcoming releases, copying before replay isn’t that big of a deal but still shouldn’t be mandatory.