Recorder Remote Storage

Hello,

We are trying to use recorder-qt to log data from cameras and our CAN network. We plan on using a remote computer with the storage connected to the PX2 over the 10 Gbit ethernet. I, however, cannot find any documentation to specify a storage location in the rig file that recorder-qt needs. We’re currently using NFS to mount the storage remotely but can change the mounting method to make it compatible with recorder-qt. What can we do to get this storage mounted on the PX2 so that we can record data with it? Thanks

Dear bjsmyth,
Just to confirm, Are you asking a way to store on a remote machine with out mounting the path on Drive PX2 locally? Also, May I know your PDK version?

Hi,

I may have worded my request poorly. We’re already mounting the remote storage locally to the PX2 via NFS (though if necessary we can change the mounting protocol). What we need help with is how to configure the recorder to write data to the mounted storage. Our PDK version is 5.0.10.3.

Dear bjsmyth,
Do you see any issues when you set record_path to mounted path?(Please check /usr/local/driveworks-1.2/doc/nvdwx_html/dwx_recorder_tool.html)

That would likely work for us, but we would like to use recorder-qtgui if possible. Is there a way to set record_path with the gui program?

Dear bjsmyth,
recorder-qtgui tool can discover SSD/eSATA disks that are mounted on the target and meet the following criteria:

  1. ext4 filesystem format
  2. 5GB free space available

  3. visible in /proc/mounts
    This tool automatically selects the first available disk for recording. Once a disk becomes full (free space < 5GB), output files will be put into the next available disk automatically

If the above criteria does not meet, then you can not store to that path.

Hello,

We were able to record 2 cameras to a 10 GbE server using the recorder you mentioned above, however we’re having issues with more than 2 cameras. Even with cameras split across multiple CSI ports we start seeing ICP drops across all camera. I believe this is likely a configuration error on our end but I am stuck as to what we need to change to get these errors to disappear. Here is a screenshot of the error we get when we start the recorder with a 3 or 4 camera configuration. With 2 cameras we see no frame drops at all. I have also attached our rig configuration we’re using to attempt to record. Thanks!

