This week, Xinyu focused heavily on end-to-end integration and testing of the system on the Raspberry Pi. He worked on combining multiple components, including PID-based motor control, vision-based bounding box detection, stereo depth estimation, and ultrasonic distance sensing to design a more complete path-following behavior. In particular, he integrated these signals into a unified control loop where the robot adjusts its motion based on estimated user position and distance while also reacting to nearby obstacles. A significant portion of time was spent testing the system under real conditions on the resource-constrained Raspberry Pi, identifying performance bottlenecks and ensuring that the perception and control modules can run together reliably.
During testing, Xinyu evaluated how different components interact, such as how depth estimation and bounding box tracking affect PID stability, and how ultrasonic signals should override motion commands for safety. He also experimented with different parameter settings to improve responsiveness and reduce oscillations in motion. Overall, the system is functioning at a basic level, but still requires further tuning to achieve consistent and stable behavior. Progress is on schedule, and next week he plans to continue refining control parameters and conducting more extensive real-world testing.
Additional section: New tools, knowledge, and learning strategies
During this stage, Xinyu needed to learn more about real-time system integration and control under constrained hardware. This included gaining a deeper understanding of PID control tuning in a robotics context, how to fuse multiple sensing modalities such as vision and ultrasonic sensors, and how to manage performance trade-offs on the Raspberry Pi. He also became more familiar with debugging system-level issues where perception and control interact, rather than isolated modules.
To acquire this knowledge, Xinyu primarily used informal learning strategies. He read documentation and online resources related to PID control and embedded vision systems, explored GitHub repositories and forum discussions to understand common implementation patterns, and watched tutorial videos for practical insights. In addition, he relied heavily on iterative experimentation, repeatedly testing the system, adjusting parameters, and observing behavior to build an intuitive understanding of how different components interact in real time.
