This project was my first step into Embedded Operating Systems, specifically Embedded Linux, with the Yocto project as my entry point. I started by learning key aspects of Linux programming, including the Compilation Toolchain, Debugging, Cross-Compiling, and Makefiles. Building on that foundation, I developed a motion tracker using a custom Linux image for Rasbperry Pi 4 micrprocessor, optimized for minimal resource consumption and the necessary modules and drivers. I authored Yocto recipes, created a custom layer, and cross-compiled the kernel module for the MPU6050 IMU, integrating it into the image. I also set up a bash script to launch it as a service at boot time, achieving a plug-and-play experience. This project enhanced my understanding of Embedded Linux, Yocto, Makefiles, and hardware interfacing, such as working with the MPU6050 via I2C for data reading and logging.
During the preperation for this International Competition, where we represented Tunisia in France, I contributed to the design and simulation of autonomous mechanisms using SolidWorks, followed by the realization and implementation of these mechanisms in two autonomous robots, each with distinct tasks. Additionally, I developed the software to control servos, pumps, and other components, ensuring synchronization of the mechanisms. This was achieved by creating a complex state machine in Python, which was implemented as a Node within the Robot Operating System (ROS) ecosystem running on the Raspberry Pi 4 to manage the robot’s operations.
Contributed to the development of a state-of-the-art navigation system by assembling a differential wheel robot integrated with a custom navigation framework, achieving a trapezoidal velocity profile of 1.8 m/s. Implemented on the STM32H745 MCU, the system utilized odometry and PID control to enhance maneuverability and precision. This solution ensured an error margin of less than 1 mm from the desired coordinates. Extensive research and documentation drove this work, resulting in a high-performance, reliable system for precise navigation.
Embedded Systems is a world full of mysteries, and I am on a journey
to uncover knowledge, exploring new possibilities in the captivating synergy
of hardware and software. This passion drives me every day to push my limits
and create high-quality digital content for the tech community—combining technical
expertise with creativity to deliver meaningful, engaging experiences.
"Mastering Embedded Systems, Delivering Knowledge and Excitement"