We have figured out how to score a Triball and win points in the VRC Over Under Virtual Skills. Since the Triballs and the Goals are distributed at various locations on the Playground, to score as many points as possible, we need to drive the robot throughout the Field, swiftly picking up and launching the Triballs to the Goal.
There is no doubt that the barriers set on the Field add an extra layer of difficulty to our mission. But no worries! Utilizing the GPS sensor, the Inertial Sensor, and appropriate strategies, we can navigate Striker to overcome the barriers and reach any desired destination on the Field.
1. Find the starting point and the target point
Identification is the first step in navigation. VRC Over Under Virtual Skills has a precise coordinate system. Obviously, the Strikerâ€™s location before moving is the starting point for navigation. We can use the GPS Sensor to obtain the (X, Y) coordinates of Strikerâ€™s position on the Field.
The coordinate system allows us to identify the coordinates of any specific position on the Field. It also provides us with the (X, Y) coordinates of the game elements, including the Triballs and scoring zones, we can find more details of the locations in the VEX Library article. This information is an essential reference for us to determine the target point of navigation.
2. Turn to the target â€“ Find the drivetrain heading
Using the coordinates of the robotâ€™s starting point, the target point(X2, Y2), and atan function, we can find the drivetrain heading to orient the robot towards the target.
Step 1: calculate Theta  the angle of the line connecting the starting and target point.
Step 2: convert Theta to the corresponding drivetrain heading
According to the Starting Direction selected for Stricker (see image 4) at the beginning of the game, we can create an algorithm to convert Theta to the drivetrain heading. The following code is an example of setting the Starting Direction to North.
Step 3: pass the calculated heading to the turn to heading block to steer the robot.
Attention:
Both the GPS Sensor and the Inertial Sensor can be used to identify the direction of Stricker, but the GPS heading and the drivetrain heading are 2 different concepts. The GPS heading will remain constant in relation to the Field, while the drivetrain heading is related to the robotâ€™s Starting Direction. Striker makes accurate turns using the drivetrain heading.
3. Drive to the target â€“ Determine the driving distance
We can use the Pythagorean Theorem to calculate the distance between the robot (x1,y1) and the target position(x2,y2) to help us determine the driving distance required for navigation.
Now, passing the calculated driving distance to the drive for block, we can precisely guide Striker to the target point (x2, y2).
Tips:

To pick up a Triball located at coordinates (X2, Y2), we need to align the Triball with Strikerâ€™s Intake Mechanism, not to drive Striker to (X2, Y2). Thus, to determine the driving distance, we need to consider the distance between the Intake and Strikerâ€™s center.

Through experimentation, we can assess the robotâ€™s launching distance, providing valuable insights to determine the optimal target point for launching the Triball into the Goal and earn points.
In Over Under Virtual Skills, most Triballs lie on the left half of the Field, and the allianceâ€™s Goal is on the right half of the Field. Thus, driving the robot over the barrier will be a significant advantage when navigating the Field to collect and score the Triballs. Otherwise, we would have to drive around and under the climbing bar, which consumes a lot of time.
Just like in real life, driving over a barrier can alter the robotâ€™s direction and speed, causing it to deviate from our desired path. The deviation might lead to the failure of the task. However, no problem. We can apply various strategies to minimize the impact of the barrier and ensure to complete tasks successfully.
 To avoid the robot moving to an unexpected position or even flipping over after driving over the barrier, increase the acute angle between the robot and the barrier. This adjustment can enhance stability and reliability during barrier crossings.
Explanation: Over Under Virtual Skills simulates the real world. According to the principles of physics mechanics, when a robot navigates over a barrier, minimizing deviation from the desired trajectory is achieved when the angle between the robot and the barrier approaches 90 degrees.
 To navigate Striker from a starting point A on the right half of the Field to a target point B located on the left half of the Field to collect a Triball, we need to strategically choose a point C positioned on the left half of the Field, drive the robot cross the barrier from point A to reach point C first, and then navigate it from point C to the target point B to pick up the Triball. In this way, we can eliminate the impact of deviations and guide Striker to pick the Triball successfully.
 When the robotâ€™s wheels are on the barrier, the Intake height will be raised. Thus, keep all of the robot wheels contacting with the gray tiles on the Field while picking up the Triball to ensure completing the task successfully.
The GPS navigation unleashes the freedom for us to experiment with different approaches when tackling challenges in the game. In the next post, we will continue to explore more strategies to enhance the performance of Striker in the Over Under Virtual Skills. Please let us know if you have any questions, comments, or feedback. Thank you!