Pumas Team
Miguel García, Ruth Moreno, Román Frías, Julio Valdez, Marco Negrete
School of Engineering, National Autonomous University of Mexico, CDMX 04510, MEX
Abstract Pumas Team has participated in Robocup since 2006 in @Home League and in 2025 we will participate for the first time in the Humanoid Kid Size League. Our focus is to develop light-weight systems for perception and movement planning such that they can be deployed in simple embedded systems such as Raspberry Pi's, without the need of high computing capabilities such as high-compute graphic cards.
Hardware description
Our robot is built with 20 Dynamixel servo motors controlled directly by a RaspberryPi 4 using a U2D2 adapter. Links are made of carbon fiber and frame is made of alluminum.
Gait trajectory generation
We use the linear inverted pendulum model (LIPM) to generate gait trajectories in cartesian space, then we solve the inverse kinematics using a Newton-Raphson Method. This method extends to sagittal and coronal plane. We then apply an arms-based control method to balance the Center of Mass of the trunk link to ensure stability during the gait state.
Visual perception
We have implemented computer vision algorithms to enhance environmental perception and interaction. Gaussian filters are applied to smooth images and reduce noise. Then, the Hough Circle Transform is utilized to identify circular shapes, aiding in the recognition of specific objects. By converting images to the HSV color space, we improve object detection under varying lighting conditions and significantly reduces computing needs. Additionally, a Proportional (P) control system adjusts actuator responses based on positional errors, ensuring stability and precision in the robot's movements. The integration of these algorithms significantly enhances the robot's ability to interpret and respond to visual stimuli in dynamic environments.
Task Planning
Localization of Unknown Ball Position
To identify and locate the ball within the environment, we employ computer vision algorithms that process images captured by the robot's cameras. Initially, we change the color space from RGB to gray scale to apply a Gaussian filter to smooth the images and reduce noise, facilitating the detection of relevant features. Subsequently, we extract the specific values from HSV to detect the ball and the Hough Circle Transform is utilized to detect circular shapes, enabling the identification of the ball's circular form so we can get the specific localization based on trigonometric calculations from the camera to the ball with respect to the angle tilt.
Walking Ability Towards the Ball
Once the ball is localized, the robot approach it. We generate walking trajectories based on the Linear Inverted Pendulum Model (LIPM), which simplifies human walking dynamics by modeling the robot's center of mass as an inverted pendulum. Trajectories are planned in Cartesian space, and inverse kinematics are solved using the Newton-Raphson method to determine the necessary joint angles for following these trajectories. This approach ensures smooth and balanced movements towards the ball.
Robot Positioning at the Ball for Kicking
As the robot approaches the ball, it must position itself appropriately to execute an effective kick. We implement a posture control system that adjusts the robot's orientation and position relative to the ball. This system ensures that the robot adopts an optimal posture for kicking, considering factors such as distance to the ball and angle relative.
Kicking the Ball Towards the Goal
With proper positioning, the robot executes the kicking motion through a predefined sequence of commands that control the relevant joints.
Ability to Get Up Autonomously from a Fall (KidSize Only)
The robot is equipped with a fall detection algorithm that monitors body orientation and acceleration. Upon detecting a fall, a recovery sequence is activated, employing controlled movements to restore the robot's upright posture. This autonomous get-up mechanism is essential for maintaining operational continuity and the robot's autonomy during assigned tasks.