Georgia Tech Yellow Jackets Legged Soccer Team
Scouting Report
[Scouting Report |
CVS Tutorial
|
Jacket's Home
]
Content
Some of the 2001 Contenders
University of Pennsylvania
University of New South Wales
S.P.Q.R.
Carnegie Mellon
Team Sweden
University of Washington
German Team
McGill University
WrightEagle (University of Science and Tech. of China)
Useful Tidbits
Helpful Info
University of Pennsylvania
Architecture
Upenn's system architecture consists of three levels that interact together. The Planner is the brain of the system. The module that collects sensory data is the XLSM. Finally, the XLAM controls the movements and actions of the robot.
Extended Logical Sensor Module (XLSM) - an agent that is capable of modifying its based on the state information. This converts raw sensor data into some application domain information.
Extended Logical Actuator Module (XLAM) - an agent that is capable of performing some low level control. This module handles the actuators of the robot and reports the completion of a task back to the planner.
Planner - this is the decision making module of the system. The planner contains planner tasks which hold player modes.
The Planner Task describes the steps of a task. The player modes are the actual steps that need to executed. An example player mode is:
{Initial Test Condition, Mode to be executed, True increment Value, False increment Value, Number of Finished condisions, Finished condition jump tests, finished condition jumps, {Parameters for the diffent modes}.Number of conditions, Condition List, Jump List}
The above example is one row in a Planner task table.
Playing Strategy
The team had a two player offensive strategy. One of the players had the a higher priority than the other. If both of the players had a chance to reach the ball first, the player with the highest would go after it. The other player would go behind the player with ball. The main behavior of the offensive players was to: move to the ball, align to the goal, and shoot. There were other actions that the players took on a case based system (further explaned below).
Robot communication was interesting. Sound was the implemented medium. The audio communication was utilized for the robots to claim posession. If a robot heard a sound signaling possesion, it would not go after the ball. Instead, it will roll back behind the other robot.
Their third player was the goalkeeper. The strategy was implemented with a Plannertask table. The goalie followed these tasks: staying in the penalty area, searching for the ball, returning to penalty area, handling a threat to the goal, and clearing the ball.
Motor Functions
Omnidirectional Walking
The team's walking motion followed the concept of a gait. This is a cyclic, periodic motion of the joints of a walking robot. The Upenn team set six requirements for walking:
(1) Omnicirectional motion
(2) The gait should move the robot as fast as possible
(3) The gait should be stable
(4) Transitions should be smooth
(5) The method should be computationally fast
(6) Modularize the gait component
They categorized their walks.
X-types = forward direction
Y-types = sideways direction
O-types = rotational motions
This team expirmented some with dynamic walking. They found that this was harder to control and implement.
The team handled motion transitions by taking allowing the robot to take a moment to stand still. After this, the gait was set to the new values that would take it to its destination.
Team/Opponent Detection
Upenn put heavy emphasis on determining the location of all the other players. To distinguish between teams, colored blobs were sorted through. If players were close together, an interesting approach was used. If the distance between two blobs was less than three times the length of the largest detected blob, it was assigned to the same player. At times two players were counted as one. They decided it was better to be conservative. Otherwise, ghost robots would be detected. This could cause the robot to forget the positions of the actual players and to replace them with non-existent players.
Once a player was detected, it was kept in the robot's local map. The robot had determine which player in view was the most probabalistic player in memory. This allowed the robot to remember players that it could not currently see. The equation they used was:
likelihood(A,B) = (B's uncertainty) * 1 / (distance from A to B)^3 * 1 / (angle difference between A and B)
2002 Possible Strategy
In their 2001 paper, the Upenn team expiremented with a potential field approach. I would wager that they will utilize this technique in this year's (2002) tournament. They expiremented with robots dribbling towards a goal. They used potential fields to repulse the robots from obstacles and walls. They found it worked well with stationary objects. The robots were able to dribble around objects. The team did not have enough time to tweak the parameters of the fields to handle moving obstacles.
University of New South Wales
Vision
This team changed their vision routines from the previous year. The new robots for the 2002 competition have faster CPU. This allowed them to process high resolution images with no loss of speed.
This team relied on finding regions of specific colors. The robots were trained in the environment of the game because shading changes in different light. A decision classifier was utilized.
Blob formation was the slowest portion of the code. If a large object was infront of a the camera, the frame slowed down to 25fps to 19fps. The team devised a new blob forming algorithm. It requires two scans over an image. The first path goes through each horizontal line and creates run length information. The second run merged the lines together if they overlapped each other.
Localization and World Model
Each robot maintains a world model. On each model, the goals and landmarks are fixed. The estimated locations of the robots are used to put them on the local map. The robots that are kept track of are the ones that are in view. The last seen teammate and opponent are also recorded.
Skills
Paw Dribble = The robot hits the ball with its paw. This results in a powerful pass.
Turn Kick = Allows the robots to kick the ball in directions 90 degrees and greater from the robot's heading. The ball is trapped between the robot's legs and a quick turning motions sends the ball into motion.
Chest Push = When the ball is close to the robot's body, the body thrusts forward. The was effective near the target goal to push the ball past the goalie.
Double-handed Kick = While the ball is beneath the robot, the two arms squeeze the ball out by moving both hands down quickly. A robot can score from the whole length of the field.
Communication
To avoid teammates, an interesting mechanism is used. If a robot detects a teammate infront of it and it does not have the ball, the robot takes a few steps backward. The radius of detection is 20cm. If two robots are close to the ball, each robot determines which robot is the closest to the ball. If the current robot is not, it backs up a few steps. As the robot backs away, it rolls behind the teammate. As the robot rolls behind the teammate, it emits a high pitched sound. The robot infront uses this sound to determine what direction to go so that the robot rolling behind can be directly behind as as possible.
Team Stragegy
The UNSW team ran two different types of forwards. One tried to avoid the goalie when the ball appeared close to the goalie. The other robot just attacked the ball as normal. They were trying to minimize the number goalie charging penalties while still being aggresive.
S.P.Q.R.
Architecture
The Perception module analyzes the sensor. It also stores and updates the world model.
The Deliberation module determines a plan of execution. This module recives the world model and generates a se of command for the module Locomotion.
The Locomotion module recieves abstract commands from the Deliberation. This module activates the required actuators.
Vision
The formations of blobs are done in two phases. First the segmented image is analyzed and decomposed in runs. The second steps composes vertical runs. While the vertical run sare formed, a union-find algorithm creates the blobs.
Object recognition depends on color. They are classified according to color. Every blob is marked with a label corresponding to the object it represents. The labels are assigned in a particular order: markers, ball, and goal.
Locomotion
frontal head kick
lateral head kicks
leg kick
chest kick (for goalie)
Future Work
In future competitions, they will probably have a more complex communication based robot coordination.
Carnegie Mellon
Team Sweden
Architecture
The Sweden Team's architecture is based on the behavior hierarchical paradigm. There is a sense module, plan module, and an act module. The cummulation of these modules follows the hierarchical paradigm.
The Perceptual module handles the sensor data by updating the global map. It handles reflexive actions by sending a local state to the behavior module. The reactive planner juxtaposes an electric field approach over the global map. In turn, it will activate the appropriate behavior. The global map provides localization data as well as a global model. This architecture has a sound module that supports robot communication. The Behavior Module contains the behaviors that the robot can act.
Vision
The color segmentation algorithm maintains a local model of each object in the field of a shared storage place. The regions that correspond to the same color are fused together. A user is able to build a color table. This table is what each each seed is focused around.
The color segmentation output is used for object recognition. First, false positives are filtered out. Finally, different blobs are merged together. The merging is based on geometric orientation.
Player Strategy
The strategy for the players is dynamically determined by the Reactive Planner. This implements a behavior scheme based on the electric field approach. The goalie was wired with a complex hierarchical behavior. It was of the type:
IF antecedent USE(behavior)
A number of these behaviors could be chained together to create a complex action. By composing several simple ones together, a type of behavior can be defined.
Communication
The sound module provides an interface for the robots to communicate within the system architecture. The robots shift back and forth between a supportive role and a normal role.
Supportive role = The robot goes to a predefined position of the field based upon where the ball is located on the field. The robot stays in this state until the commanding robot releases the supporting robot.
Normal role = This mode utilizes the electric field effect. Charges are associated to the nets and all of the players. Vector math determines the direction and the magnitude the robot will move.
Locomotion
This team used a tuple
to describe the motion of the robot. The Cmd module translated this tuple into an appropriate walking style. The following values were held:
vx: Back, Stay, Slow, and Fast
vy: Left hand side, Right hand side, None
beta: Left, mid-left, Ahead, mid-right, and Right
Most of the styles that this team used were dynamic. They were not able to control the robot's motion very easily. The fast styles could move forward 250 mm/sec and rotate 100 deg/sec. They noticed unpredicatable behavior in actual games. When the robot switched between different directions and speed, it wobbled. This also made it very hard to keep a consistent world model. Further, the bad quality of the model meant bad and sometimes wrong decisions were made.
University of Washington
German Team
McGill Team
Architecture
The system consisted of four objects: Vision, Main, Zmove, and Zled. The vision module accepts images from the camera and sends relevant information to the main module. The main module is responsible for localization and behaviors. This team found that the Monte Carlo algorithm took too much time to compute. The Zmove and Zled communicate with the actuators.
Zmove is divided into two different sections. The first controls the head and hte other controls the legs.
Locomotion
Crawl - too slow
Walk forward, backward, or forward
After a fall, the robot returns to a standing position
They found that their movements were flakey
Vision
The team created a table for each table. In the images from the camera, it was smeared. This helps to recognize objects that are far away.
Localization
The robot localizes very a simple single-point algorithm. This is much quicker than the Monte Carlo approach.
Wright Eagle (University of Science and Technology of China)
Architecture
The system is driven by the vision module. The processing of data is processed in a serial mode and ended in the action module.
Vision Module
The team used the following steps to process the data from the camera.
(1)Put the current image into memory
(2)Build the binary bitmap for each color index
(3)Find continuous slices
(4)Recognize the useful objects in the field
(5)Perform 3-D reverse transformation to get the 2-D information
(6)Perform unlawful detection to avoid noise
A color table was generated for each color. The most time consuming slices was time-exhausting.
The team kept three questions in mind during object recognition:
(1)Is the slice position upside-down?
(2)Are the areas between blobs close?
(3)Are the distances between blobs close?
Since the only orange color is the ball, it was easy to track the ball. When an orange blob was spotted, it was assumed to be the ball.
Localization
If the robot sees two landmarks, it creates two arcs in a virtual field. The intersection of the arcs is the location of the robot. If the robot only sees one landmark, it will use the mark and its local position information to deduce where it is on the field.
Player types
The attacker behaves according to a state machine. First it localizes, looks for the ball, creeps to the ball, adjusts himself, and kicks the ball. The transitions between the states depends on sensor data.
The goalie first localizes, returns back to the goal, looks for the ball, traces the ball, and saves the ball. Again, the transitions of this state machine is according to perception.
[Scouting Report |
Jacket's Home
]