Cv
Summary
Software Engineer with 3 years of experience in robotics and computer vision, and 4 years in the automotive industry and embedded systems. Proficient in C++, ROS/ROS2, and Python, I excel in developing and optimizing advanced algorithms and applications. Passionate about driving innovation and enhancing system performance in real-world scenarios.
Experience
Level II Software Integration Engineer @ Kudan
11/2021 - Ongoing Bristol/UK
- Contributed and maintained ROS/ROS2 packages for Kudan’s SLAM Libraries.
- Architected and developed the robust backend of KudanStudio application using the FastAPI framework, enabling seamless data processing and real-time updates for users.
- Developed Python bindings for Kudan’s C++ Libraries, simplifying integration and allowing a broader range of developers to access our powerful libraries.
- Developed a Python application to manage KudanStudio deployment to the end users by providing easy to use GUI app made using TKinter framework.
- Packaged Kudan’s applications into Debian packages, making them accessible to a wider audience and simplifying installation for users.
- Collaborated with the DevOps team to optimize and automate ROS CI processes, resulting in shorter build times and more reliable testing.
- Performed ongoing evaluations of SLAM algorithms against diverse customer datasets, leading to algorithm enhancements and ensuring better compatibility with real-world scenarios.
- Provided expert support to customers, guiding them in seamless integration of ROS packages and fine-tuning SLAM parameters, resulting in improved system performance.
SLAM, C++, ROS, Python, WebSockets, Docker
R&D Software Engineer @ Avelabs
09/2018 - 11/2021 Cairo/Egypt
Autohears
Contributed to the development of Avelab’s new Acoustic sensing product (AutoHears) by optimizing and porting existing algorithms to C/C++ for deployment on embedded hardware.
- Optimized existing Beamforming and DOA algorithms by offloading the slow mathematics computations to TI DSPs.
- Created benchmarks for the new developed algorithms.
- Created ROS packages for the product.
- Collected datasets to validate our algorithms against it.
Yonohub
Developer Advocate For Yonohub.com (A cloud-based system for Autonomous Vehicles, ADAS, and Robotics).
- Created tech content for publication as articles, tutorials, and showcase apps to effectively demonstrate use cases of Yonohub.
- Developed new Blocks from the state of the art ML/DL and ADAS Algorithms.
- Configured Hardware for Local Deployment (Nvidia Jetson AGX Xavier, Raspberry Pi).
- Created AVS Datasets for Yonohub, e.g. KITTI, DeepDrive, ApolloScape and Comma.ai
Autonomous Vehicles, ROS, Autoware, ML/DL, Cloud, Embedded Boards
Motion Planning and Control Engineer @ AeroVect
11/2020 - 11/2021 Remotely
- Developed and implemented the motion planning and control software stack for The AeroVect Driver.
- Designed and developed safety and emergency stopping algorithms for The AeroVect Driver to ensure safe operation in all scenarios.
- Designed and executed simulations for testing and verification of The AeroVect Driver, ensuring accuracy,robustness and reliabilit of the system.
- Integrating ROS with the other software components.
ROS, C++, Control Theory, Autonomous Driving
Bachelor Thesis and Internship @ Mercedes-Benz R&D
02/2017 - 08/2017 Sindelfingen/Germany
- Devleoping a Test Robot for Touch Devices Testing.
- Hardware (Robot Construction,Kinematics and Touch Devices)
- Software (CANoe,CAN-bus,Databases and The Test System)
- Making Tests on The Touch Devices with the Robot to analyze the state and develop improvements.
- Implementing new Algorithms and Data structures for the Robot in MATLAB.
- Programming a Graphical User Interface for the System
Delta Robots, MATLAB, CANoe.
Projects
- Redis-Server. C++ implementation of Redis server.
- Edrak. C++ Library for Visual SLAM.
- Pure pursuit ROS package for path tracking.
- binance-dca. Python app to setup DCA orders on Binance.
- C++ Implementation of a BlockChain.
- ngrok-ros. ROS package for ngrok.
- ros2-android, ROS2 package to use android’s phone sensors.
- ROSbag2Videos, Extract videos from ROS bags.
- Teaching an online ROS2 course on Youtube.
- pclutils a C++ library for working with PointClouds.
- BaristaBot a robotics simulation package based on ROS and Gazebo.
- CarSim SFML and ROS based Car Simulator.
- Concurrent Traffic Simulation.
- Linux System Monitor C++.
- Route Planning Project using A* C++.
- Unscented Kalman Filter to estimate the state of multiple cars.
- Particles Filter C++ Implementation.
- Time To Collision System (TTC) based on Lidar and Camera.
- PointClouds Obstacles Detection, Segmentation and Clustering
- Jupyter-ROS (Contributor) ROS Support for jupyter notebooks
- Longitudinal and Lateral Control in CARLA Simulator Video
- Deep Reinforcement Learning DQN Agent Playing Space Invaders Video
- Road Semantic Segmentation Using Fully Convolutional Network (FCN)
- Building and Simulating TurtleBot using ROS and Raspberry Pi
- PID Control of Two-Wheeled Self balancing Robot .
- Yu-Gi-Oh Video Game in Java Video