We have been attempting to use the DRIVE PX 2 AutoChauffeur to collect live data with our radar and use one of the Driveworks samples for visualization of the targets.
What we have done so far:
- Following the documentation outlined in the “Integrating with Custom Sensors” (Page 17) in DriveWorks Develpment Guide we:
- wrote a custom plugin decoder
- compiled the decoder into an .so
- added the radar to the information into the recorder-config.json file
- attempted to run ./sample_record
Result: - When the radar was connected to the AURIX CAN bus (CAN1-CAN4) it appeared to fail due to a clock slip issue between the Tegra And AURIX (documented in forum topics 1022173, 1032283, 1030774, 1024268 and bug reports 2108249, 2103064) which appears to still be an unresolved issue. Per the advice in the forums, we followed the instructions in DRIVE PX2 TIME SYNC GUIDE and DRIVE PX2 EASYCAN SETUP GUIDE.
- We then connected the radar to the TegraA CAN port and used a stand alone driver to record the radar output and write it to a local IP address. Following the instructions in the sample_record README for live recording, we were unable to figure out the correct parameter setting for the sample to run. The error is with setting the ‘protocol’ parameter which is not mentioned in the README.
- We do not see another method for creating an Ethernet Radar (dwSensorRadar object) and have thus been unable to test our custom decoder.
- As a workaround, we have made a custom version of the radar_replay sample that takes in our radar output from the Tegra CAN port, parses the data, and sends the data to the renderer. Since we are not able to make a dwSensorRadar object, we are doing this by circumventing the calls to to dwSensorRadar functions (_readScan, _toggleScanType, _getProperties, _returnScan) and ‘manually’ filling the dwRadarScan nextPacket struct.
Result:
- we are able to see the targets visualized in the GUI but have not been able to figure out the correct way to convert our radar readings (radius and azimuth) into the x and y coordinates that it appears the renderer uses.
We would appreciate any actionable advice for dealing with any of these issues.