{
    "rig": {
        "sensors": [
            {
                "name": "camera:front:center:120fov",
                "nominalSensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                },
                "parameter": "camera-type=ar0231-rccb-ae-ss3322,csi-port=c,camera-count=2,siblingIndex=0,format=raw,output-format=raw,slave=0,file-buffer-size=8192",
                "properties": {
                    "Model": "ftheta",
                    "bw-poly": "0.0 0.000545421498827636 -1.6216719633103e-10 -4.64720492990289e-12 2.85224527762934e-16",
                    "cx": "960",
                    "cy": "604",
                    "height": "1208",
                    "width": "1920"
                },
                "protocol": "camera.gmsl",
                "sensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                }
            },
            {
                "name": "camera:back:center:120fov",
                "nominalSensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                },
                "parameter": "camera-type=ar0231-rccb-ae-ss3322,csi-port=c,camera-count=2,siblingIndex=1,format=raw,output-format=raw,slave=0,file-buffer-size=8192",
                "properties": {
                    "Model": "ftheta",
                    "bw-poly": "0.0 0.000545421498827636 -1.6216719633103e-10 -4.64720492990289e-12 2.85224527762934e-16",
                    "cx": "960",
                    "cy": "604",
                    "height": "1208",
                    "width": "1920"
                },
                "protocol": "camera.gmsl",
                "sensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                }
            },
            {
                "name": "camera:back:right:120fov",
                "nominalSensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                },
                "parameter": "camera-type=ar0231-rccb-ae-ss3322,csi-port=e,camera-count=2,siblingIndex=0,format=raw,output-format=raw,slave=0,file-buffer-size=8192",
                "properties": {
                    "Model": "ftheta",
                    "bw-poly": "0.0 0.000545421498827636 -1.6216719633103e-10 -4.64720492990289e-12 2.85224527762934e-16",
                    "cx": "960",
                    "cy": "604",
                    "height": "1208",
                    "width": "1920"
                },
                "protocol": "camera.gmsl",
                "sensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                }
            },
            {
                "name": "camera:back:left:120fov",
                "nominalSensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                },
                "parameter": "camera-type=ar0231-rccb-ae-ss3322,csi-port=e,camera-count=2,siblingIndex=1,format=raw,output-format=raw,slave=0,file-buffer-size=8192",
                "properties": {
                    "Model": "ftheta",
                    "bw-poly": "0.0 0.000545421498827636 -1.6216719633103e-10 -4.64720492990289e-12 2.85224527762934e-16",
                    "cx": "960",
                    "cy": "604",
                    "height": "1208",
                    "width": "1920"
                },
                "protocol": "camera.gmsl",
                "sensor2Rig": {
                    "quaternion": [
                        0.5,
                        -0.5,
                        0.5,
                        -0.5
                    ],
                    "t": [
                        1.77,
                        0.0,
                        1.47
                    ]
                }
            },
	    {
                "name": "can:vehicle",
                "nominalSensor2Rig": {
                    "quaternion": [
                        0.0,
                        0.0,
                        0.0,
                        1.0
                    ],
                    "t": [
                        0.0,
                        0.0,
                        0.0
                    ]
                },
                "parameter": "device=can0,file-buffer-size=8192",
                "properties": null,
                "protocol": "can.socket",
                "sensor2Rig": {
                    "quaternion": [
                        0.0,
                        0.0,
                        0.0,
                        1.0
                    ],
                    "t": [
                        0.0,
                        0.0,
                        0.0
                    ]
                }
            }	


        ],
        "vehicle": {
            "valid": true,
            "value": {
                "COMMENT": "steeringCoefficient is not validated",
                "axlebaseFront": 1.582,
                "axlebaseRear": 1.575,
                "bumperFront": 0.912,
                "bumperRear": 1.109,
                "centerOfMassToRearAxle": 1.564,
                "frontCorneringStiffness": 30654.0,
                "height": 1.473,
                "inertia": 1780.8,
                "length": 4.872,
                "mass": 1779.4,
                "rearCorneringStiffness": 36407.0,
                "steeringCoefficient": 14.8,
                "wheelDiameter": 0.673,
                "wheelbase": 2.85,
                "width": 1.852,
                "widthWithMirrors": 2.121
            }
        }
    },
    "version": 2
}

I should also clarify we had the same issue when we add a 3rd camera to the same CSI port.

Dear bjsmyth,
have you checked Tutorials-> Recording sensor data → High Throughput Recording section Driveworks documentation?(DRIVE_Software_Docs\DRIVE_Software\dav\dwx_recording_devguide_high_throughput_recording.html)

We looked there, the sysctl settings are set on the PX2, but we’re not using USB drives to record, we’re using NFS. I want to note and emphasize that these ICP drops start showing up once we launch the application even before we start trying to record cameras. I also tried async-record=1 and async-record=0 and neither solved the problem.

Dear bjsmyth,
Can you check Hard disk band width to get more insight about the issue?

This is the speed we are getting over our network, but like I said the frame drops happen before we start trying to record any data. The drop messages appear the moment the recorder application starts and initializes the cameras.

dd if=/dev/zero of=/media/nvidia/remote_storage/test.blk bs=8k

^C3639462+0 records in
3639462+0 records out
29814472704 bytes (30 GB, 28 GiB) copied, 104.296 s, 286 MB/s

Dear bjsmyth,
I will check using your JSON file about frame drop before recording.
But It can be seen that your HD bandwidth is 286MB/s.
for 30 fps, raw 12 bit: 1928 x 1208 * 2(bytes per pixel) * 2(cameras) * 30(frames) = 279MB/s which is saturating your available bandwidth. So, it seems that in the current configuration/setup you can use up to 2 cameras.