Experience

  • Senior System Software Engineer - NVIDIA

    Developing software for autonomous vehicles as a member of the NVIDIA DriveWorks SDK team. Focused on vehicle state and trajectory estimation as well as general software development (Linux, QNX).
  • Associate robotics programmer - Human Robot Interaction Laboratory

    Worked at Tufts' Human-Robot Interaction Laboratory, where I wrote software for various robotic platforms. Developed computer vision software for human-robot interaction tasks. Worked on the lab's robotic middleware. Developed a task/goal manager supporting the execution of concurrent actions in a multi-agent setting.
  • Embedded Software Engineer (Intern) - senseFly

    Worked on senseFly's Albris quadcopter. Developed the code stabilizing the camera gimbal, a key feature of this product, which was presented at different technology and GIS shows such as Intergeo 2014 and CES 2015. Implemented a low-level fallback autopilot, a critical safety feature for UAVs. Wrote drivers interfacing with the sensors required for these control tasks. See related project.

Education

  • M.Sc. Microengineering (Robotics and Autonomous Systems) - EPFL

    Ecole Polytechnique Fédérale de Lausanne, Switzerland.

    Relevant coursework:
    • Machine Learning
    • Image Processing
    • Distributed Intelligent Systems
    • Bio-inpired Artificial Intelligence
    • Robotics, Mobile Robotics, Robot Practicals
    • System Identification
    • Space mission design and operations

    Notable projects:
  • Visiting Graduate Student - Harvard University

    Self-Organizing Systems Research Group, SEAS, Harvard University.

    Master's Thesis on dispersion algorithms for swarm robots at Radhika Nagpal's Self-Organizing Systems Research Group. For more details see the project description.

  • B.Sc. Microengineering (Mechatronics, Robotics and Automation Engineering) - EPFL

    Ecole Polytechnique Fédérale de Lausanne, Switzerland.

    Relevant coursework:
    • Analysis, Numerical Analysis, Linear Algebra, Probability and Statistics
    • Control Systems
    • Signal Processing
    • Optical Engineering
    • Electronic circuits and systems
    • Semiconductor Devices
    • Microstructure Fabrication Technologies & Clean Room Practicals
    Notable projects:
    • Mechanical design of a delta robot
    • Space Invaders in assembly language
    • Consumer quadcopter for aerial photography and video

Projects

  • Dispersion Algorithms on a Thousand Robot Swarm

    In swarm robotics, large groups of robots are used to achieve complex tasks that are out of reach of the individual robot by leveraging the power of the collective. The distributedness and robustness of these multi-robot systems makes them very suitable for applications such as distributed search, sensing, mapping and surveillance. Currently, a big challenge in the field is understanding how the interactions between individuals affect the global behavior of the swarm. The aim of this work is to study how a basic behavior, dispersion, can be implemented on a thousand robot swarm consisting of very simple robots (“kilobots”), with limited knowledge about themselves and the environment, and imperfect sensing, communication and locomotion. Many dispersion algorithms have been presented in the literature, but few are actually simple enough to run on the kilobots and many have not been thoroughly tested on real hardware. The performance of different dispersion algorithms is evaluated through systematic experiments in order to get an understanding of the emergent behaviors, error patterns, robustness and scalability of these algorithms.
    Robotics Algorithms Computer Vision C Matlab
  • Embedded software development - senseFly

    The Albris quadcopter is senseFly's mapping and inspection drone targeted towards professionals. I developped the camera gimbal stabilization and safety fallback flight controller, along with the drivers interfacing with the sensors required for these control tasks.
    State estimation Motor Control C SPI I2C
  • Object Detection, Tracking and Classification using LiDAR Data

    Laser range-finders are commonly used on intelligent vehicles for the observation of the surroundings. The detection and tracking of moving objects (DATMO), including classification, provides crucial data for advanced features such as collision prediction or trajectory planning systems in road environments. In this project I developped a tool capable of detecting, tracking and classifying objects using range data obtained from automotive laser range-finders. The software tool works in real time, with simulated and real world range data, and interfaces with other ROS components.
    Machine Learning Computer Vision C++ Qt
  • High Speed Laser-based Ball Tracking System

    The Automatic Control Laboratory’s foosball has been equipped with a robotic “arm” that controls one bar. To block shots from the opponents, the robot needs to react quickly. This project has the aim to design a ball positioning system using laser scanners. Existing laser positioning systems do not fulfill the requirements, thus I conceived a complete ball positioning system via laser. The resulting system allows for fast ball tracking with a good precision.
    Solidworks Electronics Altium Designer C ARM Cortex-M LabVIEW

Skills

Software Development Embedded Systems Linux QNX Computer Vision Robotics Mechatronics Electronics
C C++ Java Matlab Python LaTeX HTML/CSS
Solidworks Eagle Altium Designer MATLAB/Simulink
EnglishFrench Swiss GermanGerman
... and more soon!