1 of 266

FRC Robotics Camp @ MetLife

2 of 266

Monday Agenda

  • What is FRC?
  • Where is Robotics Used?
  • FRC Awards
  • Basic Mechanical Design Process

3 of 266

What is FRC?

4 of 266

FIRST Robotics Competition

With...

  • Strict rules
  • Limited resources
  • Six-week time limit

Challenge to...

  • Raise funds
  • Design a team “brand”
  • Hone teamwork skills
  • Build and program industrial-size robots

Guidance from...

  • Volunteer professional mentors

Opportunity to...

  • Pursue interests ranging from business and graphic design to engineering and technology
  • Develop leadership and shape students to become well rounded, confident individuals

5 of 266

Competition Breakdown

Each year around January…

  • A game manual is released describing the competition for the season
  • Teams gather together to discuss an optimal strategy and build a robot to suit their goals
  • Teams create several documents describing how their team impacts the community
  • Teams create a business plan to help raise funding to support their team

6 of 266

Example Match

7 of 266

Pitt County Competition Recap Video

8 of 266

State Championship Competition Recap Video

9 of 266

Impact

  • Learn from professional engineers
  • Master STEM skills
  • Learn and use sophisticated software, hardware, and power tools
  • Build and compete with a robot of their own design
  • Improve teamwork, interpersonal, and communication skills
  • Compete and cooperate in alliances and tournaments
  • Understand and practice Gracious Professionalism™
  • Earn a place at the FIRST Championship
  • Qualify for millions of dollars in college scholarships

FIRST Robotics Competition teams get to:

10 of 266

Team Basics

What does a team need?

  • 2+ adult Mentors with both technical/non-technical expertise willing & motivated to “coach” the team
  • 10+ high school-aged students willing to put in time and to do any job the team needs to succeed
  • A suitable meeting place. A suitable space to design and build an industrial-sized robot (about 150 lbs.), that has access to a variety of machine shop power tools
  • A standard kit of parts and a common set of rules issued by FIRST
  • A community sponsor(s) that will help fund your efforts and provide other support
  • The desire to learn, explore, strategize, build comradery, share ideas and talents, make new friends, be accepted, and HAVE FUN!

What is the time commitment?

  • You should meet with your team at least several times per week during the build and competition season (January - April). Many mature teams also meet throughout the school year, and some compete in off-season events during the summer.

11 of 266

Steps to Starting an FRC Team

  1. Find support resources
  2. Enlist Coaches & Mentors
  3. Register and Pay
  4. Build your team
  5. Raise funds
  6. Learn about safety
  7. Time to Build Robots!

12 of 266

Events

  • Each FIRST Robotics Competition season culminates with district and regional events, were qualifying teams compete for awards and a spot at the FIRST Championship
  • Events at every level offer students an amazing experience as they celebrate their hard work, have fun, make new friendships, and are exposed to ideas and ideology that will enhance their lives for decades to come
  • Season-ending events (various Regional Event, District Events and FIRST Championship) are considered the most amazing, inspiring experiences they’ve ever had
  • Where else can you make new friends, share ideas, solve problems on the fly, compete like crazy, and get pumped up over technology all while having the time of your lives? At FIRST Robotics Competition events, students realize more than ever that FIRST is all about teamwork, sharing, helping others, and respect.

13 of 266

Scholarships

A big advantage to participating in FIRST is gaining access to millions in college scholarships made available by colleges, universities, and corporations who support FIRST. This is exclusive financial help open only to FIRST team members, giving them a competitive leg up on other students seeking educational funds.

  • Most are for use at the specific Provider college or university, but some can be used at any school
  • About 35% of FIRST Scholarships can be used for any course of study, not just engineering
  • Amounts vary from one-time awards to full four-year tuition

14 of 266

FIRST Values

  • Gracious Professionalism is part of the ethos of FIRST. It's a way of doing things that encourages high-quality work, emphasizes the value of others, and respects individuals and the community.
  • Coopertition is displaying unqualified kindness and respect in the face of fierce competition. Coopertition is founded on the concept and a philosophy that teams can and should help and cooperate with each other even as they compete. Coopertition produces Innovation.

15 of 266

Where is Robotics Used?

16 of 266

What is Robotics?

  • Branch of Engineering
    • Conception
    • Design
    • Manufacture
    • Operation of robots
  • Related Fields
    • Electronics
    • Computer science
    • Artificial intelligence
    • Mechatronics
    • Nanotechnology
    • Bioengineering

17 of 266

Manufacturing

  • Decrease in production time and cost for mass produced products
    • Ex. cars
  • Work all hours of the day
  • No human error
  • Effective for manufacturing

18 of 266

Medical

  • Accuracy and precision in medical practices
  • No human error or unsteady hand
  • Minimal external damage
  • See damage that may have not been addressed before

19 of 266

Agriculture

  • Replicate slow, repetitive farming tasks
  • Farmers to focus on improving production and other aspects of farming
  • Robots help
    • Harvest
    • Pick
    • Control weeds
    • Plant seeds
    • etc.

20 of 266

Social Robots

  • Autonomous robot that socializes with humans or other autonomous physical agents
  • Follows social behaviors and rules it is programmed to
  • Uses AI (artificial intelligence) to learn from the people or machines around them

21 of 266

Military

  • Autonomous or remote-controlled
  • Used for…
    • Transporting materials
    • Search and rescue
    • Bomb disposal
    • Attack
  • Faster reaction times
  • Better aim than humans
  • Preservation of human life

22 of 266

Space Missions

23 of 266

24 of 266

FRC Awards

25 of 266

FRC Awards

  • Imagery Award
  • Team Spirit Award
  • Creativity Award

26 of 266

FRC Awards

  • Entrepreneurship Award
  • Rookie Inspiration Award
  • Quality Award

27 of 266

FRC Awards

  • Gracious Professionalism
  • Industrial Design Award
  • Judges award

28 of 266

FRC Awards

  • Safety Award
  • Innovation In control
  • Excellence in Engineering Award

29 of 266

FRC Awards

  • Highest Rookie Seed
  • Finalist
  • Winner Award

30 of 266

