-
Notifications
You must be signed in to change notification settings - Fork 43
Paintball Challenges
The Paintball challenges all involve using your robot to hit targets using a paintball launcher.
The launcher behaves more like a cannon, and less of a high-pressure paintball gun. The idea is to simulate a parabolic flight of a paint capsule that explodes on contact with a surface.
Use this basic world to get acquainted with the working of the launcher's arm, and the launcher pull and release spring-like mechanism. You can make a simple chart of arm placement and spring pullback (in degrees or rotations), and how far each combination gets you. We suggest either keeping the arm placement constant (say 45 degrees), and varying the pullback amounts (0-1000 degrees). Or, you can keep the pullback to maximum (1000) and vary the launcher's arm placement (0-89 degrees).
For a more advanced STEM experience, use quadratic regression analysis to try and fit an equation that solves for arm placement or pullback amount given a distance. This will be used in the next challenge.
Required: Firing Range
Use this world to utilize your experience in the firing range to hit static targets (reset world to vary the range each time). You can identify the distance of the targets using the Laser Range sensor, which you may be using for the first time.
If you just made a chart, you can try to best interpolate the correct arm placement and spring pullback amount to make contact with the target. You will need to rewrite your code with different values on each reset.
If you managed to extrapolate a useful equation you can build it in to automatically hit any target without changing code.
Required: Variable Range
In this world, you can combine your mastery of the paintball launcher, the Laser Range sensor, and movement control of the robot's motor system to create a sort of Lidar-enabled missile launcher system. You need to rotate your robot to find the target, identify the distance to the target and launch your missile when ready. Reset the world to get your next incoming foreign object to shoot down.
You may find the Gyro sensor useful here as well.
While experience with the above modules could be helpful, the positioning of the targets in a 2D plane perpendicular to the robot's presents a new, unique challenge, and you must obtain a new set of knowledge to make contact with the targets on the various platforms.
Like in the Firing Range, you will need to experiment with varying the two control elements of the paintball launcher to find the right values to hit the targets consistently.
Required: Variable Range
If you haven't extrapolated a function for determining some distance, you can simply use a constant distance to attack.
Either way, you will need to time your shot just right.
In this case you need to know the target's location, speed and direction.
Required: Variable Range
If you haven't extrapolated a function for determining some distance, you can simply use a constant distance to attack.
Wither way, you will need to time your shot just right.
In this case you need to know the target's location, speed and direction, and you will need to track it some way without staying stationary...
Python References