View Single Post
  #2   Spotlight this post!  
Unread 03-08-2016, 11:33 AM
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,069
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Heading PID tips

This is a constant source of annoyance for doing precise turning with high-friction wheels. Some solutions that have worked for us in the past:

1) Figure out what the minimum required output is to get the robot to turn at all. If the PID output is less than this magnitude, output this magnitude (with the same sign as the PID output).

2) Instead of using your heading PID loop to generate PWM commands directly, use it to generate velocity commands that a second PID loop on each side of the drive will attempt to follow. Note that good velocity control at low speeds requires a really fast control loop and accurate velocity measurement. The CAN Talon SRX and CTRE Mag Encoder have impressed us in this regard.

3) Motion profiling can help (a bit) to ensure that the robot smoothly glides to its final heading, but this method works best in conjunction with 1 and/or 2.

Last edited by Jared Russell : 03-08-2016 at 12:19 PM. Reason: I accidentally a word