From Team 449 Wiki
Calcifer was our 2017 robot for the game FIRST Steamworks. As a CHS district championship finalist, it is our first robot since 2004 to qualify for the FIRST Championship event, held in 2017 in St. Louis.
The gear handler (called the gearbox by annoying people) was fed with gears from the feeder station and actively released them onto the peg. Originally, it was completely passive, but this underperformed on the actual field, as opposed to on our team field elements. It used a single piston to open the "doors" on the front, which also pushed the gear from the back.
The climber consisted of bolts spiraling around a metal cylinder. When spun, the bolts could catch a loop in our rope (actually 5/8" green webbing) and pull the robot up to the touchpad. It was powered by two 775pro motors mounted in a dual-input VersaPlanetary mounting with a 70:1 gear ratio.
Calcifer had a flywheel shooter to shoot fuel into the hight goals. It was fed with an auger mechanism, which in turn was gravity-fed from our ball bin. The shooter was highly accurate, but jammed frequently at first. This was eventually fixed at the Chesapeake District Championship by adding polycarb guide pieces to force the balls to stay in a single-file line.
Calcifer had two sets of intake wheels. One was pneumatically pivoted down, and another was fixed inside the robot. They worked together to move balls from the floor, over the bumper, and into the ball bin. The moving intake was removed after the Whitman event.
Calcifer had a tank drive that used West Coast Products' two-speed, three-CIM, dog-shifting gearboxes. These were geared such that our top speed in low gear was about 6 fps, and our top speed in high gear was about 18 fps. This choice was made because we realized that speed was important for Steamworks, but we also needed to be able to push other robots out of the way.
Calcifer was our first robot to have 6 Talon SRX motor controllers controlling the drive motors. We used their onboard 1 kHz PID loops to implement PID control on the drive. Building on to our drive-straight capability from previous years, which uses PID to make each side of the drive go at the same speed, we implemented a navX drive-straight capability. This uses the gyro in our navX to sense our orientation, and uses cascading PID control to adjust the speed of each side to make sure that the robot is actually going straight, as sensed by the gyro staying pointed in the same direction. With only speed drive-straight, the robot does not go straight, as each side may have different amounts of wheel slip. This won us the Innovation in Control Award at the Greater DC District Event.
The other key feature of the drive control was auto-shifting. This was originally implemented as a solution to the problem of drawing too much current when rapidly accelerating in high gear. With auto-shifting, we start from a standstill in low gear, accelerate quickly using its increased torque, and then shift up to high gear once we pass a speed threshold. This happens in reverse when we slow down, although the speed threshold is different. This hysteresis prevents the feathering between low and high that occurs when driving close to a single speed threshold. The only downside to auto-shifting is that we need to avoid high-speed collisions while in high gear, as the system can't react in time to prevent drawing too much current.
For our auto, we used the motion profile capabilities of the Talon SRX. We could generate profiles for each side of the drive and execute them on the Talons, which gave us much better auto consistency than in previous years.