A robotics engineer with experience in mobile robotics design and control, ROS, path planning, computer vision, MEMS sensors and navigation, reinforcement learning, and robot mechanics. Currently pursuing a Masters of Science in Robotics (2024).
August 2022 - July 2023
Product Design Engineer at Champlain Cable Corporation
August 2021
Consulted for patent EP004198463A1 as an inventor for NFIDENT DWC LLC
Jan 2021 - Jul 2021
Research and Development at Eemax, Inc
Jul 2019 - Dec 2019
MEP Engineering at Dana Farber Cancer Institute
January 2020 until Present
Teaching Computer Science (Python, Java, JavaScript)
2023 - 2024
Northeastern University | Masters of Science in Robotics - ME Concentration (3.7 GPA)
2017 - 2022
Northeastern University | Cum Laude B.Sc in Mechanical Engineering (3.6 GPA) | Dean's List/Honors Student
For the Mobile Robotics final project, my team developed search and rescue capabilities for a standard TurtleBot3 Burger, with the goal of creating a ROS package that autonomously navigates an unknown environment, efficiently maps unexplored areas, and detects survivors.
Our implementation included a global planner utilizing a frontier-based exploration algorithm to provide goals for a local Model Predictive Controller (MPC). The system incorporated the Cartographer SLAM package for world mapping, while an extrinsically calibrated camera and LiDAR were used to detect survivors via April Tags/barcodes.
My contributions focused on the hardware setup and the local MPC controller. The hardware setup posed significant challenges, as the platform arrived with missing key components, such as a broken LiDAR, missing power wiring, a dead battery, and an absent SD card. After replacing and fixing the necessary components, I leveraged my background in Arduino to successfully assemble the TurtleBot3. However, the new SD card required flashing with Ubuntu and ROS, followed by driver installation on the Raspberry Pi 3 and configuration for SSH control over Wi-Fi. This process took longer than anticipated and provided valuable lessons in hardware setup.
Upon completing the hardware setup and establishing Wi-Fi connectivity, we encountered compatibility issues with the LiDAR and its designated driver, which prompted us to test the MPC controller in a simulated environment (Gazebo) rather than in the real world, due to time constraints.
During the semester, we implemented a Model Predictive Path Integral (MPPI) controller to drive a unicycle around a simulated racetrack. Given the computational limitations of the Raspberry Pi 3, I modified the MPPI algorithm (m-MPPI) to reduce computational costs. The original MPPI approach, which continuously samples angles for predicted trajectories, caused delayed control outputs and resulted in crashes. To address this, I adjusted the algorithm to sample random angles only once and fix each trajectory to a specific angle. Similar to MPPI, the nominal trajectory was selected based on weighted sampling, and trajectory costs were calculated based on the Euclidean distance to the goal and LiDAR scan data for occupancy checks.
Despite time constraints limiting extensive testing across various environments, the modified MPC controller demonstrated promising results in the Gazebo House environment. The system successfully avoided crashes, outputted control commands on time, and efficiently mapped the environment at a reduced computational cost.
In autonomous field robotics, one of the key challenges is adapting to unknown scenarios. A truly autonomous system must be capable of reacting to novel stimuli and adjusting its behavior accordingly. For my Reinforcement Learning (RL) final project, I explored the application of classical RL algorithms to train policies for controlling a simulated ball-balancing table, focusing on balancing unknown loads.
The system consists of a glass surface with integrated pressure sensors, a solid metal ball, and two servomotors attached to adjacent ends of the table. The objective is to maintain the ball’s balance in the center of the table, even when external forces disturb the system. A failure occurs if the ball falls off the table, while success is defined by the ball remaining on the table for a specified duration.
Due to funding constraints, I was unable to procure the physical system, so I developed a custom simulation in Python, adapting it to the Gymnasium environment for convenience. The simulation modeled the dynamics of both the ball and table, updating the system state after each action taken by the RL agent. It also simulated table pressure sensors and provided ball location data to the agent, with added Gaussian noise to mimic real-world conditions. Based on this sensor data, the RL agent learned control policies using the ball's location and estimated velocity.
I implemented three classical RL policy control algorithms: On-Policy Monte Carlo Control (MC Control), Q-Learning, and Expected SARSA. After training each algorithm with approximately 1,000,000 episodes, MC Control yielded the best performance, successfully balancing the ball with an unknown load for at least 10 seconds in all trials.
However, performance declined after 15 seconds, with success rates dropping to around 20% for longer durations. The simulation's accuracy was affected by the inability to precisely estimate system parameters such as weight, dimensions, angle limits, and servomotor specifications. As a result, the simulation became progressively harder to control as time elapsed. Moving forward, I plan to acquire the physical system, fine-tune the simulation, and test the trained policies on the actual hardware.
Collaborated in a team of three to contribute to the development of the patent "Method and System for Measuring Weight of Cargo in an Articulated Vehicle."
The existing team required mechanical engineering expertise to analyze and validate the proposed three-plate weighing system designed for vehicles consisting of a truck and trailer. The system utilizes a database of registered truck and trailer tare weights, which is then compared to data from a weighing station to determine the cargo weight in a single step, rather than two.
My primary responsibility was to analyze the truck model and leverage registration data to develop and verify the mathematical model used to calculate cargo weight. A key challenge involved accounting for the variability in driver and fuel weight, which changes each time the vehicle is weighed. This was addressed by using static loading equations that defined the relationships between driver, fuel, vehicle, and cargo weights, based on data from the three loading plates and the registration database, to accurately calculate the final cargo weight.
Once fully developed, the system will revolutionize the cargo-weighing industry by enabling the weighing of trailer cargo in a single step, significantly reducing both cost and processing time by over 50%.
During my co-op at Eemax, I was tasked with designing and building a humidity-controlled chamber for testing purposes on the manufacturing floor. Given that commercial solutions were priced at $5,000 and above, I was responsible for creating a cost-effective alternative from scratch.
Collaborating with another co-op, I developed a DIY system using an Arduino board, a $10 mist generator, solenoid, humidity sensor, and an LCD screen. My colleague 3D-printed the necessary fixtures, while I wrote the controller logic in Arduino and set up the system for testing.
The most challenging aspect of the project was writing the code and calibrating the humidifier to maintain a relative humidity within 5% of the target. Additionally, I worked through the design process for the printed fixtures to ensure that the solenoid activated the mist generator effectively.
The final result was a fully functional humidity-controlled chamber that cost less than $250, providing a significant cost-saving solution for the company.
Ramez Mubarak
Robotics Engineer
© Copyright. All rights reserved.
We need your consent to load the translations
We use a third-party service to translate the website content that may collect data about your activity. Please review the details in the privacy policy and accept the service to view the translations.