News Articles

Back to the list of articles

Velodyne code sprint

Velodyne Open Perception

Project Description & Motivation: Velodyne's HDL-32 LiDAR sensor features a 360° unmatched vertical field of view with a range of 100 meters and typical accuracy of ±2 cm. Rotating at 10 Hz, this sensor produces upwards of 700,000 points per second over an Ethernet connection in UDP packets from 32 individual lasers and sources. GPS information is also be included and used for clock synchronization. Capturing and converting these packets into usable points is something that, until now, customers in academia and industry, have done themselves with code integrated from their own research projects. Velodyne wishes to significantly expand the reach and audience for the HDL sensor products by making the these sensors Plug-n-Play -- attach the sensor to a system, load the drivers, and capture point clouds in PCL formats within minutes - thereby leveraging the significant and growing availability of PCL viewers.

The most apt description of this sprint is that we want to make the HDL series into the "Kinect- equivalent" for LiDAR systems -- a Plug-n-Play interface will make these sensors much easier to use and the high-density point clouds easily accessible by developers. The advantages of Velodyne's products, speed of collection and high resolution point clouds, will motivate new, innovative uses beyond mapping. A sensor that is easier to use will inevitably lead to enabling new, exciting applications resulting in more sales and lower prices for the good of the vision community as a whole.

Project Goals:

Velodyne will provide a current, compilable source code which outputs all the data from the sensor in PCAP format. This code does all geometric transforms and calibration calculations and outputs the point cloud data for visualization.

Velodyne's current C++ source code for packet capture and conversion uses signals and threads to decouple packet capture from transformation and output. This may be used as a basis for this sprint or as a point of departure for a fully functional interface that has the following features:

  • Optimize Velodyne's code - including all calculations
  • Focus on through-put by using state-of-the-art algorithms to support functionalty such as wireless ethernet transmission (via compression, sampling, or other heuristics)
  • Maintain an easy to implement user environment
  • Plug-n-Play on at least two Operating Systems (e.g. Windows, Linux, Mac OS, Android) by leveraging the VTK toolset
  • Demonstrate data capture, visualization/animation, logging using PCL and the VTK library
  • PCL to standardize metadata identifiers

Desired characteristics:

  • written in C++ (interfaces for other languages would be a bonus)
  • compiled & tested w/ GCC, .Net, others

Items provided by Velodyne:

  • Velodyne C++ source library with current means of capturing visualizable packets in PCAP format
  • Access to a sensor for real time data capture

Potential candidates should submit the following information to

  • a brief resume
  • a list of existing PCL contributions (if any)
  • a list of projects (emphasis on open source projects please) that they contributed to in the past
This project requires good C++ programming skills, knowledge of PCL internals and a basic understanding of laser sensors and 3D visualization.

Add a Comment

Latest Posts

Latest Comments