FRC Awards

  • Rookie all star
  • Engineering Inspiration
  • Dean’s List FInalists

31 of 266

Chairman’s Award

  • The most prestigious award at FIRST, it honors the team that best represents a model for other teams to emulate and best embodies the purpose and goals of FIRST.

32 of 266

Time for a Kahoot!!

33 of 266

Basic Mechanical Design Process

34 of 266

Brainstorming

  • 2018 Reveal Video
  • What do you want your robot to do?
    • Robot functions
    • Prioritizing functions
    • Think practically
      • Time
      • Money
      • Feasibility

35 of 266

Minimum Requirements

  • Create specifications
    • How fast?
    • How tall?

  • Set minimum requirements
    • Use numerical values

36 of 266

Possible Mechanisms

  • Think of ways to achieve requirements
    • Arm
    • Elevator
    • Launcher

37 of 266

Prototypes

  • Make some prototypes
    • Should be quick and easy
    • Use scrap materials
      • Wood
      • Zip Ties
      • Duct-tape
      • Foam
      • Etc.

38 of 266

Further Prototyping

  • Make new prototypes of better materials
    • Scrap Aluminum
    • Motors/Gearboxes
  • Test again
  • Try to be as accurate as possible

39 of 266

Put on robot

40 of 266

CAD

  • Cad your prototype
  • Be sure to save previous cad models when you update them

41 of 266

Manufacture Completed Parts

42 of 266

Further iterations

  • Nothing is perfect, keep prototyping and make further iterations that you follow this same process for and update throughout the competition season

43 of 266

Developing a Strategy

Strategy Building for the FIRST Robotics Competition

44 of 266

Agenda

  • Overview
  • Analyzing the game
  • Determine Scoring possibilities
  • Create a strategy that suits your team
  • Prioritize potential robot functions
  • Hands On Activity (Jan 6th)

45 of 266

Quote

“The general who wins the battle makes many calculations in his temple before the battle is fought. The general who loses makes but few calculations beforehand.”

-Sun Tzu, Art of War

46 of 266

What is a Strategy?

  • Definition of Strategy
  • How does this apply to FRC?
  • When creating a strategy for FRC, you are creating a “master plan” that will guide you through both the build and competition season.
  • You are creating the framework for both your robot’s design and your match strategy.

47 of 266

The 4 Steps in Developing a Strategy

  • Analyze the game
  • Determine Scoring possibilities
  • Create a strategy that suits your team
  • Prioritize potential robot functions

48 of 266

Introduction

  • What is your objective for this season?
  • Competing at a competition with 40+ other teams is fun and exciting.
    • Coming home with a gold medal is even better
  • In order to produce a winning robot, you need a winning strategy to match!
  • Focus primarily on your main objective. Don’t get caught up in the “cool factor” or exceed your team’s capabilities.

49 of 266

Goals

  • As you develop your goals for the season, make sure to keep them reasonably attainable
  • A team who doesn’t consistently qualify for championships shouldn’t make winning the championship their primary goal
  • Building a championship winning robot takes significant resources and years of experience
  • Winning a regional/district even is the first step to the championship.

50 of 266

Analyzing

  • On Jan. 9th You will be given a box of parts, a 3 minute game animation, a game manual, and the words: “good luck, we’ll see you at the competition”
  • What is the first thing you should do?
  • Read the Rules!
    • Reading the rules will prevent future surprises.
  • Don’t make assumptions! Especially based on past years rules!

51 of 266

Analyzing the Game

  • Know the ranking system!
  • The ranking system changes slightly from year to year
  • Understand How the rankings are sorted and where the values are derived from.
    • WLT, cumulative auto score, other fields
  • Take advantage of this knowledge!
    • Manipulate your strategy and priorities to maximize your chances of seeding high

52 of 266

Determine Scoring Possibilities

  • Evaluate every possible way of scoring points
    • 2012: Scoring Baskets, Balancing on bridges
    • 2013: Scoring Discs, Climbing
    • 2014: Scoring balls, Assists, Truss Toss, Truss Catch, Mobility
    • 2015: Scoring Totes, recycling containers, litter, coop
    • 2016: Scoring Balls, Overcoming obstacles, Climbing
    • 2017: Scoring Balls, Placing gears, Climbing
    • 2018: Ownership of Scale or Switch, Climbing

53 of 266

Chokehold Strategies

  • A strategy which, when executed, guarantees victory, independent of any action by your opponents
  • FIRST tries to design games with no reasonable chokehold strategy
  • If one exists, it will be very difficult to perform
    • 2002, Team 71 pulling 3 180lb goals
    • Almost Chokeholds: Minibot (2011), 4 can grabber (2015) https://www.youtube.com/watch?v=bbwh8DBykYw
  • Determining if a chokehold strategy exists should be the first step in game analysis. Why?
    • While looking for a chokehold strategy, you will most likely find the most optimal strategy

54 of 266

Find the Most Optimal Strategy

  • How long does an FRC match last?
    • 2:30, 0:15 for Auto and 2:15 for Teleop
  • With this limited time, you want to find the strategies that yield the most amount of points in the least amount of time
  • Analyze scoring percentages of possible functions that your team is capable of building.

55 of 266

Cost to Reward Ratio

  • For each task, you must evaluate the level of difficulty compared to the reward of completing that task.
  • Eliminate Strategies that have a low scoring potential and/or are too resource intensive
  • The best tasks are the ones which are relatively easy to perform, yet provide a large amount of points

56 of 266

Finalize Your Strategy

  • After analyzing potential scoring methods and eliminating tasks that are not worth the effort, you should have a small list of tasks you want your robot to complete.
  • With these desired tasks, you should be able to create 1-3 different match strategies based on potential alliance partners.

57 of 266

Develop a list of Potential Functions/Robot Capabilities

  • Once you have decided what the most optimal strategy is, it is time to begin brainstorming what functions you want your robot to have.
  • What are some Potential Functions?
  • Take a look at what resources other teams have made available to you

58 of 266

Prioritization of Robot Functions

  • Now that you have evaluated possible robot functions, it’s time to prioritize them
  • Determine your robot’s qualities
    • Speed, power, maneuverability, dimensions
  • Determine what functions should be on your robot
    • Shooter, Ball pickup Mechanism, intake, Blocker, etc.
  • Remember: your priority list should reflect your strategy
    • Should a blocking mechanism be on a priority list for an offensive robot?

59 of 266

Capabilities of Functions

  • Once you have determined what functions will be on your robot, you need to determine what specific capabilities these functions will have
  • Not all potential capabilities are necessary for success
    • Tote grabber: picking up upside down totes
    • Tote stacker: add can before and after stack is created
  • Some capabilities can reduce the maximum potential for a function
    • Being able to stack on top of existing stacks

60 of 266

Trade Offs

  • As you design and build your robot, you will need to evaluate the trade off.
  • Most likely you will not be able to build every desired function/capability on your priority list
  • Combine certain functions to maximize overall functionality

61 of 266

Golden Rules and Simplicity

  • Golden Rule #1: Always build within your team's limits
  • Golden Rule #2: If a team has 30 units of robot and functions have maximum of 10 units, better to have 3 functions at 10/10 instead of 5 at 6/10
  • Remember: teams who do more than they are capable of tend to fail!

62 of 266

Simplicity is Key

  • When designing and building a robot, remember these three simple words:
  • Simplicity
    • Avoid building unnecessarily complex functions
    • Keep your robot design simple, but not too simple (kitbot)
  • Efficiency
    • Keeping a design simple will reduce the amount of necessary steps it takes to complete a task, thus improving its efficiency
  • Dependability
    • Having a complex design with many points of failure will be much less reliable than a simple robust design

63 of 266

Build Season

  • As you move through the build season, make sure to stick to your strategy and priority list
  • Avoid prototyping and developing robot components and functions that are not on your priority list
    • Elaborate blockers for offensive robots
    • 4 can grabber (2015)
  • Steering away from your priority list will take resources away from more critical functions
    • Remember: make efficient use of your time and resources!

64 of 266

Review

  • Read the rules and analyze every possible method of scoring.
  • Find the most optimal strategy which would yield the highest amount of points per match
  • Evaluate scoring methods and eliminate strategies that are overly difficult and yield few points
    • Don’t waste time and team resources. Apply those resources to improving existing functions which yield more points.
  • Prioritize your robots potential functions
  • Remember the Golden Rules!
    • The jack of all trades is the master of none

65 of 266

FRC Robotics Camp @ MetLife

66 of 266

Tuesday Agenda

  • Motors & Gearboxes
  • Chains & Gears
  • Drivetrains
  • Driver Controls

67 of 266

Motors & Gearboxes

68 of 266

Motors

  • Motors can be connected to speed controller or directly to 12v DC power supply.
  • In most cases, a gearbox or other reduction mechanism is required to reduce the RPM while maintaining full power

69 of 266

Motors

  • Only motors on the approved list can be used.
  • Fan motor vs non-Fan Motor
  • All require dedicated Speed controller or H-Bridge Relay
  • Speed/position can be controlled with encoder
  • Talon SRX able to directly receive encoder input to minimize the delay of going through the RoboRIO

70 of 266

Approved FRC Motors

 

 

Free Speed�(RPM)

Free Current�(A)

Maximum Power (W)

Stall Torque�(N · m)

(in · lb)

Stall Current�(A)

CIM Motor

5330

2.7

337

2.41

(21.33)

131

Mini CIM Motor

5840

3

215

1.41

(12.48)

89

BAG Motor

13180

1.8

149

0.43

(3.8)

53

775pro

18730

0.7

347

0.71

(6.28)

134

AndyMark RS775-125

5800

1.6

43

0.28

(2.47)

18

BaneBots RS-775 18V

13050

2.7

246

0.72

(6.37)

97

AndyMark 9015

14270

3.7

134

0.36

(3.18)

71

BaneBots RS-550

19000

0.4

190

0.38

(3.36)

84

71 of 266

Motor Torque Calculation

  • Stall Torque/Current
  • Torque = F R sin(⍬)
  • Use “JVN Calculator” to calculate the right motor and gear ratio for the job

72 of 266

Servos

  • Servos are used for low power actuation. It has a small motor that can be commanded to rotate to a particular position in a range of 180~270 degrees.
  • Maximum servo power allowed for FRC: 4 watts
  • Input PWM signal and powered by 6v coming from the PWM connection.
  • Interchangeable arms

73 of 266

Gears

  • Gears modify and transmit motor power into torque, speed and direction.
  • Two or more gears working together are called a transmission, gearbox, or gearhead.
  • When two gears have unequal numbers of teeth, then speed and torque change.
  • A large gear driving a smaller gear will give more speed, but less torque. A small gear driving a larger gear will give more torque, but less speed. In essence, torque can be traded for speed or vice versa by adjusting the ratio of the gear teeth between the two interacting gears.

74 of 266

Gears

  • Driver vs Driven
  • Idler – Between two or more gear wheels
  • Gear ratios represented as x:y.
  • Example:
    • Gear Ratio 12:36
      • Say “12 to 36 gear ratio”
    • Gear Reduction 36/12 or 3/1
      • Say “3 to 1 gear reduction”
        • We’re reducing the motor speed 3 times and increasing the torque 3 times

75 of 266

Chains & Gears

76 of 266

What are they used for?

77 of 266

78 of 266

79 of 266

Ratios

  • By changing the size of sprockets, you are able to control the speeds and torque of the output.

80 of 266

Chain Stretch & Tensioners

81 of 266

Belts/Pulleys

82 of 266

Gears

  • Compound Gearing
    • Compound Reduction = Reduction 1 x Reduction 2 x … x Reduction “n”
    • Compound Reduction = Reduction 1 x Reduction 2 = (60/30) x (90/15) = 2 x 6 = 12
      • Hence, the overall ratio would be 12:1

83 of 266

84 of 266

85 of 266

86 of 266

How to calculate the distance between gears

  • Pitch Diameter
  • Center to Center Distance = (PD of Gear 1 / 2) + (PD of Gear 2 / 2)

= (1.5in/2)+(2.6i./2)

= .75 + 1.3

= 2.05in

87 of 266

Calculators

88 of 266

Chain/Gear Mechanism Examples

89 of 266

Belt/Gear Mechanism Examples

90 of 266

KAHOOT!!!!!!!

91 of 266

Hands On

Time for you to tinker around!

92 of 266

Thanks!

Any Questions?

93 of 266

Drivetrains

94 of 266

Outline

  • Drivetrain Selection
    • Purpose of a drivetrain
    • Types of wheels
    • Types of drivetrains
    • Compare drivetrain strengths and weaknesses
    • Evaluate your resources and needs
    • Which drivetrain is best for you?
  • Designing a Tank-Style Drivetrain
    • Key Principles in designing a tank-style drivetrain
    • Types of tank-style drivetrains
  • Kitbot Design Review & Upgrades
    • Standard FRC Kitbot Design Review

95 of 266

Purpose of a Drivetrain

  • Move around field
    • Typically 27’ x 54’ carpeted surface
  • Push/Pull Objects and Robots
  • Climb up ramps or over/around obstacles
  • Most important sub-system, without mobility it is nearly impossible to score or prevent points
  • Must be durable and reliable to be successful
  • Speed, Pushing Force, and Agility important abilities

96 of 266

Types of Wheels

  • “Traction” Wheels
  • Standard wheels with varying amounts of traction, strength & weight
  • Kit of Parts (KOP)
  • AndyMark (AM) or VEXPro
  • Pneumatic
  • Slick
  • Custom

97 of 266

Types of Wheels

  • Omni
    • Rollers are attached to the circumference, perpendicular to the axis of rotation of the wheel
    • Allows for omni directional motion
  • Mecanum
    • Rollers are attached to the circumference, on a 45 degree angle to the axis of rotation of the wheel
    • Allows for omni directional motion

98 of 266

Types of Drivetrains

  • Tank
  • Swerve
  • Slide
  • Mecanum
  • Holonomic

99 of 266

Tank

  • Left and right wheel(s) are driven independently
  • Typically in sets of two (1-4 sets is common, sometimes higher)
  • Strengths
    • Simple & cheap to design, build, and program
    • Easy to drive
    • Potential for high speed and/or pushing force
  • Weaknesses
    • Slightly less agile than other drivetrains

100 of 266

Swerve/Crab

  • Wheels modules rotate on the vertical axis to control direction
  • Typically 4 traction wheels
  • Strengths
    • Potential for high speed and/or pushing force
    • Agile
  • Weaknesses
    • Very complex and expensive to design, build and program
    • Extra motors required to be able to rotate robot frame

101 of 266

Slide

  • Similar layout to tank drive, with an extra wheel(s) perpendicular to the rest
  • Must use all omni wheels
  • Strengths
    • Fairly easy and cheap to design, build, and program
    • Agile
  • Weaknesses
    • No potential for high pushing force
    • Extra wheel(s)/motor(s)/gearbox(es) required to allow robot translate sideways

102 of 266

Mecanum

  • Similar layout to tank drive, but each wheel must be driven independently
  • Must use 4 mecanum wheels
  • Strengths
    • Fairly easy to design & build
    • Agile
  • Weaknesses
    • No potential for high pushing force
    • Challenging to program and learn to drive well
    • Requires extra gearboxes
    • Wheels are expensive

103 of 266

Holonomic

  • 4 omni wheels positioned on 45 deg angle in the corners of the frame
  • Each wheel must be driven independently
  • Strengths
    • Agile
  • Weaknesses
    • No potential for high pushing force
    • Very challenging to program and learn to drive well
    • Requires extra gearboxes

104 of 266

Compare Drivetrains

  • Choosing the right drivetrain is critical to the success of an FRC robot
  • Several drivetrains to choose from
    • Each one has its own strengths and weaknesses
  • Important to quantitatively evaluate all options to ensure optimal solution is chosen
    • Best method to do this is a “Weighted Objectives Table”

105 of 266

Define drivetrain attributes to compare

  • Agility
    • Ability to translate in the x and y axis as well as rotate about the z axis simultaneously
  • Strength
    • Push robots and/or game pieces
    • Resist defense from all sides of the drivetrain
  • Number of Motors
    • Number of motors allowed on an FRC robot is limited
    • Most drivetrains use 4 CIM motors to power wheels
    • Additional motors to rotate wheel modules or translate sideways may take away from motors for other robot functions

106 of 266

Define drivetrain attributes to compare

  • Programming
    • Ideally does not require sensor feedback (eg. wheel module angle)
    • Ideally does not require advanced algorithm to calculate individual wheel speed/power
  • Ease to Drive
    • Intuitive to control so little practice is required to be competitive
    • Just because some drivetrains have the ability to move sideways doesn’t mean the driver will use the ability
      • Often drivers end up turning the robot because it is more natural or going sideways feels (or actually is) slower
  • Traverse Obstacles
    • The ability of a drivetrain to traverse ramps, bumps or steps

107 of 266

Define drivetrain attributes to compare

  • Design
    • This is a very general heading. Sub headings grouped as there is a strong relationship between them
      • Cost
      • Ease to design (select components and choose dimensions)
      • Ease to manufacture
      • Ease to assemble
      • Ease to maintain/repair
      • Weight

108 of 266

Compare Drivetrains

  • Give each attribute of each drivetrain a relative score between 1 and 5
  • Weights are dependant on
    • Strategic analysis of the game (priority list)
    • Teams resources

109 of 266

Compare Drivetrains

  • Agility, Strength & Ability to traverse obstacles
    • Relative to #1 priory, reliability
      • 0 = not important or required
      • 10 = equally as important as reliability
  • Number of Motors
    • Depends on complexity of other robot features and ability to design with all motors
      • 0 = no other features/very strong ability to design with all motors
      • 10 = very complex/little ability to design with other motors
  • Programming
    • Depends on strength of programming team (# of students/mentors, experience, ect)
  • Ease to Drive
    • Depends on amount of available practice
      • 0 = have a full practice field and practice robot with committed drivers that train every day
      • 10 = no practice field/robot, no time in build season to practice

110 of 266

Compare Drivetrains

  • Design
    • How many students/mentors do you have?
    • How much experience do you have?
    • What tools are available to you (hand tools < bandsaw < mill)?
    • How many hours are your shop facilities available/will you use them?
    • How much money do you have?
    • Drivetrains with a low design score require significant resources to design reliably
      • 0 = lots of experience, students, mentors, tools, money
      • 0 = The desired drivetrain has been used in a previous season or prototyped in the off season
      • 10 = No experience, few students, mentors, tools, money

111 of 266

Compare Drivetrains

  • Typical Weights for a rookie or low resource team
    • 5 - Agility
    • 5 - Strength
    • 5 - Number of Motors
    • 10 - Programming
    • 10 - Ease to Drive
    • 0 - Traverse Obstacles
    • 10 – Design
  • Resources are low, so it is more important to build a simple drivetrain that is easy to program and learn how to drive to ensure reliability.
  • The performance of the drivetrain (agility & strength) are not as important as reliability
  • The number of motors is not as important because additional features should be very basic and require few (or no) motors

112 of 266

Compare Drivetrains

  • Rookie/low resource team weighted table
    • Tank drivetrain much higher score than others
    • Slide drive second best

113 of 266

Comparison of weighted tables for different resource teams

  • Comparison of weighted tables for different resource teams

114 of 266

When to Choose a Swerve Drive

  • Strength & Agility equally as important as reliability
  • Lots of students/mentors
  • Access to advanced tooling
  • Large budget
  • Team has strong ability to use other motors for robot function
  • Team has practice field and practice robot
  • Team has used a swerve in a previous season, or prototyped one in the off season

Tank

Swerve

Slide

Mecan

Holo

Swerve

79%

80%

63%

63%

59%

Swerve

Agility

10

Strength

10

Motors

2

Program

2

Drive

2

Traverse

0

Design

2

115 of 266

When to Choose a Slide Drive

  • Agility equally as important as reliability
  • Strength is not required (game has no interaction with opponents)
  • Team has practice field and practice robot
  • Team has used a slide in a previous season, or prototyped one in the off season
  • Lots of students/mentors
  • Team has strong ability to use other motors for robot function

Slide

Agility

10

Strength

0

Motors

1

Program

3

Drive

1

Traverse

0

Design

3

Tank

Swerve

Slide

Mecan

Holo

Slide

78%

67%

89%

87%

79%

116 of 266

When to Choose a Mecanum Drive

  • Agility equally as important as reliability
  • Strength is not required (game has no interaction with opponents)
  • Team has practice field and practice robot
  • Team has used a mecanum in a previous season, or prototyped one in the off season
  • Strong programing ability
  • Lots of students/mentors

Mecan

Agility

10

Strength

0

Motors

5

Program

2

Drive

2

Traverse

0

Design

3

Tank

Swerve

Slide

Mecan

Holo

Mecan

82%

60%

83%

88%

82%

117 of 266

Designing a Tank Drivetrain

  • At this point we have concluded Tank-Style Drivetrain is usually the best option for all teams, regardless of the game or the teams resources
  • Why don’t all teams use Tank-Style Drivetrains?
    • Some (few) teams have a lot of resources
    • Trying new things to learn new skills/gain new experiences
      • Understanding this choice will make them less competitive
    • Improper strategic analysis of the game and evaluation of team resources
    • Improper analysis of strengths and weakness of various drivetrains
      • Omni directional drivetrains have a significant “cool factor” that distract teams

118 of 266

Speed Reduction

  • If you gear your robot too high
    • It won’t have enough torque to move (accelerate)
    • If you can accelerate, it will be very difficult to control
  • If you gear your robot too low
    • You will have so much torque, your wheels will slip before you reach max power
    • You will move too slow to be effective
  • A good robot speed is 8-12 ft/s
  • Design your robot so sprockets can be changed easily
    • Start at a slow speed, with practice if the driver gets comfortable, change sprockets to increase speed
  • Some teams have successfully gone as high as 18 ft/s or as low as 4 ft/s
    • Require 2 speed gearbox, cannot rely only on 4 or 18 ft/s speed
    • Drivers need a lot of practice to control robots that fast

119 of 266

Speed Reduction

  • The CIM motor has an angular velocity of 5310 rpm (+/- 10%)
    • Directly using a 6” wheel would convert to 139 ft/s (> 150 km/h)
  • Therefore, you must reduce the angular velocity between the motor and the wheel
    • This can be done with gears, sprockets, or belts
  • Generally, most of the reduction is first done with a gearbox (1 or more stages of gear reduction), then sprockets or belts do the rest
  • Coupling motors on the same gearbox increases torque but angular velocity does not change
    • This will allow you to accelerate faster and push harder but it will not increase your top speed

120 of 266

Centre of Gravity (CoG)

  • The lower and more centred your centre of gravity
    • The less likely your robot will tip, very important when traversing obstacles
    • The better your robot will “handle” (accelerates and turns smoother)
  • CoG dictates how much force each wheel provides to support the robot
    • This is important for turning and pushing

121 of 266

Centre of Gravity (CoG)

  • For tipping, the fulcrum will be the outer edge of the robot frame or bumper
  • Once the Centre of Gravity is pushed past the fulcrum, the robot will continue to tip under its own weight

122 of 266

Key Design Attributes

  • All wheels should be high traction to achieve maximum pushing force (ie not mecanum, omni, or slick wheels)
    • Lower traction wheels will slip easier and reduce pushing force
  • All wheels should be powered (chained together)
    • Un-powered wheels reduce robot pushing force

123 of 266

Four Wheel Tank Drive

  • Turning a tank drivetrain
    • Drive left and right sides different speeds to turn
    • Drive left and right sides at opposite speeds to “turn on the spot”
    • Location of the “spot” is dependant on wheel material and the CoG

Driven direction

124 of 266

Four Wheel Tank Drive

  • Turning a tank drivetrain
    • Since the wheels are not facing the direction the robot is trying to turn there will be some scrub
      • Scrub is the amount of friction resisting the turning motion
  • This scrub is useful when being defended or defending

Friction force (scrub)

Driven direction

125 of 266

Six Wheel Tank Drive

  • Add a set of wheels in the centre of the robot, slightly lower than the outer wheels
    • What does this do?
      • Divides the effective wheelbase (L) in half (point 3)
        • Turns the robot into two 4WD sections, depending which half the CoG is on
      • Reduces weight supported by outer wheels (point 2)
        • The closer the CoG is to the middle of the robot, the less weight is supported by the outer wheels
    • The result?
      • A very smooth turning robot

126 of 266

Standard Kit of Parts Drivetrain

  • 2017 KOP Drivetrain
    • 6WD with dropped center wheel
    • 4 out of 6 wheels are driven
    • Uses 6” HiGrip FIRST Wheels
    • Outer wheel holes spaced perfectly for 3/8” chain
      • No tensioners required
    • Has holes for 8WD if required
    • Uses CIMple boxes
      • Geared to drive fast (~14 ft/s)
      • Gearbox sprocket = 12T
      • Wheel sprocket = 26T
    • Overall, very good drivetrain

127 of 266

Driver Controls

128 of 266

Different Controllers

129 of 266

Different Controller Layouts for Driving

  • Tank Drive
  • Arcade Drive
    • Split Arcade
  • Curve Drive (Cheesy Drive)

130 of 266

Tank Drive

or

131 of 266

Arcade Drive

or

132 of 266

Curve Drive (Cheesy Drive)

Quick Turn (X)

133 of 266

How do you train to become a good driver?

  • Practice practice practice!
  • Volunteer to test anything and everything on the robot.
  • Make sure you read and memorize the game play rules.
  • Understand and practice different strategies.
  • Practice routines over and over to perfect the strategies.
  • Change the routines up a bit with different variations so you know how to adapt during the match.
  • Know the limits of your robot and how to avoid the problems/issues that may occur.
  • If the problems/issues occur learn and practice how to resolve them.

134 of 266

Time for you to Drive the Robot!!!

135 of 266

Introduction to Programming

136 of 266

Wednesday Agenda

  • Introduction to Programming
  • Open-Loop Programming
  • Closed-Loop Programming
  • Sky's the limit in FRC Programming

137 of 266

Introduction to Programming

138 of 266

What Do You Know About

  • Programming in General?
  • Programming for Robotics?
  • Programming for FRC?

139 of 266

Our Goals Today

  • Introduce you to programming in FRC robotics
  • Help you appreciate its importance
  • Help you appreciate its depth

140 of 266

5 Lessons to Get You Started

  • Environment and Tools
  • Hello World
  • Open Loop Driving
  • Closed Loop Driving
  • The Sky’s The Limit

141 of 266

Environment and Tools

142 of 266

143 of 266

The RoboRIO

  • Configurable Robotics controller created by National Instruments that is used to control every FRC robot.
  • Contains I2C, SPI, PWM, RS232, USB,and Ethernet ports.
  • Contains an accelerometer and an FPGA.
  • Can be programmed in C++, through the JVM, or in LabVIEW

144 of 266

VSCode

  • Intelligent editor for code editing developed by Microsoft
  • Supports all languages
  • The official IDE for 2019

145 of 266

GradleRIO

  • Custom build system to build, compile, and deploy code to the RoboRIO
  • Uses Gradle to automatically load and compile dependencies
  • Official build and deploy system for 2019

146 of 266

Driver Station

  • Program written by National Instruments to interface with the Robot
  • It is used to send controller values and maintain a stable connection with the RoboRIO
  • Also used for diagnostics (battery voltage, etc.)
  • Has built-in dashboards for data viewing

147 of 266

How do you drive the robot?

  • Once you have a controller you need a laptop with the FRC Driver station.
  • The FRC Driver station is software provided by first and NI (National Instruments) that allows you to connect and control the robot.
  • During competition it connects to the field and automatically manages the state of the robot.
  • Manages the controllers you use to drive the robot.

148 of 266

How to get the Driver Station

149 of 266

Components of the Driver Station

  • Consists of two windows, a driver station and a dashboard
  • Driver Station
    • Allows you to connect and control FRC robots
    • Different tabs with various information
    • Log file viewer for easy diagnoses of what happened last time you connected
  • Dashboard
    • Shows basic information published by the FMS (Field management system)
    • Contains various information about the components of the robot (If programmers make it available)

150 of 266

Driver Station - Operations Tab

  • Most important Tab!
  • Robot Mode - During competition this is controlled by FMS
  • Elapsed Time - Tells you how much time in the current mode
  • Voltage - Current battery voltage of robot
  • Communication Status - Green if robot is connected
  • Robot Code Status - Green if code on robot is running
  • Joystick Status - Green if a least one joystick is connected

151 of 266

Driver Station - Diagnostics Tab

  • During an event a Robot Inspector may ask you to show him this tab
  • Communications
    • Enet Link - Green if something is connected to ethernet port on computer
    • Robot Radio - Green if robot radio is pingable (You are connected to the radio)
    • Robot - Green if robot is pingable (You are connected to the robot)
    • FMS - Green if computer is communicating to FMS (Field Management System)
  • Versions & Info - Software/Firmware versions of various things (Driver Station, RIO, PCM, Motor Controllers, etc)

152 of 266

Driver Station - Setup Tab

  • First thing you have to check/setup when you open up the driver station
  • Make sure your team number is the number assigned to your robot
  • Dashboard Type - Allows you to change which dashboard you want to use with the driver station

153 of 266

Driver Station - USB Devices Tab

  • USB Setup List - List of all compatible USB Devices currently connected to the computer
  • This is important! If you have multiple USB Devices make sure they are in the correct order so the code on the robot recognizes the correct device!

154 of 266

Driver Station - Shortcut Keys

  • F1 - Forces a joystick refresh
  • ‘[’ + ‘]’ + ‘\’ - Enables the robot
  • Enter - Disables the robot
  • Space - Emergency stops the robot, to re-enable you first need to restart the roborio

155 of 266

Driver Station - Voltage

  • Replace battery when base voltage goes below 12.3V or voltage is near 7V
  • If robot ever goes below 6.8V it will enter Brownout Protection mode

156 of 266

How do you connect to the robot?

  • Preparing for a match:
    • To connect your laptop to the field plug in the ethernet cord at the driver station area (This will connect you to the FMS, and if you have correct team number in the driver station it will connect you to the robot)
    • When the robot starts up the router will automatically connect to the FMS (Field Management System)
  • Other times during competition:
    • During a competition you are not allowed to use wifi so you must use a direct connection between laptop and robot
    • A direct connection can either be an ethernet cable or a USB cable.
    • USB cable is much easier to use but if you have to use a ethernet cable its a bit more complicated to set up.

157 of 266

What is this “FMS”?

  • The Field Management System or “FMS” for short, is the electronics core of a FRC playing field.
  • It controls everything on the field including LED Displays, E-stops, enable/disable of robots, and network.
  • Keeps score in real-time and posting it to the audience screen
  • It also managements the match schedules

158 of 266

What can you do if you have a problem or a question during competition?

  • Who to ask mostly depends what you are doing and where you are:
  • If you are on the field and you are having connection problems a FTA will help you.
  • If you are off the field and having/had connection problems a CSA can help.
  • If you had a problem during the previous match a FTA might provide you with some insight on what happened.
  • Sometimes other teams can help.

159 of 266

Lesson 01 Exercise

Open the DS and Connect to the Robot

160 of 266

Hello World Program

161 of 266

FRC Programming Languages

  • Java
  • Kotlin
  • C++
  • Python

162 of 266

Structure of an FRC Program

public class Robot extends TimedRobot {

void robotInit() {}

void robotPeriodic() {}

void autonomousInit() {}

void autonomousPeriodic() {}

void teleopInit() {}

void teleopPeriodic() {}

void disabledInit() {}

void disabledPeriodic() {}

}

163 of 266

Demo

  • Make robot print “Hello world”�during autonomous
  • Make robot print “Hello world” for 10 seconds
  • Build and deploy

164 of 266

Lesson 02 Exercise

Print Hello World for 5 Seconds and Stop

165 of 266

Driving the Robot

166 of 266

167 of 266

Talon SRX Motor Controller

  • Motor controller is connected to motor
  • Percent inputs are sent to the motor controller, which sends a signal to the actual motor itself
  • Controller through the Talon SRX API

168 of 266

Programming the Talon SRX

TalonSRX master = new TalonSRX(1);

master.set(ControlMode.PercentOutput, 0.75);

master.setInverted(true/false);

TalonSRX slave = new TalonSRX(2);

slave.follow(master);

slave.setInverted(true/false);

169 of 266

Motors on the Drivetrain

  • Two CIM motors on each side
  • Each set of motors is connected to a gearbox
  • Both motors in gearbox need to have the same polarity
  • One set of motors has to be inverted compared to the other

170 of 266

Programming Drive

public class Robot extends TimedRobot {

TalonSRX master = new TalonSRX(1);

TalonSRX slave = new TalonSRX(2);

void autonomousPeriodic() {

master.setInverted(true/false);

slave.follow(master);

master.set(ControlMode.PercentOutput, 0.75);

}

}

171 of 266

Demo

  • Make robot drive at 60% speed while autonomous is enabled
  • Build and deploy

172 of 266

Lesson 03 Exercise

Drive for 5 seconds during autonomous at 50%

173 of 266

Closed Loop

174 of 266

Disadvantages of Open Loop

  • Unpredictable and Inaccurate
    • Carpet Differences
    • Battery Voltage
    • Weight of the Robot (Inertia)
    • Many other factors

175 of 266

176 of 266

Bang Bang Control

177 of 266

Proportional Control

178 of 266

Proportional-Integral-Derivative (PID) Control

179 of 266

180 of 266

Simple PID Implementation

public class PID {

double totalerror = 0, lasterror = 0, dt = 0.02;

double kP = 0.0, kI = 0.0, kD = 0.0;

double getOutput(double target, double current) {

double error = target - current;

totalerror += error;

double prop = kP * error;

double integ = kI * totalError * dt;

double deriv = kD * (error - lastError) / dt;

lastError = error;

return prop + integ + deriv;

}

}

181 of 266

Demo

  • PID Controller to make robot drive 5 feet
  • Build and deploy

182 of 266

Lesson 04 Exercise

Drive 10 feet. (kP = 0.1)

183 of 266

The Sky’s the Limit

184 of 266

What More Can You Do?

  • Trajectories
    • Generation
    • Localization
    • Following
  • Vision
  • Deep Learning

185 of 266

Generation of Trajectories using 5th Degree Polynomials

186 of 266

Velocity Parameterization

187 of 266

Non Linear Field Relative Positioning

188 of 266

Advanced Robotics Literature for Trajectory Following

189 of 266

190 of 266

Vision for Aiming at a Target

191 of 266

Vision and Bang Bang Control

192 of 266

Deep Learning

193 of 266

Demo

  • Spline generation for trajectories
  • Field relative state estimation
  • Trajectory following for a simple trajectory

194 of 266

Interested in Programming?

  • Join an FRC Team near you!
  • More FRC Lessons available at: https://github.com/5190GreenHopeRobotics/Training
  • Contact FRC Team 5190 for more advanced lessons regarding advanced topics discussed in this chapter.

195 of 266

Driver POV during match

196 of 266

Competition Fails: Expect the Unexpected

197 of 266

FRC Robotics Camp @ MetLife

198 of 266

Thursday Agenda

  • CAD (Computer Aided Design)
  • Intakes & Wheels
  • Pneumatics
  • Electrical

199 of 266

Computer Aided Design (CAD)

200 of 266

What is CAD?

201 of 266

Why use CAD?

202 of 266

Uses in FRC

  • Layout for Mechanisms
  • Custom Gearboxes
  • CNC technology
  • Pocketing

203 of 266

Real-World Applications

  • Architecture
  • Civil Engineering
  • 3D Printing
  • Simulations & Stress Testing
  • Aerospace

204 of 266

CNC Programming

If you have access to precision manufacturing tools, you will need to design the parts in CAD first. Then you can program toolpaths from the CAD software itself.

205 of 266

Sketches

206 of 266

Sketches Cont.

207 of 266

SolidWorks Demo

208 of 266

Intakes & Wheels

209 of 266

Game Piece Mechanisms

210 of 266

Prototype and Test All Options

  • Prototyping every idea helps gain insights on how the game piece reacts to different conditions.
  • Use all resources available such as similar games from the past, more experienced teams, and chief delphi.
  • Use wood and 8020 to prototype, do not waste team resources if you don’t have to.

211 of 266

Robot Decoy Tests

  • Use team members to mimic the robot and its movements.
  • This will help find out whether the motion required is too complicated or takes too long.
  • Move at realistic speeds and remember that robot motion is rarely as smooth as human movement.

212 of 266

Rollers Vs Wheels

  • Rule of thumb is to use rollers when range is more important than power.
  • Different types of wheels include omni, pneumatic, colson, compliant, traction, plaction, mecanum, etc.
  • Rollers can be made out of almost anything, but mostly consist of rubber rolled around aluminum tubes.

213 of 266

Motor Speed and Torque

  • Get the mass of the game piece and calculate force required to throw or launch it at the speed you need. (kinematic equations)
  • Use JVN calculator to find the right vex ratio needed. You will need to check your torque and motor speeds, make sure the current draw is under 30 Amps to be safe.

214 of 266

Modifications

  • Keep the weight limit in mind when you add improvements to mechanisms.
  • Do not try to change to a different system without prototyping.
  • Make changes temporary and modular so it is easy to revert back to an old version during competition.
  • Make sure to get driver practise and testing time for any new part before putting it in competition.

215 of 266

Pneumatics

216 of 266

Ground Rules

  • FRC pneumatics do not take any force to assemble or disassemble, so if you need to use force you are doing it wrong.
  • Always wrap teflon in a clockwise direction.
  • Constantly check pressure gauges.

217 of 266

Applications of Pneumatics

  • Pneumatic cylinders can be used as indexers or actuators.
  • Linkage applications made easier with pivots.
  • Dog shifting gearboxes use pistons

218 of 266

Pneumatic System Components

  • Compressor
  • Regulator
  • Pressure relief valve
  • Pressure switch
  • Solenoid
  • Cylinders
  • Air tank
  • Gauges

219 of 266

Pneumatics Board Layout

High-pressure (120 psi) side

    • Compressor
    • Pressure relief valve
    • Pressure switch
    • Air tanks
    • High-pressure gauge
    • Dump valve
    • High pressure regulator

Low-pressure (60 psi or less) side

    • Solenoids
    • Cylinder(s)
    • Other FRC legal pneumatic devices, e.g., vacuum pump, pressure transducer
    • Low-pressure gauge

220 of 266

Simple pneumatics board

221 of 266

Parts of a Piston

222 of 266

Types of Cylinders

There are three basic types of pneumatic cylinders: single acting, double acting, and telescoping. Single acting pistons have a spring to by themselves after firing, double action pistons hold their positions, and telescoping cylinders have multiple strokes stacked onto each other.

223 of 266

Electrical

224 of 266

What is Electrical?

  • Field of robotics, that allows the robot to become mobile
  • Encompasses the movement of charge throughout the robot

225 of 266

Summary of Topics

  • Electrical Tools
  • Parts of the FRC system

226 of 266

Wires

  • Electricity moves through them
  • Have different gauges to determine how much electrical current can flow through them
  • Thicker wire = Smaller gauge

227 of 266

Flush Cuts

  • Used to cut wires

228 of 266

Strippers

229 of 266

Crimpers

  • Used to press wires into connectors
  • Some require strength

230 of 266

Connectors (APP)

  • Used to connect wires
  • Most commonly used are Anderson Power Poles

231 of 266

Make A Wire Activity

  • We will make a wire

232 of 266

Connectors (Wagos)

  • Used to connect CAN wires
  • CAN is used for motor controllers

233 of 266

Soldering Stations + Shrink Tube

234 of 266

The FRC System

235 of 266

Battery + Power Switch

  • 12v 18ah sealed lead acid battery
  • Power Switch turns it on and off
  • https://www.youtube.com/watch?v=Kx4h9O4fivQ

236 of 266

Power Distribution Panel(PDP)

  • Limits current in different systems

237 of 266

roboRIO

  • Computer that controls the whole robot

238 of 266

Breakers and Fuses

  • Create open circuit when system overloads
  • Breakers - non-sacrificial, and thermally reset
  • Fuses - little cable inside melts

239 of 266

Motor Controllers

  • Determine rotations that go into motors
  • For demo purposes we will be talking about Talon SRXs
  • They have encoders

240 of 266

Routers

  • Give robots their own wifi network

241 of 266

VRM & PCM

  • Voltage Regulator Module - regulates voltage throughout the robot
  • Pneumatic Control Module - allows pneumatics to be controlled

242 of 266

The Big Picture

243 of 266

Extraneous Circuits

  • LEDs
  • Cube Sensors
  • Lidar

244 of 266

FRC Robotics Camp @ MetLife

245 of 266

Quickbuild

You guys will be building a basic robot frame now!!

246 of 266

FRC Robotics Camp @ MetLife

247 of 266

Awards

248 of 266

Most Studious

Rose Gualteros

249 of 266

Most Focused

Sriman Badhri

250 of 266

Most Improved

Navya Solkhan

251 of 266

Most Spontaneous

Christopher Gale

252 of 266

Most Eager

Olivia Hankins

253 of 266

Most Curious

Claire Gualteros

254 of 266

Most Enthusiastic

Alistaire Rowell

255 of 266

Most Interactive

Jermaine Best

256 of 266

Most Team Spirit

Jack Lowermilk

257 of 266

Most Positive

Collin Jones

258 of 266

Most Dedicated

Mark Ortega

259 of 266

Most Committed

Evelyn Wentz

260 of 266

Best CAD

Malachy Oates

261 of 266

Best Programmer

Nishvath Ramananandan

262 of 266

Best Pneumatics

Pranet Sharma

263 of 266

Best Electrical

Preston Hadley

264 of 266

Best Driver

Marcus Quan

265 of 266

Best Gamer

Landon Cook

266 of 266

Most Creative

Yes you can have laptop #19

Aniruddh Nukal