Dragoon`s Book 2016

Team Under Control 2016

1. Introduction

The main objective of this book is to present a highly detailed look at how our 2016 robot works. We will be presenting a mechanical description of the robot, in which we will explain our design process and the technical specifications about each subsystem. Then we will proceed to make an analysis of our control system and how our code operates. 1.1 The Robot

Under Control’s 2016 robot is called Dragoon, it is 41 in tall, 31 in wide, and 36 in long and weighs 114 lbs. The robot was 98% designed on CAD, with only few physical changes. Here we have a finished CAD model and the real robot:


Team Under Control 2016

Image 1: Final robot


Team Under Control 2016

Image 2: Robot final CAD.


Team Under Control 2016

1.2 Strategy

To develop a strategy for FIRST Stronghold we created a list with the essential tasks that the robot needed to perform in order to be competitive.

I. Cross the B and D category of defenses; II. Quickly acquire and carry Boulders into the Low Goal; III. Score into the High Goal from the batter consistently; IV. Cross the A category of defenses; V. Climb the Rung; VI. Cross the C category of defenses from the Neutral Zone.

During a match, our focus would be to make the maximum number of cycles as possible, in order to Breach the Outer works and weaken the Tower. This allows our alliance to Capture the Tower during the endgame. Increasing the probability of performing a Capture and a Breach on the same match, granting our alliance with two bonus RP on qualification matches or 45 points during playoffs.

Acquire Cross Boulder Defense

Score in High Goal

Chart 1: Definition of a Cycle


Team Under Control 2016

2. Mechanical

Dragoon was projected with mechanical reliability in mind, being able to adapt to the all the different conditions it could face in a match. This year the design is divided in three different Subsystems with different purposes, these subsystems are the following:


Drivetrain Intake Shooter

Shifter Arm Trigger

Track Flywheel

Chart 2: Robot Subsystems

2.1 Drivetrain

Dragoon is driven by 6 pneumatic 8 in wheels, 3 on each side. They are powered by two Vex Ball Shifter gearboxes and 4 CIM motors. The wheels were arranged with a Drop Center, to increase Dragoon’s maneuverability and increase its aptitude at crossing defenses. The wheels were powered using a #25-chain system and Vex Pro Sprockets. The Drivetrain has two final speeds, one at 13ft/s and other at 6ft/s.

Image 3: Drivetrain CAD


Team Under Control 2016

Due to the strategy of shooting in the high goal from the Batter, the Drivetrain was designed in an octagonal shape, allowing the robot to physically align to the Batter. Planning for the big amount of stress that the drivetrain will suffer by crossing defenses, it was designed so that the chassis contacts the defenses before the pneumatic wheels, allowing the system to absorb superior impacts.

Image 4: 2D analysis of the drivetrain fitting on the batter.

Image 5: Top View of the robot CAD, showing the octagonal shape.


Team Under Control 2016

2.2 Intake

The Intake structure main functions are to collect boulders and to manipulate defenses. To perform these functions it uses two systems, the Arm and the Track.

Image 6: Intake CAD 2.2.1 Intake Arm

The Intake Arm is powered by a mini CIM motor with a Versa Planetary gearbox at 30:1 reduction. The Arm movement is not only used to collect boulders, but also to raise the and manipulate the . To find the correct geometry for the Arm, several 2D analysis were made, using CAD software to predict its real life behavior.

Image 7: 2D analysis of the Intake Track behavior.


Team Under Control 2016

2.2.2 Intake Track

The Intake Track main function is to convey boulders from the front of the robot to the Shooter Trigger. It is constituted by anti-slip tape and Polycords. The system is powered by a bag motor with a Versa planetary gearbox at 7:1 reduction. The final speed of the track is 1500 RPM. The same system can be used to expel the boulders to the low goal.

Image 8: 2D analysis of the Intake Track behavior.

2.3 Shooter

The Shooter is built with two 6 in Andymark rubber treaded wheels, powered by a mini CIM at a 1:1 reduction. As the robot is designed to shoot only from the Batter, the shooter has a fixed angle; witch can be easily adjusted by moving the yellow plate on its back.


Team Under Control 2016

Image 9: Shooter CAD

2.3.1 Shooter Trigger

To send the Boulder from the end of the Intake Track to the Shooter flywheel, a Trigger was developed. A small pneumatic cylinder powers the Trigger. This way the Boulder is pushed to the Shooter with a constant force at all times, increasing its precision.


Team Under Control 2016

Image 10: Trigger 2D analysis

3. Control System


Team Under Control 2016

In this section we will make a highly and detailed analysis about control system and all derivate of it such as robot sensors, subsystem control and the autonomous mode.

Grayhill 63R Encoder

NavX Drivetrain Shifter Control

LED Indicator

IR Sensor Intake

SRX Encoder Dragoon

Trigger Control

Shooter Ir Sensor

LED Indicators

Chart 3: Sensors on each subsystem.

3.1 Subsystem Control

In this chapter we will explain how each subsystem is controlled, and how they were programmed to aid the driver`s work during the Tele-operated period. 3.1.1 Drivetrain


