About
I am George, a robotics software engineer that hold a masters of applied science from Polytechnic School of Montreal graduated in 2020.
I have 4 years of experience in the robotics field working with ground robots, aerial robots and manipulators.
I am skilled in C++, ROS, Python.
My main interest lies in developing autonomous robots applications by working on algorithms, sensors integration and infrastructure.
I follow SOLID principles to deliver production-grade software.
Experience
Making the future of vertical farming at Seasony
I developed the networking library that enabled communication between a PC running ROS and an AVR based embedded controller responsible of sending commands to actuators and acquiring IMU data in real time.
This enabled manual teleoperation of the forklift system as shown in the video below.
⭐ Main challenge: Design a modular networking library that supports TCP/UDP, CAN or Serial to send/receive data from sensors or actuators.
Skills: C++20, Boost, ROS2, Protobuf, Nanopb, FreeRTOS, Networking
Changing the manufacturing industry at Omnirobotic
As part of the motion planning team, I developed a driver to send joint commands to a FANUC robot over Ethernet.
I enabled the use of collaborative robots by developing a maximum speed and acceleration trajectory planner based on polynomials.
I also worked on reducing the toolpath planning time by benchmarking different sampling-based algorithms from OMPL on custom scenarios.
Finally, I worked on developing a deployment application that loads binaries from our servers and deploys them on customers computers as docker containers.
⭐ Main challenge: Reduce motion planning time for a wide range of scenarios.
Skills: C++11, Boost, OMPL, Protobuf, Docker, CI/CD, Python, Nomad, Pytest, Optimization, Networking
Transform the healthcare infrastructure at Humanitas
I worked on a ground robot responsible of delivering goods in a hospital.
My main task was to develop a localization solution using UWB (ultra-wide band) sensors (DW1000) as beacons and a trilateration algorithm to locate the robot indoors.
Compared to Wifi signals, UWBs sensors can improve localization precision but they need an unobstructed line of sight. I used the serial port to receive the distance reported by the sensors into a Raspberry Pi 4 and stream it over Wifi to the main computer on the robot.
I also designed the robotic system by choosing sensors such as sonars, wheels encoder and radar for improved localization and obstacle avoidance. I integrated them with the ROS Navigation Stack.
Furthermore, I used PX4 as a microcontroller to actuate the wheels. This required modifying the PX4 firmware to support my type of steering system for manual teleoperation with a joystick.
⭐ Main challenge: Emulate an UWB sensor for testing.
Skills: C++14, Embedded, ROS, Nav, Python, PX4, Serial, Raspberry Pi
Changing people’s lives at the Intelligent Systems and Mechatronics Lab
To help rehabilitate people, I developed an autonomous drone that can play ping pong with them.
I designed this robotic system from scratch during my master’s degree, choosing the components, designing the 3D printed parts and coding the algorithms required to play ping pong autonomously.
The architecture was composed of an inner loop responsible of attitude control of the drone at a higher rate and a trajectory tracking controller running on an onboard computer responsible of feeding the angular rate to the aforementioned attitude controller.
The main innovations here were the tilting arm mechanism for fast pitch response time and the iLQR controller that enables aggressive trajectory tracking with its predictive capability.
I used ROS to stream the IMU data from a PX4 flight controller, run the iLQR controller in a node and send back attitude commands via Mavlink to the PX4.
I learned how to setup a realistic simulation in Gazebo including the estimation of drag and bouncing coefficients of the ping pong ball.
I also experimented with different controllers such as PID, LQR, iLQR and MCP until I found one that achieved the required performance.
Furthermore, to find the right trajectory to follow by the controller, a minimum snap trajectory planner was implemented with constraints on the estimated hitting 3D position of the ping pong ball.
⭐ Main challenge: Achieve aggressive trajectory tracking with a drone precisely enough to hit a ping pong ball in flight.
The paper “Design and development of a novel type of table tennis aerial robot player with tilting propellers” was published about the project.
Skills: C++11, ROS, Python, PX4, Mavlink, Optimization, Controllers
Projects
Autonomous Lawn Mower Robot
I developed an autonomous lawn mower robot that uses UWBs sensors for localization.
I used an open source boustrophedon path planner to achieve full surface coverage.
Also, I developed a differential drive controller for a differential wheel robot.
The robot was built from scratch with low cost components as a proof of concept.
⭐ Main challenge: Achieve good trajectory tracking accuracy with low cost material.
Skills: C++11, ROS, Python, UWB, Optimization, Controllers
Self-balancing robot
I developed a self-balancing robot using stepper motors and a Raspberry Pi.
I chose the components, 3D printed the parts and soldered the electrical components such as the motor controller.
⭐ Main challenge: Tune a controller for low frequency adjustment of a self-balancing robot.
Skills: Python, Linux, Controllers
Autonomous solar panel monitoring with an aerial robot
I was a member of Elikos, a student club dedicated to the development of autonomous unmanned aerial vehicles to participate at the Unmanned Systems Canada Student UAS Competition.
The goal of the competition was to monitor a solar panel farm.
I was responsible of telecommunications and flight tests.
⭐ Main challenge: Achieve reliable telecommunication at long ranges.
Skills: PX4, Linux, Telecommunications
Education
Master of Applied Sciences: Mechanical Engineering
- Graduated in 2020
- Polytechnic School of Montreal
- GPA 4/4
Bachelor’s Degree: Aerospace Engineering
- Graduated in 2018
- Polytechnic School of Montreal
- GPA 3.89/4
Hobbies
I like being active and thus enjoy
- bodybuilding
- hiking
- cycling
Here is a picture of me on top of Gingilos mountain, Crete, Greece in 2024.













