SDI 4 Apps - Uptake of open geographic information through innovative services based on linked data

 Our Hackathon team:
Rihards Gailums, Pilot Automotive Labs, rihards.gailums@rhtu.edu.lv ,
Klāvs Taube, LUMII ,
Pavel Hajek ,
František Kolovský ,
Kristaps Krūmiņš.

The problem and background of project described here: https://sdi4apps.eu/2016/03/drivenet-maps-open-data-real-time-road-maps-for-autonomous-driving-from-3d-lidar-point-clouds/

Goal during 2 days of Baltic Open (Geo)Data Hackathon were creating of working prototype of cloud based service “Drivenet Maps”- place where to merge LIDAR point cloud data with navigation map.

Existing proprietary solutions: Google Maps, HERE HD maps, TomTom navigation maps. Autoware https://github.com/CPFL/Autoware/ created on Nagoya University with Cloud-based Dynamic Maps (demo here: https://www.youtube.com/watch?v=xZMQTCN9ryc ) Some of existing open source based prototypes:

SLAM3 SLAM4

Data we had:

  1. Velodyne 32e LIDAR point cloud data of Riga streets in .pcap Wireshark format; Data available here: http://vault.edi.lv/index.php/s/NbEnAfIvHUo2og1
  2. GPS data packets .in pcap file

After short research we had 2 plans of development:

PLAN A
To create cloud server of Open Street Map (OSM), import LIDAR point cloud data and create 3D editable (to add road marks) layer fro point cloud data.
PLAN B
To create server based on Robot Operating System (ROS), to import OSM layer, convert LIDAR point cloud using SLAM, merge together and provide web interface to access from web.

SLAM2

PLAN A development
Open Street Map support .las format of data to be imported. It is possible to convert. pcap to .pcd and later to .las using ROS. However we succeed to create sequence of .pcd files without geo referenced data. It was possible to import data frame by frame, but difficult to arrange them to map using GPS coordinates. Task seems to be outside of 2 days development time of hackathon, so we turned to PLAN B.
PLAN B development – We use desktop high end server with Nvidia GPU’s, Ubuntu 14.04, ROS Indigo and Autoware.

Final result
ROS based Riga map using http://wiki.ros.org/osm_cartography

SLAM

Commands to replicate
How to import OSM layer:

  1. roscore;
  2. roslaunch osm_cartography viz_osm.launch url:=package://osm_cartography/tests/riga.osm;
  3. rosrun tf static_transform_publisher 325466 6316320 0 0 0 0 1 map local_map 100;
  4. “rosrun rviz rviz” and load config osm.rviz

How to display point cloud on ROS from .pcap:

  1. roscore;
  2. rosrun velodyne_driver velodyne_node _pcap:=/home/Desktop/LIDAR_data/2016-03-14-14-08-59_Velodyne-HDL-32-Data.pcap
    1. rosrun velodyne_pointcloud gen_calibration.py /home/Desktop/LIDAR_data/DSR_Viewer/32db.xml
    2. roslaunch velodyne_pointcloud 32e_points.launch calibration:=home/Desktop/LIDAR_data/DSR_Viewer/32db.yaml
  3. rosrun rviz rviz -f velodyne
    1. In the “displays” panel, click “Add”, then select “Point Cloud2”, then press “OK”.
    2. In the “Topic” field of the new “Point Cloud2” tab, enter “/velodyne_points”
  4. Based on http://wiki.ros.org/velodyne/Tutorials/Getting%20Started%20with%20the%20HDL-32E

How to transform data from .pcap to .bag file:

rosrun rosbag record -O your_vlp16_070815.bag /velodyne_packets
using http://answers.ros.org/question/213080/convert-raw-velodyne-vlp16-pcap-to-bagfile/
As result we got. bag file with velodyne_packets data, but missing GPS NMEA data

How to SLAM data

Since open source project http://wiki.ros.org/loam_velodyne moved to Commercial http://www.realearth.us/products.html we found fork here: https://github.com/laboshinl/loam_velodyne
rosbag play ~/Downloads/nsh_indoor_outdoor.bag
roslaunch velodyne_pointcloud 32e_points.launch calibration:=/home/laboshinl/calib.yaml pcap:=”/home/laboshinl/Downloads/velodyne.pcap”
We tried both . bag and .pcap data files, but ended up with lack of IMU / GPS data for frames, so SLAM is building all cloud point frames @ one point.

Acknowledgments

  1. Velodyne as vendor – no support for / apps / libs for data . Only software – VeloView http://www.paraview.org/Wiki/VeloView – able to capture .pcap files, Export as .csv frames and geolocation file. Useless for SLAM;
  2. ROS – most advanced platform for data point cloud management – all open source libs around ROS;
  3. Few and bad documented libs PointClouds – > Geo data;
  4. Open source -> moved to Comercial http://wiki.ros.org/loam_velodyne to http://www.realearth.us/products.html ;
  5. No open source Automotive vector map editing tool – .csv files / objects [Autoware];
  6. Universities do not release autonomous driving libs;
  7. Drivenet Maps server should be built on ROS server , not OSM;
  8. For particular case we had not enough data to build 3D map model by SLAM;
  9. LIDAR data capture should be done by ROS -.bag by including different tracks for LIDAR point cloud and NMEA GPS data from IMU to use SLAM for 3D map creation.

Conclusion.
There is a solid and exponentially growing market need for opensource / opendata maps for autonomous driving, so Drivenet Maps should be further developed by academic / private partnership.
Project initiators.
PILOT Automotive Labs https://www.f6s.com/pilotautomotivelabs
EDI – Institute of Electronics and Computer Science (Riga, Latvia) http://www.edi.lv/en/home/
Contacts for further development
Rihards Gailums,
Rihards.gailums@rhtu.edu.lv

Share this: