There's lots of good information in those threads and screensteps. Here's some more information.
In most cases, a brownout condition will turn off your motors for a fraction of a second, and then everything will recover. You may not even notice most brownouts.
The times that you're most likely to brownout is when accelerating from a stop, when turning, or when in a pushing match. Here's ways to reduce or eliminate brownouts.
1) Verify all electrical connections are tight. Loose electrical connections will increase current draw.
2) Verify smooth mechanical function. Binding or rubbing will cause more current draw.
3) Reduce long wire runs. Wire electrical resistance is proportional with length, and reducing wire length will reduce current draw.
4) Shift to low gear when pushing or turning
5) Reduce aggressiveness of commands to the drivetrain. This can be through driver practice, or through a filter or rate limiter implemented in software.
6) Increase wire size. Think about 4awg instead of 6awg for batteries, and 10awg instead of 12awg for your drive motors. If you have a drivetrain that draws 240amps, changing 2 feet of 6awg wire for 4awg wire will reduce voltage drop by about .2 volts, and 2 feet of 12 awg wire with 10awg will reduce voltage drop by about .1 volts.
7) Consider reducing power use in other areas. For example, adding air tanks might make it unnecessary to run the compressor.
8) Change gear ratios. Using a larger gear reduction will reduce current draw in all the scenarios above.
9) Reduce lateral traction (put wheels with less traction, or omni wheels on the corners). This will help with the turning case.
10) Reduce forward traction. This will help with the pushing case.
I'm sure I'm missing a few tips.
I've seen people suggest that removing 2 CIMs from a 6 CIM drive train will fix things. My guess is that a 6 CIM drivetrain that is consistently browning out will not be measurably helped by removing 2 CIMs. It will respond much more sluggishly. It will also significantly increase the chance of poping the 40 amp breakers, which will take seconds to recover from, rather then tenths of seconds from a brownout.
I did say that in most cases brownouts won't be noticeable. If a longer brownout occurs, and the power drops to about 6.2 volts, the roboRIO 5v rail will turn off. This removes power from sensors. Here are some specific cases where they will cause negative effects, and how to design around them:
1) A mechanism that uses a motor providing constant power to hold something. This could be pinching a ball, holding up an arm, or pulling back a spring for a launcher system. Adding a ratchet or a counterbalance will reduce the effect, if the motor turns off for a little bit.
2) For ratio-metric sensors, such as potentiometers, implement ratio-metric measurements using the voltage from the 5v power rail. The voltage is available in all three programming languages, and ratio-metric measurement is implemented in potentiometer class in all three languages. We did this with our 2014 robot and noticed very little disturbance in potentiometer readings when in brownout.
3) Replace incremental sensors with absolute sensors. For example, instead of an incremental encoder that you zero at the beginning of the match, use an absolute encoder such as the MA3.
4) For sensors that have some type of calibration routine on startup, power them from either the roboRIO USB port or VRM. Some examples are ultrasonic sensors and the NavX IMU. The NavX has additional information here:
http://www.pdocs.kauailabs.com/navx-..._for_Brownouts
In all but the last case, if you're doing closed loop control, read the state of the 5v rail to determine if you can trust the value from sensor.
Here's some real world experience:
In 2014, we ran a 6 CIM drive train, 2 speed, with theoretical speeds of ~18 ft/s and 8 ft/s. We used 8 wheel drive with versawheels. We never blew the main breaker. We played plenty of defense towards the end of the season.
We used 10 awg wire on each of the drive motors, as well as kept the wires short (PDB was mounted very near the motors). We used 4 awg wire from the battery to the breaker and PDB, but used standard 6 awg on the battery. We did not implement any software magic, but the driver knew to shift to low when pushing.
We beta tested the roboRIO, and installed it on our practice robot in the fall of 2014. We competed with that robot at the 2014 SCRRF Fall Classic. We never noticed any problems due to brownout. We collected current during a match. See
http://www.chiefdelphi.com/forums/sh...&postcount=153 The battery voltage shows that we browned out several times, but our drivers never reported any problems.
Several other teams with 6 CIM drivetrains also ran with the roboRIO during the beta. Several teams reported seeing brownouts, but only a few had real problems.
The important thing is to test your robot and see how it responds to a brownout. Like GeeTwo said, just run your robot on the same battery for long enough.