Skip to content

Basic Autonomous Tiers Theory

potatehoes edited this page Aug 9, 2019 · 1 revision

Basic Autonmouos Tiers Theory

There are three tiers for autonomous routines.

Motor Control

The first tier is just controlling the motors based off of a PID or/and motion profile algorithm. Currently in vex there is a build in PID to each motor that is easy and accessable, however we don't suggest using that. The PID variables are designed to cover as many possible scenarios for motors as possible. At first this seems great, however in actuality this means that the PID variables are never tuned to be as accurate as they can be. For more information on the motor control algorithms like PID and Motion Profiling check those links out.

Odometry

Odometry is a very popular algorithm in most Skid Steer robots, because of how useful it is. Odometry is constantly using the values of either side of the robot's encoders, a middle encoder, and some simple-ish math to take find the current robot's position based off of the last robot's position. This is invaluable in the next tier: path following because you can now know where your robot is in global coordinates. For more information on how odometry works, we suggest using: the 5225A Pilons Position Tracking Document, 5225A's Odometry Code, and, most importantly, OkapiLib's branch feature/odometry.

Note: OkapiLib's next version is going to support feature/odometry.

Path Follower

A path follower is simply an algorithm that lets a robot follow a predefined path. In autolib we use an algorithm called Pure Pursuit. The algorithm uses a lookahead distance from the current robot's position to determine the curvature to a goal point then sends the curve to the robot's motors so that it can follow the line. While I'm sure you didn't understand all of that I wouldn't have understood it either when I first looked at it. For more information on how Pure Pursuit works, use this pure pursuit pdf, this tutorial on path tracking, and this illustration of the algorithm.