Design Review
-
Upload
guestcc8234 -
Category
Entertainment & Humor
-
view
290 -
download
1
description
Transcript of Design Review
Webots Competition
Tommaso Buvoli, Patrick Cromer, Sean Egan,
Nicholis Marsiglia, Kelsey Metzler, Srinivas P
Strategy - Sean
Stationary goalie until opposing players come within a
certain range
Then, side-to-side motion
Outside of a certain range of the opposing goal, line up
the shot and kick it
Opposing goalie avoiding technique
Two players other than goalie are offense/defense
Offense: Closer player to ball, kicks towards goal
Defense: Knock over other players or block other players
Locomotion - Patrick
Implement StandUpFromBack.motion
(Based off of StandUpFromFront.motion)
Implement odometer model for existing motions
Improve walking motion
Improved Walking
Make forward motion quicker and/or more stable
Use a central pattern generator (CPG) for walking
CPG: "neural circuits that generate periodic motor
commands for rhythmic movements such as locomotion." [Kuo,
Arthur D. "The relative roles of feedforward and feedback in the control of rhythmic movements." Motor Control (2002): 6, 129-145.]
We are using Grid based approach with Kalman filtering.
Kalman filter localization tracks the robot from an initially
known position and is inherently both precise and
efficient.
Picture from: www.cyberbotics.com
Localization - Srinivas
Vision – Kelsey, Nick, Tommaso
We will work on researching and implementing
appropriate vision filters for the task
Edge Filter
Color Filter
Shape Filter
Edge Filter
Used to detect the GOAL
The goal is comprised of straight, vertical and horizontal lines
The net of the goal also has straight lines
Scale Invariant Feature Transform (SIFT)
Possible Issues
The field also has painted straight lines
To Remedy: look for VERTICAL and HORIZONTAL edges
Color Filter
Used to detect GRASS
Grass is the only green thing in the game
Another way to avoid thinking the field is the goal
Color oriented moving object detection
Possible Issues
What if another team makes a green player?
The Remedy: identify players based on shape
Shape Filter
Used to detect PLAYERS
Players have a distinctive shape
Helps avoid color issues
It is necessary to detect both your players and other players
Speeded Up Robust Features (SURF)
Possible Issues
May be difficult to program in the shape of the player
Other random objects may be detected as player-shaped
Shape Filter
Used to detect BALL
Ball is spherical, should be a circle from any angle
Easier than color pattern detection for ball
Necessary to know where ball is to kick it
Speeded Up Robust Features (SURF)
Possible Issues
If ball is moving very quickly, it may be more of a blurred oval
than a circle
This can likely be accounted for
Camera Calibration
Affine Transforms
Feature Recognition
Robostadium Project:Presentation 1
Group 2
Nisheeth Bhat
Mason Hauck
Ken Hua
Chris Karman
Niket Sheth
Vishal Verma
Introduction
• Locomotion• How can we move around the field more effectively?
• Perception• Where's the ball? Where's the goal? Where are the other
players?
• Communication• How do we coordinate multiple robots effectively?
• Localization• Where is the robot on the field?
• Planning• What should each robot be doing based on input and
strategy?
Locomotion
• List of Available Motions:• Backwards• Forwards• Forwards 50• Hand Wave• Shoot• Side Step Left• Side Step Right• Stand Up From Front• Turn Left 180• Turn Left 40• Turn Left 60• Turn Right 40• Turn Right 60
• Additional Motions:• Rotate Around Ball• Diagonal Step• Roll or Stand Up From
Back• Tackle?• Fall Left (Goalie)• Fall Right (Goalie)• Fall Forward (Goalie)• Jump (Goalie)• Catch Ball (Goalie)• Expand Shoot so that it
can kick diagonally and backwards for passing the ball?
Perception
• Sensors• Tilting Camera
• Ultrasound sensor
• 2D gyroscope
• Bump sensors
• Color sensing using thresholding for the required color
• Detect the forms of various objects in the field we will use edge detection• Edge detection will be implemented using the
appropriate filters/kernels like Sobel
• Object recognition will be done by Hough Transform
• Detect other players
• Detect Ball (orange color)
• Detect Goal
Tilting Camera
• Measure the actual distance to the sensed object• Distance to ball
• Distance to other player
Ultrasound Sensors
Determine changes in orientation of the object
Detect when the robot falls down
2D Gyroscope
Detect collision between two objects
Detect a successful kick
Bump Sensors
Communication
• Boolean Values• See ball
• See goal
• Can shoot
• Can pass
• Ready to receive pass
• Fallen down
• Integer Values• Player ID
• Player ID of passing target
• Number of teammates in view
• Number of opponents in view
Communication
• Float Values• Distance to ball
• Distance to goal
• Player heading
• Array Values• Player location
• Ball location
• Teammate locations
• Opponent locations
Localization
• Divide into 2 levels:• Macro Level:
• Decide current Macro-block
• Use global techniques such as landmarks
• Micro-Level:
• Decide on location within said Macro-block
• Use local techniques such as odometry
Planning1. Check for ball
2. Check for team w/ ball
3. Find ball
4. Closest player to ball?
5. Go to ball until at ball
6. Find goal and distance
7. Check for obstacles
8. Kick
9. Check teammate with clear path
10. Relocate ball
11. Pass
12. Position to clear path to goal
13. Wait for other player to pass
14. Check for score
15. Stop all players
Questions?
March 11, 2010 Group#3
RobotStadium ProjectGroup #3:
Michelle BourgeoisNicholas Farrow
John MartinJoe McCabeMichael PackZach Pranger
Overview
MotionSensingLocalizationCommunication / PlanningStrategies
March 11, 2010 Group#3
Motion: Getting Up From Back
1. Goal is to flip over to front2. Use accelerometer to check if flip was successful3. Use given get up from front motion
Motion: Fix Standing Up From FrontCurrent motion file not workingModified .motion file
Motion: Running
Goals for running:Must not compromise stabilityMove faster than normal walk
Options for running:Use motion editor to generate motion fileOptimize the walking
Maybe remove unnecessary transitional motionsStraight legs vs bending knees
March 11, 2010 Group#3
Motion: Walking In an Arc
Currently 1. Robot looks for the ball 2. Turns to walk straight 3. If the ball moves, it stops to reassess
How do we plan to do this? Continue walking while reassessing Left foot steps further than right OR Right foot steps further than left If ball is in front(±5 degrees), walk straightElse, launch turn and walk
Overview
MotionSensingLocalizationCommunication / PlanningStrategies
March 11, 2010 Group#3
Sensing: Camera Vision
How to detect the goal and ball:1. Run through the RGB color channels2. Look for color changes with a threshold variable3. Mark changes with a 1 in a new matrix4. Build a new matrix with an outline of the goal5. Align player to goal and shoot
March 11, 2010 Group#3
Sensing: Range FinderFour rays (upper left, lower left, upper right, and lower right)Range 0.0 to 0.7 metersUse to detect obstacles (other players) Incorporate in path planning
March 11, 2010 Group#3
Sensing: Foot Bumpers
detect successful contact with ball (kick)0 or 1 Boolean value
when a kick command is issuedif bumper value = 0
ball should be near feetelse bumper value = 1
ball should be out aheadadjust head pitch to likely ball location
Overview
MotionSensingLocalizationCommunication / PlanningStrategies
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
March 11, 2010 Group#3
Localization
Overview
MotionSensingLocalizationCommunication / PlanningStrategies
March 11, 2010 Group#3
Communication / Planning
Record player & ball locationstriangulate ball position between playersconfirm player positions (both teams)
Planning
send a player to shoot the ball possibly send a player to defend the goal path planning around other playersfeedback information from sonar sensors
Overview
MotionSensingLocalizationCommunication / PlanningStrategies
March 11, 2010 Group#3
StrategiesStrategy 1
Closest to the ball
Strategy 21 player shoots, 1 player defends
Strategy 3Player with the best alignment shoots
Goalkeeper:
Position itself aligned with the ball If ball in range, dive
Best Aligned Player
Questions?
Robot Stadium
Sensors
• Camera
– Boundary Detection
– Player Detection
– Distance to nearest opponent– Distance to nearest opponent
– Distance to nearest teammate
• Ultrasound
– Only useful within 0.7 m
– Useful in some instances, not others
• Players would be too late, ball and goal might help
Sensors II
• Gyroscope
– Help with position by measuring turning rate
– May be too much noise to be reliablereliable
• Accelerometer
– Can tell whether the robot fell on its front, side, or back
– Can tell when the robot is standing again
Sensors III
• Foot Sensors
– Can tell if the robot is standing on its feet
– An alternate way to see if the robot has gotten up again.robot has gotten up again.
• Foot Bumper
– Good way to tell the robot kicked the ball
– Also a way to find out the robot tripped
Locomotion
� Recovering From a Fall
� Turning While Running
� Kicking the BallKicking the Ball
� Defensive Falling
Recovery
� Getting up when on your stomach.
� Getting up when on your back.
� Getting up when on your side.Getting up when on your side.
� Rolling over.
Turning while running
� More versatile
� Faster reaction time
� Can get to the ball soonerCan get to the ball sooner
Kicking the Ball
� Kicking the ball instead of running into it
� Longer range, more accurate
� Purposeful offense instead of accidentalPurposeful offense instead of accidental
Defensive Falling
� Falling over could be used on purpose to:
− Block the goal
− Block the ball
Create an obstacle for other players− Create an obstacle for other players
Particle Filter
• Using mostly cameras and some ultrasound.
– Base robots’ positions on size in camera
• Require experimentation to get usable scaling
• Be necessary to determine the FOV of the camera• Be necessary to determine the FOV of the camera
– Ultrasound near goal and near other robots
• This sensor would have to have high priority updating
Particle Filter Sample
Planning
� Direct Path (A → B)� A*
� Offensive/Avoid
PathPath� A* biased w/ Voronoi
� Obstacle avoidance� Sensor input
� Near real time
Planning
� Offensive position strategy
� Closest to ball goes; only 1 robot
� No passing; get ball, control till open shot
(Voronoi)(Voronoi)
� Defensive position strategy
� Block shot path (but don't mask goalie)
� Robot lay down in front of goal
� Determine offense/defense strat by which team is closest to ball
Communication
• Use of DGPS(Differential Global
Positioning)
• One fixed Satellite (Goalie Robot) and the
other two are Floating Satellites. The other two are Floating Satellites. The
Goalie robot will be doing all the analysis
and controlling the two robots.
• Sync the Transmission and Reception
signals between the Goalie and the other
two players.
Communication II
• Triangulation Method , easily used
as there are only 3 robots
(corresponding to three points on
the field)the field)
• Use of Ultra-Sonic Sensor, and by
determination of Time of Flight ,
positions can be determined by
analysis of the received reflected
Wave Packets
Communication III
• Special Beacon emitting a particular frequency employed on the two team robots, as to not get confused with the inter-mingled echo received when two opposition robots are close by and hence can be differentiated.close by and hence can be differentiated.
• Doppler radar to be used to understand the overall relative motion in the field, but the difference here is, the transmitter and the receiver is fixed.