|
Re: Autonomous Planning
That's an extremely tough question... made even harder because you don't know what the game will be next year! Let me give you an example for this year's game:
Lets say you have a robot with the following qualities: a suction mechanism to firmly hold onto the ball, regardless of how you drive around with it. A variable-distance kicking mechanism.
Now, such a robot could, in theory, be pretty good at scoring balls from anywhere on the field. So, the robot's managed to find a ball, and it knows it has one. What does it do with it?
Well, that depends on what else it knows. Lets say you've managed to integrate encoders, accelerometers, and gyro's with an algorithm that can constantly run in another thread to provide you with your exact current location and direction. Needless to say, that's no easy task... but without it, it's going to be incredibly hard to score that ball.
So now you have to find the goal you want to shoot at - easy, right? after all, they have big targets above the goals for you. And you aim at it, calculate the distance, adjust the kicker...
What happens if a robot is sitting there blocking that goal? Do you detect that? Do you change targets and line up to shoot at the other goal?
What happens if a defending robot is hurtling towards you from the other side of the field... does your robot know that? Does it hurry to get off a shot, or take the time to try to avoid the defending robot and line up for the shot later?
Before you can start to define how the actions should be planned, you need to know a fairly large number of things:
- What the game is
- how you want the robot to play the game
- what the robots capabilities are
- How the game is played, what sort of robot-robot interactions can be expected
- what sort of information you'll need to make an intelligent choice on the field
Like any time you're writing code, you should break everything up into small, discrete chunks. Stringing those chunks together into robot actions and strategy really depends on how your robot is making its decisions, what sort of information it has available.
|