Over the past few years of FTC, programming autonomous motion has always been a hassle. My team (the Terabytes) thought, "what if we could just tell our robot where to go on the field and it went there." This past year, our dreams began to come alive.
The first step in making absolute position control a reality was knowing where the robot is on the field. We accomplished this by building a dead reckoner that utilized the drive wheel encoders and gyroscope. Once given the initial position (where the robot lands in autonomous), the software tracks the robot's live position on the field.
With this in place, we then built a position controller that moves the robot to the specified target position on the field. In order to control the motion of the robot, we built a waypoint driver that determines the instantaneous target coordinate. In addition, a list of waypoints can be added to make the robot follow the desired path. For example, the robot can be given four waypoints to make it drive around the field as seen in this video.
For more information on this system, please see this FTC forum post and the Bridge Fusion Blog (Dead Reckoning, Autonomous Driving). In addition, a sample project is available on GitHub!!