From the Nvidia Driveworks documentation I saw the command ./sample_lidar_replay which can replay live streaming from sensor or a recorded one.
I have problems in both cases:
In first I acquired a Point Cloud using Veloview tool from Velodyne (a .pcap file). After that I go to src/sensors/lidar/lidar_replay directory and I’ve introduced : ./sample_lidar_replay --protocol=lidar.virtual --params=device=VELO_VLP16 file=/home/user/file.pcap and the result was DW_FAILURE: LidarVirtual: unknown lidar type.
With --params=device=VELO_VLP16 file= …/file.pcap, the system said: LidarVirtual: expected file=.bin parameter missing. DW_INVALID_ARGUMENT: file parameter
I tried with a conversion from .pcap to .bin with WireShark, but no much progress.
The second problem :
I think “maybe is a problem with the file, let’s try a livestream” so I’ve introduced
./sample_lidar_replay --protocol=“lidar.socket” --params=device=VELO_VLP16,ip=192.168.0.102,port=16000,scan-frequency=10 but the reply from system was: LidarSocket: no response from Lidar after 500ms. DW_SAL_CANNOT_INITIALIZE: LidarSocket: not connected. But the lidar was connected and the web interface from Velodyne(where I can change sensor parameters) was accessible.
How can I solve these two problems? Any suggestions ?
Dear andrei.baciu,
Can you check with different scan frequency. As per the documentation the valid values are 12.5,25 and 50(/usr/local/driveworks-0.6/doc/nvdwx_html/dwx_lidar_replay_sample.html)
I’ve tried with frequency=50, and the replay is the same.
You have any idea how I can import the pointcloud from .pcap file - what I need to modify to read the points (as in velodyne_64.bin - default file)?
EDIT: At this moment I have the lidar connected, he gives to veloview tool points in realtime, but if I try to close the Velodyne tool and try a livestream in Nvidia it fails. “Lidar not connected” - with the correct IP, device, port etc.
Dear andrei.baciu,
The default values for IP and port are 192.168.1.201 and 2368. Have you modified them in the Lidar configuration page? Are you able to ping Lidar from the PX2? If so, Can you open the lidar configuration page with http://<LIDAR_IP>(Refer page no 25 in VLP 16 manual) to check the correct port number.
Please run the command with correct port and IP ./sample_lidar_replay --protocol=lidar.socket --params=ip=,port=,device=VELO_VLP16,scan-frequency=10
I’ve modify the values: Host 192.168.0.102, Data Port:16000. Network (sensor): DHCP Off, IP address:192.168.0.101, Mask 255.255.255.0, Gateway 192.168.0.41.
In Veloview I’ve introduced the Lidar Port 16000.
So, in SDK I need to introduce: ./sample_lidar_replay --protocol=lidar.socket --params=ip=192.168.0.102,port=16000,device=VELO_VLP16,scan-frequency=10.
I’ve tried with 192.168.0.102 and 192.168.0.101, and the same replay: No lidar connected after 500ms. While Veloview receives data packets and Point Clouds are created
The sample_lidar_replay requires *.bin files recorded using DWx. Can I get what format WireShark is using?
Could you please check if packets coming over tcp/udp from Lidar?
One way to connect Lidar is to use a router to identify IP for Lidar, or once you connect Lidar directly to PX2, run '$tcpdump -i ethX" to see packets coming over UDP. tcpdump will also confirm IP and port for Lidar.
Once you see a stream of lidar packets using tcpdump, then you can move to next step to visualize point cloud using sample_lidar_replay.
I have a UDP stream on Lidar, because I can acquire datas with Veloview (I can see the livestream from sensor).
About .bin files, I made some recording using Veloview who exports *.pcap files, who is kind of binaries files. I’ve tried to convert *.pcap to *.bin using WireShark, but the *.bin file created is not usable with sample_lidar_replay function.
Another question what is DXw ?
Dear andrei.baciu,
Can you share the output of tcpdump -i just for confirmation.
You can use DW recording tool(Steve was referring to this) to get lidar’s .bin file. Please check for recorder-qt in /tools.
tcpdump -i ethX returns " SIOCETHTOOL(ETHTOOL_GET_TS_INFO) ioctl failed: No such device.I’ve tried with ethX, eth0,eth1 (I’m using “Wired connection 1” on my Ubuntu machine)
sample_lidar_replay --protocol=lidar.socket --params=device=VELO_VLP16,ip=X.X.X.X,port=XXXX,scan-frequency=10,protocol=udp returns the same message " Lidar not found in 500 ms" as without protocol=udp parameter
tcpdump -i ethX returns " SIOCETHTOOL(ETHTOOL_GET_TS_INFO) ioctl failed: No such device.I’ve tried with ethX, eth0,eth1 (I’m using “Wired connection 1” on my Ubuntu machine)
About the second part, I didn’t find the tools folder. But my main problem is that: I need to do a record with my laptop which is using Windows and after that to import in my Ubuntu machine, where is the SDK. What solution exists for a recording in Windows with a posibility to export point clouds in .bin files ?
Can you check tcpdump with sudo? The Drive 5.0.5b installer(https://developer.nvidia.com/driveworks/files/driveinstall-5.0.5.0bL) installs the driveworks in /usr/local/driveworks/ on your ubuntu/PX2 machine. you can use /usr/local/driveworks/tools/recorder-qt to record data from sensors.
Dear andrei.baciu,
Please enter sudo tcpdump -i in the terminal. It prompts you password. Please enter your login password. You must see packets transfer along with lidar IP. Please share that output for confirmation.
EDIT : I put enter sudo tcpdump -i eno1 and this is the result
IP 192.168.0.101.8308 > station_name.local.8308 udp, length 512,
IP 192.168.0.101.2368 > station_name.local.2368 udp, length 1206, many lines of this
LATER EDIT: Finally I found tools folder, but recorder-qt, about lidar connections says: Cannot add lidar sensors… SensorsDriver: No support for recording from virtual sensors for lidar.virtual