Team Under Control 2016

The Drivetrain consists of 6-wheel tank drive; two Logitech Attack 3 Joysticks are used to control it during the tele-operated period. To move precisely around the field, the drivetrain has two types of sensors. A Grayhill 63R encoder to measure the distance travelled by the wheels and a MXP NavX to sensor the angle of rotation when the robot is turning. Shifting

To increase Dragoon`s maneuverability on the field it uses shifting gearboxes, to shift between high and low gears the driver uses a trigger on the joysticks. The driver also has a visual feedback, through LEDs on the robot, to check in what gear it currently is.

Button pressed LEDs LEDs off on Batter Brake

In order to the robot stopped on the Batter to shoot, the driver can use a button that will apply just a small amount of current to the Drivetrain motors, keeping them stalled. During this action, the robot automatically shifts to low gear.


Team Under Control 2016

3.1.2 Intake

To efficiently control the intake and have it develop the actions needed, two types of sensors were used:

• 2 Infrared Allen-Bradley RightSight Sensors - To detect if a boulder was collected and if it is on the correct position for shooting. (Placement shown on pictures bellow)

Image 11: IR Sensors Placement

• 1 Infrared Allen-Bradley RightSight Sensor - To recognize the Arm “Zero” positon and recalibrate the encoder. (Placement shown on pictures bellow)

• 1 SRX Magnetic Encoder - Used to read the Arm rotation.


Team Under Control 2016

To turn Dragoon into a machine that could deal with human errors efficiently, we used State Machines to control each subsystem, automating robot movements as much as possible. Our Intake State machine is primarily controlled using 4 buttons, with a PID controller adjusting the arm position:

 Intake Boulder.  Lower Arm to ground (to Cross Chival de Frise).  Cross Porticullis (Automated Portcullis cross during Teleop).  Expel Boulder (for Low Goal).

The subsystem also relies on a Cancel Action button, which can be pressed at any time during operation, canceling all current actions and returning the robot to a “Resting” position. By Semi-Automating the robot we could reduce the amount of human error during operation and the amount of skill required to drive the robot. For example, you can’t collect a boulder if there is one inside the robot already. On the next page you will find a flowchart detailing the operation for the Intake system during the Tele operated period.


Team Under Control 2016

Chart 4: Intake operation.


Team Under Control 2016 Portcullis and Cheval de Frise crossing

While developing the geometry for our robot, we kept in mind the importance of being able to cross both the Cheval de Frise and the Portcullis. But even with this forward thinking it would still be difficult for the drivers to operate them from a distance. To overcome such a challenge we have developed semi-automated routines on our code that made the crossing of these defenses much simpler. If the driver wants to cross the Cheval de Frise, he only has to press a button on the joystick that will tell the robot to lower the intake Arm to the correct position. Then he only needs to drive forward, and it will come up after crossing. The Portcullis was a bigger challenge, as the robot needed to move both the drivetrain and the Intake Arm in Sync to get the correct movement. To overcome this, the driver has to position the robot in front of the Portcullis and press a button. Then using the feedbacks from the Arm and the drivetrain encoders the robot will perform the movement automatically. This greatly reduced the amount of time and effort it took for the drivers to cross this defense. The operation of these defenses can be seen on the flowchart at the previous page.

Image 12: Robot Crossing the Cheval de Frise


Team Under Control 2016

3.1.3 Shooter

One of the key aspects of this shooter is that it needed to be reliable. We have a fixed position, height, and angle to reduce the number of variables and increase the consistency of each shot. So the controls for the shooter becomes very simple. The driver operates the shooter with 3 buttons:

 Prepare Shooter – When the robot is getting closer to the batter, the driver press this button, the shooter will start accelerate until it reaches the correct speed to shoot. Note: This only happens if the IR sensor is detecting a boulder inside the robot.

 Shoot – After the shooter is accelerated to the correct speed, the driver presses this button to activate the trigger and shoot the Boulder;

 Reverse – This button is useful in case a boulder gets stuck on top of the shooter.


Team Under Control 2016

Chart 5: Shooter operation. “Shooter Ready” Lights

To better optimize the time in a match we have implemented two LED stripes on the back of the robot, these stripes turn on as soon as the shooter is ready to fire. These ensures a visual feedback for the driver, increasing the precision of the shots.


Team Under Control 2016

Shooter Ready

LEDs LEDs off on

3.2 Autonomous Mode

Our main objective during Autonomous mode is to cross a defense and score a high goal when possible. To efficiently perform this we had to adapt to the random nature of the field, this means that we had to build a modular code, which could be changed according to the selected defenses and the robot starting


Team Under Control 2016

position. To tackle this challenge, we first analyzed the variables that we could have on the field from match to match. These are the three main ones:

 Which defense will the robot cross?  We have 6 defenses that our robot can cross from the Neutral zone to the Courtyard: Portcullis, Cheval de Frise, Rock Wall, Rough Terrain, and Ramparts.

 Where will it start the match?  The Robot can start in front of any defense that isn’t the Low Bar, meaning we have 4 starting positions.

 Will it score a goal? If yes, in which Goal?  The Robot can score in the Middle High Goal effectively when the following conditions are true: o The robot starting position is in front of defenses 2, 3 or 4; o The defense in that position is the Cheval de Frise, Portcullis, or Rough Terrain.  The Robot can score in the Right High Goal effectively when the following conditions are true: o The robot starting position is in front of defense 5; o The defense in that position is the Cheval de Frise, Portcullis, or Rough Terrain.

With these conditions in mind we have a total of 18 different autonomous modes:  6 to only cross defenses;  12 to cross defenses and score in the High Goal;

3.2.1 Selecting Auto Modes

To help the drivers choose between the different autonomous modes we have created an “Auto” tab in the dashboard. The drivers will input the answers


Team Under Control 2016

for the questions in the previous page and the robot will choose the correct operation to execute.

Image 13: Auto tab on the Driver Station Dashboard In the “Auto” tab there is also a LED indicating if the chosen combination is valid.

3.2.2 Crossing Defenses


Team Under Control 2016

In order to successfully cross a defense, we are using two different sensors. The Grayhill 63R Encoder to measure the distance and speed traveled by the wheel, and the NavX MXP to sense the robot angle of rotation. We use these sensors to make sure that the robot can realign itself after going over a defense. The process is described in the following graph:

Chart 6: Autonomous crossing process. 3.2.3 Shooting in the High Goal


Team Under Control 2016

After crossing the defense we can choose to score a high goal. This is performed using both the NavX for turning and the Drivetrain encoder for straight lines. The path that the robot has to travel between the defense and the goal is determined by its starting position. The following flowchart will describe the step- by-step operation.

Chart 7: Autonomous goal process.