Programmed a team of humanoid NAO robots for a soccer challenge, implementing motion control, multi-agent collaboration, and high-level planning. The simulation bridges the NAOqi software-in-the-loop runtime with Gazebo through a custom plugin, enabling joint control and sensor feedback for the NAO inside the simulated world, alongside a soccer-field world model, a custom Kinect sensor model, and AprilTag-based ball localization.

In the penalty-kick scenario, a NAO autonomously navigates to the ball (detected via AprilTag tf transforms), positions itself, and executes the kick through the Gazebo physics engine, while a dedicated action-client node dispatches named NAOqi behaviors. Our team achieved first place in the class competition.

Technologies: ROS, Gazebo, C++, Python, YOLO, SLAM