This page is still a bit a work-in-progess, but you can already get a sense of the types of things I do!

Mapping projects


Together with a colleague, I collected data with the Opal P-1000 LIDAR. We placed the sensor at 4 locations around the Vaartkom in Leuven. The individual pointclouds were then combined into one by using the cloudcompare software.

This project was mostly intended to showcase the capabilities of the LIDAR sensor.

Channel Leuven - Mechelen

This work was part of the CUMULUS research project.  For this experiment, a 3D LIDAR sensor was mounted on top of a vessel. Data from both the LIDAR and GNSS sensors was combined to make one large pointcloud while the vessel is moving.


Turtlebot 2

This work was part of my publications of VLP calibration. You can find a complete list of my publications here. This is a video of one of the experiments, where the robot is steered via a remote control. Data from the 2D LIDAR is collected, and processed offline. The mapping results are shown along side the robot.

Note that this video is sped up by approximately a factor 5.

Turtlebot 3

In earlier experiments, I used a turtlebot 2 robot. As I had a lot more time on my hand during the coronavirus pandemic, I figured I would try out the next generation Turtlebot as well. This video shows the mapping capabilities of the newer version.

Robotics projects


A robot that takes a picture of a Sudoku puzzle, computes the solution, and writes it down in pen. This was one of the earlier group projects during my Bachelor’s degree. Therefore, it was far from perfect. Regardless, it was one of my first robotics projects, and made me excited to learn more!

Autonomous Roomba

This robot was developed during a Master’s thesis project in 2015 (note: this was not my project). Me and my thesispartner used this platform to test and develop several algorithms during our own thesis in 2016. The overall goal was to enable the robot to autonomously navigate from point A to point B, whilst avoiding both static and dynamic obstacles along the way.

To that end, we built implemented subsystems:

  • A localization component, which was an extended Kalman filter that fused encoder data with features extracted from the LIDAR.
  • A path planning component, based on Voronoi’s algorithm
  • An obstacle avoidance component, based on the dynamic window method

Results were satisfactory as long as enough features are visible. In case no features are available for prolonged periods, the location estimate will drift (second video).

Wall following robot


A more complete list can be found over at the Leuven AI Forum website. I was involved in almost all the events listed there in some capacity (apart from some of the smallest events). Generally my duties included planning, coordinating the volunteers and managing the budget. Below you can find some of the larger and more exciting events I helped put together.

TEDxLeuvenSalon: The Next Roaring Twenties

In the spirit of ‘ideas worth spreading’, TEDx is a program of local, independently organized events that bring people together to share a TED-like experience. At a TEDx event, TED Talks videos and live speakers combine to spark deep discussion and connection in a small group. These local events are branded TEDx, where x = “independently organized”. The TED Conference provides general guidance for the TEDx program. The logistics, financing and program all need to be taken care of by the organizers of local events.

Held during the coronavirus pandemic, this event was neccesarily held online. However, at this point, people were already sick of traditional livestream events. Therefore, we held this TEDxLeuven event entirely in virtual reality! To the best of our knowledge, it was the first TEDx event in VR. I was one of the main drivers of this event. I coordinated our dedicated team of volunteers, negotiated with partners, and helped to put the program together.


Other projects

COVID flag

Degree of vaccination in Belgium, represented as the country flag. More pixels are drawn as more people get their (first) vaccination. This is relative to the total population, so 1 pixel does not equal 1 vaccination. When the entire population is vaccinated (including minors), the flag will be full.

Source code and additional information available on GitHub.


Coming soon!