You are on page 1of 200

Rev i

GUIDELINESt

NOTEBOOK
R00 ucnoN 5. Never leave blank spaces, and never erase or remove
flT otebOOk to record Ideas, Inventions, eicperimentation malerfal yoo have added, S1mpty draw Unes lhrough any
Us"9 8 ~rvauons end all work detalls Is a vltal part or any
1
blank spaces at the same time you are making your entries.
NUT 1000<NQ 1 ,ec::ords, roc;ess careful attention to how you keep your
6. Do not erase errors. Just draw a _single line through any
la~ ~n have a posfllve Impact on the pa tent outcome of a
erroneous entry, then add your lmtlals Enter the correct
Nol ~ discovery or Invention. entry nearby.
CONTINUED _!_O_NOTEBOOK NO. 2. pendi are some overall recommendations to help you keep 7 You can supplement your entries wilh suppor1mg material
fo110WW'Jc1ent and aceurnle Notebook entties. Remember, how- (e.g., test•result pnntouls and otherdocumentalion). But you
n'IQ(8 ~ t these are slmply a suggested sel of guidelines. Only
1 must permanently affix the matenal onto a page In lts prop--
¢. ~ey can supply_ the exact guidelines she would like you er chronological location
your ~ to satisfy specifte legal requirements. That Is why we
ASSIGNED TO
~end that you consul! your legal counsel. 8, Never rery solely on any supP'emental ahachment. Always
Include your own entry describing the attachment and add
N.... 51SR P.o.visiorl RECORDING DATA
any condusions that you might draw from Its substance
9. Occasionally, secondary sources might be too large Of Inap-
Your NotebOOk Is a vital record of your work whether propriate lo attach directly lo your notebook. In this case.
SJGNATVflf
DATE
11
'°'
patent purposes, legal records or documenting drug
~rch under FDA guidelines. The Notebook can help you
you can add all secondary sources to an ancillary record
maintained precisely for thls purpose. However, always
remember to wnte a description of these secondary
""TE JSSUED ri 0.'f IS I 2021. BY
f>W"'
a EJact detalls and dates of concepUon
. sources, deafly and unamblguousty, in your notebook.

o. Oetalls and dates of reduction to practice-


DOCUMENTING PATENT ACTIVITIES
c. Dilt98f"lce in reducing your Invention to praCUce
PHONE A primary purpose of a Nolebcx>k is the support of documenting
EMAIL d. Details regarding the structure and operaUon of your
work that may be patentable . To support patent activities. it l:s
lnvenllon necessary to provide dear, concase, chronological entnes with
COMPANY e. E>lperimentatJon observations and results speor,c dales. To rely on these dates. you must have at lea.st one
f A chroooioglcal record of your work noo-fnventor corroborate that the events actually happened and
DE"'RWENT that he or she understood your invention by signing and dating
g Other work delalls the ·Dlsdosed to and Unders1ood by" signature blocks
Your Notebook should help you document and prove:
ADORESS 8350 C.o.mp Ems-\- (<.J. Foll ow a few simple rules o f t humb 1. Concepbon Date-The date that you knew your Invention
1. Always reoord entries feglbly, neatly and in permanent ink. would solve the problem
2. Immediately enter Into your notebook and dale all original 2. Date of reducbon to practice-The moment that you made a
concepts, data and obseivaUons, using separate headings worlung embodiment of your Invention.
cm, Un ion to differentiate each. 3. D,T,gence In reducing your lnwntJOO to pract;ce-01ll9enoe
3, Record all concepts, results, references and other informa-- refers to your intent and conscious etrort to make a working
tlon In a syslematic and orderly manner. {Language, charts embodiment You are not required to rush, or even to talc;e
and numbering systems should be maintalned conslSlent)y the most etrlelent development strategy But your Notebook
throughout.) must include details retabng to your diligent activities. Thes.e
are dates and facts that show what actMties you have con-
""TE NOTEBOOt< CO<•PLETED NC,IN,ft\ ~ , . 13, UJ2 UIUMBl,_fl_OF PAGES FILLED)N 4. It Is acceptable to make your entries brief. Amays, however,
duded to reduce the invention 10 practice, and when such
Include enough details for someone else to successfulty
duplicate the work you have recorded. activibes were oonducted. Since you may still be diligent
NOTES desptte penods of not working on reducing your lnvenhon to
5 Label all figures and calculahons. pr.acbCB, always remember to provide reasonable excuses
6. Never, under any circumstances, remove pages from your ft>< these periods ol lnacbvity by supplying facts relaung to
notebook. why there was no actJvlty during the period ln question.
(e.g., unava1lab1hty of test conchllons or equipment).
Remember to treat your No tebook as a legal document: It 4 How to make and use your tnvenlion-provida documenta-
records the chronologlcal history of your activities. The followmg bon details suffiaent 10 teach a colleague how 10 make and
guld_ehnes should help you maintain the consistent and accurate use your tnventlon.
entnes needed for future legal purposes The besl mode of praci!clng your /nventlOll--<locumenl the
1 Start entries at the top or lhe first page, end always make best way to praebOe your mvenbon.
successive, deled entries, working your way to the bottom or A non--lnventor coUeag\.le should corroborate each of these
lhe last page. events/facts by signlng the "Disclosed to and Unde~tood by" on
2 After complellng a page, sign It before conhnumg 10 lhe next lhe relevant pages
WWW.BOOKFACTORY.COM page
I 937 226.7100 I +44(0)20.3137 7038
SOles@boolcfoctory.ccm 3
- Make sure that you record the date of each entry clearly end
02017 BookFacloly"'BookFactory is a Veleran-Owned Flrm. Proudly Made In lhe USA. unamb+guously. I Bookfactory pn:Mdes these sample guklel1nes "AS 1s·wttu.rt v,,-arran~
4

~
(Never let anyone other than yourself wnle 1n your Notebook
excluding Witness slgnalures, discussed taler).
TABLE OF CONTENTS

l110< E SUBJECT DATE


1 No+ebook 2<plo..l)aJion =[,,/2.0~
: fir s\ Pro.c.+,ce Teo."'1 8 io.9ro..ph; tJl1sl2e22

• Firs-+ Prt).di c.e. • Ter..~ Goc..ls


1
s/1s/2dl.2
s How to i<e.o..cl +h,s /\bfo boo K' SIIGhoz
s l I
I 1 Des 19() Proc. ess
s Dvtd9d
• 1JeAhf-1 Go./V\e Prci?\eM
10

11 l
U/'\clerS-ttl.(\~ Go.ne R"'\es
12
J_
Ga,1
13

~ Str.,f&iies

18
Go.A+ t C'host
I cle,n-1-,fy P.-c'ble,m; Dr,vdn:t,f\
19

~ ~~;lf\stor(")
Solu+,011s. o,..:.,e+ro,I)

S/1,:,12.02
2,
S/ 2"1 /2.o?.2
25
.l
20
s~1c>C.1- a.rod PIM: u,:v,~ru.,,, =>'<--(U'll
27
I
28

'"T""
TABLE OF CONTENTS
TABLE OF CONTENTS

SUBJECT

I
I
PAGE SUBJECT DATE
65 TGH- S:luJiO/\ : TrJ-o.~ QM Llf\- b/io/1Pl,1.-
l 66 l J_
" ,i IJ ..Jolt 1,a Or,.-2 h1,.,I\
l)V ~ S/ 2.9/2IJil
" r: f,!,
t Soli,011 : Or;ve-lro•I\
1 S/2.q I lo/15/zaz.2
,115/un.'2
" Idt11t;ft ProbltM'. Ot,l;very l Gltf,/Z.02
"' ) , C\1 1ftirM 5olc1~1<Y1.:,'. Cel ,very Sl~t'}.(n
1

f,1,I
5/3112022

".., l ,,.T.,.,
r,,l11/2o2-;..

(./ I /?J:!27,
o,JPb,: 0,1,w,y 6/'2/2o?.
<o I tq 12.o?:Z

l
· Gu, Id So/u.J-,cr) : De l.ve,y
"' fo,+ SoU;of\ ; Oel;very
~ J4rn~ 9rold e""': TAk¥.e ~ UN-
: &..jM S:ii,~ons:T°"'~ .!< Ult

SelecJ o.11~ ~\o._,, : X/\-\u.\l,,e g, Uf+


~ l
: ,Cle,_1N> \'n,, : To\,;ll, e UH
.. B'1_M, ~~;~ : 1/\~o.1<.e. & Lrri
TABLE OF CONTENTS
TABLE OF CONTENTS

SUBJECT
0ATE
I,➔ ,()115. 1~-1o.1-~ IMpn.>ve.<-1e()f PAGE SUBJECT

'T'' I
,_
()rti.,,, b "1 »• 129

: l 130 Drivesrra_-\-l::)ies
Tour f"'CVVlel\t Ano.l't~;5 : 5 I SR. Sc..riM..,o.~
1"'.jcl~,1+o.rxl Pbtl: Into.Ke 131

01
lmpn,.l(,hell•~ 712.l'loz:z.

l
132

133
l
,1I,,
111>

•01
134 Rev;siol) D
135 Po lyc:.o.rbol"lo..1'- She.e.t L"'(out-
..
10<

, 136
137
Tcx,.-nll!flt A nc... 11 5 , 5 - M O A S:.9ric;. t vre Ev~n I
8/IIoz. z.

05
Gu, Id ~Iv+ :of\ : Lrro.1-',e
lmproveMG/tt
7/4/202- 138
,., Tt5t ~h,·l-.011: Inkh.e I/\1proveMet1+
7/5/2,o G"-" U (_ hc.r ~
' J_ 139
t,I/€ 12..02.2
"I lrwo~r'l!~-1-: (p\or Sel\Sor 7/b,.J;).1..
140
lJc~ 1 +y Prol-le111 : Orive ~re,. ,n Rtb_u. Id
" J,..woVMfiit'. l"\t\.\tl., Lo o.t, 7/1/2IJ2:i.. . l
141 Gra,oi:tlorM 5ol.,t10()5: Or,>le.+r,.'I\ Rd:iv Id 'l./111uri.2
6/l]l20Z2.
X-ir,o\/r'lfm; E~~W'l Stri11.3 f+ol~er

5,1
111 142 -
7/r/2ou... 143
_l
"' ProgroJ'l'i OcbMetry
113 j_
"' Pco.5 re.IV) PI D
7/rzz !j w.l Pl"" : Oc,v.+,,,;, 1<.1,.:iJ 'of 'A/21::J?:2,
_[
:: 1 Pu nv, -f-
7/io/Zo
'6/Zt:1102-i..

"' Pr05rCW) _I
,',' l
Pure
149
C?iui IJ_fo \i.,t,M ~ Or,vd/'C\'. /\ Re'bu, IJ
150
Te~ o.O SoLvtic,() : D,-;vt~:\, R.ek..,,kJ 81!f20Z2..
151 Si ll.Ii.
" P~rQM 5ol"Hon: w;o Po:/)+-
: 1 ~ lu+iof1:
152

153
ldeo+,ty Pro~\~! Oe.1'1ve01 l<.ek.1ld
Gro.;l\f>+CY"'M ~\u+'ioro: ~\..,t"f ~lx,.\d
'if/z.J/1<>2.'2.

l
,,.:, P,09ro.,v1 S k 1 tis 154
..l ~'i,ll::,U.
7/25flo 155
Sel e.c..+ c..rd ~10/i : 0(1\ 1vtry Qtbv1\c)

l 8/ 1/t.en,,'7,.
125
Z12.5IZtJ'l2

l
1.!I
157
156
Jl2.1t zau.
158 ~ SIL<'&/l;Ju
'fj/2/~'l2
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ____;~l~'-i/-l.o2.'/.
159

150
v,l Solv-f;o,'l'-O~l,1,1\/\ Rebv,ld l
'6/lq ll.6
TABLE OF CONTENTS
TABLE OF CONTENTS

PAGE SUBJECT DATE


193

194
l 'i I 2-C,/zou.
J_
qlz 7 ll.(J 22.
C/lzq ll/>Z-2..
9, /3012(}22

/OI'°"
10/f./mz
I0/'8/'lD1.:z_.
J_
I0/0./7.tYl.2.
lo/10l2o~
10/1?>/toi:t
10/1'-f/u,z;
'°( 'g/z._.-z

T"7o7
/o/2S(~

:~11::
11/1/2021.
11'2.12c;2
1
1\ / 31 lr., ?.2,.
I \I 8!2.02.?.
11,' 0 /2011
\l/2!,'70t
l
TABLE OF CONTENTS
TABLE OF CONTENTS

DATE PAGE SUBJECT DATE


II/ l?../2o1. 257

llf Z2/w1, 258


I\/ 2.~Wt 259

II/ bi '2ol.1. 260

261

262

263

264

265

266

267

266

269

270

271

272

273
m
,u 275

276

.... 2n

..."'
278

278

280

281

282

283

284

285

286

287

288
TABLE OF CONTENTS
C4fllllluod hompags X
This is our
SUBJECT

Engineering/Digital
DATE
,..
/rgo

"'' Notebook

Why we are documenting digitally?


,,. • Improve neatness and readability of design documentation
• Practice using modern documentation tools and techniques
""
I:
Our approach (during each practice):

1. Create digital entry of important activities/accomplishments


2. Print entry/s from the practice

3. Tape into this notebook and sign to ensure evidence of


chronological progression

- Logan & Ben, SlSR Evidence of chronological


progression -------4~

-- Cont,nwd . , ~ ~
~rue~~
0.1' t;/15/2021.
""*
DISC:t.O&(o TO AHO UNDERST<X>O av
0.T<

J..t?. ... f fo.yJ~ bf,.fi5/'20 t 'I. PROPRIETARY INFORMATION


FIRST PRACTICE f Ben Hartline
Team Biography Grade: 12th
Experience: 2 years
Strengths: Innovative thinking, Dexterous,
Researching, Resourceful
Roles: Lead Builder, Driver, Supporting
notebooker, Co- Strategist

Mission Statement

Throughout Challenges and Successes we will always innovate and improve.

We are team 51 SR Revision from Union, Kentucky. Our Student-centered and


hands-on team strives for excellence in everything we do. Together we have 7
years of participation in the VEX Robotics Competition program, We are excited
to learn new skills and apply those new skills in this season: VEX Robotics
Competition "Spin Up".

Logan Daugherty

Grade: 12th
Experience: 5 years
Strengths: Computational thinking,
Analytical skills, Organized
Roles: Lead Programmer, Lead Notebooker.
Supporting Builder, Co- Strategist

°""' St0"4AlVflE Continwdtopage .,(_"\


5/1512.02:z. OATIS

PROPRIETARY INFORMATION
~/15/ 2'0'2,Z.
°""5/15('2.G2~ PROPRIETARY INFORMATION
~"""
:....-'"-""" _____
' - ""'"_-__)(.,__ _;_________________-----, ~
FIRST PRACTICE HOW TO READ THIS N OTEBOOK
------- Team Goals --------

1. Learn to Program Something new . ffi .


• This will allow us to have new resources for quicker, more e 1c1ent,
autonomous and driver control programs . . . Title
• Along with effectiveness, programming something new will improve This font will be used for project t itles.
our total point score. I

2. Utilize all scoring methods of the game .


• ft is important when designing our robot to cons1d~r all aspects ~f
play. This will allow us to better accommodate our alliance partners
- Subtitle - - This font and format w ill be used for subtitles.

design.
LABEL
3. Win a Banner at a Signature Event
• Banners at Signature events are very exclusive and challenging to
obtain.
Labels for diagrams, sket ches, etc. will be all
capitalized.

• This will make us more appealing to potential alliance partners and


will push us to be more competitive.
j Sect ion Heading I A box around words will indicate a section heading

4. Create a skills autonomous that places top ten in the world ranking
• In the global autonomous skills rankings, it is challenging t o reach
the top ten. This will place us in the 99.9% percentile of skills. (notebook, page)
• The resources used to achieve this score will be used ln our References to a specific page numbers will have
tournament autonomous programs as well. this format

5. Win 85% or more of qualification matches


• This will allow us to rank higher at tournaments and have higher
chances to win Important
The most important information in t his notebook
• While an ambitious goal it will help us push the limits of being will be highlighted
consistent and the best we can be to win matches regardless of match
ups.

6. Qualify for Worlds through the St ate Competition


• There are 13 world bids through the KY state competition. So,
earning a bid will mean we are among the 13 best teams in the state.
• The process we will have preparing for the State Competition will be
0 Code segm ents will be annotat ed w it h circles and
respective descriptions below

used for worlds as well.


Normal
Most other text will be written in this standard
type. Some changes t o this font are anticipated
and acceptable.

~ .... 2\.
C..1/nuodto-

S/15 rz.0iz.
SIG'iA'T\.lfff
~"'-~~
~ ..ll-i-
~
..11 • ,,.--=--
_WJ.IV\ll_
_ cl:~1::.::.--._----=.--=~-==----_j
._ · _ _ _ _""_n:_:::5/'..!..:1t :J _.,_ PROPRIETARY INFORMATION
~ i:J'~
°'5Cl.OSEO TO AND ~DUISTOOO BY/

~~ PROPRIETARY INFORMATION
6 )
a..-_,_ 5 '" ~ ~
- 1~~:::""".::"':..::.:""'":::.-::::.::_X
.:.::...__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _l 12-
IColors and Tabs DESIGN PROCESS
Yellow Identify Problem

Orange Brainstorm Solutions


1. Identify Problem
Pink

Blue

Green

Identify Problem
Tab
- Select and Plan

Build Solution

Test Solution

Design Process
• Problem description with words and pictures
• Ishikawa diagram
• Problem statement
• Solution Requirements & Goals

2. Brainstorm Solutions
• Possible Solutions with positives and negatives
• Labeled Diagrams
Iteration Tab
• Citations from outside sources
Brainstorm CAD • Prototyped Solutions
Solutions Tab Tab

Select and Plan


Tab
Sketches
Tab
3. Select and Plan
• Testing steps and results for prototypes
Build Solution Timeline Update • Decision Matrix
Tab Tab • Sketches of Solution
• CAD Model of Solution
Test Solution
Tab
4. Build Solution
• Steps to build the Solutions
• Parts list for build
• Completed assembled build oJ)

0
5. Test Solution _J

• Steps to test the solution


• Test Results
• Conclusion based on results

~ _ ----------------,-~~n=----~eon_,_,
__m~,______2S______

S/IG/W'27-
PRoPRleTARv INFORMATION
BUDGET IDENTIFY GAME PROBLEM
_ __ __ _ _ _ _ _ _ VRC Spin up - - - -- - - - - -- -

We will layout a budget for this year to better allocate funds and
optimize our spending We will analyze VRC "Spin up· so that we can better understand
this year's game.
Item Quantity Cost

Parts n/a $2000


Field Elements 1 $350
Regional Tournaments 10 $500 Total
Signature Events 4 $1000 $8,38 5.00
State Championship 1 $85
Worlds 1 $1200
Travel Fees 5 $3000
Marketing n/a $50
Team Registration 1 $200

Specific Division of Budget

Competeoons

I Field Elements
Oise
· Final total of possible 60 discs in play /
• 38 Discs start on the field
• Preloads add 4 more per alliance (2 per team)

__________
• Match Loads add 7 more per alliance

• Weight: 65g ± 20g


,,,atenats
--.:._ , // • Diameter: 5.512' (140mm)"
• Thickness: 0.787" (20mm)"
Competitions: $2985 Materials: $2400 Travel: $3000 · Expected tolerance of 0.02•
• 5 pts each in high goal
• 1 pt each in low goal
.;.;...1\N.
-----------,,.,
..=,.----Cot',/IIHJOdtopage '1'-
~J:f~ - eo,,,,,_.,_J()_
bl IU 2.0 ,z,z. ....; u ~ ~
s/11h. .cs2,""2,
~ ' t > N C J .."'Ot.NTOColY

~~ ~· [b/ 2...o1.:1.. PROPRIETARY INFORMATION DISC\.OSEO TO A.ND UI\OE~STOOO IV


om
om

IY~ S / 171202,2. PROPRIETARY INFORMATION


c,,,,--- io
- - - - - - - - - - - - , I~
i=-..----_-_-_-=--, 11

Goal ( Important Terms


• 2 goals total
o 1 goal per alliance
/ Game Objects j
• 13.87 inches tall
, 15.73 inches overall diameter • Scored -A Disc status, 1 pt if in low goal, s pts if in high goal.
• 12.96 inches top diameter
• 21.4 inches above tiles • Owned - A Roller status, 70 pts awarded to the alliances color that shows
between the markers at the end of the match.

Roller • Possession -A Robot/ Disc status. Robots can only possess up to 3 discs at a
• 4 rollers total time.

• 2.4 inches diameter


• 9.8 inches long
j Match Play I
• 12.7 inches above tiles
• Starting Line - One of four (4) white tape lines placed perpendicular to the field
wall and used to determine Robot starting locations.
Low Goal
• Each Disc in the Low Goal is worth 1 point
• Autonomous Period - 7 5 second period at the beginning of each match without
driver input.
• Four tiles below each alliance's goal
• 24 inches wide
• 24 inches long • Driver Controlled Period -1 minute 45 second time period following the
autonomous period with driver input.

Barrier
• 25.89 inches wide
• 25.89 inches long
I Violations j
• 1 inch tall
• Entanglement -A Robot status. A Robot is Entangled if it has grabbed, hooked, or rJ
Autonomous Line
attached to the net. H

~
• Diagonal line that separates both alliances
• Trapping - A Robot status, Robots that constrict another to a small
• Starts and ends in the corners left of each respective driver station space(roughly the size of one field tile) are considered Trapping. Robots that are
• Robots that cross the line during the autonomous period forfeit the 1Opoint bonus Trapping for longer than 5 seconds are in violation of this rule
to the opposing alliance
tn-
Alliance Lines • Match Affecting -A Violation which changes the winning and losing Alliance in :::t:.
• Marks the starting station for robots
the Match. er}
• Separated Into two sections
0 • Minor Violat ion -A Violation which does not result in a Disqualification. Usually
3 Tiles closest to a team's Low Goal while being adjacent to the closest
perimeter wall to that alliance's driver station minor violations are accidental and/or momentary.
0 2
to the nght
_Tiles closest to a team's Low Goal while being adjacent to the perimeter wall
of that alliance's driver station • Major Violation - A Violation which results in a Disqualification. Usually match
affecting and intentional violations qualify as major.
Con/inwd 1o,,... II
~-"'-\....._
SI 17120 2.,1.. PROPRIETARY INFORMATION DISCI..OsEot0AHOUNDER.110008Y
""'s /l7/2o1.1-
SI\ 7/202. 2 PROPRIETARY INFORMATION
c,,,---1'1
12 """""""-- \

UNDERSTAND GAME RULES


_ __ _ _ _ _ _ _ _ _ VRC Spin up - - - - - - - -- --
EJ Rule disallowing robots from possession of more than 3 discs
- Discs that move with the robot are considered possessed by the robot
- Possession of 4 discs is allowed momentarily

BGoal we will understand the game rules for VRC "Spin up" to develop
strategies
EJ Standard rule disallowing teams from crossing the autonomous line
- A robot is considered across the line if it contacts the foam tiles, discs,
Standard rule explaining the legal robot setup or rollers of the opposing alliance
1. Robots stay within their respective alliance lines - The 14 discs on the autonomous line are exempt from this rule
2. Robots may not touch any field elements or game elements
other than their preloads and perimeter
3. Robots start within an 18"xl 8"x18" cube EJ Rule that assesses discs exiting the field
- Discs that leave the field are returned to the nearest point in which they
left
~ Rule that allows robots to hold up to 2 Preloads before the match
~ - Preloads can contact no more than one robot
- Robots that intentional remove discs from the field are in violation of
this rule
- Preioads start fully within the field perimeter in a non-scored position

~ Standard rule that disallows teams from contacting the net


L:'..:.:...J -Robots that become entangled with either alliance's net will be disabled
EJ Rule that allows infinite horizontal expansion during the last 10 seconds
of the match
- Up until endgame, horizontal expansion is limited to 18 inches. During
endgame, there are no horizontal expansion limits

EJ Rule that disallows teams from expanding above 24 inches


- All extensions of the robot vertically must fit within a vertical 2 inch
cylinder
- Robots that expand vertically past 18 cannot contact either alliance's
Low Goal

EJ Standard rule that allows teams to introduce match loads during driver
control
- Drive team members are not allowed to introduce match loads at any
point before and after driver control
- Robots may not contact match load discs that are held by drive team
members
- Robots and drive team members are not allowed to break the field
perimeter plane

Conbtwod .._ X.

PROPRIETARY INFORMATION
Defensive Strategies
Offensive Strategies

Shoot discs Into high goal Push opposing robots while they attempt to score a disc
Negatives Positives
Positives Negatives
• Difficult to shoot and la~d disc • Stops the opposing al Hance from
• Discs can not be descored • May cause damage to our robot
• Capacity to score up to 26 discs • Every miss scores 1 point for the scoring 5 pts
opposing alliance • May cause our motors to overheat
• Scores 1 pt for our alliance

Rotate Rollers to our alliance color -----L-------


Defend Rollers owned by our alliance

Positives Negatives
Positives
------ Negat ives
• Easy to score • Easily descored
• Protects points for our alliance
• Descores from other alliance • Limited to scoring 40 pts • Prevents us from scoring additional
• Forces the opposing alliance to change points
their game strategy
Push discs into low zone
Descore discs from the opposing low goal
Positives Negatives
Positives
Negatives
• Easy to score • Worth very few points
• Keeps discs away from opposing • Only 60 pis worth can possibly be • Easy to score
alliance • Each disc descored only removes 1
scored • Descored discs can be used to score point
points for our alliance
Expand as large as possible for endgam
_e_ __ • Possibility of getting stuck on the low
goal wall
Positives Negatives
Pin opponents during the last 10 seconds
• High point potential • Adds several pounds of weight:o: theJ Positives
• Difficult to defend robot Negatives
• can only be scored during last 10 • Puts an opposing robot out of play
seconds • Will make it harder for us to expand
• May restrict an opposing robot's
during endgame
Score at least 3 Discs in the Goal in Autonomous endgame expansion to one t ile
• Exerts torque on the drivetrain
Posit ives Negative Push opponents while they attempt to match load
• Lock in points early for the whole sitives
match • Requires high precision and accuracy Negatives
from a shooter mechanism
• Greatly increases our chances of isrupts opposing alliance's match load
• Will leave the rollers behind
winning autonomous cess • May get match load disc stuck in our
robot
Wastes opposing alliance's match loads

.. ~~
~ lttNGIHlOlfflXxl IY
Canbnu«l1opa,. I
• Exerts torque on the drivetrain

--- Ccnbnued1o~ ~

~,,,. .fJc "'"'


PROPRIETARY INFORMATION DATE
""" 5" /-2.o(2)__
5IZ0/2.0'2.7.. PROPRIETARY INFORMATION
GANTT CHART IDENTIFY PROBLEM
- - - - -- - VRCSpinup - - - - - - - - - - -
Drivetrain
his season so that we can manage our
~ We will create a Gantt Chart for t We Will identify an objective for our robot so that we can address
~ time effectively it and build an effective drivetrain

Improve

• * This serves
Snup / Problem Statement
as a guideline
<

II
;o for how we will
We need a mechanism to move around the field so
() manage our
that we can interact with the game objects.
(/) time effectively
"2.
:::,
C * Schedule
I "C
(/)
Cl)
flexibility is
shown through
Solution Requirements

I I
Ill
en
0
:::,
overlapping
blocks *
*
*
Must only use legal VEX Robotics Competition parts
Must fit within 1s·x1 a•x1 a• cube
Must work using no more than 6 motors
~
w
...J
ID
0
0:
a.
Solution Goals
ct
i==
<
;o • Traverse the length of the field in less than 3 seconds z
w
() * Turn a single revolution in less than 2 seconds 0
(/) • Push a 11 lb robot across the length of the field in less than 5 seconds
"C
5'

I
C
"C
(/)
Cl)

I
Ill
en
0
:::,

/__~.,~- - ConllnU«itof)llgtl )(:

ff) A,ci ~ r,
.... 5/w/Tol-'"L
~ jJ:
5/UJ/2Ifl1- PROPRIETARY INFORMATION

PROPRIETARY INFORMATION
22
co,,,,,.,,,,--/..1
l
-omnidirectional
Omnidirectionalan
d T ction Wheels .
ra an d tr action wheels set up in
wheels
a tank-drive orientation
- one omnidirectronal wheeI an
d ne traction wheel per
°
g/ l
[TOl'Vl EWJ

l
Possible Solutions - Wheel Size

4• Omnidirectional/Traction Wheel
- Each wheel in a given drivetrain type is a 4 inch
side "'"" wheel
- Most common wheel size

Positives Negatives Positives


Negatives

Good Traction - Slow Very Fast


Gets stuck on discs very easily
Simple Slow Turning Familiar wheel size
Poor center of gravity
Compact

Tank -Tread 3.25 • Omnidirectional Wheel


J


CD
)J - Sprockets connected by Rubber tread in the VEX - Each wheel in a given drivetrain type is a 3.25
l>
inch omnidirectional wheel z
z tank tread kit
- Sprockets are oriented in a triangle that is parallel
0
8
)J
to the ground
j:::
::,
_J
0
~ l/l
V, Positives
0 Negatives ::?:
r- Posit ives Negatives a:
e
-i
Great traction
Thin Less traction on ground ~
0 Very Slow l/l
z
z Strong Very Slow turning Balanced in speed and st_r_e_n_
g_th__.li...._ _ _ _ _ _ _ _ __,._ _ __
Great at climbing objects <
a:
CD
2.75" Omnidirectional Wheel
Walking Robot S!OE V[EIJJ - Each wheel in a given drivetrain type is a 2.75 inch
- C-Channels that move back and forth . . E~ omnidirectional wheel
- Looks like a person walking
c C· CHUINE:t..

Positives
Negatives Positives
Negatives
Tall
Extremely slow

I
Unique Great Center of Gravity
Does not turn Slow
Move long distances quickly Very Strong
Will not climb over game objects

--~ J;J~
~ l 0 A H O ~ 1Y
L-

S.0..TUAE
~ . , - z.y
~ ~ PROPRIETARY INFORMATION
~""
D<SCl
µ<-..y~"5'
DlO""D~

PROPRIETARY INFORMATION
..., ....... 'Z 3

Possible Solutions· Carlfi dge Type


Prototyped Solutions

Red Cartridge t · motors We have decided to prototype the 3 most common drivetrain types to get the
• Uses the green cartridge prese in most accurate information
- Spins up to 100 RPMh . s requiring extra strength • This will help us understand how these drivetrains will compare under our
• Usually used for rnec amsrn priorities
Positives Negatives

- Very Strong Very Slow Holonomic


Great Acceleration Loses a lot of speed to friction
in the cartridge

Green Cartridge
Ill
. Maintains the green cartridge preset in motors
. Spins up to 200 RPM
~ . usually used for mechanisms requiring a balance z
z of strength and speed 0
~
ll
f:=
::,
.J
~ 0
Vl
(I)
0
,... Positives Negatives :li:
a:
~
0 Has a good balance between
speed and torque
Loses speed to friction in the Mecanum ~
z
:z cartridge
~
a:
(D

Blue Cartridge c-1-


N
· Uses the green cartridge preset in motors
- Spins up to 600 RPM ~
• Usually used for mechanisms requiring extra speed

Positives 6 Motor
Negatives Standard Drive
Very Fast
Very Weak

L Places little friction on the


motor

ea,,...,.. , . _ is

..,. 5(1,3/202, 'Z.


C;J 2 L0L-L PROPRIETARY INFORMATION &/ v~ h.cn..'2-.
,,.,. 5-~\!, u/,..,~·y,
/10 '-7 OJ~ PROPRIETARY INFORMATION
c,,nr,nu,xJ/rom - lG

Test Results (measured in seconds) L~


SELECT AND PLAN Trial 1 2 3 4 5 6 7
Drivetrain
Holonomic 2.78 2.29 2.25 2.94 2.65 2.81 2.11
We will select the solution that is best for our team so that we can
Mecanum 3.76 3.25 3.54
plan how to build it 3.67 3.81 3.85 3.01
6 Motor 3.32 3.35 3.41 3.34 3.32 3.38 3.12
Omni
Prototype Testing
Holonomic Mecanum 6 Motor Omni
Test 1 Rotation
Test Procedures
1. Place Prototype on foam tiles Average 2.55 3.56 3.32 Fastest: Holonomic
2. Upload 100 rotation program Most Precise: 6 Mot or Omni -
3. Run program and start stopwatch Range 0.83 0.84 0.29
4. Stop stopwatch when prototype stops
5. Record results
Test Results (measured in seconds) Test 3: Roller Mobility z
In
Test Procedures :3a.
~ Trial 2 3 4 5 6 7 1. Place prototype facing the roller adjacent to an alliance's driver station
0
m 2. Start drive program and start stopwatch z
~ Holonomic 125.223 125.11 125.234 125.752 125.619 125.328 125.7 3. Drive prototype to each roller <{

z► 4. Stop stopwatch when the prototype touches last roller b


LU
0 Mecanum 136.81 141.55 141.80 142.13 141.77 141.78 141.9 5. Record results ...J
,:, LU
VJ
~ 6 Motor 84.105 83.652 83.675 84.001 84.218 80.957 83.87 Test Results (measured in seconds)
z
Omni
Trial 1 2 3 4 5 6 7
~
Holonomic Mecanum 6 Motor Omni Holonomic 7.89
0
9.23 8.63 8.44 7.62 8.001 9.01 ~

Average 125.42 141.1 1 83.50 Fastest: 6 Motor Omni '--


Mecanum 9.5 9.82 9.65 9.27 9.48 9.32 9.55 ~
......_
Most Precise: Holonomic
r.- Range 0.64 5.32 3.26 V)
6 Motor 7.52 7.62 6.85 7.43 8 .05 7.93 7.62
Test 2: Speed Omni a
...:,
Test Procedures
1 Place Prototype so that the back contacts the field perimeter wall Holonomic Mecanum 6 Motor Omni

1 2. Move prototype forward using joystick and start stopwatch


3. Stop stopwatch when the front of the prototype hits wall
4. Record results
Average

Range

s,a"-'Me
8.40

1.61
9.51

0.55
7.57

1.2
Fastest: 6 Motor Omni
Most Precise: Mecanum

Conbnu,ed t o ~
'2S
"'"'
-~Uk~
~ Jjcµj,qu/
..... 5/2S/2w..1-
~/-7.,<;it-2,.c,2 ,._

PROPRIETARY INFORMATION
C«ltkwed from pags z.r
'-~
28 .,.,.,._,,.__ L7

~ Test 4: Push
Speed Maneuverability Rotation Strength Total
Test Procedures O
that its back is contacting a perimeter wall H·Drive 4 4
1 Place prototype 0 ~ f~am tlle_s s ont of prototype 3.5 3 14.5
2. Place "Tipping Point r~bot_in \ystick and start stopwatch Traction 2.5
3 Move prototype forwar.,..usi,ng JPoint" robot hits wall 2 2 3.5 10
4_ Stop stopwatch when ipping Wheels
5. Record results
Omnfdlrectional
3 2.5 3 3
and Traction 11.5
Test Results (measured in seconds Wheels

Trial 1 2 3 4 5 6 7 Tank Tread 1.5 4.5


Holonomic 5.42 5.21 5.05 5.67 5.89 6.1 5.55 Walking
4
Robot
Mecanum 5.72 5.83 5.92 5.22 5.73 5.18 5.15
We will use the 6 m ot or st andard drivetrain because of its high composite score
6 Motor 4.85 4.52 5.01 4.83 4.01 5.2 4.94 on our priorities. Given this design, we will find t he right wheel size for t he
Omni drivetrain.
"'m,... z
m
Q
z► Average
Holonomic

5.56
Mecanum

5.54
6 Motor Omni

4.77 Fastest: 6 Motor Omni


I
Decision Matrix· Wheel Size
I
j
a.
0
0 Most Precise: Mecanum z
<{
"O Range 1.05 0.77 1.19 Speed How easily the wheel spins tJ-.1
£; COG
z How low the wheel places the center of gravity of the design
I.UN
ul0
r Decision Matrix. Drivetrain type I Acceleration
Strength
How quickly the wheel accelerates
How strong the wheel 1s
UI...J
-.........
Speed How easily the design moves Speed COG v
r Maneuverability How easily the design can move around the field
Acceleration Strength Total <>-1
0
Rotation How quickly the design turns 4• wheel ......____
5 3.5 3 3.5
Strength How strong the design is 15 c()
3_25• Omni 4 4 4.5 4 16.S
Speed Maneuverability Rotation Strength Total 2.75"Omni 3 5 5 5 18 C
Holonomic _j
5 5 3.5 4 17.5
Mecanum 3.5 3.5 3 3.5 13.5 We will use the 2.75 inch omnidirectional wheels with the 6 motor standard
drivetrain because of its high composite score on our priorities. Given both of
6 Motor 4.5 4 5 5 18.5 these decisions, we will find the right motor cartridge type for the drivetrain
Omni

____ _ ..=,.---_c.n_
_ _ --:c m_u«110P6fJe t9__
5 /tf;/2.,a) 'Z2- """""""""'"- '>O
PROPRIETARY INFORMATION
r:J/U,/~2.?....
°"?5/2.rJ2.()2_?_ PROPRIETARY INFORMATION
Decision Matrix - Motor Cartridge Sketch Plan

Given the design is •


d How easily the wheel spins
SFpetei How much friction is placed on the motor
nc on
Acceleration .
How qurckly thewhee.I accelerates
Strength How strong the wheel rs

Speed Friction Acceleration Strength Total

Red Cart 2 3 5 5 15

Green Cart. 3 3.5 4 4.5 15

Blue Cart. 5 5 4.5 3 17.5


- - [Top View]
we will use a blue motor cartridge on a 2.75 inch omnidirectional _6 ':'~tor
V,
standard drivetrain because of its high composite score on our prrorrtres.
,...
m
z
m
Q ~
Q.
l> 0
z z
0 <(
'O
\;: ti
UJ
z ...J
UJ
Ill

- >tP. -;,~-~~
[Front View] 0~ .. o1i
r-12 ;
0
= ~

These sketches are what we expect our drivetrain to look like. We plan to use
aluminum to reduce the weight of the robot. Reducing the weight will increase
the acceleration and speed of the robot. We do not anticipate this weight
reduction to effect the center of gravity of the robot since vertical expansion is
limited to 25 inches.

llATr
ConlH>uodlo"'9• 31
$ /2,C/WVl,,, """""""""'- 3,'2.
.,5'/2 i,,/1.i:J1.."l.. PROPRIETARY INFORMATION
f;J / 27 /'"l.oZ!Z-
"""5/z7/202..2... PROPRIETARY INFORMATION
ICAD Plan

[TOP VIEW) [ISOMETRIC VIEW)

B B
7.600

I
~bam1111
6:o:.6ai00mam:J!~ ___J_
SCALE 1:8
SCALE 1:8
z
5
[FRONT VIEW) [SIDE VIEW) l)lN '111&,1~ 3.029 0-fo~:mmi~1~j
a.
0
z
~
SCALE 1:8 I SCALE 1:8
t

----~
Item Quantity Part# UJ
__J
~ i ■ IIJ UJ
VS Motor
~~~·
6 V1

2.75" Omni Wheel 9 2


Optical Shaft Encoder 3 3
r
CJ
We decided to add our tracking wheels to our base on CAD. We plan to use
Drivetrain 1--=--------+------l
Hinge 3 4
Assorted Metal
odometry and pure pursuit this season which requires the use of tracking
wheels on the next page, we establish the important measurements that we will
A BO M Structure
Assorted Screws
nla

n/a
s
6
A
need to tune odometry. Because we are using the standard tank drive that can
slide sideways, we need to use the 3rd back tracking wheel to account for Assorted Nuts n/a 7
drifting.
1/4" Square Shaft 9 8
Shaft Collars n/a 0
9
...l
Assorted Nylon Spacers n/a 10
1:5 -· 3of 7

2 1
..,. Ceo-to- 33
5/l'ofa:J'l'l,
""' 5 1.g)L.62..'1.. PROPRIETARY INFORMATION
PROPRIETARY INFORMATlON
X.__________:_:..._:....__________.;;;.__ ~35
con__::-=---'-"""____
7

j Tracking Wheel Movement BUILD SOLUTIO N


Drivetrain
Distance from the
tracking center to left
tracking wheel is
B We will build our planned solution so that we can test its performance

4.375"

Distance from the


IAssembled Build

tracking center to the [TOP VIEW] [ISOMETRIC VIEW]


right tracking wheel is
4.375"

Distance from the


tracking center to the
Tracking Center back tracking wheel is
6.50"

z
0
i==
:::i
...J
0
Vl

g~
CD C)
N
'-
0-

'-
<.J")
"'

Above are the completed 6 motor omni drivetrain. Building this was simple
C>
_j
because of all the work we did with sketching and CADing. We followed those
models and to assemble this build.
This build is unique because of its direct conversion from motor to wheel. This
eliminates the friction that would have occurred with the use of gears and/or
chain.

--------------'"""=----...:"""=-===-,.,_ _l_
°"" Conbnvodb- ' \
5/z.111~1- °""'
..5Iti)2.(Q..'"L PROPRIETARY INFORMATION
Sl2.9('ZQ2.Z.
°5/2Cf-/ 201-L.. PROPRIETARY INFORMATION
;"'~_'.'.'.:""'~-., ~-~~-~~-=-3-~G_'________
. . ______~ - -·ccc-c......cc'--"cc..::..-------=-'--'---- - - - - - 7 -~

TEST SOLUTION
rTest 3: Roller Mobility l
Test Procedures
Drivetrain
1. Place prototype facing the roller adjacent to an alliance's
driver station
Goal We will test the solution so that we can see if it meets our 2. Start drive program and start stopwatch
requirements and goals 3. Drive prototype to each roller
4. Stop stopwatch when the prototype touches last roller
5. Record results
est 1: Rotation
Test Result (measured in secon :ls)
Test Procedures Trial 1 2 3 4 5 6 7
1. Place design on foam tiles
2. Upload 100 rotation program 6 Motor 6 .67 6.43 6.83 6.28 6.29 6.35 6.52
3. Run program and start stopwatch Omni
4. Stop stopwatch when design stops
5. Record results Average: 6.48 Range: 0.55
Test Results (measured in seconds)
j Test 4: Push
Trial 2 3 4 z
--i 5 6 7 Test Procedures
m 0
~ 6 Motor 32.12 35.26 30.91
1. Place prototype on foam tiles so that its back is contacting a perimeter wall i=
::,
'-

Vl 32.73 31.54 32.06 32.52 2. Place "Tipping Point" robot in front of prototype
0 Omni ...J
r 3. Move prototype forward using joystick and start stopwatch 0
C VI
:;;j Average: 32.45 Range: 4.35 4. Stop stopwatch when "Tipping Point" robot hits wall ~
Vl
0 5. Record results w
z Test Results (measured in seconds ~

/ Test 2: Speed
,t-,-
Trial 2 3 If.I
4 5 6 7 )
Test Procedures 6 Motor <~
4.45 4.83 4.74 5.01 5.12 4.38 4.94
1. Place design so that the back contacts the field perimeter wall ~
Omni
2. Move design forward using joystick and start stopwatch
3. Stop stopwatch when the front of the design hits wall
\t;
Average: 4.78 Range: 0.74
4. Record results

Trial
j Conclusion I \Jh
(~
2 3 4 5 6 - Traverse the field in 4 seconds or less
7 Success -
6 Motor - Turn 1 revolution in less than 2 seconds Success
8.78 8.52 8.36
Omni 8.48 8.27 8.52 8.48 - Touch each roller in less than 10 seconds Success
- Push a robot across the field in less than 5 seconds Success
Average: 8.49 Range: 0.51
Our 6 motor omnidirectional drivetrain has succeeded by passing 4 out of 4
goals. We are excited to explore all the new abilities that a fast and strong robot
has to offer.
Ccmxiu.dto-} I
srzq !zofl.i. """
5/~2 3/2o)..l PROPRIETARY INFORMATION
:Jlz.c1lzoi.2..
°""5(2°{2o1.1._ PROPRIETARY INFORMATION
IDENTIFY PROBLEM BRAINSTORM SOLUTIONS
_ _ _ _ _ _ _ _ _ _ _ _ Delivery - - - - - - - - - - - -
- - - - - - - - - - - - - Delivery _ _ _ _ _ _ _ _ _ __ __

We will identify an objective for our robot so that we can address


~ We will brainstorm possible solutions for our drivetrain so that we
it and build an effective Delivery L::'...J can select the best one for our team

IProblem Statement I Possible Solutions

Flywheel & Wall


~ C• c.H ,\Jri,J;L.

We need a mechanism to shoot discs into goals


- Blue cartridge motor geared to be 7 times faster ~
from any point on the field so that we can score Ac.. C.Unul
spinning a flywheel
~-+---,,--, points during a match
- Opposite of the flywheel is a wall

Positives
Negatives
6 Solution Requirements
recise

LJ
m
z imple
Tends to curve in t he direction
---i the flywheel spins
~ • Must only use legal VEX Robotics Competition parts
• Must fit within rn·x18"x1 a· cube
tabilizes disc trajectory
1l
;o • Must work using no more than 1 motor
0
,..
ID
m
~ Solution Requirements Double Flywheel
- Blue cartridge motor geared to be 7 t imes faster
* Shoot a disc from the autonomous line 2 out of 5 times spinning two flywheels that are separated a disc
• Rapid-fire 3 discs in less than 6 seconds length apart
* Accelerate to maximum speed within 3 seconds - Both flywheels are connected to each ot her and
spin in opposit e directions

Positives Negatives

Fast Complex
Easy to tune
Does not stabilize disc trajectory
Shoots discs straight forward

..,. ....
S / 3 0/'l...orz.2,
5,.3( ·20"l
"'"E)?:>o/'2f:J1-'l. PROPRIETARY 1NFO RMAT10N
°'Tls/31 2.on PROPRIETARY INFORMATION
40 1°"'___ 9

Football Throw
Puncher . that pushes the back of
- Winds up a mechamca1arm - Mechanical arm holds a disc on the top and bottom
the disc when release_d d t th that spins a gear and throws it forward
_ Uses a 36T great with shave ee - Grabbing and throwing discs is triggered with
rack. • h th gear rack the pneumatics
- once the 36T loses contact wit e '
• Power behind throwing discs is rubber band powered
gear rack propels a disc forward

Positives Negatives Positives


Negatives

Small Slow recovery ti me - Short


0 Simple
Easy to tune
Limited range
Weak
Does not require motors
Fast
Wide
Runs out of pneumatic air
G
~ ult
J pressure

CD • Rotate a mechanical arm backwards that throws ~ C ·CttAN1'e l-


:0 a disc when released Flywheel & Curved Wall
~ ~ - Similar to Flywheel & Wall, except t he wall wraps
z • Uses a shaved 60T gear t hat rotates f---FLEJC ..,,,EC&..
VI around the flywheel, separated by the length of the
counterclockwise, driven by a normal gear
6
:0
- After 60T loses contact, an arm attached to it
~
·fto.1'-~0aM -
r.rs To-\J
disc
3: spins clockwise very fast - Flywheel is driven by a 7 times geared mot or
VI
0 Positives Negatives
r
C Positives
~ Negatives
Scores discs on top of goals Very Large
0
z Can score 3 discs at once Slow recovery time Shoots far
Large

I-
Shoots over opposing robots Extremely limited range Precise
Very slow recovery time
Adds the most spin to disc in
Offsets center of int ake
Soccer Kick
- A Disc is dropped onto an upside-down catapult that
J#=t=:la-- ,__PIS TolJ
balancing its trajectory

"kicks" a disc towards a goal • Gt:~lt


- Uses a shaved 60T gear that moves proportional with ~
the index piston above / ~ L·lH~NN•I...

Positives
Negatives

Unique
Extremely Large
Gives discs a spin to stabilize
trajectory Difficult to tune
- Precise Easy blocked by opposing
robots

--- o..n:
Conlinu«ltop,QO y1

PROPRIETARY INFORMATION o..n


~ 31 l.on.. PROPRIETARY INFORMATION
,,__ __ 41
42

Prototyped Solutions
SELECT AND PLAN
- - - - - - - - - - - - - Delivery _ _ _ _ _ _ _ _ _ _ __ _

~
~ We will select the solution that is best for our team so that we can
plan how to build it
Rubber Band roller fixed
intake Prototype Testing

Test 1: Accuracy Shot


Test Procedures
1. Place center of prototype in center of field
2. Rotate prototype until disc trajectory lines up with the goal
3. Adjust motor speeds and/or pneumatic regulators to land disc in goal
ID 4. Count discs that land in goal
~ 5. Record results
z Flywheel & Wall
Test Results (measured in success out of 5 shots)
a
;o
Trial 2 3 4 5 6 7
~ z
VI
0
Flywheel 3/5 4/5 3/4 4/5
'.)
,- &Wall 4/5 3/5 3/5 a.
c--j 0
z
0 Puncher 0/5 <(
z 0/5 0/5 0/5 0/5 015 0/5 t,
w
Double 215 1/5 2/5 J
215 3/5 1/5 1/5 w
Flywheel Vl

Flywheel Puncher Double


Double Flywheel &Wall Flywheel
Average 3.43 0 1.71 Most Success: Flywheel + Wall
Most Precise: Puncher
Range 0 2
Test 2: Acceleration
Test Procedures
1. Set target velocity of prototype to 127 (max)
2. Start stopwatch and prototype
3. End stopwatch once prototype's velocity reaches 127
4. Record Results

.... c,,,,,,,,u«J.,,... X
~~~ (,/I IZ.O'Z..'2.-. c,,,,.,._, IO,,_ c.f 'i.
1 1
_Q ....,/),~
--------JKJ13:VL--=--V\.{,.,--....::..:'()
fl ( ' . " { / ··-:2._1
DATE/ f_:_f_
l~LO-L.::..__PROPRIETARY
__ INFORMATION
__ J r;.; Z. I 1.D'l'l
PROPRIETARY INFORMATION
,U I"--- 1(3
lJ Test Results (measured in seconds)
4 5 6
Test 4: Distance
Trial 1 2 3 7 Test Procedures
1. Place prototype on flat, even ground
Flywheel 2.55 2.63 2.47 2.74 2.62 2.56 2.54 2. Set target velocity of prototype to 127 (max)
& Wall 3. Once prototype reaches 127, fire disc
4. Measure distance to where disc initially contacts ground
Puncher 1.45 1.35 1.73 1.67 1.36 1.75 1.47 5. Record Results
Test Results (measured in inches)
Double 2.95 2.63 2.67 2.54 2.72 2.66 2.64 Trial 1 2 3 4 5
Flywheel 6 7

Flywheel Puncher Double Flywheel 75 77 75 73 74 77 74


&Wall Flywheel &Wall

Average 2.59 1.54 2.69


Fastest: Puncher
I Puncher 15 24 17 15 14 17 25
Range 0.27 Most Precise: Flywheel + Wall Double 76
0.42 0.41 77 84 75 76 75
(/l
Flywheel 73
m Test 3: Rapid fire
r
m Test Procedures
z
~ 1. Place prototype in same position as it was in Test 1 Flywheel Puncher Double <{
...J
)>
z 2. Set target velocity to score a disc and start stopwatch &Wall Flywheel Fastest: Double Flywheel Cl.
0 4. Once prototype has reached its target velocity, send disc Most Precise: Flywheel + Wall 0
'tJ 5. Repeat Step 4 until the prototype has delivered 3 discs Average 75
z
18.14 76.58
s;: 6. Stop stopwatch and record results I
<{
I-
z Test Results (measured in seconds) Ii Range u
4 11 11 w
....J
Trial 1 2 3 w
4 5 6 7 [ Decision Matrix /
V)

Flywheel 5.34 5.76 5.43 5.44 5.58 5.33


N
&Wall 5.25 Distance How far the design can shoot c---1
Accuracy What fraction can the design make a shot ~
Puncher

Double
3.55

6.35
3.74 3.47 3.54 3.25 3 .33 3.68 I Precision
Recovery
How reliable the design is
How quickly the design prepares next shot ---N
Flywheel
5.93 6.25 6.16 6.44 6.35 6.16 Distance Accuracy Precision Recovery Total 'u
Flywheel 5 4
Flywheel Puncher Double I &Wall
5 3.5 17.5 0
&Wall Fastest: Puncher ..,j
Flywheel
Most Precise: Puncher
Average

Range
5.45

0.51
3.51 6.23
Puncher

Double
1

5
0

2
4.5 5 10.5 '.
0.49 0.51 2 3
Flywheel 12
~ - -------- - °""
n
Continued .. _ '-IE,

PROPRIETARY INFORMATION
ea,,w,u«/--4
Accuracy Precision Recovery Total
Distance

Catapult 3 3.5 3 2 11.5 / CAD Plan J


Soccer 0 3
Kick [TOP VIEW) [ISOMETRIC VIEW)

Football 2.5 3 7.5


throw

Flywheel & 5 2 5 3 15
Curved Wall

we will use the Flywheel & wall because of its high composite score on our
priorities.

V,
m
r-
ISketch Plan I
m z
!:J j
~ Q.
z 0
0 [FRONT VIEW] z
'O [SIDE VIEW]
<l:
z► t;
w
..J
w
1/1

We decided to add polycarbonate on either side of our flywheel wheel on the CAD.
During the prototype testing, we noticed the flywheel, like a fan, produced a lot of
air. This air ultimately reduced the efficiency of the flywheel. To reduce air
resistance, we covered all holes of the flywheel with polycarbonate.

- - - - - - - - - - - - - - - - - - - - -~..
-,-,-----ConbmMHIIO- y7

PROPRIETARY INFORMATION Gl'I lzoz_z_


"'" b 4 '2-01-2 PROPRIETARY INFORMATION
c,,,,...,.,,1rom_. X

2 1
o ■ O O O O O_ D D D
-
~ On
0
0
0
BUILD SOLUTIO N
______________ Delivery------ - - - - - - -

~
0

We will build our planned solution so that we can test its


L:::'...J performance

[TOP VIEW)
[ISOMETRIC VIEW)
B B

V,
m
,...
m
Q
)>
z z
0 0
"O i=
::>
~ P•rt t Hem QtJantJty
[FRONT VIEW) ...J
z [SIDE VIEW) 0
3• Joa Flu wherl V,

Versahub Ad~prtr
C
...J
Custom Potyurbon•tr n/1 ::>
!Il
vS Motor
Assorted Gr,rs nla
Delivery
A • .t.s.sorted Metil Structure nl•
Assorted Sr.ndoffs
114• squur shift
n/a BOM A
Shaft Colt.rs n/a
10 Bearing Alts n/a
II Assorted Spacers n/a
12 Auortrd Screws: n/1
13 Assorted Nucs n/a
1:4 • · 4of7

2 1
"""""-""
~ Jj r,.l.•.,'1-,
~ ~TON4Jr;;;;?,;~
~ 'I J-' Vv..ji\J(_,,,
PROPRIETARY INFORMATION
c,n,m,«Jfrom - 50

TEST SOLUTION Test 3: Roller Mobility


- - - - - - - - Delivery - - -- ---------
Test Procedures
Goal . test t he soIuron
we will 1 so that we can see if it meets our 1. Place prototype in same position as it was in Test 1
requirements and goals 2. Set target velocity to score a disc and start stopwatch
4. Once prototype has reached its target velocity, send disc
5. Repeat Step 4 until the prototype has delivered 3 discs
/ Test 1: Accuracy Shot / 6. Stop stopwatch and record results
Test Results (measured in seconds)
Test Procedures
1 Place center of design in center of field . Trial 2 3 4 5
2 Rotate design until disc trajectory lines up with the goal . . 6 7
3:
Adjust motor speeds and/or pneumatic regulators to land disc in goal
4. Count discs that land in goal
Flywheel &
Wall
5.54 5.46 5.20 5.86 5.65 5.84 5.52
5. Record results
Test Results (measured in success out of 5 shots) Average: 5.58 Range: 0.66

---~--,---~
::;__.,__.__,Trial
-< ..2.----+---+---+----,f----t--
2
7
-;---r----t
3 4 5 6 ITest 4: Push
] z
~ Flywheel& 4/5 4/5 3/4 Test Procedures 0
3/5 4/5 4/5 3/5
"' Wall ;:::
0
,-
1. Place prototype on fiat, even ground ::,
J
c Average: 3.57 2. Set target velocity of prototype to 127 (max) 0
-< Range: 1 3. Once prototype reaches 127, fire disc V)
0 Iii
z 4. Measure distance to where disc initially contacts ground w
5. Record Results I-
/ Test 2: Speed Test Results (measured in inches)
Test Procedures Trial
1. Set target velocity of design to 127 (max)
2 3 4 5 6 7
2. Start stopwatch and design Flywheel & 72
3. End stopwatch once design's velocity reaches 127
73 77 75 76
Wall 72 71
3. Record Results
Test Results (measured in seconds) Average: 73.71 Range: 6
Trial 2 3 4 5 [ Conclusion
6 7
Flywheel & 2.47 2.54
Wall 2.73 2.34 2.29 2.73 Shoot a disc from the autonomous line 2 out of 5 times
2.42 - Rapid-fire 3 discs in less than 6 seconds Success
Success
Average: 2.50 Accelerate to maximum speed within 3 seconds
Range: 0.44 Success
Our Flywheel & Wall delivery has succeeded by passing 3 out of 3 goals. We are
eon,""""',._ S I excited to utilize this to score disks In both driver and autonomc.:o;.;::u:.::s...c.:::e::..ri:.::o:.::d:.::s:__
· _ _ _ ___,

Cononuet1 to P9 X
G/folzo1...1-
"'rr {/ hf2oLl, PROPRIETARY INFORMATION G/G/'lo '2-2_
PROPRIETARY INFORMATION
IDENTIFY PROBLEM BRAINSTORM SOLUTIONS
Intake & Lift
Intake & Lift-- - - - - - -- - - -
. .1dent1·ry an o b"Ject,·ve for our robot
~
We will . so that we can address
it and build an effective Intake and Lift We will brainstorm possible solutions for our intake & lift so that
L.::'...J we can select the best one for our team

/ Problem Statement
Possible Solutions - Intake & lift designs
We need a mechanism
. t o pI·ck up d·,scs from the field and move
I dthem
· to our h
shooting
. mechanism
. so th at we can score more than our pre oa s in a mate Hinged Intake with Bottom Plate
.- _ ~ l'oorCAl6:•4TE - Intake moves up to better
c.~t.H-,IIIJE.L
accommodate picking up discs
J - Uses a hinged wheel

'vil(:ft.,

r--:-:-
Pos1t1ves
z
0
Negatives ;:::::
::::,
..J
Uniform compression on disc Complex 0
., Accounts for middle divot of Difficult to tune
<I)

~
disc a:
Eliminates disc jamming 0
Solution Requirements
Fixed Intake with Bottom Plate
• Must only use legal VEX Robotics Competition parts
- Utilizes a fixed wheel and polycarbonate
* Must fit within 1s•x18"x1 a• cube ramp
• Must work using no more than 1 motor
- Inspiration of design from youtube video:
"Purdue SIGBots VEX Spin Up 2022-2023
Ri20"
Solution Goals

* Move a disc from the field into the shooter In under one second Positives
Negatives
* Have the stamina to pick up 30 discs in 60 seconds
• Weigh less than 31bs to keep robot weight down and center of gravity balanced Fast (sub 1 second pickup)
Uneven disc compression
Light (mostly consists of rubber
More likely to jam with multiple
band and sprockets) discs
Simple & not mechanically
complex

Conlinood lo page 'f.


-- °""'"""""'-SL\
PROPRIETARY INFORMATION ..,.. """M1l2o2."'L
G/7/fu 2.'2.. PROPRIETARY INFORMATION
Hinged Intake with Bottom Counter Roller
_Utilizes a top roller to bring disc into robot Possible Solutions - lnta ke & lift rollers materials
- Instead of a backplate to push the disc up
against and into the _robot a rol~er spinning
upwards kicks the ?1sc up and into th~ robot Flex Wheels - 45a
- Inspiration of design from youtube video: - Hardness level comparable to a pencil
•goBILDA Robot in 3 Days - FTC ULTIMATE eraser
GOAL - Introduction• -Available in multiple sizes (1.625", 2", 3",
4")
Positives Negatives

t
Fast (sub 1 second pickup)
ves
Most mechanically complex Negatives
Consistent Heavy
Less likely to drag on the field High traction
Heavy relative to size

CD
tiles
I Somewhat squishy
Mechanically forgiving
Special hub pieces required for
3• & 4•
~ Possible Solutions - Intake & lift rollers materials Flex Wheels - 60a z
z
0
~
D
- Hardness level comparable to a car tire
- Available in multiple sizes (1.625", 2•, 3", 4")
~
::,
....J
3:: 0
Vl Flex Wheels - 30a V)
0 - Hardness level comparable to a rubber band :E
r- a:
~ -Available in multiple sizes (1.625", 2•, 3•, 4")
~
0
z

Positives Negatives
,J
Positives

High traction
Mechanically forgiving
:-i: Negatives

-
Heavy relative to size
Special hub pieces required for
3• & 4•
Firm
z
<
a:
ID

High traction
Heavy relative to size
Easily Compressed
Special hub pieces required for
Mechanically forgiving 3· &4" Intake Roller
- Rubber Fingers

Positives Negatives

Light weight (0.07 6 lbs) Low traction


Firm Small flaps

DATE

C/ 7 / ?.en.'2..-- PROPRIETARY INFORMATION


b1SCLostO TOMD UHDEMTOOO IY
l>ATE

G/S/2o 2 '2- PROPRIETARY INFORMATION


Rubber Band Roller
· Two sprockets spaced apart with Prototyped Solutions
rubber bands stretched In between
Avallable in multiple sizes: 61, 121,
181, 241, 321 sprockets
- Image from 97052's "Turning
Point" robot

Pos itives

High Traction .
Negatives
--~- Rubber Band roller fl""xe
...d.,____ _

l
Rubber bands wear out intake
Light weight relative to size - Time consuming to replace
Squishy/ compressible • Sprockets block side entry of
High mechanical forgiveness objects

OJ
:o Tank Treads/ Flaps
~ - Large rubber chain links with
~ attachable naps
0 - Lots of size options (any size
~ sprocket)
"'
0
,...
Flex wheel hinged intake
~
0
z Positives Negatives

L
Customizable tread pattern Prone to snapping
Flaps push items well Medium Traction
Light weight relative to size

Tank Tread lntak,- -- --

~ ~ ~ ..
DISCu>sEo TON.a UNOEMTOOO&Y
PROPRIETARY INFORMATION
"''"'
~ G/ q/'ZD22
ConlinuBd from Plt90 S-J
Rubber Flex Double
-
----;::-~--:-----------------=------, -~
SELECT AND PLAN bands wheels flywheel
Intake & Lift Average 1.225 0.76 1.6 Fastest: Flex wheels

B
Goal We will select the solution that is best for the intake and lift so
that we can plan how to build it
Range 0.2 0.1 0.2
Most Precise: Flex wheels

Test 2: Consistency
Prototype Testing Test Procedures
1. Attach prototype to back of robot base
Test 1. Speed 2. Line up top of conveyor to shooter disc holder
Test Procedures 3. Hook the wires up to run prototype motor
1. Attach prototype to back of robot base 4. Run motor at full speed
2. Hook the wires up to run prototype motor 5. Record Pass/Fail if the disc lands where it is needed for the
3. Run motor at full speed . shooter
4. Record the amount of time it takes for a disc to be picked Test Results (measured in success)
up and moved to the top of the intake
Test Results (measured in seconds) Trial 2 3 4 5 6
Vl 7
z
m
,--
m
Trial 2 3 4 5 6 7
Rubber
band
v v v v v v v :5a.
Q
)>
Rubber 1.2 DNF 1.3 1.3 DNF 0
z DNF 1.1 z
band Flex X
0
wheels
X X v v v
<{

Flex .8
b
w
.7 .8 .8 .7 .8
heels
.7
Tank tread v v X v
...J
w
X v X
Vl

DNF DNF 1.5 DNF 1.7 Rubber


DNF Flex Tank tread
band wheels
Observations:
DNF = Did not finish task
The rubber band roller failed to pick up discs a few times Average 0.57
and was overall average in terms of speed. The rubber 0.57 MostSuccess:Rubberband
band rollers pushed the discs out very consistently at the Most Precise: Rubber band
Fastest: Flex wheel Range 0
top.
Most Precise: Flex Wheel
Test 3: Mechanical Forgiveness
Flex wheel was the most consistent at picking up and Test Procedures
moving upwards. It was the only one that
1. Attach prototype to back of robot base
Tank treads were inconsistent in picking up the disc off 2. Line up top of conveyor to shooter disc holder
3. Hook the wires up to run prototype motor
the ground. The times it did pick it up it worked well but
4. Run motor at full speed
was just overa:.:;11:..:s:.:;lo::.;wc:.:._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _---,_ _,
5. Record Pass/Fail if the disc is successfully picked up by the robot
1
Conlxluodo,p,ga 5'<>, 6. Push in discs from alternatinQ sides from the sid.~e'-------------..J
DATE b}/0/2021-- - ~-to-60
PROPRIETARY INFORMATION .... .... b/lo{uo::i..
(o,/lC>/'ZOQ_Q_ PROPRIETARY INFORMATION
eom,,,-,-..... 5"1
Test Results (measured in success)

Trial 2 3 4 5 6 7 Throughout testing, we realized that the intake does not have to be all one type
of roller, but instead a combination of multiple roller types that are best in their
respective placement on the intake.
Rubber X X X X X X X
band
The combined specs are below;
Flex
wheels
v v v v v 'V v Speed Weight Consistency Mechanical Total
forgiveness
Tank tread v v X v X 'V X
Hybrid Flex
wheel hinged/
5 4 5 5 19
Rubber Flex Tank tread rubber band
band wheels roller intake

Average 0 0.57 Most Success: Flex wheel


Most Precise: Flex wheel
I Sketch Plan I
V,
m
Range 0 0
0
n
tf,-,~T ~ ...., ,___.....,..,,,.._
r
m Decision Matrix - Intake Type
Q •
0 • z
)>
j
z Speed How quickly the robot picks up the disc 0 a.
0 Weight How heavy the mechanism is overall . ,• w 0
"O t z
Consistency How precise the disc~ come o~ of the _mechanism <(
~
z Mechanical forgiveness How well the mechanism can pick up discs at odd angles b
w
..J
Speed Weight Consistency Mechanical Total w
1/)
forgiveness [Front View]
Hinged Intake 5 3 3 5 16
Flex wheel

Fixed Intake 4 4.5 5 4 17.5


Rubber band
rollers

Fixed Intake 3 5 3
tank tread 3 13

[lop View]

eon,_,.,,... bI
..,. .... b/lo/ 2.D?.-2 ~-~ ~
- eon-.,.... (o'),
G) lO/u,z.z.. PROPRIETARY INFORMATION OtScl.OSED TO AAD UNO(ASTOOOIY .... "'"6/1 I/2o2-L
~Al,v1JJ"~Az~c,_;... G/11/zo,zz_ PROPRIETARY INFORMATION
b CcinrinuedfrompafJIJ 2

2
/ CAD Plan 1
[TOP VIEWJ [ISOMETRIC VIEW]

B
8

V,
m
r
m
Q z
:i,.
:3a.
z 0
0 (FRONT VIEW] [SIDE VIEW] z
"O
~
~ l:;
z LU
_J
P•rtf Hem Qvilndry LU
1/l
'T]O,AAexWhetl

2"30ii Ruwtlttt
VtrHhub Ad,ptus

Assort~ Sprocbts .,. Intake & Lift


A °"'" "''
A.uort~ MttAI Stnicw1t

Custom Pd)Qrbonlto!
Beanngn.u
"''
"'·
BOM A
Sh•ftCallus
"''
10 Asscrt~SpKm "''
"''
~
11 Anan:itdScrtws
"''
__ " Moto,

13 Rul>btrNnds

\..._.._
"'' 1:8 · 6af8

2 1
ea,,,,,_, lo p,90 63
..
=----
~ ~~~
DISCLOSED TO AND UNO(AS1'000 BV
D,\Tf
PROPRIETARY INFORMATION
VVl J3i,,_,Az..c;z;:_- PROPRIETARY INFORMATION
BUILD SOLUTION
Intake & Lift ----------- TEST SOLUTION
Intake & Lift
· s0 that we can test its
We will build our planned soIut1on
performance ~
l::_J
We will test the solution that we have built to ensure it fits the
requirements and potentially find any flaws
/ Assembled Build /

[TOP VIEW] [ISOMETRIC VIEW) / Test 1: Speed


]
Test Procedures
1. Attach design to back of robot base
2. Hook the wires up to run design motor
3. Run motor at full speed
4. Record the amount of time it takes for a disc to be picked
up and moved to the top of the intake
Test Results (measured in seconds)

Trial
2 3 4 5 6 7
Hybrid flex .6 .7 .7 .7 .6 .7 z
wheel/ .6 0
rubber band i'.=
::,
..J
0
V)
Test 2: Consistency Average: 0.66 Range: 0.1 Iii
Test Procedures w
f--
1. Attach design to back of robot base
2. Line up top of conveyor to shooter disc holder
3. Hook the wires up to run design motor
4. Run motor at full speed
Note:
5. Record Pass/Fail if the disc lands where it is needed for the
Overall with the prototype and CAD plan the shooter
build process was simple and just a matter Test Results (measured in success)
of assembly.
Trial
This design is unique because it is very light 2 3 4 5 6 7
and quick at collecting discs. Its light desig
Hybrid flex 'I/ 'I/
additionally balances the center o f gravity o 'I/ 'I/ 'I/ 'I/
our robot w heel/ rubber 'I/
band

Con-,._ x_ Avera e: 1
Ran e: 0
..,. b/1,f2.o2-1- - """""""""'-b.b
PROPRIETARY INFORMATION
0.SCu)sEO TO ANOUl',IOlR.ST0008Y
.."' b{~\\(2D2..c ~

PROPRIETARY INFORMATION
c,,,,,;,u,dltom psga]'..

Test 3: Mechanical Forgiveness

Test Procedures
1 Attach design to back of robot base
IDENTIFY PROBLE M
2: Line up top of conveyor to shooter disc holder Roller Mechanism _ _ _ _ _ __ _ _ __
3. Hook the wires up to run design motor
4. Run motor at full speed .
5. Record Pass/Fail if the disc Is successfully picked up by the We will identify an objective for our robot so that we can address
it and build an effective roller mechanism
~m .
6. Push in discs from alternating sides from the side
Test Results (measured in success) Problem Statement

Trial 2 3 4 5 6 We need a mechanism to spin the 4 color rollers


7
located around the field on the wall. This will
Hybrid flex
wheel/ rubber
V v v v v v v allow our robot to have mo re ways to score.

band
Solution Requirements
-i
Average: 1
§I
Range: 0
Conclusion /
* Must only use legal VEX Robotics Competition parts
* Must fit within 1s·x1 s·x1 a· cube
~ - Pick up and index a disc into the delivery in under 1 second Success * Must work using power from another subsystem ( drive, intake, or shooter) ~
3 - Pick up 30 disks within 60 seconds .iccess
UJ
...J
o
z
- Weigh less than 31bs S·1ccess
m
Solution Goals 0
0::
a.
Our Hybrid Intake & lift has succeeded by passing 3 out of 3 goals. We are
excited to utilize this in providing a steady flow of discs into our delivery in * Spin the color roller t o the proper color in less than .5 of a second ~
match play and skills. * Have enough t orque to spin the roller consistently i=-
z
* Have a high tolerance for error where the roller can be misaligned 3 inches to UJ
Q
the left or rig ht and still be successful.
* Overall simple and effective

ContJnu«J l o ~

oaa.osm TON«J IJNDOlSTooo ev _/l,., _-r: _ °''\, f ~ q/ 2cr2: L ..... Contmuet:1 a , ~ X


.,.,,, IYC,J.,l.r=~ G,/ 14l-zoz.o PROPRIETARY IN FORMATION Gi l 512.ozz.
.... 6/1s- /202:2.. PROPRIETARY INFORMATION
BRAINSTORM SOLUTIONS Claw Twist
Roller M e c h a n i s m - - - - - - - - - - - Claw grabs onto wheel and turns it

EJ . brainstorm
we will • poss'ible solutions for our roller mechanism so
that we can select the best one for o u : :C.Sr
~ Of: v#
-, wJ
• Similar to how a human hand turns the
roller while resetting the field
-..~---, _ _ Tl/lW -r~OL!a
,.,,"====---c.E '1'
(....._ _ _ c-~tt~<lyfl,...
Possible Solutions - Designs r,<; ~~ Rllo\--,,.

Jnc/i ned Plane


• Linear movement of material in order to
turn the roller
• Movement powered by rack and pinion
(;, EAR
~--i11~.-,NtL- j Positives
Negatives

I
· Extremely consistent
(-11i01-+ _ _ Durable Heavy
Difficult to build
Difficult to power
Positives Negatives
m
~ Consistent Heavy Possible Solutions - Motor sharing z
z Durable 0

& l Ratchet required for durability


f'.::
::>
_J
;o
~
V>
AE>w•"1!i3IO~l/t.wJ
-:r--
!lou-l'llM"'1- Chain roller to intake
0
V>
SPhrti;.r_ _ - Connect a chain to the intake ~
0
,- Wheel Roller er
c.hA.iN .._____ mechanism allowing the movement
c
-i - Wheel that spins the roller by friction of C.-G-W~N\/ii, ~ from that motor to also power the roller 8VI
0 being pressed together - Utilizes intake rotational movement z
z - Will act like gears but instead of teeth ~
er
uses friction to transfer power CD

Positives
Negatives
Positives Nearby to roller mechanism
Negatives Chain breaks then roller cannot
location
Very simple Lower speed of intake = less
move
Easy to build Shaft prone to bending gearing down Roller Will spin forward and J
Consistent
light
I Add more friction to other
subsystem
simple backwards with intake _____J

------------- eon,~,L
lil)~ TUFIE
C/15 I 1.):)1,?..
""" bI15IlD22 ~.r<¼t .e-~~y
-~~-~ (,,/I"I t.o 2-2.
PROPRIETARY INFORMATION
Q,\Jl '/1•1,
'(JI)
MI"">
'-'-' vt... PROPRIETARY INFORMATION
"""""""'-- 0
Chain roller to flywheel . C.S!D, v)Ew/ LE>< WYl;i;I,
• Connect a chain to the flywheel mechanism RO'-t..Eil. Mt<,.N Prototyped Solutions
allowing the movement from that motor to also PR<,<KEr
power the roller 1'1\tAJ

- Utilizes intake rotational motor c.-,1!~//Ve(,

Positives Negatives

Good inertia due to flywheel ----


l weight
Shafts are at different angles
complex
Inclined Plane- - - -

Geared roller to intake


m . Connect a gear or series of gears to the
~ intake mechanism allowing the
z movement from that motor to also power
~ the roller z
0 0
;o ;:::
:l:: ::,
l/l ..J
0
,...0 Positives l/l
C Negatives ::f:
-! Wheel Roller 0:
0 Most durable -
z Lower speed of intake; less f - Complex
~
gearing down ___J_ - Heavy z
L
Roller will spin when intake
moves but in opposite direction
~
(!l

Claw twist

G/ 17 ZC:;, 2.
PROPRIETARY INFORMATION
72 """"---
11
- - ... --
~
SELECT AND PLAN Test2:Speed
Roller Mechanism - - - -- - - --- Test Procedures
1. Setup roller in the match orientation (in
We will select the solution for our roller mechanism so that we between the two colors)
can plan how to build it 2. Place prototype in front of roller
3. Set the target velocity of the prototype to
127(max)
Prototype Testing 4. Start the stopwatch and start motor
5. Once the prototype has claimed the roller,
Test 1: Strength stop stopwatch
Test Procedures 6. Record results
1. Setup roller in the skills orientation Test Results (measured in seconds)
(blue up & screw up)
2. Place prototype in front of roller Trial 2 3 4 5
3. Set the target velocity of the 6 7
prototype to 127(max) Inclined Plane 0.25 0.93 1.12 0.64
4. Start the motor and wait 2 seconds 0.32 0.74 0.52
5. Record whether the prototype
Wheel Roller 0.15 0.14
V> successfully claimed roller or not 0.15 0.1 5 0.15
~ Test Results (measured in success)
0.15 0.14 z
m
Q
Trial
Claw Twist 16.13 20.42 14.52 13.53 16.25 15.92 17.30
:s
a.
)> 2 3 4 5 6 0
z 7
Incline z
0 Wheel

~
"ti Inclined
Plane
X v X X X X X Plane Roller
Claw Twist <t
1--
u
z w
Average 0.65
...J
0.1471 w
Wheel Roller v v v v v v v Range 0.87
16.30 Fastest. Wheel Roller
Most Precise: Wheel Roller
V)

0.01 6.89
Claw Twist X X X X X X X
Incline Wheel Claw Twist Test 3: Cycle
Plane Roller Test Procedures
1. Setup roller in the match orientation (blue
Average 0.14 Most Success: Wheel Roller up & screw up)
0
Most Precise: Wheel Roller 2. Place prototype in front of roller
Range 0 0 3. Set the target velocity of the prototype to
127(max)
4. Start the stopwatch and start motor
5. Once the prototype has rotated the roller 5
times, stop stopwatch
6. Record results
- - - - - - - - - - - - - - - - - -...=,~,___ eon,._,,._. 73

ConthJ«I to page ,. ~

...,.. b)I Dj,_...,'


6 ~L-L. PROPRIETARY INFORMATION

b(lt l~OL.;__
''" 'l<Zo'l- ...
°"" PROPRIETARY INFORMATION
Test Results (measured in seconds) / Sketch Plan ]

Trial 2 3 4 5 6 7
Inclined Plane 102.S 104.2 102.6 108.2 107.4 110.2 100.9 C-£.lb'!WOOr_c.

Wheel Roller 1.54 1.62 1.56 1.54 1.73 1.47 1.65


Claw Twist DNF ONF DNF DNF DNF D NF DNF nftf t&Me•t.. [TOP VIEW]
CHAtol
Incline Wheel Claw Twist DNF: Did Not Finish 0&A80t-,&r
Plane Roller

Average 0.14 0 Most Success: Wheel Roller


Most Precise: Wheel Roller
Range 0 0
(/l
m
r
m
Q
)>
Decision Matrix· Roller Type
[FRONT VIEW]
~ Consistency
How often the robot can correctly turn the roller
11 Speed
How fast the robot can turn the roller to one color
z~ Cycle
Total time to turn the roller 5 times

Consistency Speed Cycle Total

Inclined Plane 5 3 3 16
Wheel Roller s 5 5 15
Claw Twist 3 5 3 13

51Gt.,AT1Jfl[

PROPRIETARY INFORMATION

PROPRIETARY INFORMATION
(;DOtinv,d!rompag,7

j CAD Plan 2 1
[TOP VIEW] [ISOMETRIC VIEW]

B
B

[SIDE VIEW]
z
5
a.
''0 Q
z<{
i t;
w
'•rt l lt•m ..J
qu.,,dty w
l/)
J"lOiflnWhftl

2"~A0Whtt1 rl.l---
"'-.l
ve,-,..hubAdiipmn 0
Auarted Sprocttt1

°"'"
nit

nit
Roller N

"
A AJsoned J-4~ Struccure:
J-

CunomPol-Jc.r1>ofW1~
~ar1ngFt.ts
nit

nit

nit
BOM A
Shan.Celius nit
10 Auorted Sp.cm nit
AHCll'ledSa~
"
12
nit

,, """
Rubbtt b.lncb nit
1:s -· Sofa

2 1
Con.,,_,,,,,,.g, 77
l«.NATUAE
"""''"'""'°- "-..__
PROPRIETARY INFORMATION
~t~~ou,~~ij llAlt G l'i ' l-0-L 1.
- ~ ~'e..,
PROPRIETARY INFORMATION
;. "-'"' -"·"'- ---- -_.c.'1<-_ _ _ ________________ _____7 -~

BUILD SOLUTION
Roller Mechanism - - - - - - - - - -
TEST SOLUTION
Roller M echanism - - - - -- - ---
~
~
We will build our planned solution so that we can test its
performance ~ We will test the solution that we have built to ensure it fits the
...:c:__J==-=--r--'e-=
a,u"'-
ire.:.;m
.;.;,..;:
e;_;,;
nt.s and potentially find any flaws
/ Assembled Build / Test 1: Consistency /

Test Procedures
1.
Setup roller in the skills orientation (blue up & screw up)
2.
Place prototype in front of roller
3.
Set the target velocity of the prototype to 127(max)
4.
Start the motor and wait 2 seconds
5.
Record whether the prototype successfully claimed roller or
not
Test Results (measured in success)

Trial 2 3 4 5 6 7
Wheel Roller v' v' v' v' v' v' z
v' 0
Average: 1 Range:O i=
_,
:::>
/ Test 2: Speed 0
l/l

Test Procedures tii


1. Setup roller in the match orientation (in between the two
~
colors)
2. Place prototype in front of roller
'
3. Set the target velocity of the prototype to 127(max) I
4. Start the stopwatch and start motor
5. Once the prototype has claimed the roller. stop stopwatch
6. Record results
Test Results (rreasured ·n secon< s)
Trial 1 2 3 4 5
6 7
Wheel Roller 0.18 0.18 0.19 0.18 0.19 0.19
[FRONT VIEW] 0.18
[SIDE VIEW] Average: 0.18 Range: O.Dl

Con1intJfldlapa9a
DATE
aiaw.tulE "°'2._linuodtt,_ _ 80
{;/2CJ/ZD'2-'2-
DATE / / r,j.-,
~<"\ "\
~ LJJ ~t,-.1..,
r PROPRIETARY I NFORMATION GI E-L/<Jcil,2.
~ A A ~
..... ~/2.,,\ / 2J5).c PROPRIETARY INFORMATION
/ Test 3: Cycle
IDENTIFY PROBLEM
Test Procedures
1. Setup roller in the match orientation {blue up & screw up) Endgame Expansion
2. Place prototype in front of roller
3. Set the t arget velocity of the prototype to 127(max)
4. Start the stopwatch and start motor
5. Once the prototype has rotated the roller 5 times, stop
EJ We will identify an object ive for our robot so that we can address
it and build an effective Endgame mechanism

stopwatch
6. Record results
Test Results (measured in seconds)
/ Problem Statement J
Trial 2 We need a mechanism to expand
3 4 5 6 7 outwards and touch as many field tiles
Wheel Roller 1.65 1.1 2 1.42 as possible for the last 10 seconds of
1.39 1.73 1.53 1.64 the match so that we can score
Average: additional points during a match
-I
m

~ / Conclusion
Solution Requirements ~
E - Turn the roller consistently to the opposite color Success
l1J
..J
::! - Rotate the roller the in under .5 second ID
~ Turn the roller 5 times Success • Must only use legal VEX Robotics Competition parts 0
a:
Success *Must fit within 1s·x18"x18" cube a.
• Must work using only pneumatic components c::
The Roller worked great on the robot! It performed similar to its prototype counterpart
j::
The decrease of speed is due to a new chain ratio in favor of torque to provide more z
precise readings. The loss of time is negligible, but t he increase in strength is Solution Goals w
important for field roller variance. Q
* Expand in less than 2 seconds
* Cover at least half of the field tiles
* Weigh less than 31bs to keep robot weight down

Conlinwdtopo~
DATE

e,/z., /');n rz... SKJMTIJRE~ ~ c.,,,._,.,_.)<__

PROPRIETARY INFORMATION 01SCLOSEO TO AND W.DERJIOOO 8'1' "'"- t/2~2,01,"1,


~ Jj'~y r.;, /'I,'2 / 2.07,7.. PROPRIETARY INFORMATION
BRAI NSTORM SOLUTIONS Metal Structure
- Up to 17.5" long
Endgame Expansion - - - - - - - - - - ---1 I · Different variations (C, L, Plate)
· Easy to attach to
~ We will brainstorm possible solutions for our endgame expansion
~ so that we can select the best one for our t eam

Possible Solutions - Materials

String Positives
Negatives
-Available up to¼" diameter
- Rope or sting both available Durable
Heavy
- Unlimited amount allowed Easy to fasten to
I Very large

(D
Possible Solutions - Endgame design z
~
z
Positives
Negatives
0
"i=
~
:0
- Very light weight
Very compact
- Tangles easily String Catapult
3
0
(/1
~ Can be easily pushed can be ::;:
Easy to coil up Pneumatic launch
(/1
easily moved by opposing a:
0 String bundled up inside of
r
C
alliance
catapult cradle 8
Vl
--i
0
z -
Wire Rope
Technically ·rope•
z
~
a:
I
- Unlimited amount
- High tensile strength
Ill

Pos itives
Negatives

Positives Extremely Fast Deploy


Negatives Prone to shooting errors
Light
Tangles string

I
Very compact Simple & not mechanically
Can be easily moved by complex String can come out prematurely
Easy to coil up
opposing alliance
Durable
Somewhat heavy
Ha rd to tangle

r-a...Tf
a<i,;;,-rii,e&~ "°""""""'°-~\\
G,/22/'2.0'2.2. PROPRIETARY INFORMATION OISQ.oS(D TO AH0 u,«)£A$1000 av
.... b/23j1..<I2.."- --
~h~ .fJc. PROPRIETARY INFORMATION
l>-,-,.,."
LJ
It
Metal drop down
- Four hinged 35x long
metal pieces
- Drops down from
pneumatic release
Metal Scissor wall
Deployable scissor lift
Pneumatic deploy
Rubberband expanded

Positives
Negat ives
Positives
- Fast (all metal has to do is - Negatives
unfold) Low point potential
- Heavy Durable
- Consistent (nothing to tangle) - Can block off a portion of the
Very heavy
Metal can block other
field Very large
mechanisms
CD
~ I
z
1/1
String shooter
z
Similar to how a human can
bXl shoot a rubber band with their
0
;:::
~ fingers. Only difference is a :::i
..J
1/1 weight and string attached 0
0 V1
r- Pneumatic release mechanism ~
e
-; a:
0
z ~
z
~
0:
Positives al
Negatives
Fast
- String can tangle
High point potential
Compact Requires storage system for
string

.._ ---------------
Light

•~iiAniii• ~ ~
PROPRIETARY INFORMATION Orlset.osEo TO N-.0 LIND£AST000 av ..,..
Jo/~ PROPRIETARY INFORMATION
I '
I

SE LECT AND PLAN / Endgame String J


Endgame Expansion
<R7> Certain non-VEX components are allowed.
We will select the solution that is best for our team so that we can
e. An unlimited amount of rope/ string, no thicker than 1;4· (6.35mm).
plan how to build it

Decision Matrix - Endgame Expansion

Speed String requirements:


Perceived quickness of robot expansion time
Consistency Percieved how often the mechanism succeeds
Weight • Small
Estimated weight of the mechanism
Size o More compact for fitting in the
Estimated area the mechanism will take up in the robot
robot
Speed Consistency Weight Size Point Total
Potential • Light
o Overall j ust less weight for the bot
String 5 2 4 4 3 18
Catapult • Difficult to push
u, u,
m
,...
m Metal drop 4 4
o Will stop otherteams from ,...
m
3 2.5 4 m
q down 17.S descoring our endgame points by
pushing it into a corner q
)>
)>
z String 5 z
0 5 5 4.5 5 • Easy to coil up
Shooter 24.5 0
u u
o Resetting this every match will take
£:
z time so adding ease to this process £:
Metal 3 5 2 :z
3 14 is beneficial
Scissor wall
• Highly visible
o This will make it obvious which

IResults
string is ours on the field assuming
other teams might also use string
for endgame
Due to the overwhelming ratings of the String Shooter, we decided to not prototype
our solutions. It's simple and efficient design will give us the most scoring • Easy to score
potential over all other solutions. The next step of our endgame design is the o High contrast on the field tiles will
length and material type of the string. make it quicker and easier for
scoring refs to know exactly which
tiles our string is touching

"""-ro,- ~

PROPRIETARY INFORMATION
DISCLOS(QlO AAo UNOCASlOOO IV
°'"' 6/-i.q ]202.2.. '
/Yc, P,,~--- PROPRIETARY INFORMATION
Endgame String
Length [ Sketch Plan /

Pythagorean theorem C F~1Jf VlEw


shows us the diagonal f01-YCARIJa,v4f&
distance of the field is
16.97 ft. Accounting for c-C tfAl1WEI..
the diagonal length of
[Front View]
the robot (2.12 ft), We
will have a string length
of 14.85 ft.

00
[Top View]

V,
,...
m
/ CAD Plan m
Q
"Cl / Sketch Plan )>
i; These images are of one unit. We plan to build z
z three of these and place them on our robot 45 (ISOMETRIC VIEW]
- / DP Vn I\N 1 .
degrees apart to increase scoring potential.
0
"Cl

~~
Our string
J
11~1~ 1/t: 7:-~~ projectile is
expected to look
[TOP VIEW]
!
~
V

,
similar to the left.
I 4~
,c..-,
r1'
I
- .... - -
~

-
~t::: II(
JJ
We will flatten the
linear slide to
improve the k
!
aerodynamics of
\ "\
µ 1H ~1~ tr J I_. I-' I .. f::
the design

I iA ~ 1,, - I
• -

"·"""'~--~""""' !..'~•'
- ') ~ I "\. '-" i..-
J
I
[SIDE VIEW]

...,.,_ ~ ~
eon,..,.,...,,...qo
~To~ayty_~ '"'"'Mi, ~ ~
o.ii bh-\r~(J2,)__ -
PROPRIETARY INFORMATION
Dl5Q.OsE0 TO AND 1Jf.OEA5T00o BY .,..,,,
~ J:r°'-7~ io/J.4f2cJ2'L PROPRIETARY INFORMATION
Ccntinu«J from~ 'I.
2 1
BUILD SOLUTIO N
Endgame Expansion

~
~
We will build our planned solution so that we can test its
performance

B B / Assembled Build

{TOP VIEW]
{ISOMETRIC VIEW]

V,
,...
m
m
q
)>
5
6
9.492 - - --
z
0
'U
£:'
z

Part# Item
Endgame Double Acting
Quantity

A Pneumatic Cylender
BOM 2 Custom Polycarbonate nla
A
3 Metal Structure nla
4 Assorted screws nla
5 Assorted Nuts nla
6 Bearing Flats 2
1:3 6 of7

2 1
~ x
~
IIGH4l\ME c.n11nu.,,,,, ....
DATE

PROPRIETARY INFORMATION
"'"'
C,/Uoh.02,z..
TEST SOLUTION
Endgame Expansion Test 3: Point Potential

r;,:;---i We will test our solution to find flaws and ways to improve it
~ Test Procedures
1. Place design on corner of field

I Test 1: Speed /
~::....-L~---.. Test Procedures:
2. Deploy Endgame design
3. Record number o f tiles claimed by robot
Test Results(measured in tiles)
1. Upload program that deploys the endgame on startup Trial
2. Run program and start stopwatch 2 3 4 5 6 7
3. Once engame has settled, stop stopwatch
4. Record results String Shooter 18 18 18 18 12 18 18
Test Results (measured in seconds) Average: 17.14 Range: 6
Trial

String 0.4
2

0.5
3

0.4
4

0.4
5

0 .3
6

0.4
7
I Conclusion

Shooter 0.4
--1 Expand in less than 2 seconds
Success
rn--1 Average: 0.4 Range: 0.2
Cover at least half of the field tiles
Sui;:cess
z
0
Weigh less than 31bs
VI
s ---~ ;::::
0 =>
r- ..J
e The Endgame mechanism completed all three of our goals. Its near-instantaneous 0
--1 Test 2: Consistency VI
0 scoring method will be use ful in matches where defense from opposing team
t;;
z Before Trails: prohibits slow expansion. Because the endgame can be used in skills driver and l1J
autonomous, our composite score has effect ively increased by 100 points. We are I-
• Deploy endgame 5 times and record distance st ring traveled
- Set average of 5 runs as a benchmark for test excited to discover new match st rategies that use our quick-response design.
Test Procedures:
1. Deploy endgame and record distance string traveled

2. Record whether distance is within 1 of benchmark
Test Results (measured in success)

Trial 2 3 4 5 6 7
String
v' v' v' v' X v'
Shooter v'
::t::.
Average: 0.86 Range: 1 CQ

PROPRIETARY INFORMATION
·--·~~
DISCLO~o TOANO U,,,0£Mfooo BV
0.1'
- Con~to~

bh'7/-W2..""2..
~

PROPRIETARY INFORMATION
Conr,,,uedlmmpogo )(

DRIVETRAIN WALLS
DELIVERY WEIGHT

El We will prevent the drivetrain wheels fr~m driving over disks so


that we can reduce the possibility of being stuck on an element.
~
~
We will improve the inertia of our delivery so that we can shoot
/ Concept multiple disks in more rapid succession
/ Concept )

CJ;: J.
CJ

A~+..r

/ Solution

We placed polycarbonate wall extending down on all


/ Solution J
sides of our drivetrain. This prevents elements from
getting jammed under the robot and putting it out of We have filled the inside of our flywheel roller with thick
play. nylock nuts. These have increased the inertia of the
flywheel, allowing it to slow down less once a disc has
We are excited not only that our drive problem is fixed, been fired. The delivery weight has improved the robot's
performance in scoring disks back to back.
but also to utilize it as a strategy to jam disks under
opponent robots

Con/Jnood lo pa[Jt!J ~ •

OOCL.0sE:>TO~IHXFlsrooo ,,,-
-_,TE
.... ~i~17-D).._")_
~ (of 2 ~ j '2.o2,'2., PROPRIETARY INFORMATION
OSCLOSEO 10 MO llf.lO£ASlooo 8'1'

PROPRIETARY INFORMATION
IDENTIFY PROBLEM
Intake Improvement BRAINSTORM SOLUTIONS
Intake Improvement
We will identify a problem with our intake so t hat we can address
~
~
it and improve our design's performance We will brainstorm possible solutions for our intake problem so
that we can select the best one for our design
/ Problem Statement
Possible Solutions

We need a mechanism to maintain chain tension to the front intake wheel while
icking up discs so that we can have a more efficient and reliable intake.
Fixed Bar
- Horizontal Standoff Vertically offset from the
- .. C.SIOf. Vi~J

........
front intake roller
- Shares the same center of rotation as front
Solution Constraints intake roller

* Must only use legal VEX Robotics Competition parts


• Must flt within 1 B"xl B"xl a· cube Positives
Negatives
0 * Must work using only pneumatic components
m
z Simple z
:::l Very limited range of motion 0

___.._______________
Easy to tune
~ Solution Criteria
Light
j::
-0 ::i
;o -'
0
0
CD
* Pick up disc in 1 second VJ
r * Have no slips in chain tension for 20 degrees of rotation ~
m Intake l ock a::
~ • Collect 3 discs in x seconds
* Weigh less than 1lb - Standoff rotationally intertwined with front and
middle intake rollers
~
z
- Forms a shape reminiscent of a 4 bar lift <t
a::
- Similar to intake lock design from last season's CI!
"Tipping Point"

Positives
Negatives
- Accounts for both sprockets of
Heavy
[ chain
Difficult to tune
Contains a wide range of motion

S10~ruJ1E
Gf3olzoz'2 °""""""'"'"-4,_
1rH ,,,., iX.\.~, ,
Dl5ct,0$(c,lO AND IJkotRSTOOO 1$»
J
PROPRIETARY INFORMATION
l[1ett\ !\¼5\):IN'~
PROPRIETARY INFORMATION
c..:.,,ioE -'iEwJ
Pneumatic Push Ellfi\c
- Standoff pushed against chain with constant low rnu,
Prototyped Solutions
pressure .
- Pressure against chain is generated by a piston an
d
1 ;.n,ooFF
,P0 cc«r
regulator . . Prs;,,. We have de~ided to prototype the 3 most diverse solutions to get the most
widespread 1nformat1on
- Similar concept to suspension on a vehicle L'(l••~•li.
....,:::.;,;,::.:.;_:::.:,;;,,;,:;.;_;,;~~-----
Positives Negatives
. - This will help Us understand how these chain tensioners will compare under
our priorities

Simple Requires complex pneumatic


Easy to build routing
Fixed Bar
Causes friction

Band Holder
- Standoff pivoting on front intake wheel
CD - Rubber banded in a way that always has the
j; standoff have contact with the c hain
z
~
;o
3::
Positives
CJl Negatives
0
r-
e Light
--i Difficult to maintain condition
0 Does not cause much friction Difficult to tune
z

New Chain Route •OE VJ EWJ


• Add an addition sprocket to the center of lfi';,..____ fl.E~ i..,,eiet

rotation of the front intake roller's hinge •~.,.,'-----s~"er


- Split chain into two sets c~~w

~ _ _ _ (.•<~¼l~i

I Positives Negatives Band Holder - - - -

Will never fail


Very hard to build
Provides the least friction
Heavy
Requires little to no tuning
Complex

"""'1\JIIE Conl,,.,odlop,go 'j_'t__


CA.TE

7/1/?..oz.1
·"'"'7/1 2CJ7J._ PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
I
c,,nt,nuodfrompago\OC> ~
. ;:=:=--'--'--'=--------------------, 101
SELECT AND PLAN Test 2: Tension Degrees
Test Procedures
Intake Improvement
1. Allow Prototype to fall to its resting position

~
2. Hold protractor so that its base line is flush with
We will select the solution that is best for our design so that we the bottom of the intake hinge and its origin is
c::__J can plan how it coincident with the intake's
4. Spin intake motor at max speed and slowly raise
the front intake wheel's supporting L-brackets
/ Prototype Testing / 3. Once front intake wheel's chain slips, Record
angle measure of protractor
Test 1: Intake Disc Test Results (measured in degrees)
Test Procedures
1. Place Prototype 5 Inches away from disc, facing Trial 1 2
the disc 3 4 5 6 7
2. Start stopwatch and slowly push disc towards Fixed Bar 4
prototype 3 3 3 4 3 5
3. Once disc contacts bottom polycarbonate of Intake lock
delivery, stop stopwatch 12 12 12 13 12 12 12
v, 4. Record Results
m
r Test Results (measured in seconds)
Band Holder 20 21 23 21
z
m 20 20 21 j
Q Trial a.
2 3 4 0
)> 5 6 7 z
z Fixed Bar Intake Lock Band Holder <t
0 Fixed Bar 1.38
1l 1.93 1.32 2.14 1.58 2.63 1.32 Average 3.57 12.14 20.86
t
UJ
£; Intake lock largest Range: Band Holder -'
z 1.85 1.52 1,78 1.36 UJ
1.48 1.52 1.04 Range 2 1 Most Precise: Intake Lock (/)
3
' Band Holder 2.63 2.32 2.92 c~
2.81 1.39 3.01 2.42 Test 3: Rapid Collection ,I-)
Test Procedures b
1. Place prototype in same conditions as it was in <1-1
,-. Fixed Bar Intake lock Test 1
b Average
Band Holder
2. Place an additional 2 discs adjacent to the first (Q
1.76 1.5 2.5 and in line, but not contacting, the robot
r~
.~
- I.)
,t Range
4. Spin prototype at max velocity, start stopwatch

~ Fastest: Intake Lock


1.31 0.81 1.62 and push discs into prototype at a constant speed
6. Once all discs are in the delivery storage, stop
stopwatch.
ca
N Most Precise: Intake Lock 5. Record results

""""'"' eo,,,,,,,,.,,,.,... 10 I
°"'"'
7/2./262.7...
DAJE 7, 2-/2.o ]._.(_ PROPRIETARY INFORMATION 7 /2. IZo'2.?.-
"'"' 7/zJ2.02.{_ PROPRIETARY INFORMATION
102 eon.,_,..,.._ IC> I
' l
. Test Resulls (measured in seconds)
/ Sketch Plan /
Trial 2 3 4 5 6 7
Fixed Bar 2.47 3.32
0 0 D O 0
2.94 2.37 2 .49 0
3 .22 2.34
b C.·LIIA,JrJe._L.
Intake Lock 2. 13 2.57 2.63 3.18 2.88 2.59 2.87
Band Holder 3.23 3.48 3.92 3.74 4 .24 4.32 3.59
- [Front View]

Fixed Bar Intake Lock Band Holder


Average 2.74 Fastest: Intake Lock
2.69 3.79
Most Precise: Fixed Bar
Range 0.98 1.05 1.09
~
m
/ Decision Matrix
Q Speed z
)>
z Precision
How does the design affect speed of the intake
How reliable the design is
:5a.
,,0 Allowance
Weight
How much motion the design allows for 0
z
s; How the design changes the overall weight of the robot
z
Speed Precision
"'t
Allowance Weight Total
UJ
_J
UJ
' Fixed Bar 4.5 3.5
V)
4 13
Intake Lock 5 4.5 3.5 3 [Top View]
16
Band Holder 2 2 5 4 13
Pneumatic 2 2 5 2 11
Push

New Chain 5 4.5 5 15.5


Route

We will be using the Intake Lock to tension the chain for our front rol ler because
it scored the highest composite score on our design matrix. This design
resolves our problem of losing chain tension while collecting discs anywhere.

~n.w-~---------- - - - -- -- - --.,.-,.--- --===::..::..'.::::......J..!.<c.,..._-j


Conlifluod.,_ 10)

717.l'Zdl'L Con/inwd.,pago JCJ'-f

DATE 7/')....)2o2-1- PROPRIETARY INFORMATION

PROPRIETARY INFORMATION
C,,,,,,,,uodlrom,_, loq

I
CAD Plan I 2
1
j
[TOP VIEW)
[ISOMETRIC VIEW]

B
®',~' I
B
11.569

z
17.85 j
Q.

P.art • Item
I
l_
Q
z<(
t;
w
..J
w
1"30.Atx~ffl 1/l

2•~FIU:Whftl

Vtrs.hub M.lpcen
Assert.ta SprockfU .,. Intake
°""" .,.
A .,,
Assarttd Metal Stru<turt
Cusrom PdyCllrt>onlr, .,. Improvement A
BurlngR.lts

10
Sh•rtColl•rs
AUCl'ttd Sp.(ttS
.,."''
.,.
BOM J
11 An0r1K1Saews ,,,.
12 Mo<o,

13 Ruobtrbiincb nl•
1:8 9ol9
2 1
ContJttfJfd lo pagtt
SIG~
Continllltdtopag. -~
DAT£ -
~~.... b,...l,\ljtr
PROPRIETARY INFORMATION D•~o~
PROPRIETARY INFORMATION
~E
eo,,r/,,00<1humpago ')(

~ ~

BUILD SOLUTION
Intake Improvement TEST SOLUTION
~
l::_1
We will build our planned solution so that we can test its
performance
B Intake Improvement
We will test our solution so that we can evaluate the design's
Performance.
[ISOMETRIC VIEW] / Test 1: Intake Disc /
/ Assembled Build
Test Procedures
[TOP VIEW] 1. Place Design 5 inches away from disc, facing the disc
2. Start stopwatch and slowly push disc towards Design
3. Once disc contacts bottom polycarbonate of delivery, stop
stopwatch
4. Record Results
Test Results (measured in seconds)
Trial 1 2 3 4 5 6 7
Intake Lock 1.42 1.62 1.29 1.83 1.20 1.34 1.83

Average: 1.5 Range: 0.63 -


§ i]
::, -
I Test 2: Tension Degrees l J
0
Vl
I-
'

-
Test Procedures Vl

Note:
Overall, with the prototype and CAD
plan, the build process was simple
1. Allow Design to fall to its resting position
2. Hold protractor so that its base line is flush with
the bottom of the intake hinge and its origin is
~ t
r
(D
r
I
coincident with the intake's
and just a matter of assembly.
4. Spin intake motor at m ax speed and slowly raise
the front intake wheel's supporting L-brackets
3. Once front int ake wheel's chain slips, Record angle tr---
measure of protractor
Test Results (measured in degrees) C>
Trial 1 2 3 4 5
-ti -~
ml"3>
6 7
Int ake Lock 14 13 13 13 14 13 14 I'
Average: 13.43 Range: 1
Conbnued to P894

SI G ~ - - ----..,. _eo,,°""""'°,,...IOJ{
7/<.f/20'2.'2...
DATE7/4/-2.rr2.l PROPRIETARY INFORMATION ~~~~ 0

"'1/£"/2022
7__/51?..02.'2.
PROPRIETARY INFORMATION
Test 3: Rapid Collection

Test Procedures
1. Place Design in same conditions as it was in Test 1
IMPROVEMENT
2. Place an additional 2 discs adjacent to the first and in line, but Color Sensor
not contacting, the robot
4. Spin Design at max velocity, starl stopwatch and push discs
into Design at a constant speed
EJ We will automate roller claiming so that we can have more reliable

fEJ
6. Once all discs are in the delivery storage, stop stopwatch. autonomous programs
5. Record results
Test Results (measured in seconds
The robot should know whether the goal is owned and how to claim it.
Trial 1 2 3 4 5 6
7
Intake Lock 2.43 2.94 2.48 2.47 2.13 2.58 2.83

Average: 2.55 Range: 0.81


ISolution /

;;:I We have placed two color sensors next


!:':I
Ill
0
r
IConclusion
to t he roller to read the color of the
goal. The roller motor will spin until the
color sensors sees t he roller as owned.
~ Pick up disc in 2 seconds
Success
0 - Have no slips in chain tension for 5 degrees of rotation Giving the robot "eyes• adapts to the
z Collect 3 discs in 3 seconds Success
variability in roller resist ance and
- Weigh less than 1lb Success
slickness. We are very happy with the
Success
product of our roller color sensors.
Our Intake lock improvement has succeeded by passing 4 out of 4 goals. We
are excited to utilize it in quicker and more efficient skills and match games.

DATE

7/SI io-2:z,, '""'ru"~ ~ Contmutid to pago'I-.

PROPRIETARY INFORMATION
tltSCLOSEO 10 AND IJ~f\STOOO IY
"'"7/b/~'-
,<'I,, .tr_~ PROPRIETARY INFORMATION
IMPROVEMENT
Match Load
IMPROVEMENT
Endgame String Holder

We will crea te a simple attachment to allow the robot to pi_ck up


match load discs so that we can have more disc opportunities
during skills and matchplay
~
L.:'._J
We will create a solution to hold the endgame string securely so
that we can have more consistent endgame deploys

I IThe robot should be able to pick up discs straight from the match
Concept _ load s tation.
/,..c_ o
_n_c_e_p_t.'/ The robot should be able to securely hold onto the endgame string
securly for the entirety of the match and then allow for a smooth
release of the strino durino the last 1 Oseconds

,. ,1

ISolution I Solution I
We have utilized a polycarbonate plate We have a shelf on the robot for the
and our roller wheel to pick up match load :::2::iii string to sit on. Using a pneumatic
discs. This will allow us to collect three cylinder and a mesh covered piece
discs without moving the drive joysticks. of polycarbonate, the string is held
We are very happy with how our match in place. Once the endgame is ready
load attachment came out. to deploy, the string holder opens
and the shooters fire.

- .,
.

~--,-~ ~ °"""""""'-x.
PROPRIETARY INFORMATION
DISQ.O!e:o TO ANO UNDtRSTOOO BY
DATE
7/?/~2.?..-
7/ ~/7.DZ.'2- PROPRIETARY INFORMATION
PROGRAM ODOMETRY Important Statistics

Tracking wheel diameter: 2.75 in


~ We will program and tune odometry so that we can have more - Side tracking wheel distance from center : 9.0154 in
L:...J accurate and precise autonomous programs Backtracking wheel distance from center: 6.4625 in
Coordinate system: Cartesian
General Overview

- Odometry is a methodology that finds the robot's position at any place on the * Decision : We will be using the PROS library for our odometry to increase
field. effrciency when programming. This will allow us to spend more time
on our autonomous programs
-----
- By using the three tracking wheels on the drivetrain, we will calculate the robot's
X, V. and angle value based on an origin point on the field
- Equations : 1Advantages J
tis sin(0+/i0/2)=liy
Change in Y 2----EJ i
v l
I
I The PROS odometry works consistently
It tracks the robot's position anywhere on the field
We measure the robot's position in inches
tis cos(0+ti0/2)=tix
Chaag, ;, X ~ i The loop updates the position every 20 milliseconds
tisr- /isl = ti0
2L
c~~e~a~~ /
The angle of the robot does not reset after 360 degrees
- Our backtracking wheel allows us to measure strafing

X
We will use Odometry in autonomous to calculate where the robot.is.at any point
in time

/ Process Start

Update sl to the left encoder; Update sr to the right encoder

Update sl to the change in sl; Update sr to the change in sr


Update L to the distance of left encoder to center of rotation

Update li0 to the difference between sl and sr over 2L ; Update 0 to itself plus ti0

Update liX to L times the cosine of the sum of 0 and 0/2


Update tiY to R times the sine of the sum of 0 and 0/2
Update X to itself plus tiX ; Update Y to itself plus ti Y

.... eoot/nuedtopago I~
Coolinwd1o,,_ K..

PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
eo,,,,,,uod rrom _, 11'-I
PROGRAM PIO P - Proportional

Proportional decelerates the drive as it approaches the target


r;::;-i We will program and tune our PID so that we can have more - By calculating the error(distance from the target), we will multiply this by a gain
t...::::_J accurate and precise autonomous programs factor so the closer the robot gets to its target, the smaller error will be, and the
slower ihe drive moves.
General Overview - We will use this to decelerate the robot in drive commands
- Equation : K e(t) Ip]
- PIO allows the robot to accelerate and decelerate smoothly
Sets the speed of the drive motors based on a given distance from the target
f 1- Integral f
- Equation:
- Integral accelerates the drive when proportional undershoots.
- Multiplies a gain factor by the total accumulation of errors over rime
p K \;J e(t) - We will use this to accelerate the robot as it approaches the target to insure the
robot reaches its destination
- Equation : KP
e(t)

D - Derivative
Targe :E t : t error
- Encode
For our robot
Ki f e(t)dt Set Robot Y(t) - Derivative restricts rapid changes in motion for both acceleration and
Drive Motors deceleration
- Multiplies a gain factor by the change in distance from the target over the
change of time
VEX Encoder
Values - We will use this in our autonomous programs to prevent the robot from making
D Kd ~dt sloppy movements that cause dri~ from the intended route

- Equation : Kd ~
dt
Calculate the
difference between
the target distance
Use PID to decelerate, accelerate, and
transition between both by: multiplying Assign the speed
I Code I
the error by a gain factor, taking the sum of the drive to u(t) Rinclude "11ain.h"
and the current
of all changes in error, and finding the void setDrivePID(double dist){
distance and assign //Capture Starting tiae
current change in error, respectively. Add
it as e(t), or error
each factor together to get u(t). 4 double lastTime,.,pros: :millis();
5

- We will use this in our autonomous to get to places more accurately and 6 //Oeftne PIO attributes across the X axis
efficiently. This will greatly improve our autonomous programs 7 double kP ,,. 6;
double kt • 0.801;
9 double kD • 9;
10 double error .., dist;
11 double errorsum = 0;
12 double errorlast • error;

r.;;_,;.;;;....,=----------------------.,....,.=,.----~~==-=::::'•~
_Conbn_,._Li__G'

PROPRIETARY INFORMATION 7/t/lZDzi_.


PROPRIETARY INFORMATION
I 11 r.. l c.n.,,.,.,,,,.,,,_ \15
r~l~
• 14
double speed;

15 int nttleT.h,e•O;
16
17
//Cht!clt if the positt° ; ( i f , y 011d angle hove been tffet
•hlle(settleTi•e<500) 0 PROGRAM PURE PURSU IT
18
19
~
//Update the Last Error to adopt to change
We will program and tune pure pursuit so that we can have
~
20 ,rrorl.tst•error;
21 quicker and more efficient autonomous programs
22 //Set the distance froa the target as ERROR
23 error•dhtastartValue;
General Overview
24
25 //Add to the cu11Ho t ive Errors over time - Pure Pursuit is a methodology that allows the robot to follow a path without
26 errorsu~error •Je; stopping to change direction
27
- By using the X, Y, and angle values found using odometry, we will drive the robot
28
29
38
//Set the speeds based on these attributes
spood•(kP•orror)+(kI •errorSum) +(ko• (error-errorlast)); 0
("':;\_ through multiple points on the field
-Equations: ~ 2
31
32
//Sot the speed in dr!ving f!eld centr!c0
setDrive(speed);
y=m(x-x,)+y, Y ----,L / 0
33 K+✓r'-(x-h)'=m(x-x,)+y,
E---_-x_____ _ _------
1st point X Y/ 3

K-✓r'-(x-h)'=m(x-x,)+y,
34 //J..'oi t for i,otors to update 1
35 pros: :delay(18); 2nd point X
36 } ......................., ........................
,
+
37 setDrive(B); • ♦ •••••••••• . . . . . . . . . . ..

38 }
xO T 0=tan·1 (X/Y) Angle

0
I

0
While the robot

0
I
hasn't reached its
target
Set and solve PIO Run the motors
yq F=100 Forward
Velocity
I

/ Conclusion /
Robot~-"-.,___ _ _
Center
+'-----
~ ~D margin
- Our PIO loop works consistently across many distance inputs with a ¼" error
- We will use Pure Pursuit in autonomous create complex movements

-
~ - The tracking wheels we have were good at updating the robot's current position
throughout the function I Process Start
- We have an effective process for tuning the gains with good results.
, ~ 1. Increase P gain from Ountil the robot slightly ocelates
Generate Pure Pursuit path and create a circle around the robot
' 2. Decrease P gain to its last value before oscillation
' 3. Increase I gain until the robot slightly ocelates and bring back value before
ocelation
4. Repeat steps 1-3 two more times Find Intersection Points between circle
5. Increase D gain until robot ocelates and bring back value before ocelation
Turn robot in direction of point while driving forward at the velocity of F
....,.,_ Con/Jtlu«I IOf»f/0 y'

- .,.. o...T'E
7/ I i/z.o2.:2..
PAOPRIETARY INFORMATION 7/t7.-/2o?..'2.
PROPRIETARY INFORMATION
EJ The following fs an excerpt of our circle-line intersection. Full program is
in Notebook Appendix A
Co,,t!nuod-,,... l l

278
2 8 // •· • ··•······ Fl/,o POINrs ••••••••••••••• II 279
239 II F(nd thr ~o pofots tllr robot can drive to on a gtven Line 280
double xRoot2 • (-quadrat1ce - std::sqrt(std::pow(quadraticB,2) - (4.9_- •- ~ ~
240 void purr-Pursu1t::fJndPotnts(po1nt2 circleCenter, double radius, point2 linePoiitl, point2 quadratic()))/ (2. e"-q uadraticA);
HnePoint2, int indeic)( 281
241 double )'Root2 • ml • ( xRoot2 . xl) + yl;
2S2
242
/I If the X and V voLues between the .start and end point of the line or~ close , make it not 283 xRoot2 +• circleCenter.x;
24)
lf(std::•bs(lln•Polntl.y • llnePolnt2.y) < 8.803){ 284 yRoot2 •- circleCenter. y;
244
UnePolnU.y • linePoinU.y + 8,083; 285
245
246
H(std::abs(HnePointl.x - linePoint2,x) < 0,003){
286
287
II If the potnt is wtthtn the Line, odd it to the List 3
247 if(xRoot2 > rdnX && xRoot2 < 11axX)(
linePointl.x • UnePoint2.x + 0.003; 288
248 point2 newPoint(xRoot2,yRoot2, 9);
) 289
249 allPointsArr(index] .appendite■(nNPoint);
290 )
258 291
d®blt al • (lineP0int2.y - line-Point1.y)/(linePoint2.x - linePointl.x); )
251 292 catch(exception){
252 double quadraticA • 1.0 + std: :pow(ml,2); 293
25)
294
254
doubh Xl • UnePointl. x · circleCenter. x; 295
255 296
double yl • UnePointl.y - circlecenter.y;
256
257
dm.ible quadratic& • (2.0 ' cnl • yl) - (2.0 • std: :pow(•l, 2) • Xl);
Find the X value of

0
258
Evaluate if the 1st
259
double quadr.iticC • ((std::pow(111, 2) • std::pow(Q.,2))) - (2.e•y1•111•x1) + stj::pow(yl,2)
- std!!PQW(radtus,2);
the first intersection
point 0 point is within the
line snippet 0
Run the same
process for a
260
261
262
Hsu allPoints; I Conclusion
second point

263 try{
264
· Our Pure Pursuit improves the development and execution time of autonomous
dOtJblr xRootl ., (-quadraticB + std: :sqrt(std: :pc,_;
0 aticB,2) with a ½" error margin
265
qu•drotlcC)) )/(2.8•qu•dr•tlcA); 1 - (4.8 • qua:JraticA •
• Our PIO function works well in the adapting to changes in direction along the
double )'Roou .., ■1 • (XROOtl - Xl) + yl; path
266
267 xRootl +• circleCenter.x;
· The Pure Pursuit methodology allows us to make the following movements
268
1. Move along a path
yAootl " circleCenter.y;
2. Drive in a semicircle motion
2 '
,78 3. Turn to point
271 4. Move a specified distance

m
t
double •Inx • std: :11in(linePoint1 .x, linePoint2 .x);
2'2 double aaxX • std: :11ax(UnePoint1,x, linePoint2.x); · For each of t hese movements, Pure Pursuit allows for realignment in the event a
2'3 misfired disc from another robot interacts with our drivetrain
274
II I/the pofnt is within the L!ne., odd list
275 if(xAootl > minx && xRoot1 < •axX){ 2
276 point2 newPolnt(xRoot1,yRoot1,0);
277
allPointsArrfindex) . .appendite■(nei..Point), Its on array of List2. IT sho.JLe hlOrlt as
1o1ritten., but something is wrong.

CMl/nuodto,_ uq
712.o /?0'2-"2--
·.,,.,.,7/2..s:ih.o)._,'1._ PROPRIETARY INFORMATION
PROGRAM SOLUTION
Con--- 171)

Win Point
~ We will create an autonomous that scores the autonomous win
#include "main. h"

~ point so that we can earn an additional win point during a mat ch


3 // Move forward whi Le scoring to save ti,,,e
j.--
P-r o_g_r_a_
m_R_o_u_t_e_....., void asyncMoveDistance() (
.oveOistance(le); // Hove forward 18 inches

7
*Start 8 / I Set up autonomous progratfl
o • ·Score Disc 9 void a_LBONRT(){
. _Spin Roller 10

11 II -···· INITIALIZE AUTONOHIJUs ·--· - II


Anticipated Points : 35
12 mat chDrive•>SetShte({Jl.S_in~ 12. 75_ in}); // Declare robot's position
Swing: 55 13 / / Set up Pure Purs uit dMvetrotn
14 drive.detectCirc • s;
Scored Discs : 5 15 drive.pointConsider • 2;
Claimed Rollers : 2 16 drive.maxVelaSB;
l7 drive.reset();
18
Discs in robot after time : 3
19
setPiston( "index ..,•tn•); // Holte sure the dettvery inde>t is in

Start
20
21
22
23
24
I I • • - •• CLAIN BOTTa-, ROLi ER •• •• / I
qulckRoller() ; I I Quickly cLauo r-olt,r
pros: :delay(S0) ;
0
shooterMtr..•122; / / Set up ddivery to score di.tits

1
25
26 II -···· SCORE PRELOAOS •• -- II
Claim bottom Roller and drive to autonomous line to score preloads 27
rnoveOistance (l0); // Hove a,,.,ay /NIM roller
28
setRoller(48); // Fnsure aLL disks are shot by l!ft:fng
29
turnToPoint(16,115. S); // Turn to better shoot at goaL
Pick up discs from the stack of three and score discs 30 setOrive(e,e); // Stop ,iovtng
31
hai1Mary(2,287); / / Shoot the prelaodi
32 shooterMtr• -91;
Pick up discs from the line of three and claim top roller 33
34
II ·-··- SCORE J STACK OF OISKS ••••• II
35
setRoller(l27); / / Start running Li.ft
36 turnToPoint(S6.4,35.7,true); / / Turn to line up to pid1 up stack
37 drive.backwards....true; / / Hove bacltwards
38 drive.111.axve1 ..1s; // Go faster
39

48 // Drive to piclt up 3 stack of dblts


41 drive.reset();

DAJE
eoo1N1uoc110 PB9" Cl.._
\
om eon.,_,,._. J'2. 2-
PROPRIETARY INFORMATION 7/7._'-t )202:z..
PROPRIETARY INFORMATION
~ c.n,_..,...,. 1'2-I
eonbflU«ltrom fJ.i19o
41 dl"ht . .addPoi nt(56.J, JS.7);

...
4J d,-1vt,itddPoinl(56,4,3S . 7);
drive.run();
45
•r;
IIOVOOhun«(-23); PROGRAM SOLUTION
47

~
turnToPol nt(lS.6, 127); // Ai• Robot t o s core disks Skills
48
49
50
II Seo~ Ots•s ..,.,,He driving forward slowly
sotRoll,r(40);
~
/r-P-ro_g_r_am
We will create an autono111ous that utilizes all 60s of skills so that
we can have a high composite skills score

0
51
_ _R_o_u_t_e--,J
set0rhe(0,8);
52
pros: :Task uyncKove(asyncMoveOtstance );
53 HlDriv•(O);
54
hiilf1.Jry(l,186); II Shoot 3 d!slls ot 186rp,,
ss *Start
S6 ~ Drive Forward
II ··•·· CLAT/'f TOP ROLLER ••••• II
S1 0 · · Score Disc
tur-nToPoint(lOl.5,82,true); // Turn t o 3 row of dtsks
58
setRoller(l27); //start running Lift - -Spin Roller
S9
60 /I Drive to pick up 3 row of disks
61 drive. backwards•true;
62 drive.a.,xVel•68;
63
Anticipated Points: 174
drive.reset();
64
Scored Discs : 16
drive. oddPolnt(lOl. S,82);
6S Claimed Rollers : 4
driv,. addPolnt(124, 113);
66 dr-ive.run();
Covered Tiles : 18
67
68
tumToAngle(-96,0); // Turn to Rolle r
Discs in robot after time: 0
69

0
78 II CLot. Rol(cr / Steps Start
71 SHOri\re( -127);
72
pros::delay(l88);
73
,. setRoll,r(-127); 3 Claim Bottom and Left Roller
f 75
pros: :delay(200);
setDrive(8);
.:::i 16
77
setRoll,r(88);
Score Preloads
~
~
78

~~ Pick up and score stack of 3 discs

0 Claim bottom roller 0 Score disc stack of 3 0 Claim top roller


Pick up and score 6 match load discs

Pick up and score stack of 3 discs

Contmved,opago X.~-
"'" c.,,,,_,.,,,.,,.17-4
7 /24 / zaz:z.
DATE

PROPRIETARY INFORMATION 7!2sJ2o7..:2-..


PROPRIETARY INFORMATION
12-3

...J.
Pick up row of 3 discs and claim right roller

68 pros: :delay(280); II Watt for robot to orrive ot rotter


69 skil lsRoller(); / / CL of" roller
Claim top roller and score discs 70
71

Drive to corner and deploy endgame n


73
II -------------------- STEP , ------ -- ------------ 11
74

~ The following is an excerpt of our first 5 steps. Full program is


II --·-- SCORE PRELOIIOS ----- II
75 I I Arc tur,, tO,iJQrds 900L
76
L:::__J in Notebook Appendix A as of 8/10/22 77
whi le(11.ltchOrive- >getState(). theta. convert(degree)>40)
setOrtve(-20,68);
U ""Id a_S<ILlS()(
78 sctOrive(8,9);
JJ , , ••••• INITIAt.llf ~ •-·-- II 79
l,t ll.ltchDrh,e•>sttSlitl'({31.S_ln, U_in}); // De/foe robot's posttton 80
35 Sl'tPhton(•tndu", .. in"); // P~pare tndu piston turnToPoint(ll,114); /I Loci, in ongLe to goaL
l6 81

0
110veDistance(48,78); II Move tOliOrds goat
J1 II St-t up Pu~ Plirsutt
82
83
haill'tary(l.,145); / / Scor-e PreLoods 2
3a drh·•.dttHtCirc • S; shooterNtr•-0; /I Save aotor powrr
84
)9 drh1t.poJntConstdrr • 2;
85
48 drh,• ...•Vel•SO;
•t drht.rent(); .,•• II -------------------- STEP J --···----------- --- II

..
•2
03 II ~-,ptn fty,,11 . .1 ••89 II ----- PICI< IJP STACK OF DISCS ----- II
,hoottrfttr--90; setRoller(127); II PNtpa~ tnta-"e to ptclr up disc$
45 90

..
•6
0
II - ·---------------·-- STEP 1 -------------------- II .,••
91
n
I I Ori.ve through o stock of discs
drive .bacbtards•true;
drtve.pointConsider • 2;
drive ,fla>eVel•SS;

0
49 II --•-- CLAIII IIOTT~ ROLLER ·-·· • II 95 drlve.ruet();
se std Us~oller();
96 drive.addPoint(24.,ita):
51
97
n II ----- CLAIII LEFT ROLLER ----- II
drive. addPoint(48, 27);
98 drive.run();
5l
so
II .Ve turn towards Left rotter
..hi le (a.1tchOrive->eetSotl'(). thcu. convert( degree) <90)
••
100
1110veOistance(-17); / / StobUfze ftOtor aovttent
55 utDrive(42, -0) 1 101 II----- SCORE DISCS----- II
SG
nUolltr(127); / / PNpore 'Lntokr to pfrll up o d{sc 182
57 drhe. b.ach..1rds■ true; turnTo4ngle(90); // Qtticlr tt1r-n t:awar-ds gooL
103
51 drhe. pointConstdcr • 2; shooter"Ntr•-9S; II Prepare ~Lt\lrry to sea~
18' 1110veOistance(38); II Hove closer to goal
59 drh-e.a.iixVcl•SS;
185
GO dri,..eo. rurt();
106
6} turnToPoint(124.,17); // Loclt (tt angle to goat
drive. run(), 187
6' setRoller(48); // Ensure no discs ore hanging off 1ntoo\e Ledge
a0\le01st.a!'lce(8); 108
65 haUMary(l,155); // Score discs
nt1tolJN-(49); / / Slow down rotler to counter-act lf/lOVe•enr of rotler when drfvM 109 shooteN'ltr•8; // Save 1JOt:or pow,-
!nro 110
66 ntOrJ~c(-.:8); /I Or!ve into roller Ill
67 112
II----•-···--·------·- STEP• --··-·--·----------- II
113

Cor,hll(JH IO PllfJII
OAT£

PROPRIETARY INFORMATION
11,
115
,, II ···• PICK UP "4TCI; 1041) SET I •···· II
116
117
tur-nToAnslr(lO): '/ rum co arotch load PROGRAM SOLUTION
srtOr-tveo(•foO); '/ Drtvr t0t,,ord.s 40tch tOCJd for 300.s
I
,,.
118 pro,: :do1•y(300), Supporting Win Point
We will create an autonomous that score as part of the AWP criteria
II • • • • SCORE ,.. TCH 1041) SET J •• • • II
1.)
shoot"f"Ntr•-98; II PN!po~ ~Ltvtry to scort
so that our partner and us can score more discs in combined
ti• turnToPointArc(l24,'1,hlu,•1efr); / / Arc turn to goal.
us setOrivt(e);
/ Program Route
126 h•U'1.lry(J,1S8); // Scare discs
127
st,oottrfietr-O; / / Saw #Otar ~ r
Lll
129
*Start
II ··•·· PICK UP "'TCH 1041) SET 2 •···· II O · · Score Disc
138
tumToAnalt(JO); // Tur-n baclt to aotch toad . _Spin Roller
lJl
setDrivt(•SB, .. Se); // Or(vt' towards .atch Load for sea.rs
132 pros: :dtlay(I08);
133 Anticipated Points : 25
...
-
13'
135
136
137
ua
~tchlo.ad(); // P(c• up J dtscs

II ••••• SCORE HATCH 1041) SET


/r<111

1 ••••• II
Shoottr11tr•-98; / / Prtport Dt-Live-ry to scar~
aatch Load stot:ton

0 Swing: 45

Scored Discs : 5
Claimed Rollers : 1
u,rnToPointArc(l45.,-2 1 r~1se,•1crt"); // Arc turn to goat
139 s~t0rlvo(8); Discs in robot after time : 0
1'8 hallKary(3.,150); / / Scar~ dbcs
UI shoott"'1tr•O; / / Savt ollOtor powr
142

I
10
14'
II ···········•········ STEP S ··················•• II Steps
145
146 II ••••• PICK IJP STACK OF DISCS ••••• II
U7 setllollrr(127); / / Prcpo~ tntaA'p to ptc• up dbcs
141
drhC!ToPoint(66~20.true); II Drfvt' into stock of dbcs Pick up and score disc with preloads
149
158
151
II ····• SCORE SrACK OF DISCS ••••• II
-----
152
15!
shoottNCtr■-99; II Prepare Detfvt'ry to score discs
drh'eToPoint(93, -4); /I Drfve in front of goat.
turnToPoint(l4S, -10); /I Lock tn ongLe towards. goat
h~il.Kal'")'(l, 15S); II Score discs
Pick up and score row od discs and
7
Claim Right Roller

0 Claim bottom roller 0 Score preloads


0 Pick up match loads

'-.,...c;""'=------------------------7.."',,. -----==-=..::....:'°.:-=_v,.__
c -1
tp _ -M.._ _f:rr _L. tY
~TO~~~~
~ ~ PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
reon_..._,,.,,
_-_1"11
_•_1'2~ ~
_ _' ___--=-....:-:__.:~:._:~:......::~~=----.::_
- .::_
~ _ _::__ __::
· •'.._--::.....__:.., ~
42
~include •· .. atn.h• 43
II ••·•• SCORE DISCS ••••• II
2 •oid •_STDN()( 44
shooterMt r-..103; // Prepare fLy~heeL to score discs
r::'\
6
3
4
5
II • • • • • IN/rIAlJZE AUTIJIVOHOUS ••• •• I I
llltchOrive•>setState({l2S_in, 84_in, ·9D_deg});
45
46
47
turnToAngle(-232,500); /I Turn to Goo(
ha i1Mary(2, 194 ); /I Score l discs ot JS4rpm 0
setRoller(l27); / / Prepare Intake to coLLect a disc 48
7 49
8 I I •• · • · · · • · • ·•• · · · •• ·· STEP 3 •••••••••••••••••• •• I I
/I Set up Pure Pursuit drtvetratn 50
9 drive.detectCirc • 5; 51 5CtRoller (0); II Turn off roLLer motor
18 drive.potntConsider • 2; 52 t urnroPoint(126,68.-t,.ue); // Turn towords roHer
11 drJve,NxVel•45; 53 I/ Drive towards roL Ler
12 drive. bac~wards•true; 54 drive . backwards•tru~;
ll drive,restt(); 55 drive.11axve1 ..100;
14 56 drive . r eset();
IS 57 dr1ve.addPo1nt(l38, 68);
16 58
/I ·········•·········· STEP J •••••••••••••••••••• II drive. addPo1nt(U8, 68);
17 59 drive.run();
18 I/ •···• PICK UP DISC ••••• II 60 I I Lock motors to hard stop 1n place
19 61
drive.addPo1nt(l48,82); // Drive into disc on the row leftFrontHtr. set_brake_llOde(t'l)TOR_BRAKE_HOLO);
20 dr1ve.addPoint(l48, 82); 62
l e ft MidNtr, set_brake_OlOde(NOTOR_BRAKE_HOlD);
21 drive.run(); 63
left8ack.Mtr. set_brake_llOdc (!-\OTOR_BWE_HOLO);
22 setDrive(O); 64
r i ghtFrontMtr. set_brak:e_mode (1«:JTOR_B lA!CE_H'.JLO)
23 110vt0ist.1nce(•l8}; // Stobtltze ddve 1P101Je1Jent 65
rightMidMtr. set_brake_llOde(HOTOA_BRAXE_HOLO);
24 66
r i ghtSackMtr. set_bra fte_lflOde (MOTOR_BRAA:t_J.()LO);

0
2S I/ ••••• SCORE DISCS ••••• II 67 setDrive(0);
26 68
shooterNtr•-121; II Pre,x,re flywheel to srore discs pros::delay(2S0); // l,IQft for ""tOl's t, stop

0
27 69
turnToPoint(lS,140,true); // Turn to Goat setDr ive(-20,-8O);: / / Arc t1Jrn into rollrr
28
29
hailllary(3,207); II Score J discs ot 267 rpm 1 70
71
pros: :delay(750); / / Mitt fol' arc ccriplet~
set Drive(e); II Stop drhetro
30 72 quickRoller(); II Claim rot •r 3
31 73 pros: :delay(10eeeoe);
II ·•···············•·• STEP 2 ····•··············· /I
32 74 )
3J II ••·•· PICK UP DISCS •·••• II 75
34 turnToPoint(l62,9J,true); // Turn to remaining discs in row
35 II Drive into remoing dtscs
36
37
'8
drive.backwards-.truc;
drive.reset();
drive. addPoint(l62,91);
0 Score first set of
discs 0 Score second set of di0 Claim roller
39 drive. addPo1nt(l78, 104 );
40 drive.run();
l nove0istance(•18); II Stabilize drive M01Je111ent

-
sia,u,JUFtf-

. f--0~ J:)~(A~
DISCLOSED TO Ji'«) IJM>fRSTOOO er~

~ ~~ PROPRIETARY INFORMATION
c,,n,Jnue<Jf,ompago 'I--

DR IV E STRATEGIES ~
TOURNAM ENT ANALYSIS
~ We ~ill use different drills to help improve our driving speed and
~ consistency
.

51 SR Scrimmage

Strategy # 1: Driver skills runs

SUM of Total
B We will reflect on our performance at the 51 SR Scrimmage so that we
can improve our robot design and game play strategy. -
In 1 minute the goal is to score as
many points as possible. We track
our scores to see progress
overtime.
I Match Results /

130 driver skills runs:


Match

Ql
Red Alliance Blue Alliance Result Auton AWP -
7368C 515R
323V 139 9364A 153 v' X X
"
POINT BREAKDOWN SCORE GRAPH I Q4 51 5R 7368C
169 127 v' X X
Objects Scored
9364C 2775V -
Q6 9364A
r:J - High goal # - Low goo I# Rollers# - Endgame?
46 515R
167 v' v' X

~=~
9364E 2775V

~ QB 2775V
118 323V
v' -
CX,
15
10 _ 515R 6210X 105 v' X -
c§ ; Q9 6210X
176 9364A
50 v' v' v'
515R 9364C
/ Strategy c/12.: Roller Swing / Ql 1 9364E
~~
7368C 106 6210X
515R 99 X v' X ~~
Rollers will decide lots of matches due to their quick point change. Practicing changing 11:
these as quick as possible will help swing matches in our favor. Q13 9364C
Practice with this has decreased the time to switch color rollers to less than 1 second 9364E 107 323V
515R 153 v' X X 'r--
on average. '1<>

Strategy #3: Scoring with Defense


SF 1-1 515R
2775V 168 9364E
6210X
33 v' v' v' cB
Oftentimes during matches defense will be played to prevent teams from scoring high
discs. To get better at shooting despite this we use an old robot to play defense on our
current one.

15mNAMe -- - Cono,.,..,tDpago~ x _
.... "'~ ou-.f . t ~
o.i<"

8/7/Zo'l..1-
~ ~ ~ /1fz.01-1,.
PROPRIETARY INFORMATION
O,T[
PROPRIETARY INFORMATION
Fl SlSR
,-----'-- I

Intake & Lift


______________
ec,,,,,_,,,.,,,_ '.32 _:_-,
I .I1 'l'l
~

168 v·
9364C
2775V 171 323V X X + Tallest intake & lift on the field.
+ Collected discs quickly and effectively.
F2 51SR
132 v
9364C
2775V 207 323V v v + When we used match load discs, all entered discs were collected as expected

F3 - Intake & lift flex wheels became very dirty after each match.
51SR
146 v v
9364C
2775V 2 06 323V X - Inherently cannot pick up and deliver from the same side, greatly decreasing the
efficiency of the design.
- Other teams have wider intakes that allow for a more lenient and consistent
Record: 10-1 collection of discs.
Award: Scrimmage Champion
• DQ for pinning for 7 seconds
Roller
Wins vs Loses + Worked properly in every match
Autonomous Bonus + Each roller took roughly 2 seconds to claim
lOUe•
+ Roller defense strategy allowed for guaranteed ownership of two rollers
Lost - Autonomous code for claiming rollers is inconsistent
36.4%

Eomed Endgame
636'j\, + Worked properly in every match
+ There were no problems with string getting tangled with the deploy and itself

Height of Endgame deploy mech expansion was above the perimeter wall and
Robot Performance less string contacted the tiles as a result

Drivetrain
+ Fastest and strongest drivetrain on the field
I Conclusion I
+ Worked properly all matches
+ Disks that were lodged under drivetrain were easily removed We are very happy with the performance of our robot. The drive strategies and
+ Did not overheat during matches
design improvements gained us the first seed and champion banner of the
scrimmage. It was additionally a great learning experience of how to improve our
- Front bar bent inwards due to heavy defense. design
Delivery
+ Fastest cycle time on the field The greatest loss in efficiency, compared to the other designs, is our Intake & Lift.
Having the intake on the opposite side of shooting discs requires the robot to turn
+ Filled goals effectively due to fast and consistent shot s around nearly every time it collects discs disks in order to score. We will improve
+ No discs were blocked by defense from the opposing alliance our Intake & Lift by having it collect and score from the same side of the robot.

- Failed multiple shots during autonomous due to inconsistent speed and position Because this is a large change to the design, we will layout the full CAD of our
robot so that we can have a clearer understanding of relative scale when going
through our design process again.
eo,,.....,,.,,... I
eo,,,,_,,._ 13 'i
817 /2.ofl.2
PROPRIETARY INFORMATION 8l'U 202'2.
PROPRIETARY INFORMATION
2 1

8
B N
pI
• I

• N

0 t-

'C8 j.

-0
- 0
"<
n
n,
SCALE 1:8 Part# Item SCALE 1:8 Quantity h,
-, I---

Revision 2
Drlvetraln
Delivery r-
O"'
0 0
A 0 3 Intake & Lift
f - - - - - + - - - - ---+-----1
4 Endgame Mech 3
A
OJ
'<
::J
OJ
.--a,.....,.,..._o.
-----•k~ r-t
~

i:=:-+----f---j 1--i
0 (D
_..t::~ ~·:. r.:::.=--+:---::---t-=---b--------------1 >
h
C
r-t (./')
OONOfSCAll~wtN<i

7J ::r
51SR Robot
"
h - ,___
= 0
(D
..
m
~
OJ (D
N
_, 1:4 ......,
~ @
2
1 of7
~ ::J r-t I
1 )>
1.
Cl)

SIG!Uil\lRE-
om ~titwedlOpafJCJ V
'ii IC/ I U:Jz:z__
g / '8 I Z.o 2-2 PROPRIETARY INFORMATION Q~M~
..,. ~h/2.o2--1.. PROPRIETARY INFORMATION
/~Con--- >< -----
~ -----
TO URNAMENT ANALYSIS
Rl 6 8-1 '-
51SR
168 v
MOA Signat ure Event
171 6008C
v v
a We will renect on our performance at the Mall of Amer ica Signature
Event so that we can improve our robot design and game play strategy.
QF4
9364C

323V
2775V207
6008A

515R
9364C 132 v v' v
3141A 20
Match Results / SF2
51 SR
1569A 6 9364C 146 v' v' v'
Match Red Alliance Fl
Blue Alliance Result Auton AWP 4082B 153 515R
170 v X
21 45Z 9364C v'
65 v
Q12 99116X 8110X
515R 182 X X F2
8110M 4082B 149 51SR
181 v' v'
21 45Z 9364C v'
178 v
Q25 7225F 3141G
3759X 83 515R
X X Record; 12-1
Awards: Tournament Champion; Excellence
Q32 515R
7686B 121 3141A
4082B 178 X X X Wins vs Loses
Autonomous Bonus
L. , _

104 v
Q60 606X 8481Z
> 515R 131 9116Y
v' X
- Q67
25146A 1 Q5 98377G 164 v
' 19355A 515R
v' v W1ns
92.3~
Q85 355N
6210X 107 515R
9821A 180 v X X
~
Robot Performance

11 6 v
Q104 515R 839A
3150A 149 3324B X X Drivet rain
+ Fastest drivetrain on t he field
Q119 + Did not overheat throughout all matches
l LI
8110R
9364E 97 515R
8110G
189 v v v - Opposing robot's wedges lifted drive wheels
~-
-' - Discs and barriers were lodged under the drivetrain multiple t imes
;1,
\: .1
-traction
Ea_sdy pushed sideways due to the omnidirectional wheels having minimal side

l Failed to score multiple discs during autonomous due t o inconsistent alignment

-"""'
'""''"""
S11s12.02.i
.... 2 /\i;/2D2.2.-1 PROPRIETARY INFORMATION
Delivery
+ Worked properly all matches
+ Filled goals consistently because of quick and precise shots GANTT CHART
➔ Allowed us to score discs above adjacent robots
- - - - - - - - - - - - VRC Spin up - - - - - - - - - -- -

~
Inherently cannot match load directly into nywheel storage, significantly lowering
the match load cycle speed We will create a Gantt Chart for the remaining time of the season so that
- Scored slower than most opposing robots that have triple-shot delivery systems l::_j we can effectively plan our future designs

Intake & Lift


Week Build
+ Tallest lift on the field. Program Improve

I
+ Collected discs quickly and effectively. g ;; • Serves as a
f•
1s
16 < guideline for
1l 17 ;u hour our t ime
- Generally slower than opposing robots that pick up and score from the same side ~ 18 () will be

-■
- Cannot pick up multiple discs at the same time o. 19
.); 20 en
"O
managed
Roller • 21
1l 22 5'
+ Quickest roller on the field §23 C
+ Defensive roller strategy allowed for guaranteed two rollers for our alliance
24
• 25
"O * Overlapping
Jl 26 en boxes
~ 27 Cl)
represents
- Every field roller, being newer than ours, was difficult to rotate
- The match load method through the roller is slower than opposing alliance
~ 28
29 lli
0
schedule
designs that directly insert into the flywheel storage I!~ ::::, flexibility


•I
~ 32
O 33
Endgame 34
;' 35
+ Covered the most tiles In each of our matches ~ 36
+ Had no issues with the deploy slider and rubber bands
- String had knots when expanded
re
~
39
40
~ 41
37

<
;o
- Opposing robots were able to block some of of the string deploys 42 0
"5
i
43
44 "O
en
45 3·
/ Conclusion / i :~ C
"O
We are excited with the performance of our robot. The drive strategies and slight en
Cl)
design improvements gained us a tournament champion and excellence award. It .0l
(/)
also gave us a greater insight of different subsystem designs that we had not
;! ~ considered yet. 0
::::,
l 1
~ ", During our rebuild process, we will find inspiration in many designs from the MOA
>.: event as well as observations of the performance of our own design.

~'----------------------------------;
~ ---------------------;:,=------=Con::""
::"="":.:'°:.:"'~•c:._•~i-..~
~~~
D4TE
IMONAT\IRe

~ ~
. 9,1 1~201..2- ~ J:';~'LM/b-
..,.g/IS/2o2.l- PROPRIETARY INFORMATION
D!SCt.oseoroMDUkC>fMTOOODY0

~ ~Q_
y 'iil/Glzo'l'l-
O>.n:~/16( 20'2.l PROPRIETARY INFORMATION
ConfifW«I from PllfJtJ ~

IDENTIFY PROBLEM
Drivetrain Rebuild BRAINSTORM SOLUTIONS
EJ We will identify a major problem with our drivetraln so that we can
address it and improve our design's performance
~
Drivetrain Rebuild

We will brainstorm possible solutions for our drivetrain rebuild so


Problem Statement
c..J that we can select the best one for our team

Possible Solutions - Wheel Motion


We need a mechanism to connect the motion of each drive motor together so
that if only one wheel is contacting the ground, it is still fueled by all the motors Geared Wheels r
on Its respective side.
- Each motor is geared together in a way
cy,1Nt.
the supplies equal torque and speed to the wttk€t..
Solution Constraints wheels
6E~R
- Uses a standard driver gear size and a
driven gear size C,•C.HAN"E1..
* Must only use legal VEX Robotics Competition parts - Most common solution at MOA event
5
m * Must fit within 1a·x1 a·x1 a· cube
z
--i
* Must work with up to 6 motors
Positives z
~ Solution Criteria
Negatives 0
t=
"O Very consistent ::::>
;o Heavy J
0 Minimal friction 0
CD Complex Vl
r
m
* Spin 10 times within 20 seconds ~
3:: * Drive across the field within 10 seconds a:
* Drive with excellent maneuverability and response
Chained Wheels
E
Vl
* Have a wider tracking system z
- Each motor is chained together in a way the ;;j:
supplies equal torque and speed to the wheels a:
aJ
- Uses a standard driver sprocket size and a
driven sprocket size
- Second most common solution at MOA event

Positives
Negatives
Easy to build
Simple Difficult to tune
Creates a large delay in rotation
between motor and wheel

Conllnuod to paga X.

W_ I 7/1.0'1...'7.
_ eon~,..,.. l'-lk
PROPRIETARY INFORMATION ~/ 7 liLTZ.
PROPRIETARY INFORMATION
ec,,,;.,,d/,om-•J'ii
Direct Drive
- Motors are directly connected to the wheels
"---------='-c-~~-=--...::...__ _.:._~'---':---:C,
All in the front
- Each motor is inherently spread evenly Cs.to e ll'r61<0
across drivetrain - All motors are placed in the front of the ,vloToR.
drivetrain
- Third most common MOA design at MOA ~SAtJflo?F
- Motors are geared/chained backwards to oMfvl wllF-.f.t.-
the middle and back drive wheel

Positives
Positives Negatives
Negatives

L - Very Light
Extremely easy to build
limits motor placement
Uneven motor power to each
wheel
Allows for a lot of space in the
middle and back for future
subsystems
Forces front intake to be less
wide
Very Front-heavy

OJ Generally Back
~ Possible Solutions - Motor Position M,Tc>R _ - Two motors are placed near the back
z ~ ~5r/WOOFt- wheel and the third connected to the
~
:,;:,
All in the back
~ Oi'MJ'f: t,:IH:eL- middle
- Motors are connected together and
z
0
~ Every motor is closest to the Cr,t,.fJ,WJ £<-
geared/chained to the front wheel
§
_J
Vl back drive wheel 0
0 Vl
r Each motor is either geared or Positives
C ~
:j chained forwards to the Negatives a
remaining gears
~
0 Light
z Complex
Does not cause much friction
Difficult to tune
z
~
Ill
Positives
Negatives
Even Distribution
Allows for a lot of space in the

L Complex - Each motor is directly connected to a wheel • ..1_


front and middle for future - Each motor is further geared/chained
subsystems Very back-heavy
together

Positives
Negatives
I'
[ Balances center of gravity
Simple Allows less room for front intake
Very light Forces drive speed to be solely
dependant on motor cartridge

....., u " ' ° ' ; ; . - - - - - - - - - - - - - - - - - - - - - ; : - , D A T < ; : . - - - - - - - - .Contmu«Jropa(le


; . . . . : . - ' - ~1
~)fJ~
C.SQ..osa>TON«JI.HXRSrOa>ey ,
'ti I7/UJ2,?.,
,{~ --1-~ s-1, 7/2.o,z_z_
~ gJ11I 2.02'--'-
PROPRIETARY INFORMATION
DATE PROPRIETARY INFORMATION
c.,,---t'I
SELECT AND PLAN
COG Simplicity
Drivetrain Rebuild Size RPM adjust Total
All in the 2
We will selec t the solution that is best for our team so that we can 2 5 4
plan how to build it back 13

All in the 3 2 1.5 4


Decision Matrix - Wheel Motion front 10.5
Friction Generally
Estimated speed gained by reduced friction 4.5 4
Consistency Back
3.5 5 17
Contact How precise the design is perceived to be
Size Whether power is supplied to all wheels or not
Perceived area allotted to the intake Even 5 3.5 2 2
Distribution 12.5
Friction Consistency Contact Size Total
We will be using the Geared wheels in the general back of the robot for our
Geared 4.5 drivetrain rebuild. This design allows us to play more competitively against
Ill Wheels
5 5
m 4 18.5 robots with wedges and more strategically with the ability to climb the barrier.
r
m Sketch Plan :z
q Chained
Wheels
3 4 5 :5
)> 4 16 a.
:z 0
0 Direct Drive :z
1) 5 5 <i:
5 16 G
£'
:z
aJ.
UJ
J
Due to the strategic and special benefits and drawbacks of each design, we
w
Ill
decided to not prototype our solutions. The great ratings of the geared drivetrain
gives us confidence in its performance when we build and test the solution. The
next step of our drivetrain rebuild is the distribution of motors.

Decision Matrix- Motor Position

Center of Gravity
Simplicity How significantly the design misaligned the COG
Size How easy the design is to build and tune
Perceived area allotted to the intake
RPM adjust
How much adjustable the RPM of the design is

DATE

8'/1q/un,z.
""" gI Vt{2.o2.-]... PROPRIETARY INFORMATION
2 l

/ CAD Plan

B
[TOP VIEW] [ISOMETRIC VIEW]
B

z
:5a.
Q
z
SCAlE 1:7 SCALE 1:7 <t
t:;
w
..J
w
Item Ul
Qu,1nt!ty Parte
Assorted C-Channels I 14

72TGear 6 2
[FRONT VIEW] [SIDE VIEW]
24T Gear 6 3
A 3.25" Omni Wheel 6 4
vs Motor 6 5
A
2.75" Omni Wheel 6
VS Rotation Sensor 3 7
Assorted Spacers n/a 8
Assorted Standoffs n/a 9
15 3of9

2 1
OAT£ SIG~ eoollnuod,.,_ I 'f8

~~
0An
<J/2(J I '2-eJ,z,'2.
gf2-0 )'2.02..-2 ~-ul?.:~ t/io/7o1-,z_
DATE PROPRIETARY INFORMATION
~~ ''"' 9/2..n/2rr),,.1- PROPRIETARY INFORMAT10N
Tracking Wheel Movement

BUILD SOLUTION
Distance from the Drivetrain Rebuild
tracking center to the
back tracking wheel is
6.07" ~
L-J We will build our planned solution so that we can test its
performance.

Distance from the


tracking center to left Assembled Build
tracking wheel is
~ [TOP VIEW]
[ISOMETRIC VIEW)
Distance from the
tracking center to the
right tracking wheel is
VI
m 30"
r
m
Q
)>
z
0 z
"Cl 0
~ j::
::,
z ....J
0
c:/)
0
Drivetrain Gearing
=
::,
CD
[FRONT VIEW] [SIDEVIEW]
We used a 2:3 gear ratio for
our drivetrain because it
balances the usage of 3.25"
omnidirectional wheels.

It also, in combination with


the larger wheels, gives us
18% more pushing power.

..,,.,.""'" ConliootJdto/NJf}tl
SfGN,\l\JR£
- ...x..
C-ootinued topago

- ~ JI').()/2.oz 'l
"'"'l /20 2.JJI)__ PROPRIETARY INFORMATION
~0-~~~ 8/2112022..
,, ~ ..,.() nl/nr.-i~
<cl. .t--1 vV_.,.L... PROPRIETARY INFORMATION
150
-----'-- - - - - - - - - - --.:...::.::._~-4.--
TEST SOLUTION Test 3: Field Maneuverability
151
Drivetrain Rebuild
~
~
We will test our solution so that we can evaluate the design's
erformance.
Test Procedures
1. Place design against and in the middle of a wall
Test 1: Turn Speed 2. Place _5 discs, separated 20in apart, 1Oin in front
of the design
Tes1 Procedures 3. Enable driver control and start stopwatch
1. Place design on the center of the field and 4. Driver uses joystick to weave around the discs
remove any nearby discs 5. Once t he driver waves around the final disc, stop
stopwatch
2. Set the target velocity of side of the design in
6. Record results
opposite directions of max and start stopwatch
4. Once t he resign has turned 1O times, stop the Test Results (measured in seconds)
stopwatch
5. Record Results Trial
2 3 4
Test Results ( easured in seconds) 5 6 7
Trial 1 2 3 4 Drivetrain 6.13
5 7.12 7.32 6.93 6.26
6 7 Rebuild 6.74 6.63
-I Orivetrain 19.38
m 19.29 18.74 18.65 20.19
Rebuild 19.73 19.80 Average: 6.73
~ Range: 1.19 z
tll 0
0 Average: 19.39 Range: 1.54 ;::::
r ::,
__,
C
-I Conclusion 0
6 Test 2: Forward Drive tll
z t,;
Test Procedures Spin 1 O times within 20 seconds LU
1--
1. Place design flat against a perimeter wall, facing Drive across the field within 10 seconds
the opposite wall on the other side of the field Drive with excellent maneuverability and response
2. Set the target velocity of the drivetrain to max Contain a wider tracking system <.
3. Start the stopwatch and motors
4. Once the design has reached the opposing wall, Our geared drivetrain rebuild has succeeded by passing 4 out of 4 goals. We
stop the stopwatch plan to use to score higher in skills and match autonomous programs.
5. Record results
Test Results (measured in seconds)
Trial 2 3 4 5 6 7
Orivetrain 7.62 6.85 7.42 7.66 8.14 6.93 7.57
Rebuild

Average: 7.46 Range: 1.29

eo,,...,,.,,,,_(SI
OAT<
"""'-.,_ X
rr/.z:l-(_"2,:,..2_2_.
""'g /2-1{:usi-2. PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
IDENTIFY PROBLEM 153
Delivery Rebuild BRAINSTORM SOLUTIONS L:-
~ We will Identify a major problem with our Delivery so that we can Delivery Rebuild
t.::::_j address it and improve our design's performance
~
~
We will brainstorm possible solutions for our delivery rebuild so
that we can select the best one for our team
Problem Statement
Possible Solutions

We need the nywheel roller type for our delivery so that we can have a more
consistent and efficient delivery subsystem for skills and match play 30a Flex Wheel
Solution Constraints - Hardness similar to that of a rubber band
- Available in multiple sizes (1.625", 2", 3", 4")
- Most common roller type at MOA event
• Must only use legal VEX Robotics Compet ition parts
* Must fit within 1s·x1 B"xl a· cube
* Must work with only l motor
5
m
z Solution Criteria
Positives
Negatives z
:j
0
~ High traction ,n I - f'.:
1l Hub attachments required for ::>
:0 * Land all discs of a triple shot from near the goal Consistent compressio:_______i_ - 3" and 4"
....J
0
0
m
* Shoot t hree discs in under 2 seconds
Low density
V)
r
m * Score one disc 3/5 times from the autonomous fine ~
a:
l: * Land all discs of a triple shot 2/5 times from the roller 0
45a Flex Wheel
Iii
z
- Hardness simllar to that of a pencll eraser <{
a
- Available in multiple sizes (1.625", 2•, 3', 4") al
- Second most common roller type at MOA
event

Positives
Negatives
High traction
Special hub pieces required for
Has some compression 3• & 4•

DATE
Con- lo - )l
Contmood.,p,go/54
I t/1.,'3/~'2:2-
0ArE8 I2: 2D21-- PROPRIETARY INFORMATION
""" o;..,1l1/0--,--, 'o/2.4 )lC/2.1.,.
~ L-- L.JJt-t- PROPRIETARY INFORMATION
60a Flex Wheels
- Hardness similar lo that of a car tire
- Available In multiple sizes (1.625", 2", 3", 4")
- Third most common roller type at MOA event SELECT AND PLAN
Delivery Rebuild
Positives
Negatives
~
t...::'._J
We will select the solution that is best for our team so that we can
plan how to build it
Has very little compression
High traction
Mechanically forgiving
Special hub pieces required for
3" & 4• r Decision Matrix I
High Density Density
How the design will improve interia
Consistency
How smooth the surface of the design is
Rubber Band Wrapped Wheel
Custom Weight
Durability
Accessibility with adding more weight to the design -
- Traction wheel wrapped in 64x Length of time before cleaning/refurbishing design -
m rubber bands, equally spaced and
lJ layered Density Consistency
I Custom Weight Durability Total
:l>
- Bands are secured by a zip t ie
z
V, - Image from 750S's "Nothing but l
30a Flex
d
lJ
net" robot
Wheel
4 5 4.5 3.5 17
~ z
V,
,..
0
Negatives 45a Flex 4.5 5 4.5 4
::5
a.
Wheel 18
C Has little compression Cl
::l High traction z<(
0 60a Flex 5
z High Density 5 4.5 4.5 19
Wheel tiw -
_J
Rubber Band Roller intake w
2 1 1 Vl
- Two sprockets spaced apart with Roller 5 9
rubber bands stretched in between , I
- Available in multiple sizes: 6t, 12t, Rubber 1 4.5 4
~
18t, 24t, 32t sprockets Band Roller 2 11.5
- Image from 1460J's "Nothing but
Net" robot Rubber
Band Wrap.
4 3 5 2 14 i
Positives \ i;
Negatives
We will use the 60a Flex wheel for our delivery rebuild because it ranked the
C
High Traction highest from our decision matrix. This design allows us to have higher inertia and _)
Rubber bands wear out greater durability than our last design.
High mechanical forgiveness Very low density
Sprockets block side entry of We chose to not prototype our solutions for the delivery rebuild because the key
objects deciding factor was based on weight and longevity rather than day-long testing. -
1-
......."""
l!~--u~
~.!AM>ur«)£R$T0009Y ./ - - gfz._<-i. I 'U:11-2-_
SIONAlURE
DATE-

1xM~ D,\TE[ /2}·\f1.01-1.. PROPRIETARY INFORMATION


,. .,. 'l,/2:"5/zou
S/251'!.o 2-2.
PROPRIETARY INFORMATION
Conlloo<d_,pago \ Sb

/ CAD Plan ]
croP V TEW]
oo•~---------=r
:ot> ~ ( -C.-C.UA.VNE.'-
~u
0 oD -A,c,e,,~Oou\TE [TOP VIEW]
C:C [ISOMETRIC VIEW]
0 00 a
0~ 0
- ~o~ - - 0 -MOTOR
10:0 i
~o P
11:=ll-- - -- - - - - o -keAR [TOPV/EW]
0
0
\-- - - - - - - - / 0 -lllu.. SfA,!.w~
0

o
C
w ... .ii:a
V, D
m 0
r
m 0
Q 0
):,, z
z j
0 C.
"O [FRONT VIEW]
[SIDE VIEW) 0
r; z
z <(
t;
LU
J
LU
Vl
(FRONT VIEW] -

S•GNATlJRE
OATIS
Conlino«J/Opa. . 1W
~/27(2o?.1,
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
2 1
Flywheel Roller

We used a 4" flex wheel due to Its


wide diameter and high weight.

B Polycarbonate is placed on the top


and bottom of the Flex wheel to
prevent the roller from becoming a
fan.

The screw holes on the top


polycarbonate will allow us to
place an array of lock nuts to
VI
m
r
control the inertia of the roller
m
q Flywheel Gearing z
)>
z j
0 a.
'O 0
s;: We used a 5:1 instead of 6:1 (our z
Putt Jtem previous gearing) to balance the <t
z
, .. 601 Flex Whul change in diameter of the flex
wheel
);j
_J
2 Vtrnhub Adaptor w
l/)
Custom Potyurbonate
The 5:1 gearing additionally helps
VS Motor with simplicity since the motor has
Ass<lrttd Ge1rs less of a shift in speed due to
A 6 Asson:ed Metel S(Jucture
gearing.

A»Drttd Suindoffs A
114- squue shift
• Sh11'\C0J11rs
& 10 BtarfngAus
n/a
,,,,
~ 11 Assorted Sp•cers ,,,,
~
---..
12 Assoned Screws
13 "''
!
Assorted Nuts nla
1:5 _, 4of9

2 1

eon"'"""'° .... K
"'""
"61 Z-8'/2(:)z:z..
PROPRIETARY INFORMATION
DATE l( 28' 202."2-. PROPRIETARY INFORMATION
Continuedhom page ~

BUILD SOLUTION
Delivery Rebuild
TEST SOLUTION
~ Delivery Rebuild
~
We will build our planned solution so that we can test its
t...:::__} performance
~ We will test our solution so that we can evaluate the design's
performance.

Assembled Build Test 1: Accuracy Shot

Test Procedures
[ISOMETRIC VIEW] 1. Place Design in the center of the field, facing a goal
2. Tune Flywheel Velocity until the design can score in the goal
3. Shoot 5 discs in a row, counting the numb er of fails/successes
4. Record Results
Test Results (measured in success out of 5)

Trial 2 3 4 5 6 7
Delivery 5/5 5/5 4/5 5/5 5/5 5/5
Rebuild 4/5
Average: 4.71 Range: 1 z
0
f-
::,
_,
0
VI
Test 2: Roller Score f-
lfl
Test Procedures f-

1. Place Design adj acent to a roller, facing the furthest goal from the roller
2. Tune Flywheel Velocit y unt il the design can score in the goal
3. Shoot 5 discs in a row, counting the number of falls/successes
Test Results (measured in success out o f 5)

Trial
2 3 4 5 6 7
Delivery 3/5 3/5 3/5 2/5 4/5
Rebuild 4/5 3/5
Average: 3.14 Range: 2

Conbnu«J ro1»911

°"'"
[/zci/2.ozi
°"" ~/2A/'2_022 PROPRIETARY INFORMATION
Jl]O /rro (1,/1.,
°"" ~/3o fz._02,.L P;OPRIE;ARY INFORMATION
] 62 eon,,..,.,, __ IG I
ContKIWd from page
/ / Test 3: Quick Score

Test Procedures
1 Place Design on the center of the field
2 Tune Flywl1eel velocity and distance from goal until it is the closest
IDENTIFY PROBLEM
scorable distance with the lowest speed possible Intake & Lift Rebuild
3. Prepare Flywheel at target velocity and placement
4 Start Stopwatch and score 3 discs as quickly as possible.
5. Once the third disc has scored, stop stopwatch
~ We will identify areas of improvement with our Intake & lift so
5. Record results
C'._J that we can address it and improve our design's performance

Test Results (measured In seconds)


Problem Statement
Trial
2 3 4 5 6 7
Picking up discs isn't fully optimized for speed and pickup range. Reducing size
Delivery 2.32 2.63 2.81 2.94 2.35 2.58 and weight of intake can also be improved to reduce strain on drive motors.
Rebuild 2.72
Solution Constraints
Average: 2.62 Range: 0.62
-I * Must only use legal VEX Robotics Competition parts

0 E / Conclusion * Must fit within 18"x18"x18" cube


V,

,..0
C
I
Score Consistently from the autonomous line
* Must work with only 1 motor

~
-I Success Solution Criteria w
..J
0 Have the possibility to score from the roller a:i
z - Shoot three discs at an accelerated pace Success 0
Weigh less than 31bs Success * Must be able to pick up discs up to 6" off from the center of the robot a:
Success * Disc pickup speed improved by 20°"' or more
* Smaller and lighter by 20% or more than previous intake
Our Delivery Rebuild has succeeded by passing 4 out of 4 goals. We are excited 1-
to utilize it in quicker and more efficient skills and match games. zw
Q

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Con:..:___tintHldtopaga '/,

Cot'llinu.dt,page X
..,. 'g /31 /20J.-'L
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
BRAINSTORM SOLUTIONS
Above Delivery LS.LOI, v,e... , LIFT
Intake & Lift Rebuild - - - - - - - - - • Intake drops disc down into delivery from abovea ~ • "'~Ee.L

~
- Built to go up and around delivery . FLyw,,e,1,.

~
We will brainstorm possible solutions for the route of our intake
and lift rebuild so tha t we can select the best one for our team ,- --01'!<- P~ll-l
Possible Solutions - Intake Location 1 C.-L,.."-Ai\Jl'IIE.\.
Positives
Negatives
Delivery Side . Consistent
ll\JTAf(E .

-~
• Intake shares the same direction as the Delivery C~10~ VLEWJ . Low jam probability
Complex
. Heavy
(placed in the front of the robot) - FL1WH1:EL

Positives
Negatives
tl c - -(..•4flw k U.
t---F\,E,.v>ffEaL,
Underneath Delivery
- Disk enters delivery from coin
slot opening in the bottom of
delivery
z
. Easier to drive forwards
0
. More efficient pathing for disc
.
Added build complexity
i=
::::i
. Increased risk for damage ..J
pickup 0
U)
Positives :E
Negatives a:

Opposite of Delivery Side


Small & Light
Simple Increased jam risk ~
z
Compact Tuning difficulty <(
- Intake faces the opposite direction of the
Delivery a:
m
(placed in the bac k of the robot) Side of Delivery
- Disc enters delivery from the side
of the shooting direction
Positives
Negatives
Build simplicity
Reduced risk for damage Harder to drive backwards
More turning required between Positives
pickup and shoot Negatives
Space efficient
Possible Solutions - Lift Destination Low jam probability Difficult to build
Less optimized for driving paths

9/1/201-2. PROPRIETARY INFORMATION


-- - =-.. . _.)(_
..,. 9/1 /2.o2."L
'1I I / LO 2.:L PROPRIETARY INFORMATION
SELECT AND PLAN
Intake & Lift Rebuild Decision Matrix - Lift Destination

~
L::::_j
We will select the solution that is best for our Intake and Lift so
that we can plan how to build it
Size
Distance How much space is projected to be taken up
Simplicity How far disc travels before entering the delivery
Disc Rotation Number of moving parts in solution
Decision Matrix• Intake Location How much the disc needs to rotate throughout solution
Size Size Distance
Distance How much space is projected to be taken up Simplicity Disc Rot. Total
Simplicity How far disc travels before entering the delivery
Weight Number of moving parts in solution Above Delivery
Amount solution weighs
3 4 4 3 14
Size Distance Underneath
Simplicity Weight 5 5
Total Delivery 4 5 19
Delivery Side 5
tn 4 4 Side of 3 5
5 18 3
m
r
Delivery 12
m z
q Opp. Delivery
Side
3 4 5 :3
)> 4 16 We will be using a Delivery Side Intake and an Underneath Delivery Lift. C.
z 0
0 z
<(
"
~
z
Due to all of the information collected the last time we build an intake and lift
mechanism we have knowledge about what works and what doesn't. For this
t:;
reason we will not be prototyping this time and instead apply our previous
_,
w
w
knowledge to make the best solution for this scenario. tn

This means we will:


Use 30a flex wheels as they were proven to be the best for intaking
Rubber band roller in area t hat has steep angle change and needs less
compression
Have a hinged intake with a back plate
Keep the chain tensioned by using the same pivot point the 2nd roller is on
Run the intake at 600 rpm

eon.,,-,._. /b
SIONATUffE -- - /-
- _eon,,,,_,.,"'!"')b'&
OISa.0StD TON«JIICIOIST0a)r,

~;..-c. ~ Uc.j\J,
DAT<
~~
otSCios£o TO.-..'Cl
UNOfffiTOOO !IY
DA,. °',p/2.D2,2
9/2./UJVL PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
7

j Sketch Plan / ~---


/ CAD Plan
b

f-C.-C.U A.VN€ t, [TOP VIEW] [ISOMETRIC VIEW]

nf -Fl-fxwHG£l,
-SH,1Ff

lJ
---=---::~-=1.:==---=:___~or~
- [TOPVIEW]

f---->I,.,

.C-o -PoL1<.MJloN,'!il,
Cl
z
~
D
D =::-ft.e~ W tt i:'t;:t-
:sa.
[FRONT VIEW) 0
i==:=:::f O ::=J._<;,l~F'f z
0 cl:
0 ti
UJ
...J
0 -Mon,a. UJ
0 Vl

: 0
[FRONT VIEW] -
0

~I==== =i= 0

f-0-0={]-
DlSO.osEo T l ) A . t , O ~ lrY ~ ..!=:""'""""-/Jo
-~ ~ "'" Wq {'2..0L-l
PROPRIETARY INFORMATION "'"
':U'-!/Z.02-2 PROPRIETARY INFORMAT ION
2 1
BUILD SOLUTION
- - - - - - -- - - Intake & Lift Rebuild

~
t..:'..:_J We will build our planned solution so that we can test its
performance

B I Assembled Build

[TOP VIEW]
[ISOMETRIC VIEW]

Qu•ntlty

lOW-Slfflghc Stwft

......
AuonHI Mtt.l Structure I

1:3.s -· s or 9

1
CM/Jflllfldtip,,g.

&~
O!SCI.OSED TO AND UNDERSTOOD D'f' ....
o,TE
q;rs/m2-'-- .
PROPRIETARY INFORMATION
915/1.D'l-'Z- PROPRIETARY INFORMATION
TEST SOLUTION
Test 3: Rapid Collection
Intake & Lift Rebuild

EJ We will test our solution so that we can evaluate the Intake and
lift's erformance.
Test 1; Floor to Score
Test Procedures
1. Place robot onto field
2. Line up three discs in a straight row touching each other
3. Set intake velocity to 127
Test Procedures
4. Drive the robot into all three at full speed
1. Place design on field and s• away from a disc, facing the disc.
5. Record time from when the robot first touches the discs to when all 3 are in
2. Set design motor velocity to 127 and start stopwatch the delivery mechanism
3. Slowly push disc towards design. Test Results (measured in seconds)
4. Once disc has broken the plane of the delivery floor, stop stopwatch
4. Record Results
Trial 2
Test Results (measured in seconds) 3 4 5 6 7
Trial 2 3 Intake & Lift 1.3 1.2 1.2 1.2 1.3 1.2
4 5 6 Rebuild 1.3
7
Intake & Lift .42 .36 .31 .43
Rebuild .32 .34 .39
;;l Average: 1.24 Range: .1
~
V,
0
r
~
Average: .39 Range: .11

Test 2: Alignment forgiveness


II Conclusion
Floor to score
I
Alignment forgiveness "Liccess
z
0
j::
::,
_J
0
0 Collect 3 discs in 2 seconds Fall V)

z Test Procedures Weigh less than 1lb c;.., ess !ii


l!.J
f-
1. Place discs on field in alternating pattern a• apart per disc
2. Have the robot on field
Our intake & lift has performed well in all areas except alignment forgiveness.
3. Set intake velocity to 127 and drive the robot in a straight line We will address this with and improvement later to fix the problem of discs not
4 . Record if the discs were picked up or not despite being offset from robot funneling in as well as we would like.

Test Results (Pass\ / / FailX )


Trial 2 3 4 5 6 7
Intake & Lift \/ X \/ X X X
Rebuild 't/
Success rate: 42%

Conllnwdto-113
COlltinUfJd topagoX
OCSCloSmTOA,,a)LNJOISTOOoBY

~ ffc,,).ov DISCLOS,fp TO '-ND U~TOOO av "'"<rIb}2D'1--1-


PROPRIETARY INFORMATION
~ tr,,,..y+ PROPRIETARY INFORMATION
IMPROVEMENT
Intake & Lift Flapper -----------..1 REBUILD
We will add a deceleration mechanism above the intake to prevent Roller Rebuild
discs from leaving the robot
We will rebuild the Roller subsystem from our original design so
~
r,:::==:-i A custom polycarbonate flap can reduce the speed of the discs when
the are moving out of the intake and into the delivery. Also it will push
them down into place thus increasing consistency
that we can utilize the roller for skills and match play.

c.s1oe vrEwJ ! / Overview

----or~c. - We have a 3 inch, 45a Flex-wheel placed in line with


Y'"/"<---c.-u,

9',~ee.
r, ,
a- o
I field rollers. Wheel will be geared down for strength

- The Roller wheel sh ares the same motor as the


Intake and lift
~ I 0
a
a

I
0
- The two tall c-channels at the back of the robot will
[ Solution be used to mount the roller D
D

Using a hinge and rubber band back


I D
0
0
0 /
stopper we made the deceleration flap. It
helps the discs into place properly as
expected. Frosting the polycarbonate
! - The Roller wheel is driven by a high-strength
allowed the discs to slide more smoothly
as well. I shaft. This means it will not be prone to
bending when ramming into rollers and better
support the flex wheel.

!
'

.,,.,..
""'"""~ ~
~~
ConfXM.Jedtopago 'f..
0ISCl.OSm T O . A H O ~ Bl'

~ p ~y PROPRIETARY INFORMATION
oiSClosEP lDMo UNDEft!rooo av

ty~ PROPRIETARY INFORMATION


IDENTIFY PROBLEM
Endgame Rebuild
BRAINSTORM SOLUTIONS
~ We will Identify areas of improvement with our Endgame so that Endgame Rebuild
t..=:_J we can address it and create a better solution
~
~
We will brainstorm possible solutions for our Endgame rebuild so
that we can select the best one for our team
Possible Solutions
Problem Statement

We will decrease the size and weight of our String Shooter


previous endgame launch mechanism so that we - Weight rubber banded forwards with
can have a more efficient design string attached

6 Solution Constraints
m
2: Posit ives
-I Negatives
~ • Must only use legal VEX Robotics Competition parts
• Must fit within 18"xl a·x1 a· cube - High launch power
"O - Possible early release
:0 * Must work with only pneumatic components Easy to load
0 Large
CD • Utilizes string to cover tiles - Heavy
r-
m
I: Solution Criteria

Catapult
• Measures less than s• in length
- Rubber Bands pull lever with weight on
• Weighs less than ¼ lb for one mechanism other end
• Cannot release early
- String attached launches along with weight

- Most common design at MOA

Positives 1
Negat ives
- High launch power
- Simple
-
Doesn't always shoot straight
Prone to launch early

-- """"'....,...,.i7l(
DATE

9/9/W22.
•.,. ct/Jrf7.,o2,1.,
PROPRIETARY INFORMATION
CoolNlued from~
Slingshot
- Rubber Band pulled back wi th weight in
front
- Held back by pin on hinge
SELECT AND PLAN
Endgame Rebuild
~
l::..J We Will select the solution that is best for our Endgame so that we
can plan how to build it
Positives
I N egat ives
- Space efficient
- Decision Matrix - Intake Location
- Early release proof Launch power
- Light Size
Distance How much space is projected to be taken up
Simplicity How far endgame deploys before contacting the ground
Consistency Number of moving parts in solution
How reliable the design is
m Drop Anchor
:0
l> - Metal weight with string spool Size Distance Simplicity
z attached Consistency Total

~
:0 - Second most popular design at
String Shooter 2 5 4 5 16
~ MOA
V1
0 Catapult
z
r 4 5 5
C 3 3 a.
~ 15
Positives 0
6 Negatives z<(
:z Slingshot 5 4
Simple 4 5 18 I-
u
Ease of build Low point potential w
Requires robot movement for Drop Anchor ...J
w
4 2 5
expansion 3 V1
14
The slingshot solution checked the most boxes overall and wlll help us to improve
our scoring opportunities during endgame. We chose to not prototype for this
decision because we have enough previous experience to know what works and
what doesn't for endgame.

Con-.,,,... Jg0
OISCl.OSCDTO»«J~wr

~ .Jf~ oisc~o:sEO rOm:, UNDERSToot> sv DATE 9/l~)w2.2_


~ /Yo.yB.vy "'"
?/12.lzozz. PROPRIETARY INFORMATION
Con.,,_,...,,,,... 80

[FRONT VIEW] 2
1
sr,<-c.~

fi"'E~:~~~~!,
~
D cl 0 !,t.~W
C.F~
a 0 0
C.'\,\<~"1£1.,
D D
a () u - sPflt.eR
D
- ~ ew D
0 0 0
D D
a 0 0
(1:n ➔
~1 •o~ B D D
tl O 0
D
B
0
D
V,
m
r-
I
CAD P la n D D 0
0

m [iOP VIEW]
Q [ISOMETRIC VIEW]
)> z
z ::5
0 Q.
1)
0
s; z
z D 0
<i:
0 0 D 0 ~
u
w
0 0 D □ a D 0
.J
D UJ
V)

[FRONT VIEW] Part# Item


[SIDE VIEW] Quantity
A Dou ble Acting
Pneumatic Cylender
A
2 Assorted Metal
Structure 5
4 Assorted screws nla
0 0 0 □ 0 0
s Assorted Nuts nla
6 Bea ring Flats
0 0 0 0 0 □ 0 0 2
1:1.5 7of 9

....
ConWIUtldlO~•

.... q} j l\ /2__o2..,1- I --
r
~-~ ~
Oi$C\OSEO TOMO UNtltR.SfOOO l'I'
2 1
_
.."q/l~/2.o),2,
Conlinwdto- 1<[2,,.
.
'1!14/2on.
~ ,fY~ra_.,q;;,-
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
- String storage is integrated below
the launch mechanism and is
inside a 1 x3x8 C channel.
BUILD SOLUTION
Endgame Rebuild

~
- String is coiled up and then

~
pressed into the C channel slot We will build our planned solution so that we can test its
performance
- Friction holds the string in for
match play but can still release for
expansion Assembled Build

[TOP VIEW]
[ISOMETRIC VIEW]

V, -1 #64 and 1 #32 rubber bands are


m
r loaded to launch t he weight
m
Q - Provides the right amount of tension
)>
z to reach the other side of t he field
0
ID
s;:" - The weight has a hook to hold onto
the bands to serve as a simpler
C
;=
z 0
slingshot pocket 000 000 00 V,
0
r
C
::l
0
z
- a Pneumatic cylinder holds down 2 [FRONT VIEW] [SIDE VIEW]
endgame mechanisms in place

- Long 3rd class lever located on


launch mechanism provides
mechanical advantage for preventing
early release.

- Pin goes into the metal weight


making the possibility of early
release 0%

-~ ~
DtSCLOs:m-TO~U<CIER.SToCX>rt
S!aNATURE W)- ~
01$ClOS[OTOAMll.O,D~
~ - "°"""""'"'-)(.
..,. 9-/15/2.oJ..1- -
PROPRIETARY INFORMATION
9/IS/roz_z_ PROPRIETARY INFORMATION
TEST SOLUTION
Endgame Rebuild Test 3: Early Release
~
c:::...J We will test our solution so that we can evaluate the design's
performance. Test Procedures
1. Load all endgame mechanisms
iest 1: Expansion Time 2. Shake robot around for 30 seconds
3. Record if any string came out or any mechanisms shot early
Test Procedures
Test Results (Pass\ / / FailX J
1. Load all endgame mechanisms
2. Have a stopwatch and the drive program running Trial
2 3 4 5
3. Press to release the endgame and record expansion time 6 7
Early launch \/
Test Results (measured in seconds) V V V V V V
Trial
2 3 4 Success rate: 1 00%
5 6 7
Slingshot .4 .4 .4 .5 .4
Expander .4 .4 Conclusion
z
0
i= Average: .41 Range: 0.1 - Expansion time
::> Success
...J - Total tile coverage Success
0 - Early release
ti) Su cess
Test 2: Tile Coverage
m
.... Our Endga_me Rebuild has succeeded by passing 3 out of 3 goals. We are
Test Procedures pleased with these results and will move onto improving other parts of the
robot.
1. Load all endgame mechanism
2. Launch endgame from corner of field facing out
3. Record total# of tiles covered

Test Results (measured in inches)

Trial
2 3 4 5 6 7
Slingshot 18 20 17 17 19 18
Expander 21

Average: 18.5 Range:4

-- - eo..,,_.,,,_x
DISClosED ro At-0 UNO£ASTQOO IY
..,. q/Jb/1..CJ22.. -
PROPRIETARY INFORMATION
9."1 \Q. I WZ.7... PROPRIETARY INFORMATION
IMPROVEMENT
Drivetrain Wedges
IMPROVEMENT
a We will Identify and solve a problem with our Drivetrain so that we
can have a more efficient design. Delivery Deflector

C We will find a problem with our Delivery so that we can solve ii


and have a more effective design.
/ Concept J The robot must be able to gain pushing power against opposing
robots through the use of a wedge.

~ The robot must have the ability to adjust the arc of discs in order to
C!>IOE VJE.,.;:J ~ score from closer or further from the goal
~ ~ r~~i-..~ - - 4 E----
ro..:.,.

IT] 0-~ CillJ ~1i]g---= F4


w--Rt£,. LJ't'
I- ~~~L
o~~T
[ Solution / l___ --Afw~r-----~
We have added two high-strength shafts
at an incline at the back of the drivetrain
to gain pushing power against other
robots
We have added an actuating
The wedge works by changing the polycarbonate plate to the end of the
delivery.
direction of force more upwards than
horizontal.
The polycarbonate steepens thee slope
of the disc's trajectory, giving it a higher
This, as a result, reduces the horizontal upwards direction
pushing power against our design and
allows us to push further with less force. Because the deflector runs on a
pneumatic piston, it can be toggled up
and down.

aiiiww
ConllnuedlOP"9' 'f-
DATE

9/ 17/W7./2-
C,/1 V u:ru,.
°",. ~/ fl{L..02.J.. PROPRIETARY INFORMATION
om q/j ~/1.o2."2_ PROPRIETARY INFORMATION
IMPROVEMENT
Intake Funnel
IMPROVEMENT
EJ We will identify a problem with our Intake & Lift so that we can address it
and have a more consistent and lenient design. Match Loader

El We will implement a new match loading system to improve the


efficiency of overall disc intake
Concept The robot must be able to redirect discs towards the front of the
intake to prevent driving on discs

~
~
The robot must be able to funnel match load discs directly into the
Delivery
c: td'vrewJ

Motl!
l B O h < .~
oa1m:y
f'oi.ll'/IGlui<e
l!,a~T

Af tc.r
..~•
.

We have attached a polycarbonate on


either side of the intake, facing the intake
to widen our intake range and prevent
driving on discs.
We have added a polycarbonate ramp
that extends that of the match load
Discs that would have been driven over station.
are redirected to the center of the Intake
The polycarbonate ramp funnels match
load discs into the back of the Delivery.

ConlilluedlOPM}IJ

917.()Jzon 9/z-1/zoz:z...
"""' ~/7.JJ/2.tJ U PROPRIETARY INFORMATION
"""ct/1_//LOLL. PROPRIETARY INFORMATION
Contlnuod from pagG

IMPROVEMENT
Roller Arrangement Prototype Testing

We will identify and solve a problem with our Roller so that we To determine the correct flex-wheel variant we have run the roller wi th all
available densities. '
can address it and have a more consistent design.
45a 30a
60a

~
~
The robot m ust be able to claim a roller that is blocked by an
opposing robot's "wings".

CTc,P V[E1uJ

~ Test Procedures
1. Place prototype against a freld roller and set target velocity to 127
/ Solution /
2. Start motor and stopwatch. Once the roller has rotated 360 deg, stop stopwatch.
3. Repeat 5 times and record average time of stopwatch
We have added a Flex wheel roller to Test Results (in seconds and observations)
each side of the robot so that the area
of potential contact with rollers Flex-wheel type Time to spin roller (in seconds)
Observation of strain*
expands from 3 inches to 12.
45a 0.63
Both flex wheels are placed x in from Somewhat strenuous
the middle. 30a 0 72
Large amount of strain
The density variant of Flex-wheel is yet 60a 0.52
Little to no strain
to be determined. We will decide the
right type o f roller by examining each in • Diffic ulty overcoming field ro ller screws.
perfonmance.

. ___....,..__.../ Conclusion

We will use the 60a flex-wheel density for our Roller Improvement because it has
the least strain and time to claim a roller. We are excited to utilize our new
flex-wheel arrangement and density in driver, and autonomous control.

..
~ ~~
OSCI..OSU>TON«ltJNOf.MTOOOIY L()
••ri 9/2-y(2.o22.
c.,,.,_,.,....,
PROPRIETARY INFORMATION
~ -rp ~ qh'i /1.ffl,1, PROPRIETARY INFORMATION
Con,,,,_, __ )'/2
PROGRAM ENDGAME
Set Target Time

~ We will automate the process of endgame expansion so that we Calculates t_


h e targe_t time and assigns it to the integer "targetTime"
Uses the unit ~f m1ll1seconds (1000 milliseconds = 1 second}
t..='.:_j can ensure it deploys every time for skills and match play.
r----------. Adds current time to 1 minute 45 seconds - 1o ms
General Overview
Only runs this action once per match
- The Endgame e~pansion must happen before a given match ends.
Calculates the time left and expands within the last 1Oms of the match
- Flowchart : f Reach Target Time l
Waits un~il cu:rent time is equal to or greater than target time
Match Driver Enabled If target time 1s not reached, wait 10 ms and check again
Loop remains active while the target time is greater than the current
Once target time is reached, there are 1 Oms left in the match
Set target time to
current time + f Deploy Endgame
1 min 45s -
10ms - Sends piston command to expand endgame mechanism

~
No
1 'incl ude "aaln.h•
2 // Oe/fne t~ tf.tt ~adirtg ot thr Har, of dr-i"~r c tl"O(
3 int st.1rn1~. .1 ·

II St orr the lrngth of thr ctr(1,1er control trcn,,.hnq i;i,, "'1'14 Jt.i!r hr
f"'Obot ts fo sHLLs or .atch ploy
6 int _,.t chT1at•8 ;
Deploy Endgame Mechanism
8 //De/foe"°" aony 111Httsrconds froa the end of th,r tia,r t~ r"Obot
will depfoy

10

11 / / ··------ ---· · --- ZS IT OVER/··-- · -· ...•• • . - /I


Match Ends 12 / / Retur1u t.hf!t~r !ts t!ft to deploy
1J II loVHs utttil 5S.S beforr the aotch rnds to l"t'turn true
14 / / CkitiL thrn~ rt"turn faLsr

0
lS bool isltOver(){
16 return pros: :r.Ulis()>Shrtl i11e+ll.o)tchTi•e-t111eLeft;
17
18

eon""'°""',,... I'/ '1


PROPRIETARY INFORMATION
~/26/ZO'lZ.
PROPRIETARY INFORMATION
11 II -- ............... CMJ GA.'fl OEPL.OY INirIALilE --------------- I/
20 // Choous thr J110tcll ti•r boif!'d on tht outona.ous of tht' user's
chOkr
21
21
II If Sl-U(s h chosen. tht t{llf ts 1 ...tn
II If o "'0tch PLO.lo' autono-ous is ChOHII~ tht ti.ft ts 1 •in, 45 Ste
PROGRAM DISC STACK
U void •ndG.atlfOtplo)'Jnit()(
24 / / StON> tflr tuit" (ht' drtvt"r cot11roL stort('d
l.5 s.urttt...pros: :all Us();
r,::::::;-i We will use sensors to determine the number of discs in the robot so
l1

21
n
30
tf(,lutoS•l-·skUls"')
Ntchn~seoe;
•h• lf(.1utoSdt••")
0
II Chongr thr lttngth of tht .oteh bastd
chonn

2
°" whtch auto/10l!IJ0Us ws t..:::::_J
,~_G_e_n_e-ra_l_O
that we cannot break the possession limit of 3 discs.
_v_e_rv-ie-w--,1

31 utchllat•18000; A line tracker placed adjacent to the third disc in delivery storage checks for light
32 I - If the line tracker reads darkness, there is a stack of 3 discs in front of the sensor
..
33 Diagram:

lS
36
37
38
39
II Otploy tht" endg~ •echantsa {f its r~ to
"°Id ondG...O.ploy{)(
1-f(lsltOvl'r() && st.1rtTh1el • -l)
1etRoller(127);
0
II -------------•--- ENO GAME DEPLOY MA.IN -----·--········· II

3 1 Disc
Scenarios
2 Discs 3 Discs
••
41 0------
B v'
Returns •/ X
0 Determine if it is
time to deploy 0 Determine whether its
timed for skills or
match
0 Composite all factors
into full function
Returns Returns

Key
D-
Line Line tracker
__'
(.....
Disc
Tracker laser

When the Line Tracker returns X, turn off the Intake.

"L ______________________ -===:;,=. ~~:J


'---=~------------------------~~mn, ----=
SIG."'-A~ =- m....
.... eoo,,.,.,,m,... 19 G
_ 91'2{, IZO 'Z.-2... '1 h..7h..oi.z.
om <t/'2.b )2o2J.. PROPRIETARY INFORMATION o.i, tt/2.1/z_o'},.')_ PROPRIETARY INFORMATION
EJ 59 lnt thirdOhctnTl-e■o;
a
61
ti& / / ................. -· SH INTAXE
// Set up dl'tvt>,- (11put co aotor
LIFT & ROLLER HOTOR ------ - ----- ---- / /
PROGRAM SELECTOR
62
61

....
64
•s
'VOid H UolltrNotor(){

l f (~tl l>fryfol l o..1e.1.i_••1ue() <Z608)


third01HtnT1111f-t•lO;
0 C7
~
•he We will create an autonomous selection program so that we can have

..
67
thlrdDhcl nTlo<• O; ~

0 - -------~
more time to strategize an autonomous will our alliance partner.

CD
General Overview
boot fUllload•thlrdDh cl nTl. ., 100;
78
71
II Ottf{M the spud of thr Ltft The autonomous seJector will be run on the control/er for efficiency
72
73
lnt PoW<r; 3 Up to 8 match autonomous programs are selectable
74
,,, s.-t thr spnd bond on drtvtr tnput
The program will also give the option to select our alliance
75 Due to there only being 3 lines on the controller screen, the selection must happen
in 3 steps
,. PQwc-r-127• (controller. &et_di 1ltal(0I GITAL_ll)&& I cont r ol ler. 1et_diglUl (DI GITAL_R.2)&&I fuULo•d).
117• ( controlltr.1et_di1ttal (DIGIT Al_l 2)&& I controllrr .e;et_dta t t al (0IGITAL_R2 )); - Tree Graph:

--
n powr-•121 • (controUer,gu_digital(DlGITAL_ll)&&lcontr oller .1et _ dtgit al(Dl GITAL_R2)a&ful U o.id) ;
Controller Screen

..
18 II Appl)' the lolt'Loctty of tM the Ltft

-
79 setltoller(powr);
)
11

( ] ( )
0
Red Alliance

-
Blue Alliance

0 Determine if t here
is a third disc in
Remove consideration
of passing discs 0 Lock out forward
....
...--
-~ -
the robot m ovement when t here
is a third disc
-- ---

Comrnu«Jtof)a!J'I "f.

9f1..q/t,Q7/l..
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
Alliance Selection

Decides which alliance we are on ::: } setUpPa1<!Type(pi1£eQ, PalgeTypC!', Sele);


- Stores data in the variable "alliance" 126 //Five Optf,ons
Used in autonomous for when the design claims rollers m
Default alliance is Red

Side Setup
131 //Four Dptfons
132
- Determines which side of the field the design is on vold setllpP•1e(std::strin1 P-lleQ, 5td::str-ing P•ieTne, std::strin ••
std: :str1n1 b. std: :strtnc c, std: :string d){ 1
Stored in the string "autoSel" with initials 't: for left and 'R' for right
- Used to determine general robot path
133 ,,..,
std::stritli Sde{J•{•,b,c,d,"-•,"--'"}; //(~rt Arroy for options t.n

- Default side is left m


116 //Thrtt 0ptfons

f Route Choice 137 ...Old Sl'tUpP•1,e(std::nrJn1 P•ltQ, std::ndna p.1,er;-~. Std::strJng ••


std::stri n1 b, std::st,-Jng c)(
2
138 std::strln1 selC{J•(ill,b,c,·-•.•....•.•---"}; //Crtote Array for options
ill P09t
- Holds the general autonomous routes
148
- Appended to the string "autoSel" with init ials of each action 141 //rwo ~tt.o,is
- Each setup has 4 route options
- Although we do not have 8 match programs, we will have the resources to 142 void HtUpP•lt"(Std::strJng P•leQ. Std::strinJ P.l&flypto,. std;:strln& ••
std: !StrJr,g b)(
select each one once we do.
143 std::strlntr ~lC{J•{a,b,·-·,•--"',".. -·,•-- •"}; //Crtott Array for
options 111 po~

145
r,:::,
~
The following is an excerpt of our line setup. Full program is
in the Programming Appendix
146 //Orrt Opt {a,,
147 void setUpPo1e,(st1::ss:ririg P•B~, :nd:•str1,,, p>ror,-pe,, sto :strln4 a)(
18J // -- -- SH UP P~GE - - --- -- - /I 148 std::.strin1 s.tle(J•h,"••,•--•,•---·,• .•.•............, 1/(l'ff."r Arrov
181 •I ~t up arro>'S based off Utputtd lnfor-.atton for options t,, po~•
1&9 voJd ,etUpP1aeT)'pe(std: .st,-Jng pageq, std:: strin1 pageType, std:: str1ne 149 SttlipPagHv;i~(r.irf'Q, P.t~Tvpe, HlC)
sdC[J){ 158
118 lS1

0
H(p,11e••p.ag~)( //Jf the- page (n question b the octuol page
Ul updattltow(HIC); 152 II •·--••----•- ••· INITlAl.r,.~f - - • -•- -- /
11' 153 / / CLror tl:P scrc«-n Or>d print starttnq te,~
11J r1ght8utton(); 154
114 leUButton(), 155 void JnltUtu~u()(
11> blutton(), 156 prfotR~Cente,-(2,.tutoSd);
lS7
116 1f(page-Type I•"Info")
lSS
117 aBut"ton(ulC); 159
lll )
Jt9 ) 160 II---·-----·-----·· ICAJN ·--- ····----·- -· II
128 161 II AU oth«-r /uricttons brorich off fro- the ao(n /unct(on
1152 voJd tontrollPrOispby~l()(
121 //Sb Opttons
163 in1Ullzffltnu(); / / Intt(ot.fu t~ controUtr sc~rn
121 void ntUpPilge(std:: stt"in&: pageQ. std: :strin1 p•gelype, std: :string a , 164 wt!Ue(true){ I/ .,.,,,Ue tilt- butt°" r U nor presnd
std: :str!n1 b, std: :str'in1 c, std: :.nrin1 d, std: :str-Jng e, std: :stdna 165 II Print poges
f){
166 II Pt19e 10 Poge Ible Op. J Op. 1.
UJ std~~strina ulC(]•{a,b,c,d,e.,f}; //Create Ar'roy for options ill page Op. J
Op. 4 Op. S Op. 6
167

"""""-"' Contint.Hldlo~

IOI5/2<.flz
°"'"' la/'5 /2.cJl.7-., PROPRIETARY INFORMATION
.... la/ fi(2oi2.
l0/S/U:l/.2-
PRoPR1erARY INFORMATION
199
..
161
, lftllpP.111e("'~~•,
"'Lon1•);
Corninv«Jitompa,- }(..

170 sttlJpP•se("llue•. 11---2


"lone");
//---1
"'
"'
'"
>f'tUJ'Po11t("Short ",
,•.1_STDN");
H-tUN'ast( "Lona· I
"Stl«t" • ".11_LIIDART" 1 "v_l.80~1\T",
//·----3 0 PROGRAM SOLUTION
Win Point Improved

"'
,ns
•1_L8°""):

HtUpP~,:e("Skills" •
"'S!r;llls");
"Sehct",
/l···--1
El We will create an autonomous that scores the autonomous win
point so that we can earn an additional win point during a match
/'"-P-ro_g_r_a_m_ R_o_u_
te--J~
ll•--1
176 pros::deby(lO):
177

0 Determine which
line the user is on 0 Allow dynamic
autonomous count for
each side
0 Declare each
autonomous program
* Start
o · •Score Disc
a--Spin Roller

Anticipated Points: 60

Scored Discs: 8
Claimed Rollers : 2

Discs in robot after time : 0

Start

Claim bottom Roller and drive to autonomous line to score preloads

.__ _ __ _P_ic
_k_ up discs from the stack of three and score discs - "===:J
Pick up discs from the line of three and claim top roller while scoring discs

SIGK,\TIJf\£
_ __
DATE

IC,/ 5 (Ufl.1-
OATE II'\/ d,, ~· -, 10/6/70?.1-
l>--f :l/ L>J <,,- t- PROPRIETARY INFORMATION
"'" )O/b/2021.. PROPRIETARY INFORMATION
l .

•incluu, Hln ,h"'


••
'
..
47
II ·-··- CLAIH TOP ROLLER ••• __ II
I void • ~L""'"10( 48
Turnl0Angle(22s,11e); II rurn towards rolL,r
•· • II •·•• 1'll1'<1ll AVTOl\'OHOCJS • • • • II setRoller(e); II Stop L(ft
'6 N tctiOrh<'•H• tSUtt((3!>_1n, 9,S_in>); / / PrcLar~ robot's pos!tfon
\ft\tioott"r( U 7); II P"po~ Oftl\ltry to sea,.,. pr~loods
S0
SI
SwtngTurn(.,RJght•, 278); // Unt> up w(th roller


'
I
S2
S3
setDr!ve(-98,-98); // Drive into rotter

- 10
• II •••••• •••·•• •••••• STEP J .•• • ••• • • •• •••••••• • II S4
ss
pros::delay(688); / / lrl'att for robot ta arrtve at roltt"r
qulcli:Roller(); // Ru11 Roller claia code

II S6
II ••·•• CIAIII IIOTJGW ROHER • • ••• I I II ••••• SCO•E OISCS ••••• II

0
u qtJJ<Utoll•r-O: // Run RoLLrr Clot11 functton 57 t1aUM.1ry(l,l65); // Score discs
II SB
••
I\
II • ... SCO/lf PRELOADS •···· II
s,

0
Swlnaturn(•terr, 45) ; // Swing tur n tOtlOrds stac.-. of dtscs
••

17
II
19
pros::d•l•y(6eo); II Watt for turn to stttL,:
~"tObt t,nce,(11,58); // Dr(vr away / f"OII rotter

r:;\
0 Claim bottom
roller Score preloads
0 Collect stack of discs

- lt
turntoPo1nt (20, 125); // Tum tOf/lOrds outonOll'us ltnr
~•1111,ry(l, l&a) ; II Score pr,toods 'J 2
"
. X
, .
22
JJ
II ••••••••• • •••••••• STEP 2 •••••••.•••••••••••• II

II ·•··· PICK UP DISCS •·· •• II


16
5t'tShooter(9S); / / Prepo~ /Lywhrrt

" JurnTO'-t,clo(SG); II Turn teh."tJrds .stac.\- of d(scs

0
ll
pro1::deby(2eo) , // .,'att for turn to srt t lt
19
w SMRollrr(U7); // P,-.partt lift to ptc• of dbcs
II "°"e<>ht.>nce(48, ,.O); /I Drillr fot o d fsn
Jl
ll
.. I/ •·· >CME DISCS •··• II
furnToPoint(le, 125); // Turn t o..."Ords goal
p s
6
h;,ill'l,,ry(3,l35); / / Score dhcs

'
' I/ •··•··•··•··•··· •• S TEP 3 •··· · · · ············· II

e II ··•·· PI O. UP OlSCS - - -·· / /


l \ etShooter-(108); // Prepare fly..heet
•2 lurnTOAngle(37); II rurn towards rotter of dlscs
'3 s-ttRoller-(127); II Prepare lift to ptck up d(scs

"
.,a Hc,,.eOisUl"lce(l00); / / ,lofove through d(scs

CotifinuedroJ»f10 J(

PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
PROGRAM DISTA NCE RESET
8
~
- Prepares all foundational values for program
We will create a program that calculates the robot's distance from a -theIncludes
C'._J wall using distance sensors value ofconstant values of position with regard to sensors and changing values of
the sensors
~.--
G-e-n e
_ra
_l O
_ v_e_rv
_i_e _w--./

- Used to reset robot posit ion during the skills autonomous period
- Two dist ance sensors, spaced evenly from the center, are used
8
Angle is direction of the robot in relation to the wall
- Distance from wall is calculated from the product of the robot's angle and the It is calculated by the inverse tangent of overall distance over length between
average distance from the wall Measured in radians
- Diagram :

wall - Name Variable Formula I


Position I
- s,
Left Distance SI Value of Left Position is a vector w ith a magnitude of Sm and direction of 0
Sr Distance Sensor The horizontal component (distance from wall) is measured by cos{O)*Sm
Measured in inches
Right Sr Value of Right
Orn Distance
Distance Sensor
Robot
Length Dt 5.5 inches
between
L.. Sensors

Dt Length offset Dm 6.8 inches

Overall Sm (SI+ )
distance
- 2-
Sm
Angle 0 atan(Sm/Dr)

Position St cos@•srn
[ Robot

"'"
""""'"""'°-J Conbno"'1to- U{;
DATE
lo/q /20 z.7,.
I011o! zoi 'Z..
PROPRIETARY INFORMATION
"'"' lo lo(2o2-l..._ PROPRIETARY INFORMAT10N
r,::::::--i
~
The following is an excerpt of our main align function. Full program is
the Programming Appendix
111
PROGRAM SOLUTION
.."
17

,.."
d1'Un0Ltft••O.tlu111;
dl,tnuAlCht ••I.Oltl711;
0
rolnU tt,..,.IOht ''-~(lil~bl• dlt,t•nu•Ltft, double d1st•ntelt1ght){

1
~
~
Skills
We Willhcreate an autonomous that utilizes all 60s of skills so that
we can ave a high composite skills score
II ••u• C:.fr VAU~S • ·• II lr ~-r_o_g_ra_m
_R_o_u_te--....,J
ltl
II rvsrtSidt stnJo..~11tuirlront(d(sranuLe/c,dbtanceR(ght,S.S,l9); // Stnsor- Va~uts based or,

,..
Ill
llJ ,..HtUd• u"sorY11uerront(dlstanceltrt,dlstancelHght,6.336,6.883l5); // sirn.so· Va(11cs baHd on

,..
Hf1'1,orvo1tu.t l"Ont. hf trront • •Hn1orYo1luer ront ,oHsetCfflter;
11$
n-nsorv• l~t ront . r 1&hllacIi. • • s ensorva 1utr ront , of rse t Center; * Start
,.,
,.....
po.lnU l'ull( •H, •10, ..10);
..,_ Drive Forward
0 · · Score Disc
tt (,ffl)Of'V•l~rNfflt ,lC'ftFront---1 11 stnsorYalutfroot.rlghtB.ack.•••l)
,..htf'fl null; - - - Spin Roller
111
111
II . ·H•• .••• THlTA VAt.uE -·-··-- ··- II
lU / / •••u T1flAM:i{E 1/ta<f TIW'ElOIO ...... / /
llJ
,,. doubl• bHff •SfthSOt'Valutfront ,dhtanc•Apart;
Anticipated Points : 174
11'
doubl• hti&htr • nt1sor"V•luefront. lPftrront•Jt'nsorVllurfront.rlgtitetck; Scored Discs : 16
to....,. o""1 .saoH•r dUto1ct' vatuu Claimed Rollers : 4
"' r-::\ Covered Tiles : 18
111
111
u•
uo
/ / ....... SOU'i fklNrGlE Jto\l(itt / GET 111UA ..
dol,ol• th•t.V1l • (lftf...UV,l(b1Stl,h•lt1htf))1
I/
0 Discs in robot after time : O
// •••·••••• A/Y VAUit • • u ..... II
Ul
II •.•. '"'""'" 'Dll K/Y VAUit ··••• II
U2
doubl• h)'pof • (unscrV,luef ront, leftFrMt•s,,,sorvalutfront .r1Jht8tck)/2;
1U
u•
U>
.( u Claim Bottom and Left Roller
✓ • SDil.H 84Sf LENGTH / Gt r x.;r ..
12 doubl• "'-"""'•t'flXY\lll(hypof ,an1r);
UJ

5 U9
no
lll
.// ca,,,,,nss lhlOR.'fA1JON .......
potntZ ,..,ult(n"-l-, thot1Vl1,0);
/I
-------- Score Preloads and Bottom Match Loads

~
IU
Pick up and score row of 3 discs

Convert from
millimeters to
inches
0 Solve for the Angle 0 Solve for position Pick up stack of three discs and claim top and right rollers

Score stack of three discs and Top Match Loads

-----------------~""DA'°n:=------Con-titlvtldtopag. X

:~~
eon,-,.,... 2.0ff'
10 / I '3 /'2..o 2.1..
o,n:l<)/ 1J / 2o21- PROPRIETARY INFORMATION
10/i Y/2..o'Z,'Z..
PROPRIETARY INFORMATION
Pick up and score row of 3 discs
.,
43

Drive into a corner and deploy Endgame Mech .,


44 II····· ··········-··· STEP 1 J STEPS ···············•·•·II
46 II ••••• Ditl\lE ro l'.AT(H L(l,\O ••••• II
r,::=--i The following is an excerpt of our first 6 steps. Full program is 47
.,••
Swlna1um{"Lerr,ne,1u); // Sk<fno t urn towarcts Match Load

C:__j in Notebook Appendix A as of 10/1 5/22


II Dr!vf' towards 110tch load usf"9 Pf.ir-e Pursuer a(gor(t1-
I •tndud• "Nin,t,• 50 dl"1Vf'.r-est1t();
51 drlva. ~ddPoJnt(Z0,29);
1 -.-old UlrtS•ct1on()(
l
" driv•.addPo1nt(36, 11);

II •••u lNlTJALIZE l'OSlTlON •···· / /


Qtd">rh•->ntState((32,U_in, 11.s_tn,O_des}); // tkffnr robot's pos:(tfot1
..
SJ

5S
drl\/e.•ddPoint (71. 2, 12);
dl"lVC!.MJn();

56
pros: :d•lfy(Sot); II lllfoft for robot to srttl.•

•' II ...................................... STEP J / STCP 4 •••••••••••••••••••• / /


II ••••• Cl.Allf IIOrrat ROlLCII ····- II
S?
Swlni;Jurn(•11;1ght9,8Q); /I Si.1.ng tul"Tt townts goal

..
58

It
• htShootft'(tl); // Prvpor,r Ft>1•et for scor(ng
seto,.he(-31); // Driv• fnro roLltr
59
.uttPht on(•~flector",. •up'"); / / MJun dhc arc ta bt c.pwaras

II II ••·•• SCOftE DISC'S ····• II


pros: :d•lay(2SD); // M,(t for robot to riroc:h rotter 61
ll setShoottr-(188); II s~t tar;f't vrloctey to qvtd tea~
61

,.
11
quiclcJtoll•r(-SO,I); // ctat. roLhr hhUe dr!vtng 58

0 1 .." for(Jnt ••O; .1<10; a♦t ) ( II loop Jt discs

0
lS
16
~d:11tt.nce(2); / / lf01J1 awo;, /roa roller

.. 65 NhUe(shoaterHtr,cet_acw.1_v~loc1ty()c1J2): II WtJit for Drl.fvr,,, to rNCh JJ2 ,.,_


II Strid phton co.aa,,ds to sea~
;::::;:~!;;;:;:,
Ol')e dhc
11
11
II t"aLcvtatf' dbtonce fraa ~u ond s.t ft as Y.
polnt2 result • Undoht•nc~(backTrac.lcLe(t,1et(),blcli:Tr•cUUgt,t.f!et()); .. 67
setPhton("lndex•, "'Jn•);
·cur)i 3
19
.r.
I / pM11tRow(1. to_ '-trfng(aroUhPrtr-ie->get.Sta~() .y. co1wert(tltch)), •• • • to_s trin 1(~suL t. x) J;
utchDrlve.. >~etSt1tc-({NtchOrlv•-->1etst,to() .x1 rHul t. x• 1_iri•1_1"~11nchOrive • >ietSt•te(). thtt•}); ,. 69 pros: !d•hy(590):

21 7l
/ / ....... ClA.11( lffT ROHU ·•·•· / /

,."
22
lumJGAJ,11e(l,40); // Pr-odJ11n robot nro:1tng 73
>J
•JS,◄lt); II Turn tol!Ol"(IS dbc
,~ SW1n,T~l"J1(.Atsttt•f
uutoll•r(U7); // Prt"part! Ufr ro p(cll up 75
II Sinte tlte rGbot ts /lot avoinst t/1/t> 11oUl,~ r-uet (t r "'ar1,., ,., , 2S
:s •nc.h1>rivt•>setSt•te((11,,11tct.OrhP•>gctS:•ce().,:,t 2~_1r., Jruwu.111 t;n_h .. uonC) •t_d,.&)).,

,."
16
26
pros~•dd111(CCO); // fn.<u~ Siring rum fs srctLl'd
,.
27
,-,..eohtait<1(29, la); I/ Drf'-'r ofJd ptclt tip disc
II •••••·•• •••• • • • srtP 3 I Sill' S
. ,,
T1o1mToAn1let9G,60); / / rum towards rotltr 79 11 ••••• PUt or ftQ./ or orscs - •• 11
2"
60 Hovl'Oht•nCl'(7,!iO); II Dr{v~ a.,uy fro. 14.Hcll Loao .Stat'(o,,
Je HtRoller(a); /I Turn off tfft 81 lu,-nrOAnale(!o,SO); II ru,.,, to tm- dosrH row of O'tsn
11
c.hush.1tt_llOdit(tz::DISA.8Lt); I/ Turn off lfotor Loe# 1.2 set11oll•rt121, // ~oar• tlft to atct w dfsc
3l sctt:Orh-e(-l&); II Drf'11' Into roLLt!r t3
IJ
84 Have-Dtsti1nce(49,S0): II DI-ht' toword.s tht ftrst dfsc
J4 pros::dtlay(SOO); / / MJlt for robot ta rtoch rollrr 15 TurnToAn&l•(•S,59); II Turn to n1110l1t(,rq discs
15 qufc.kRoller(l,-40); // CLoC. roLLrr

0
116 setShoote,.(108); II P~parr fLYli,htrl. Jor FrHdo. Shot
J6 ""'-'d>ht.1nc•(2); II Drtvt- owy fro. roLLer 17 Novttlist.1nu(48,S8); // Pfc# 11p N'llllan{ng dbn (n r"OW'
31 88

..,,
3a
31
II CaLculat&- dbtonct- /rv:. ""°ll and srt H as >t.
rt-sult • findDisunc•(b•cli.lraclcldt .cet()~bad:JrulclUght. set());
I I prtntRaw(J, ro_s trfng(..atcllDr(ve•,gdStotr(}. x, convert((nch) ) 1 •, •, ta_s trfn 1(r-rsuL.t .x));
89
90

,,
91
II ••••• PICK OF ROW or DISCS ...... II
TurnTo.An&h(J67,5,58); / / rum towards goo(
h~UK.li"y(l, 140); II Scarr dhcs

a.tUIIOrh~•>setSute( (result. x• J_fn, a.1tchDl"J ve. >tl'l St.re(). y, NtchDrlve. >get St 1te(). thrt.1});
..
9l

-..---..... --------------------oo.;.,.,---- ContinU«JIOpag~ Zo


~ fr~ lO//~ /707..2-
DISCLOSB) to NC> tJJ,,IJERSTOOO BY /
Io/ I S/1.o i
~ . .TE lo/i8/aQ. .::i., PROPRIETARY INFORMATION
1-,
PROPRIETARY INFORMATION
..
"
97 HtShoottr(H);

II ...... lNlrlAtll( AUrt:JNOHO(/S H•• II


Conlin!.ltKll'iwnpago X

100 '"trJuot1<-1Mt\•,·tn•): II P,-rparr 1ndrx pbto"


181
11J II Sf« "P PIJrf ,v,..sut t
TOURNAMENT ANALYSIS
ltl drht.dt'l«tCirc • 7.SJ
UM dr1V1".polnt(0nsldl'r- • 2; Haunted Signature Event
llS

,.,
116

lDI
drtv, ...h,Vtl-ss:
dr-ivr.btdw1r1h.■ fdse;

II '"" Strps l•J


B We will reflect on our performance at the Mal/ of America Signature
Event so that we can improve our robot design and game play strategy.
119 star"\S•ction();

"'
111 // ...... PAlNE. POSirlON ro LOOP ••••• II
Competition Results
Match Play
111 Tt.trnlaAnal•(l,50) i II ~rn to Rottrr
lU NoveOl ninu(Sl,20); II Dr{1i1t towards Rottrr
Match Red Alliance
UC 1urnTOAAalt(llO,SI); // Sptn 188 to Prr.. rotter ctoUII Blue Alliance Auton AWP
US st-tPJston("lnd(')t"', ·ovr); II Scarr excrss dbc
116 pros::del1y(lOO); Q9 9364E
111
Ill
sttPJston("Jndt11:"'. "'ln"'); II 1'e-set Oelhfirry
(hus.ts.s11t_~.(H: :DISABLE); // Turn Off lfotor lod·
515R 238 77000X
83757A 39 v X
119 setOrht-(•51): II Ftnisl'I ,IIIOVr.-nt fnto roUrr
Q20 97934V
121
12.J.
121
pro,-: :dtlay(20I); / / Wott to rNch roller
tnerttel.r-ent(); II Rt'stt lnirrHot Votur 51SR 158 19355A
40828 147 X v
UJ II ~un Stl!p.S 4°6 Q33 99060W
124 st,1,-tSC"Ctlon(); 663A 33 515R
99060K 170 v X

0 Claim Bottom
Roller 0 Reset X position
based on wall 0 Score Preloads and
Match Loads
Q59

Q69
9364C
96504C

51 5R
188 11124\,\·
515R 167 v' X
663D v·
6210U 200 8481S 101 V
Q85 2011F 38555A
229V 111 515R 151 if j(

Q97 51 5R 93648
842T 175 11124P 68 V X
0112 5203G
663C 130 515R
1457V 145 V V
R16 7-1 515R
40828 170 6210M
8481S 68 V X
1:-
\· L _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ I
C.O,,fjnu«Jto~
DATE
Conbnu«tto- 'U1.
r DATE
IO/J 'B'/'l,01,-7-
I

ofI~/2-o2.,1-. PROPRIETARY INFORMATION


.... te>/2'i IZr:Jn
jo '2.~ 2./J'22
DATE /
PROPRIETARY INFORMATION
~
... -- .....

Match Red Alliance Blue Alliance Auton AWP Observations


QF 4-1 515R Robot Observations
40828 202 11124R
8481 X 124 v v
[Side View]
SF 2-1 96504C Flex Wheels on each made
97934W 114 515R
40828 184 v v roller claims more - . .
applicable
F 1-1 323V
2775V 152 515R
40828 184 X v
F 1-2 323V
2775V
142 515R
40828 241 v v
Wins vs Losses Auto Bonus
,_ Loot
Auto Win Point

''" t54'tl-

........... Disc arc was extremely


consistent

Endgame has inconsistent


Skills Performance distance
Mode Autonomous Driver Composite Rank
Score 191 Drivetrain motors did not
247 438 overheat during matches
#1
(Top View]
Awards: Tournament Champion I Skills Champion I Excellence Key
Successful Failing features
features
l
Conclusion

We are proud of the success of our design. Overall, we earned the highest judged and
performance awards. Among our notable observations, there were only two were
negative. We will address these issues and improve the functionality of our design.

IC>/2, 4 tzo q,rz.


10/ 2.'--/ /?DZ-7-
OAns Jo/z4 / 20~<. PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
IMPROVEMENT """"'"""--
Intake 3 Stack
IMPROVEMENT
8 We will solve the issue of disc jamming when picking up a 3 stack
of discs. Endgame¼" String

IConcept
The robot must be able to knock d?wn a 3 stack of ?iscs. This will
~
C'.__}
We will improve our endgame to account for new regulations on
string diameter (ie. work with v.• string) due lo the recent rule
allow it to intake a single one at a time and prevent Jams. change.

~
r,::::=:-i The robot must have a stronger string shooter and more resistant to
early release.
c.~ ••
/«l!J;,T
Fu, "' HE£1., LUI<&<!.
~ -D•-<, flLE'- 1.u,1eet..
' ... Oi:$L..

Aft.,-

llt.(ott.
/ Solution
---
[ Solution]

We have added 3 strips of polycarbonate


that hang down in front of the intake. Our first string shooter endgame had lots
of power when it shot so utilizing this
These are in between the intake rollers design, we will be able to shoot the larger
and heavier v.· string.
as to not cause friction and interference.
We built five string shooters to maximize
Also, we added a stando'.f on the front of our possible points.
the intake to aid in knocking _down th e
stack while also making the intake more The string is warped around the
robust.
mechanism and release along with the
projectile.

The mechanisms are mounted at the top


of the robot to shoot over other robots.

~~
C s.iosa, ~ ~~Bl'
DATE

1012.s12oz2... PROPRIETARY INFORMATION


PROG RAM MULTI-SCORE Con--- 211,
F ~::::::::::::::::::;--=-----::._-=----=----~
f Disc Being Scored? f 7 -~ ~ ')1'7

Checks if a disc is in the process of being scored


c;-i
~
We will improve the cycle time of our Delivery through programming
Returns "Yes" once we press the shoot button. Otherwise, returns false
means so that we can score more discs faster In skills and match play
· Every time that it returns false, the program loops back to the beginning
General Overview - Runs in a loop asynchronous to driver control program

- The time in between Delivery shots must decrease. Delivery Velocity to 127
- Sets t he target speed t o max for a short period of time after scoring.
- Flowchart : Sets Delivery Velicity to the highest possible speed
- Allows Delivery to prepare to score faster
Match Driver Enabled
l Wait 500ms J
Waits for 500 milliseconds / 0.5 seconds
· Allows ample time for the flywheel to return to speed
No
Delivery Velocity to Normal

• Returns Delivery to norm al velocity


- "Normal velocity• is the flywheel velocity needed to score a disc

<;-
~
Set Delivery Velociity
EJ
.,
to 127 (max)
..•• U (shootet'flodt!.-. Spt'~ t1p•J(

0
if(quiclcSpi nT!,~>lSU 11 ~hoot11,.. poJ•t.,.nhoott't'Mtr let.nti,d N! · ! ty() ,
0
....,__ 100
101
182
18]

Wait for 350 ms "'


18S

..
186
18 1
,
189

Return Delivery
Velocity to Normal
0 Wait for 350 ms
0 When the velocity is
close to target, set a 0 When the velocity is
far from target, set the
medium velocity
highest velocity
Cant,ooo,Jtopago 't-17
~ , ..... >I
DATE
1012.. 7 / Z.CJ'l?..,.
lo/z.7/2.o2-1.. PROPRIETARY INFORMATION
•..,. YJ/30/2..02-1... PROPRIETARY INFORMATION
- =---
~eon,,,,.,..,.,,.._ X
- ~
~ --- 216'
PROGRAM DISC FRICTION I I
EJ We will create a program that accounts for varying disc friction so that we
can more easily adjust our autonomous programs across fields
- Solution

To compensate the disc friction


The scale factor of fricti •
C b • kl h
O
fi h .
n yw ee1velocity, we will create a scale factor
on IS tuned to a field and affects all autonomous
an e quic Yc anged across multiple fields for ease of use

I I
Overview Free-body Diagram

- The more a disc is used, t he less friction it places on a flywheel mechanism Before
~
After
• Tournaments usually have new discs while we have very well-used tournaments

Free-body Diagram

[SIDE VIEW]

'l FN

Fi., ~c..-8
◄- - ~~
FA ►

Not 10 Scale
Force Fk1 Fk2 Kn Kg FA
Magnitude(N) y=0.08Sx2 y=0.1 x2 y=0.08Sx 2 *7 .2
0.2 0.1 0.39 0.39 5 New Disc Velocity Target Velocity
Name New Disc Velocity
New disc We/I-used disc Normal Gravity Flywheel With scale
friction friction Force Power
Net Force
- L.-
24
25
double CoofOffrktion • 1:

-" [TOP VIEW] 26


27
/ / -----···••·· - SH DELlVEltY •••••• ......... II
/ / Stt tM DfliW"ry .,tor on o 9{1.'t'II Sf)ffd

-,b'

~
28 void setShootcr(Jnt JIO',~r}(

,.
29 shoot•Ntt,...=_r•c~k>fFricUor4; II Apply F,-(ct10tt ,~lfk1tllt

.·►
Fnet2
'
~p ll
32 // •.....••.•..... CiET OEUVERY VELOCJTY ···········-··· II
Not to Scale JJ // ~t FLyl<lhtd s~ed rith accounttd /dct(o,,
34 d~blt geUl)""MdVtlodty()(
Net Force Difference: 0.1 Newtons 35 r-Murn shootcrl'ltr.gC!!t_.llCtu~l lltlocity{)/Coe(Offrictton; // A.ppLy lrictton c~f/1c"1tfft
l6 )

"""""""' ..... ca,,,,_,,._ "lll-- eo,,....,.,. _ _X

~iv~ 11 /\ (2,iYLZ 11/2-IZOZ-?.,.


~ ...,. Il/Vzo2i
ev I
PROPRIETARY INFORMATION DAT< II /2-62..1... PROPRIETARY INFORMATION
Co,,t,nvod-- 1.1-t>
PROGRAM SOLUTION
1 t-fnclude '""lain.h ..
Right Side Support void a_STD~(){

~ We will create an autonomous that scores t he autonomous win


// ·-··· IHITIALJZE AUTONow:Jus ••••• //
setPlston(•tndex\ "in"); // Prepore (ndex p!ston
c:._j point so that we can earn an additional win po int during a match SetShoottr(l27); // Sit fLJlwheeL at IIIOX speed for htgh occC'LC'ratfon

j Program Route II ·····--·-···· ·•··•·• STEP l ··········-·-···-··· II

II ••••• CLAIH TOP ROLLER ••••• //


10
MoveDistance(-17,l:ZO); // Drive towards RoLl,:r
11
*Start TurnToAngle{90); // T11rn towards roLLu
12
o • •Score Disc
a--Spin Roller

Anticipated Points: 60
13
14
15
16
MoveOistance(-6,l28); / / o,-tve tnro rotter
chassis.nt_node(t'l! :DISABLE);
setDrJve(-59); / / Sec a basr sp«d to ensur« contact with roUer
pros: :delay(l00); // Nott for Spttd to regfster or, robot
0
Claim
17 Roller
18
Scored Discs : 5 qulckAollor(0, -59); II Ruo o co••<md Choe spfos ch,~ o shore Cui•
19
Claimed Rollers : 1 20
21
II --- .• COLLfCT DISC ·- II
Mo11e01stance(4~J21R); // Dr{11r a.oy fro. gooL
V
Discs in robot after time : O 22
setRoller(127); I/ Prtparf! Lfft to piclt up dhc

0 0
23
TurnToAn1le(l4i,UO) / / li.m tOt,1Qrds autonoi o..o.i U1 dt.s<.
24
25
set5hoot•r(94) 1 // ~PIJtv: /L)WhuL to .u:on
26
27
NoveDi.stiit1Ce(9,12 ; // Ortvjf" ittto rif.sc Collect
Auto-line
Start ,.
28

OMJ}I" fff.!j Mor,e..--,: ltnr


Disc
30
31 , \TUrT 11 ,. J..irrJ 't'ttlQr-J" goal
JJ o1 tCO!'!Urr,d th--t ...."l"t's t'-f' r.h~t d!scs
Claim Top Right Roller "
0
33 II·······•••·· .. 'i"iEP 2
34
35 II ····- COLLFcr orsc •• II
36
Pick up disc from autonomous line and score preloads set5hooter(93); // Prtpaf'f! /lyr,,lttet to sc ~

0
37 TurnToAncle(42,110)j // Turn towards rv,w of d1 ·c Score
38 setRoller(l27); II Prel'(lre Intate to piclt up i,bc Row of
Pick up and score row o f discs
39
40
MoveD1stance(6S,50); // Drht" tnro "°""
of discs Discs
Mo11eDlstance(-28,J80); // Dr-t..,e "into row of discs
41
42 TurnToAngle(l24,110); // Turn to)ollQrdS goat
43
hailMary(l,129); // Remo Co.tand that SC0t'1"S the roi,, of discs
44
45 a

"°""'""""',,... --Z,1.I
DAlY
I I / 'Q/ 10-a- l l/J/zoz:z...
PROPRIETARY INFORMATION om \l/f/2.0'2.?.. PROPRIETARY INFORMATION
ConlHKJIJdfrom~
X
DRIVE STRATEGIES ~

--
'
~
>

r:::::7 We will add to our drive st rategy list to further improve upon our TOURNAMENT ANALYSIS
~ speed, accuracy, and consistency
Speedway Signature Event

Strategy #1 : Practice positions B We will refle?t on our performance at the Speedway Signature Event so
that we can improve our robot design and game play strategy. -
Not always in matches can we be lined New places to stand
up at the same angle with the robot. This while driving
/ Competition Results /
means that aiming toward the goal can Match Play
be off.
Match Red Alliance
To combat this we practice driving from Blue Alliance Auton AWP
different standing areas to get a better Q11 978178
idea of where the robot is and improve 355N 52 515R
11158 153 v v
aiming despite where we are standing.
Q35 11124W
515R 131 1075A
99904W 84 v v
Strategy #2: Low goal maneuvering Old place to stand QSO 38141A
Being able to thread the needle and go
while practicing
~:.;;:;;;..:===:;;;;;;;.;::.;;;;;;;;_- 355V 28 99904A
515R 147 v X
through the low goal first try is a major
Q60 515R
advantage in matches. It increase cycle
time of shooting and can help to evade
6842C 163 8481X
6842G 58 v v
defenders.
Q85 21417A 7282Z
To practice this we do figure 8s bet ween
515R 161 sn11c 99 X v
both low goals. Doing t his at full speed Q116 11124P
allows us to maneuver faster though the 16868A 86 515R
6842K 187 v X
low goal and around it.
Q129 6842R ;j
1115D 46 323V
515R 253 v v {a
/ Strat egy #3: Keeping M omentum
Q149 8349A ; S"
With our full omni w heel drive it allows to make smoother movements while 515R 196 323E
1233W 26 v v ....
.,...
,...
driving. As a result to keep up our speed we can utilize this to slide into place to
Rl 6 5-1 515R
Ci
shoot, keep forward m omentum while tuning to get a disc and t hen t urning back
without having t o fully accelerate again and overall do fun spin moves! 40828 169 355N
355V
61 v v

"""""'
~ ..FY.,__ JL~ ..
SIOMfUR~ - - O.,.yt""
Conwwt,a to,,.,. Z.2.'(
D l $ 0 0 $ F J ) T C N , i 0 ~ ~· ""V 1'1 ! <712oz:z. ~ - Jo/~
DISClOSE.D TO ANO IJNOlRSTOOOll'r ll/z..t/Zoz_2.
~ ~ PROPRIETARY INFORMATI ON
' . ~~ DAU \l/1-1/2o2-2. PROPRIETARY INFORMATI ON
224 Con--- 2.23
ec,,...,,.,_,,... 22..'I
Match Red Alliance Blue Alliance Auton AWP Observations
Robot Observations
QF 3-1 51 5R
40828 146 6210K
6210U 49 v V
[Side View]
Flywheel causes discs to
SF 2-1 5 15R
40828 194 100A
2775V 155 v V spin, sliding out of the goal

F 1-1 7368C 51 5R
323V 168 40828 176 X V Autonomous program
worked nearly every time

F 7-2 7368C
143 515R
X
323V 40828 153 V No intake jam problems
occurred during match play
Wins vs Losses Auto Bonus Auto Win Point
.__
•""-

Gear ratio allowed for great


....
,Eamed E>mod
l!ll
defensive and offensive gameplay

Deflector had little effect on the


• horizontal deviation of shots
Skills Performance
Mode Autonomous Driver Composite Rank Delivery opening allows for
intaking while scoring
Score 191 234 425 #1

Awards: Tournament Champion I Skills Champion I Think Award


J
I
Conclusion
Successful
features
Failing features

We are proud of t he success of our design. Despite not having the time to submit the
notebook digitally, primarily from lengthy college applications, we managed to earn the
Think, Skills, and the Tournament Champion award. We were also able to reflect on our
solutions for the two prior issues from the Haunted competition with great success.
From our observations of this competition, we had only found one main problem and
will address it in our next it erat ion.

Con- to - 1..1,!,

Il/'2..2..!Zo z..z.
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
=--.. . }- 227
-- D ,. •
-. . .
)>
M N
- I
I

- -- - - - - - - - - -r
f f lfi ll f I n ll qt
f
I p
q Il
B l
00 ~
B r-~ (;)
N

1
N


,.
N
,. " • l
I
0
N

0
8

~
""O 0

.
0

- 0 !
'<
n
OJ

Revision Drive train


Quantity ~

'
0-
0
g
2 Delivery
::J
A 1 3 Intake & Uh
A OJ
~ t-- -0---09---0--0-
oao ~\\o
4 Endgame Mech 4 ~
o O
rt
,-

~,
► r-
OJ l/')
(D ,-..
.
5 1SR Robot i3
'< ::r
-- --
r 0 (D I I
-.. 1:7 .. C.,,t
2
~ C (D ®- ~ I 0
0

1 of 9 rt rt =
2 1
~

)>
©--~,- •
I
---. to
ConlilNHldtopagtJ

•~-.~ ~
__ Conbt'M.rodll()~o ,X,

L1M°iilio~
0

DA» 11 /2?.-po21..
I/22.l2o2"2.
DlSCLOS.to TC AND Uf'C)fftSTOQO IY

DATE \ PROPRIETARY INFORMATION PROPRIETARY INFORMATION


cO(IOl'HJll1dtrompagq
This is the

Final Page of ,.. - -- ....

Notebook One

Why are we moving on with 50 pages left? - - ...__


.I. -- ... -
.... .I. +- ....

• Printed pages are making the notebook difficult to close


• Too many pages may break the spine of this notebook
--+--•-!. ...I--;.. - ..I. r---

What to expect in the next notebook:


T

- -
~

- 1
T~

,___,_
-r-
__ .__
- - - ... T'--

• Second and third revis ion of our design


- ---r-- ---+- -

1 • Season reflection of Spin Up -,-

Logan & Ben, SlSR


- +

C«IINNNld topag6

"""
11/2}:i/Zr:ni
DAil' ) 1/2::)2£,2._1._ PROPRIETARY INFORMATION
DiSCl.08£0 TO AND ll.CEA!TDOO l'i

PROPRIETARY I NFORMATION
r~r 11 1· ~,ry m•, (Ji ~_,_.
•• ~
'
••s
'
Di~
iAJ
t f
!1 II
a,
i, ,ii![lr11:·r1::
l . . ,. N
~
0

Ii
" l''.·
t

it
I - '

I
~

1.
t
I'
J-

+ . .
+


,.
I
;
I

I
. 1 1 11 t .
1 rii 1 I · ' 1··
.
_
I l .
.l. •t

~ .· ,/llflfl/t1· .lt]1· 11 . 1 .·ft'.::;


. I i r I .t j I ti- 1 f.-f .r ) r/· 1. l i ·,.• ! t

i 1--~J-1· t .I ,l l
~ i I . • I lt fil -_
,-,11 I

~ I . .11--~- L,,.1,
lf,11J•)!J1r,,
I~ . . -. rI I ·I t .+·. it ! I / 1 '. ! I !.- T /·

\ t '1.\ ,:,l,r I I //If ;}Jl};j)J;')/: '. 111


, ..··

i
~
t
• . ; .1·

.
; : .; i r ~ ! i r I..I
t !
• t 1·1 f r
i i.
.
11 , r:,; ' l i
! I I : : I' f I j 1t [ I ·. .~..·11.' 1' I II ' I I I
I
11 11111 /r: :,· .,,,',
t I
' . II I' . I 1 I I I I I ' i
'- I I I ' I
~ ~
t tI I j T -

- I. .I I .
I I I ll
l I I J. I I
j I f
I ' I I

I I l I
I
• • I l I j ' I I I
1./( , +
. .~
. .' ; JI I I I i f t I I, 1
I r 1 , 1 t , , 1 .
1 r I '
J. l It . I I
I
f '
'
e:
~ ;.t[
,,0
:JJ
;;;
~
,tttli:~:. t 1
' r

:JJ
-<
,,z If 11~1ii1t~,
0
:JJ
;:
~
a
I
I • •
,/j
I r j•trltl
f •

1~
GUIDELINESt
NOTEBOOK

INTRODUCTION
U Ing a Nolebook 10 record Ideas. inventions, experimentation 5 Never loa11e blank spacos, and never erase or r
NOTUIOOIINO 2 ~rds, observations and all work. details Is a vltal part of any material Y04J have added Simply drew lmos lhrou ehm:~o
1aooratory process. Careful attenhon to how you koep your bfank spaces al the same tlmo you aro making your !ntrmi
CQNT1'<1/(0rll()O,INOITDOOI\NO 1 CONTINUED TO NOTEBOOK NO,~ - - -
r.,ioteboOk can have a positi~e impact o,i the patent outcome or a
pending discovery 01' fnvent10n.
Do not erase errors. Just draw a alnglo lino lhrou,gh an
ermnoous entry, lhen acid your lnUfals. Enter lho correJ
entry nearby.
Following are some overall recommendations 10 help you keep
rno<e efficient and accurale Notebook entries. Remember, how- 7. You can supptemen1 your entries With supporting material
vc<. that these are s!mpty a suggested set of guidelines. Onry (e.g., lesl•result printouts and olher documentation) 8 t
ASSfG,p,j(O Tl)
:.00r'artomey can supply the exact guideHnes she would like you must permanently affix the materfal onco a page In ·usup,:
to follow 10 satisfy spec.me legal requirements. That Is why we or chronologlcal locaUon.
recommend that you consult your legal counsel. 8. Never rely solely on any supplemental attachment. Always
include Your own entry describing the attachment and add
RECORDING DATA any conclusk>ns that you might draw from Its aubstanco.
Your Notebook Is a vltal record of your work whether 9. Ooca;Sionally, secondary sources mlght be too large or lnap.
it Is fo< patent purposes, legal records or documenting drug propnate to attach directly lo your notebook. In this case
research under FDA guldellnes. The Notebook can help you ~ can add all secondary sources to an ancillary record
mamlained pred~ely for this purpose. However, always
0,\TCISSUED NaJc.Mbcr 2. 71 207:1.._av, ________ _ _ __ prove:
a Exact detaifs and dates of conception
remember to wnte a descrtptlon or these secondary
sources, cfearly and unamblguousl'y, In your notebook.
b. Details and dates of reduction to practice
c. DIiigence In reducing your invention to practice DOCUMENTING PATENT ACTIVITIES
_____EMAi..__ _ _ _ _ _ __ _ _ __ __
d. Oetaifs regarding the structure a nd operation of your A primary purpose of a Notebook Is the supPort of documenting
Invention
wort( ttial may be patentable. To support palenl activities 11 Is
e. Experimentation observations and results necessary to provide ciear. coodse, chronobgk;al entrle$' with
f. A chronok>gical record of your wotk spedRc dates, To rel'y on those dates. you must have at least one
non--lnventor corroborate that the events aclualty happened and
g. Other work details lhat ho or she under,tOOd )'OUr Invention by signing and dallng
tho "Disclosed lo and UnderstOOd by'" slgnalure bloc:l<s.
~ 8350 Co.Mp Ernt. j. Rel. Follow a few slmple rules of thumb Your Notebook should help you document and prove:
1. Alwclys record entries legibly, neauy and In pennanent Ink, 1. ConceptJon Dat&--The date that you knew your Invention
would solve lhe pn,blem.
2. lmmedlalely enter Into your notebook and date all origin.at
eoncepIs, dala and observations, using separate headings 2. Dato of reduction to Practlce--The moment lhal you made a
lo differentiate each. worldng embodiment of your lnvenlk>n.
cm- llniOl'I
3. Record all concepts, results, references and other lnforma. 3. Dlligence In reducing your Invention to pmcth:&-Dillgence
Oen In a systematic and orderly manner. {Language, charts refers to you, Intent and conscious effort lo make a working
and numbering systems should be maintained consistently embodlmenL You are not required to rush, or even lo take
throughout) the most efficient development strategy. But )'OUr Notebook
must include details relating lo your dJIJgent activities. These
NUMB~_OF PAGES f:'ILLEO__I_N_ 4 It is acceptable to make your entries brief. Al-ways, however, are dates and facts that show what activities you have con•
Include enough details for someone else to successfully ducted to reduce the Invention lo practice, and when such
duplicate the WOO< you have recorded.
'<Ctn aebvtties were conducted. Since you may still be diHgenl
5. label all figures and calculations. despite periods of not working on reducing your Invention 10
6. Never, under any circumstances, remove pages from your practice, atways remember to provide reasonable e>tcuses
notebook. for these periods of Inactivity by supplying facts relabng to
why there was no activity during the period In quesbon.
{e.g., unavailability of test cond11ions or equipmenl),
Rtmember to treat your Notebook as a legal document: It 4. How to make and use your lnvontion-provido documonta•
records the chronological history of your acbv1tJes. The foHowing lion details sufflcfenl to teach a colleague how lo make and
gu,deUnes should help you maintain the consistent and accurate use your invenbon.
entries needed for future legal purposes.
1 S. The best mode ol practicing your lnvenlion-documenl the
, Start enlfies at the top of tho first page, and always make besl way to practice your Invention.
successive. dated entries, wo,king your way to lhe bottom of
the last page. A non•lnventor colleague should corroborate each of these
events/facts by signing the ·olsclosed to and Understood by. on
2. After completing a page. sig n ll before continuing 10 tho next tho relevant pages
page.
WWW.BOOKFACTORV:COM 3
- Make sure that you record the date of each entry clearly and
unambiguously.
I Bookfaco,,y f)IOYldes 1hese sample guldef.,.. •AS IS" w,""'"1 wono<11y
D OC UMENTING YOUR WORLD' 4
Never let anyone other than yourself w nle In your Nolebook
~ llxtcr, cxm PH 937 2267100 / FAX- 614.388 5635
(excluding witness signatures, discussed later).
""•~ B..,.;1 ► 'l is ,11 Veier•n•O*,,fd Fum Prouo1, M•de ,111tie USA
TABLE OF CONTENTS

PAGE SUBJECT
1
Projed MMo..~e men f: R~111~,c,f\ 2 DATE

: l
• lovr11o-mGl\t Aro.I'/&•~ : Pvrdve Polyhln,c. GiMpe~, f;(j/J
5 Teo.M C.,ht10(\ :'1mw
• Teo.«i Cto.tio() Z.77sv
1

8
Fobo+ Exwil"le"to..ti0 " : S;ruo.ti()llaJ Stro.t~~
lour~11f Am\)'i>is : Love.la.,,J
-,: Tou.rra.Me11t Sh·o.te.~jles: ~+ch Pk.\'f
11
1
'\ Tovrnc.._ll'}etd Ar)(). lvs_,_~ Riv~rbot 5 '.:l,9ooh,:~ Elf(,_~:!-
" __l_ _ j1211v.z.c,z.:..
I V f,/?.<S'.;_
" Icl-n+Jy Prgble1,~ Dr,~1,c.~" r-eb..,, ld
12/2ah-a.z
Brs /\S1ocm Sok-h'cv15 Or-,vr,-fr<..ih_ ~6,,; Id

i ,. l
IS
tZn. 1/zci-......,
f 1
Sel,cflq_rid Plat')• Dr~k.11 R:.1)(.,11:) 12 fl l/2[17,_

21
/VI~
12/23/?tJn

: Bu1/J ~lut-JOI\, Orivdm.,I) \<-eb,,ld


IZ/27/202.2
2, l _[
25 IZ/28/70
Tesf SoL.,.\-,o,,: Dr;ve-1-«.:,i l~elMIJ
26 J_ IZ/To.?l
27
MMthly Goo.,\,:,. ?kl\
J~1va.r~
28
+~e11f-lfi PrableM : Denverj RelvA\ 12/30/'lD
\2/:,i/2o12..
29
fro.1(\)¼-r'\ Soh.HiOI\.): Deli\ler1 \¼bi,\J
lfi (2on
: Sele&}
32
lrhrde\,ver-~ RebuJ\, 1/2,~2..')
I~~:?>
TABLE OF CONTENTS TABLE OF CONTENTS

I
l/5/6ZJ
l/b/2d23
l 2..//<f/W
l/1/201.3 '2/17/2023
\/ffw23
\/g/2t;23
If.I 71) 2:2> 73 Tovrf\c>-rv)en+ Al'.c\l yt,is: M, !ford Ohio CoMp,+ 1-io11
l
Z/ l~ /W'l'J
1/101'162:3 74 ~e.t\a.c.+iM '2/2?.,j?.oz.J
\/n'2cf2.:i 1s Pos-1-5 List: Re~is'10/\ 2 2-ft.lr/zo1.3
I/ 13 / 2'J2.3
I/\ '!,r1,0-i:J
l/lS/7.-0
:Rev·,sl
78 ioti 2
1
l. f2.5"/2-02
l/f~b,2,3 1
Pol ,1c.o• 6oro.+e s~ll.t Lo.yo"+ 2./25/2.c,
i.

r.,\l . .~ · ,,,cr1
1
ll /8/Zo13
00

81

82
Go.n H Cho.rt : Re v,s ,011 '3i
Mo11-t~ l y Goc-.1s · /'Y\c.rc.h Goo.ls
To.G.M C,+a.-tio(I : 33 2'1G 11'10.lys ;~
7/2o2'.3

3/9/2023
•, _j_ J_ 93
\(!.WV) C.-lc-.t:on: :-141_H Aool ~i5 ,o; . ~
· f. " J_ A.i:.\w01::. Ko.' \,._v, Clc<,s,c. Tc,..c11a m</l~ 1/2.'3/a,-i.,3 : RebU:1 fu1gn . Dl'tve,-\ro_ll\ l\er41IA, 3j_fi!UJ?,.3
Fhw11ee,I .. Rebu,~ \)69f) :D-Gl1wr~ ~&;..(,lo ~~~
"'.!Ml'folJ~Crrf '. f)!hVer1 /icr12oMo.l
,._. p,. 1.tlj
•1 I
l-.\,\ G~ ;-h O -,p"y
•/I,J
//2,77i1,-)
87

88

89
-l-
Rekl\l:) ~~ : Tn+o-Ke.
1
2 L,f+- \:<e,'PV:11J f 4/2.01.,
"' Pr re,,-;-0.. 'j . Pro I..,,,,.~ Co>.. 2./1!'2..3
90
R~'ou,lcl: Rol\o.r R~'ou,\J 3/2£,/1131,J
.. I : Rebuj_ [ksi3 n·, f N3C'MQ, Rebu}~ )/2.1/1-1;:,
J_
"' T~t,-,,~,-...11 '..,c. ,_.,: l'.,r e:i;" lv-~eo1,1r1 Sf-o.vOOvJA V4IZO'l3
<1 Mo11hl1 Go.I;,'. hbli.:ro..y P~ 1./5/lO'l,3 93
1,..,pro~I"\+: fY1ul+;'5,~ Oe~l~cl-c,r
: P,n:lr'"" (). l,1.- • R)"" ,c~I \:c.loL,ry Ulltr"t>I 2-IG/l.n'J 94
({\c,/\+h\., Goo..\s ·. F;f\c,,_\ PutiV1
2.1'! /UJ1-'J. 95 Pro,ra.fY\ De bv.9 : Cvt +;eld Updo.tG
1 I 96
TABLE OF CONTENTS TABLE OF CONTENTS

SUBJECT PAGE SUBJECT DATE


PAGE
97 J_ 129

98 Pr-osro./\1\ l'Y\otor Tes+ 130

p~"""l1
•• 131

100
132 ,
133
IOI O,se, Uf'.1-";1Y 134
102
135
103

104
Pni9,o.'"'_1 Sokhol\ :Left Sitle- I\Worof'YJ\J.S Re--~ri\-e, 136

137
105
138
106

107 139 + +
140 -1-
t
108
141
109
142
110
+-
111
i 143

112 I 144

145
113
+
146
114
147
115
148
116 +-
+
149
117

118

151
119

120
t 152
+-
153
121

154
122

123 155

124 156

125 157

126 158

127 159

128 160
----- TABLE O
F CONTENTS

TABLE OF CONTENTS
SUBJECT

°"" PAGE
SUBJECT
OAl'E
193

194

,. .
,..
195

I,. 196

197

I ,.,
Ill
199
198

f
I::
200

:I 113
.,.
+

t
201

202

203

"°'
205
t

I"' t 206

r
207
Ill
200
117
209
Ill
1 210
Ill

I,.,,., 211

212

I·~
113
213

2 14

215
1. .
216

,.. 217

218
117
219

,.. 220

110 221

222
" 223

224
----- -- TABLE OF CONTENTS

TABLE OF CONTENTS
sUSJECT

PAGE
SUBJECT DATE
2S7

258

259

260

261

262

263

t
265

266
n,
267
2311
268

269
t
"" 270
I
271

272

273

274

275

276

+-
278

279

280

281

,., 282

283
2S2
284
2Sl

254 285

2SS 286

287
--- -- Confinutld lrom ~~ X,

5UBJ€CT
PROJECT MANAGEME NT
Revision 2

~ We will reflect on our progress and time management from the past six
L..::'...J months so that we can better prepare for the remainder of this season
+

j
I Refl ection - Season Goals
t
Out of the six goals we stated at the start of the season, five have already been
completed, with the final being achievable until may;
"Qualify for worlds through the State Competition·
We will add to our season goals with new challenges of design and programming.
... These goals will motivat e us as we continue to improve our design and
understanding of robotics .

/: Reflection - Gantt Chart

Looking back at our progress throughout notebook


- --
I one, we had always stayed ahead of track. So
much so, that we are currently an entire month
ahead of our initial plan.

Part of this additional time was due to the gantt i


:ii
(")

"'
~
C
""'
chart being an oversimplification of our design
progression. Although this was great for mapping
I
t he general direction of each month, the actual
day-to-day operations were determined each day.
....
:ii
(") -
To better plan the objectives of our team, we will
creat e an assignment list each month for us to ""'5
~
complete. This will act as a middle-man between
the gantt chart and day-to-day work, specifying .."'
which aspects of the robot to tackle, and which to 8
--
:,
not.

Predicted vs. Actual

Continued lO page 2_

PROPRIETARY INFORMATION
- - ..L ..L

I December Goals J
I tes to the author of new goal 1. Compete at Pmdue Polytechnic 4. Create a list of strategies to utilize
Color of highlight corre a with tournament reflection in skills and match play.
Ben Logan
2. Research two teams and list their 5. Compete at Riverbots Signature
unique strategies event with tournament reflection
. h I helps us adapt during match play
create a list of strategies~ af going into a match, the better we are 3. Experiment with different strategies 6. Reflect on usage and effectiveness
• The more that we know e ore of strategies in matches
1. prepared for that match
• Writing down the strategIes
reminds us in the event we forget one 4. Compete at Loveland Competition
with tournament analysis 7. Design and build new drivetrain

Create a versatile dehbugf gi~g:r:~~:m the robot when troubleshooting


• Greatly Improves t e ee .
/ Gantt Chart I
2. problems In desigtn or Pr
• Debugging sys em a190
0
~{i~:~~; be used in college/workplace projects Week Slrategy Buold
* Serves as a
C: guideline for how
0
Achieve a composite skills score of 515 . . our time will be
- · rare for a team to get a score of 450 rn skrlls. A score 65 ~ managed
3. • CurrentiY, 11rs d' · the end
points more would be very difficult, but rewar rng rn .
• The resources to achieve this score can also be used rn match autos
:ID

31
Ql
(/)
a.
:::)

Utilize Calculus Mathematics to the design or code


i 32
C:
·a
(/) * Boxes that overlap
~ 33
,. represent schedule
4. • This will help us to determine a solution faster and better understand
why rt works the way ii does
• By finding an application for difficult concepts to grasp, we can more
35
0
~ flexibility

easily learn about those concepts

5.
Qualify for Worlds through the State Competition

bid will mean we are among the 13 best teams in the state.
_
- There are 13 world bids through the KY state competition. So, earnrng a

• The process we will have preparing for the State Competition will be
used for worlds as well.
,.

-•■ C:
0
~
Ql
(/)
a.
:::i

I
C:
Win an Award at the World Competition ·a
6. · Since we are both seniors, the world championship is t he final
tournament of our high school VEX experience, so winning an award there
(/)
u
Q'.
would be the perfect send-off for us. >
• The preparation and knowledge to get ready for worlds can be applied
to college/workplace projects in the future.

'3
"""'""' eo,,1;>UBdlOP,. . Conlinu«l/opago )(

~{, ~~
S tGHA~

71/iq /?ftl.1--
.~ ~--'/-=----__.._lt....:_lll/1},.::~::./~2a2:::.'.2:..__~PR:O:::P:Rl:ET:A:.RY:_:l:NF_:O~RM~A~T-IO_N_J PROPRIETARY INFORMATION
eo,,.....,1mm,... X

TOURNAMENT ANALYSIS
Purdue Polytechnic Competition TEAM CITATIO N
ance at the Purdue Polytechnic event so 4082B Analysis
We wtII renect on Our Perform
El
G I
oa
.
that we can discover and develop new game strategies ~
t..:::::_J
To analyze the highly competitive, and strategic, team 40828 so that we
can understand their approach and apply their skills on our own design

Auto Bonus Rate AWP Rate


Type WinRate Skills Rank 40828 Freedom Gladiators
Percent 90% 83% 33% #1 Design Deta ils
Awards: Tournament Champion I Skills Champion I Think award
• Very thin robot {12.5") makes low
goal maneuvering easy
Observations Strategy Observations
• Utilizes a motorized indexer for
faster shooting, when intake is
Partner playing sole defense reversed
turned the match into a skills run
- Lots of bracing with standoffs &
Rapid-fire scoring worked custom cut high strength shafts
perfectly in skills and match play
· Uses a second flywheel roller to
accelerate disc
Endgame Deployed out of the Standoff Motorized flywheel
field in a match - Center wheel is a flex wheel for Bracing indexing
more traction and consistency

Deflector resulted in discs Match Strategies


stacking at an angle

- Find out what other people are doing for alliance selection and adjust
accordingly for best outcome

Successful - Focus on get AWP in every qual


Failing features
features
Lubricate flywheel right before matches for faster spin up

S10NAT\JR-.- Conbnufd lo page )(


DATi

~J!J~ 11../s 12021.,


PROPRIETARY INFORMATION
6 """'""""'"""'- x;

TEAM CITATION ROBOT EXPERIMENTATION


2775V Analysis - - - - - - - - -
Situational Strategy
1 1 and high-ranking, team 2775V, so that
rrve
~
t...:::..J To analyze the highly compe ch and apply their skills on our own design
we can understand their approa ~ We will find the limitations and opportunities of our robot In case-by-case
L:.J scenarios so that we can anticipate and adapt more quickly at competitio ns

2775v Jackson Area Robotics


1
Design Details Situation Observation
Disc is stuck underneath the robot Driving over the low goal barrier
8 total omni wheels to spread removes disc
out robot weight
Opposing High goal is filled Shooting discs w ith max velocity at 1
Vex fiywheel weights for inertia precariously
the goal knocks out scored discs

- Ratchet on indexer to reduce Intake subsystem is stalled


.......
The match load station can still be
intake fraction when spinning used for unpowered intake of discs
forward
Delivery subsystem is stalled Rollers and defense are the next best
Only one air tank, instead of scoring method
two, to save weight
Flywheel discs load at an angle Ramming the robot into a wall allows
Match load 1:1 cartridge on flywheel motor the discs to fall correctly
opening
Momentary radio disconnect
Flywheel motor automatically turns
between the robot and controller off, and needs to be turned on again
Match Strategies
Disc lands on top o f the robot
Spinning around fast removes disc

Fills up alliance goal before playing defense

Well practiced at aiming and rarely misses


IConclusion

Avoids deploying endgame if they are winning by a lot Knowing the limits of our robot will help us to better handle problems if they arise.
While some of these situations will rarely happen, knowing what the robot can and
can't do will be helpful when it is needed.

Cclltlt'lufd to page X
-- ~ - ..-'f.
....- l'l/6/Zoi 'l ·~~~ DATI! l7J J-/?...o2'L
12/b lii7l
EDTOAN l.l.llERST

PRO~RIETARY INFORMATION °""\7_19/io 7...,'l. PROPRIETARY INFORMATION


8 J....--- ).

TOU RNAMENT ANALYSIS


CMMuodhompago

Loveland Ohio Competition


TOURNAMENT STRAT EGIES
Match Play
• erformance at the Loveland Ohio Event
~ we will reflect on our st,l~t~g~c!trategies during match play
~
L'.::J 0
so that we can create a 1s We will brainstorm possible solutions for our drivetrain rebuild so
L.:::::::._J that we can select the best one for our team

Type Win Rate Auto Bonus Rate AWP Rate Skills Rank Strategy in Spin Up for us is less of a list, and more of a flowchart. If something
happens, we act upon it. Since there are many, many scenarios, we will break It up into
Percent 100% 83% 50% #7 different sections of a larger flowchart.

Awards: Tournament Champion I Skills Champion I Excellence r

j Observations strategy Observations

Not expanding endgame in easy


matches prevented chance of DQ

Air tank moved up to the front


balanced weight distribution +-

Autonomous First goal turn


inconsistent across match fields

Cleaning intake rollers before


matches improved consistency

Scoring Discs
Rollers and Defense
Switch between types
Successful Failing features
features - If the partner prevents
- If we can lock down the - If our partner is not
the other team from
opposing team high discs, good at defense, or
scoring, it will effectively
our partner can secure scoring, then we will
be a skills run for us high discs. handle both.

Conhn,,.,ilo - 'I,. eon,.,.,.,,.,,,_ Jo


,. ., I l'l-111 I Z,O '2.1.,. ----;;;.,.1-z__/ I 3(2o2__1__
12. II/2._o2.,1.. PROPRIETARY INFORMATION
1?113/?.011- PROPRIETARY INFORMATION
CMlit>J«!lh>m,- I()
r
8•101e ScolWli 1 Scoring Discs
Rollers and Defense
General Roller and Defense Endgame Defense
• ct,,c;~lng 101 qulcl<SCO<i~ - The order of scoring a set of dis
~ 11111 tH I~ tt,ouoht procus Into the high goal cs
oppcxtoolt,es or p0tentlal possession • Opens process loop of claiming
t,Mindscanno d1SC1
rollers and playlng defense aga Inst - Prevenlfng the other team from - How to prepare and play In the
hnatds endgame pef[Od
opposing robots scoring !heir high discs and claiming
field rollers

Focus on Rollers and Defense


SWitch Approach

- Depending on If we are leading, or lostng In discs,


move between lhe two strategy loops

Tum left and right f~st

Focus on
rollers and
derf'n3e

ClalmRol~r

Focus on
soormg
discs

Fire triple pfston to


unclog delwery

Hold the opposmg


robot against the wall
IN up with 11011
SColalhrNd1-

Piclcupdl1e1

Contlnuodtop,g, \ ' - eo,,,,,_,,.,,... y.


DAT£ I2 / l'5 / 2.02t-. ·~~ ~ ""i2/1 £ /2._on.._
PROPRIETARY INFORMATION
~UND<RSTOOODY
"""
I1../15/'z,o'l.-1 PROPRIETARY INFORMATION
CooUnu<d from - 1'')..

TO URNAMENT ANALYSIS Match Observations

Riverbots Signature Event


Q130 - Full Defense
rormance at the Riverbots Signature Event so
Goal We will reflect on our per d . and game play strategy.
that we can Improve our robot es1gn In this match, we went against a full-defense
robot and competent high disc catapult.

Because we scored more discs In


Type Win Rate Auto Bonus Rate AWPRate Skills Rank autonomous, we chose to play full-defense on
their sole scorer.
Percent 93% 93% 86% #2
In the end, the only discs in the high goals
Awards: Tournament Champion I Skills 2nd Place I Excellence were from the autonomous period, which we
had more of. '
Pinning opposing scorer for 4 seconds
/ Observations General Observations
F2 - Last Second Pin

Approach to game strategy Since this is the only match we lost at Riverbots,
improved since last tournament it is worth noting the mistake made and how to
improve from it.
t
Roller mechanism works on
plastic and metal fields the same During the Endgame period, we had an opposing
robot pinned against a wall and, at 4 seconds
remaining, let go to expand. In the remaining
Flywheel places spin on disc, time, they managed to drive out and expand as
causing it to slide out of the goal well.

Part of the extra time came from our driver, Ben,


Wedges prevent linear escape Opposing robot expands just not having a time indication of when to let go and
when an opponent's wheel is in in time expand. In the future, I, Logan, will give a
between them countdown so we can expand at 1 second,
swinging the tile points in our favor.
IConclusion
Successful
features
Failing features
Our research and development of match strategies helped greatly with preparing for i
and adapting through difficult matches. We will continue to discover and improve our
approach t o the game strategy. Seeing as there is a hiatus of competitions in the
remainder of December, we will turn our attention to robot design.

Conenwd to pago I ;,
OAT'E
°"'"'"'4 '° _. X
1 11~/t)u
OAT< I?JI~ /2.c,2.."'L PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
IDENTIFY PROBLEM
BRAINSTORM SOLUTIO NS
Drivetrain Rebuild
Drivetrain Rebuild
. · oblem with our drivetrain so that we can
~Goal
L.:'...J We will identify_ a maJor pr d . n's performance
address it and improve our es1g ~ We will brainstorm possible solutions for our drivetrain rebuild so
t...::::_J that we can select the best one for our team

Possible Solutions
Problem Statement
3" Spacing
We need a drivetrain that is optimized in s!ze
while maintaining stability so that our design - Construction c--channels that contain the
can have more mobility during match play. drive gears are spaced 3 inches apart
- Gears are doubled-stacked to fill empty
space in between c-channels
Solution Constraints
Positives Negatives
• Must only use legal VEX Robotics Competition parts
0 • Must fit within 18"x18"x1 s· cube - z
m Easy to build - Shaft less supported 0
z Must utilize current gear ratio, cartridge type, and motor distribution - j::
-< Spacing is easy to get correct - Widest option ::i
~
.J
- Unnecessary gears 0
1l Solution Criteria V)
l)
~
0 a:
a, • Have 3 degrees of free-spin from front wheel to back wheel
~
r-
m • Drive with excellent maneuverability and response 2" Spacing
:s::
• Improve on small structural features - Construction c--channels that contain the drive
gears are spaced 2 inches apart
~
a:
I-
CD
- Gear configuration is left unchanged from
Revision 1

Positives Negatives
- Proven & Reliable - Shaft less supported
- Easy to build - Wider than other options
J
;-
- Uses high strength gears

"""'""" Conllnuodlo- ,<


~--- if
~-\l, _t1Ll1W_y Conbnu«J lo -

01$::uxc::,n,AA:ilHJOISTDCor,
DATE- I L./ '/.()/2 ) I, I Je,_;j- Ml: Jj fJ\u:: 0
~ ,µCv~f-r<..
\2.) ~0/)ol,°"2_ PROPRIETARY INFORMATION ~1t,~-"T~=~ PROPRIETARY INFORMATION
riJ.,.....,..--1(-
~,,w::~
16 Conr!nwd from /)ago ;(.

1.5' Spacing .
• construction c-channels that contain the
drive gears are spaced 1.5 inches apart SELECT AND PLAN
.
~
p;K ~ Q p
b •
.,r,,
..,,\1 ..
_Gears are cut in half and counter-sunk into
omni-wheels in order to fit within space Drivetrain Rebuild

DA Gf~R&>X ~ We will select the solution that is best for our team so that we can
.
C
~ plan how to build it.

Positives Negatives Decision Matrix

. - Lightweight . Uses low strength gears


.
. I .
.
Very thin
Shaft is much better supported
- Harder to build Ease of build
Simplicity
Shaft support
Size
Amount of sideways rotation of wheels and gears
How many parts the design utilizes
How well the design supports the drive s hafts from bending
Overall width taken up by the design
..
CD

~
z 1" Spacing
Ease of
build
Simplicity Shaft support Size Total

~ oUr;;-~croP VlEwJ • Construction c-channels that contain the


0 b o ~'-·,hv.-.i&.. 3" Gearbox
:0 ~ 0 - t>_c,,,4r;,
drive gears are spaced 1 inch apart 5 4 2 12 z
r - Wheels are moved to the out side of the j
~OID~_wtl•f~
"'
0 p O 0
gearbox, allowing for just enough space to a.
r
C
:j
gj~ 0
6EAR BO\ solely fit the gears inside 2" Gearbox 5 4 2 3 14 0
z<{
0 I-
z 1.5" 3 u
4 4 4 15 w \j
Positives Gearbox ..J
Negatives w ~
Ul
. Condenses robot base size .
. Offset wheels cause the robot 1" Gearbox
Wedges cannot reach wheels
to more likely to tip sideways
2 2 4 4 12
. Very unconventional
. We have decided to use the 1.5" gearbox because it scored the highest composite
Wheels are only supported on
one side score on our design matrix. Its design allows us to have a more compact
drivebase that better supports the drive shafts, despite its increased build
~
difficulty. ,
<
-\

~
C
r
]
t
~

-"'

"°"""'
"
CDl>tirJwdfopa!Jd
ea,,,.,_,.,,... t,X
~ ;...,~.. ~~
o..r,
DATi ..
17,/lljlµ L
{ . -1Jc1,r/4
- • .r<.. 'J
OAT<

I !...)2.J.[ LJJL'l PROPRIETARY INFORMATION


PROPRIETARY INFORMATION
-
Conbnuedhom,,... 1'6
Sketch Plan
I CAD Plan

0 [TOP VIEW]
0 [TOP VIEW] [ISOMETRIC VIEW]

[FRONT VIEW]
(II
m
r
m z
~ :3
l> a.
z 0
0 z<(
"tl
~ t:;
z [FRONT VIEW] [SIDE VIEW] w
_J
w
V)
2
Tracking Wheel Movement

Distance between
motors Is
4.338"'
- 4.33" -

B B

Drivetrain Traction

1/1 To prevent drift over the


,..m course of skills autonomous, z
m
q we placed a traction wheel in :5
a.
}> the center of our drivetrain.
z 0
0 z
"tl This stops the drivetrain from <t
s; sliding sideways and to ti
z allows turning to be locked to w
...J
t he traction wheel. LLJ
Ill

Drivetrain Traction

A
Item
...,.,, Quantity Drivetrain A 14 - - - - - - Overa II width of
drivetrain design is
6
~
Assontd C<Nnneti g
Rebuild
Su-
2.5'~moom

2'U-Ol.lnno!
CAD
ltotlbon Sens«
lNn~TGtu
lhlin60T~ar
A - 1:5 2o/6
2
_,,_
lf _t)'. ..,. Continuod 10,... '2. I
sia"'IATVA-E- - Conlinv«11o,,.,,. x.._

"'"
17..JlGJwn 11JzG l--zpz-z.,
12-/2b/2o2.2 PROPRIETARY INFORMATION
D.\rE

12./2b/2o2.J.. PROPRIETARY INFORMATION


BUILD SOLUTION
Drivetrain Rebuild -----------.....J Construct a mini gearbox as shown to
the left.

E]
Goal
We will build our planned solution for the drivetrain rebuild so that
we can test its performance.
The 48T Gear is also shaved down to
0.3"wide

Process of Assembly

Attach gearbox to assembly in a


way that contacts the back of the
Begin with 2 15" long C-channels. center 60T gear.

Attach nut retainers and standoff Make sure that the motor wire
retainers to C·Channels faces opposite to the other motors

Attach Two motors in line with the


(I] center standoff retainers z
sr 0
;::
0 :)
Cl> ...J
Mirror assembly to create opposite 0
0 Shave down a 60T Gear so that the
r side of drivetrain. Vl
C teeth are 0.3" wide. 0
-i ...J
0
z Connect 3.25" wheel and custom
Note: Do not just duplicate and rotate! 5
m
Gear together.
Think of it as the mirrored assembly
right side looks that same as the
Duplicate set twice and place on original's left side
each of the standoff retainer

Shave down 48T gear to the same


0.3" thickness Connect two sides of drivetrain
together with a 14" C·Channel.
Connect custom gears in line with
Back tracking wheel has yet to be
the nut retainers, with a shaft collar
implemented in case it gets in the
neighboring the gear.
way of later subsystems

DATE
eoo,,,_,.,_.?,.,3
12/17/'&J'l.?... °'"'
11,/1,,7/'1-01,,"l.
"'" I2- J2-1/2oL)_ - ~ROP~IETAFW INFORMATION
-..,. I2-/27/2.02.?... PROPRIETARY INFORMATION
AssernbledBuild TEST SOLUTIO N
[TOP VIEW] [ISOMETRIC VIEW]
Drivetrain Rebuild

~ We will test our solution so that we can evaluate the design's


L.::'_J perform anee.

Test 1: Turn Velocity

Test Procedures
1. Place design in the center of the field and remove any nearby discs
2. Set the left side power to 127 and right side to -127 and start stopwatch
3. Once the resign has turned 10 times, stop the stopwatch
4. Record Results
Test Results (measured in seconds)
OJ
C Trial 2 3 4 5 6 7
5
U>
[FRONT VIEW] [SIDE VIEW] Drivetrain 18.79 18.61 18.23 18.46 17.18 18.92 18.63
,..0 Rebuild z
0
~ Average: 18.40 Range: 1.74
j::
0 ::::,
__,
z 0
U'l
tii
Test 2: Forward Drive ~
Test Procedures
1. Place design flat against a perimeter wall, facing the opposing wall
2. Set drive power to 1 27 and start stopwatch
Our new Drivetrain addresses our problem of size and expands with additional 3. Once the design reaches the opposing wall, stop the stopwatch
build improvements. For example, we changed the mini-gearbox suspension from 4. Record results
spacers to standoffs for a lighter and more structural sound design. Test Results (measured in seconds)

Another feature that helped us was the process of assembly. In case we want to Trial 2 3 4 5 6 7
use the same drivetrain design in "Revision 3", we have clear instructions as to the
rebuild. Drivetrain 2.12 1.83 1.79 2.32 1.96 2.21 r
1.73
Rebuild
We will now test this solution to assess which aspects work and which don't.
Average: 1.99 Range: .59

Coniinu«Jto~ _){_ -
''"" Sl<lNATUAE

-~~~
IZ/2'6/cJYL:z_
\2/29/202.2
DATE 12/U/2..t:J2-2. PROPRIETARY INFORMATION
CATE 12 -/'2..q/202..2 PROPRIETARY INFORMATION
Test 3. Wheel Stability
- L

=--- /(
Test Procedures. . e no wheels contact the ground
MONTHLY GOALS
1. suspend design 1n a way wher wheel with both lined up with each other January Plan
2. Hold protractor tangent t? dnhve two angle distances together
3. Rotate left and right, adding t e
6 Record sum of angles
~ We will complete a list of projects to complete by the end of January so
Te~t Results (measured in degrees)
L.::_J that we can maintain an efficient schedule during our processes

3 4 5 6 7 1. Design and build new Delivery subsystem


Trial 2 12 Days
0 Drivetrain <O <O <O <O <O <O <O
2. Rebuild Intake, Lift, and Roller
Rebuild 2 Days

3. Rebuild Endgame subsystem L


Average: 0 Range: O
2 Days

4. Compete at Cov Cath Tournament+ Analysis


Conclusion 2 Days
- Spin 10 times within 20 seconds Success 5.
Success Find Two to Three improvements to the robot design
- Drive across the field within 10 seconds 3 Days
- Shrink gearbox size without compromising stability Success
- Improve on small structural features Success 6. Compete at Kalahari Classic Tournament+ Analysis
4 Days
Our 1.s• gearbox drivetrain rebuild has succeeded by passing 4 out of 4 goa Is.
The overall smaller size allows us to more-easily maneuver around the field and 7. Begin work on Debugging tools
avoid opposing robots. We plan to use to score higher in skills and match 5 Days
autonomous programs.

7 days of buffer in case one or more project takes longer than


anticipated.

DATE
Con/Jnued lO page X
,iii£

17./zti rw·z:z 1'2/3ohon


l2-{2_rt/2ot7.; PRO;RIETARY INFORMATION PROPRIETARY INFORMATION
Coritln!JH1rom pllfJe X_
- .J.

IDENTIFY PROBLEM
BRAINSTORM SOLUTIONS
Delivery Rebuild
Delivery Rebuild
r,:::7
~
We wlll identify a major problem with our Delivery so that we can
~ solve it and Improve our design's performance We will brainstorm possible solutions for the routing of our Intake
t...:::_J & Lift rebuild so that we can select the best one for our team

IProblem Statement Possible Solutions

We need a Oywheel mechanism that scores


dlsc.s without applying spin to the discs Double Flywheel
- Two rollers placed equally separated from the
Solution Constraints center of the delivery
- Flex wheels are geared to spin in opposite
• Must only use legal VEX Competition parts direct ions
• Must fit within 1 a·x1 a·x1 a• cube - Rollers are parallel with discs
• Must work with only 1 motor
0 Positives Negatives
m
z
-I Solution Criteria Places no spin on disc -
~ Proven design from research
Complex mechanism
Extremely difficult to tune
"
lJ
0
• Score Consistently from the autonomous line
* Have the possibility to score from the roller Current
ID • Shoot three discs below 2.5 seconds
r
m ~ Discs that are scored will no longer have spin
3::
Dmvrn YC510c Vlt -,J Vertical Flywheel
f(,E.( 1.u•te:tL- - One roller centered above the disc
c..-q~,\V,,,'l,. - ... - Flex wheel maintains same gear ratio as our
DC¼ - - ¼ previous iteration
f\;\.yu1~a..~ ..... ,==- - -

Positives N egatives

J7
Places no spin on disc
nproven design from research
Very small
Has no configuration that
Straightforward to t une
scores multiple discs -----I

eon,,.,.,,,.,,... X
""'"'
°""
12131/,bz.'2.. PROPRIETARY INFORMATION ""'"'
I/ I /ZOZ-3 PROPRIETARY INFORMATION
30 /"""""'""-- '2.'-1
► ►
- CofltJIIUOd from pago X
_:j Catapult
011iV£R'/ woe vrn,n
• Hinged arm centered below the disc
OISC.--~
,.,,,,.,,~ SELECT AND PLAN
• Uses a slip-gear setup so that the arm
springs forward after a specified angle of Delivery Rebuild
turning
~ We will select the solution that is best for our team so that we can
. t..::'._J plan how to build it

Positives Negatives
Decision Matrix
I
Can score 3 discs at a time Difficult to tune

L: Requires a smaller lifting


mechanism
. Cannot store d iscs while
resetting catapult
II Tuning
Consistency
Simplicity
How easily we can tune design's shot power
How often the design is anticipated to score
How many moving parts the design contains
Durability When is the design anticipated to break
Slingshot
lTd' \11£1,JJ ~DELlVERt • Slider mechanism centered
+
Tuning Consistency Simplicity Durability Total +
Ill
,:, ~- ,o~,
"'---itullBERM«l
behind disc
• Uses a slip gear to spring
11
)>
z - -OI"'- forwards after a certain distance Double 4.5 3
~ back 9.5
Flywheel
,:,
~ Vertical
VI
4 5 5 5 19
0 Positives Negatives Flywheel
r
C
-I . Short in height . Catapult 5
Long in width 3 4 12
0 . Light design .
z . Cannot store discs while
i Adds no spin to disc resetting slingshot Slingshot 3 3 3 10
Classic 5 4 5
Classic Flywheel 4 18
• One roller placed to th e left/right of the l'f "IE<-]0 -t DEL IVFR, Flywheel
disc t - ;u;, w~rn..
('7 • Flex wheel spins extremely fast to - - - Vt.H>W\/Et,
We have decided to use a vertical flywheel mechanism because it ranked the

?l
provide force to disc f----Or!.<.
\. lb~ 1U\~Oo ij~iE highest in our design matrix. This flywheel variant allows us to remove the spin
from discs being score, while maintaining simplicity and consistency.

-~ Positives
Negatives We made the choice to not prototype these solutions because the sheer amount

L
of efficiency put into o ur original design would most definitely skew the results.
• Known to work .
<1? Simple to implement -
Bulky
Puts spin on disc, causing it to
From our understanding, this is one of the first times that a team has
implemented a vertical flywheel design, so we are excited to learn the potential
slide out of goals of its design.
-
_,,,.,. ~ ColllmutKitOf)ll'//fl
)
~ ~ -- =-~-36
OAT£

1/1I 202-~
MNATU~
asa.osmro1,,-.::,~ 'ST0001'1'
OAT£ •.,. lj-2-/2023
~,v. f.,..,.h9 I /l/'2.dl,3 PROPRIETARY INFORMATION
DISCLOSED ro ANO UM)(RSTOOO av OAT£

!JC>j°"?r 1/2/Zo?.3 PROPRIETARY INFORMATION


I
CAD Plan
33

0 0
0 0 [TOP VIEW]
0
[ISOMETRIC VIEW)
D
0

....
0
b 0
D 0
t, 0 a

0 D
. a
a

□ □
0 D a

D
0 0
D
D
- - - [TOPVIEW)
~ ~ KJ:
0 0
a
1----~ - - - ~ - . J I
a t
I

Q I
C VI
m
r-
m z
Q ::5
a.
z► [FRONT VIEW)
0
0 [SIDE VIEW) z<(
,:,
~ ti
z w
...J
w
Ill

[FRONT VIEW] - -

0
0
a l:==::==::=;:============:==:::::::I
a
ooooooobc,aoouo
0 'O

- =-to~
..,.l/~ /'2>12s
PROPRIETARY INFORMATION
2
/ Gearbox ]

We use a 5:1 gearbox to match that of our


previous iteration. This allows us to have a

rn []
B
wide range of velocity values, while having
enough strength to cycle fast.
B The new addition in this design is the shaved
60T gear, the same width as in our drivetrain.
..t
This allows the gears to spin together
without having additional friction from
unnecessary surface area.

- - - 9331

"'mr- r Flywheel Compression


z
m
:3
Q
)>
z
0
7.546
I To ensure the perfect amount of
compression on our design, we
a.
0
z
have allotted a space below the <t
-0
flywheel were we stack plates. ti
\;;
2
Lt~:~===:: ~z~ If th e flywheel has too much
compression, we simply remove
one of the plates.
w
....I
w
VJ

Item Quantity
A Mo<or A
Assoned C-Ownllffl 5
We decided to motorize the indexer because
of its smaller and more efficient design.
High S!r•nglh Shah
Colar By removing the need of air for scoring, we
no longer require a second reservoir(air
•• 60A Fla_, tank). This decreases the overall weight of
VtrM Hub Adapc:rr our robot by 0.5 lbs

1!3.S l 016
2
'°""'"' ----
~-:\.
~"OMO~!!'!'
~
4 :;.e,,, ~).\J:: Olsci.OSED ro AHO LINDE:RSTOOO 8Y

tJ~
36 c,,,,--- X

BUILD SOLUTION
Drivetrain Rebuild Build a framework of the flywheel
gearbox. It is a 4.5" C-Channel offset
from the right structural beam by four

0Goal We will build our planned solution for the drivetrain rebuild so that
we can test Its performance.
0.75" stand-offs.

Place the motor two inches down from


the top of the frame.
Process of Assembly

Complete the gearbox with a


shaved 60T gear and a metal 12T
gear.
Begin with a frame as shown to the left
Make sure to remember that the
Two horizontal 7" C-channels are separated 1"
motor shaft is low strength and the
apart. At each end is a 7" C-Channel with the flat
side facing inwards. flywheel shaft is high strength!

Connected at the top is a 7" L-Bracket that ensures z


no bowing out of the pillars. 0
i=
:::,
_,
U\ Add in the flywheel roller and 0
0 high-strength shaft collars. V1
r-
e Extend the base out with two a• L-Brackets. _,
0
;j
0 These will be used to mount the side walls. The components and composition of :::,
z the roller is exactly the same as it was
!I)

Attack an addition 7" L-bracket across the two in the previous design
beams to prevent bowing.
+

Finish the design with the


Laser and connect all polycarbonate pieces to their
motorized indexer. Pillow blocks are
respective places. Because the side panels are
suspended by 3/e" spacers and
exactly the same, do not worry about marking one
as left or right. house 1 .625" 30A flex wheels.

eo,,,.,.,.,,,,,,,... 37
~~ /,.JI~ ~Tt: -
COlltinlHldtopago.38

~TO~~a,

- ~ cfp.ji.i,j:::- .... l/b/202-3


PROPRIETARY INFORMATION
1 1/G/ uf2. 3 PROPRIETARY INFORMATION
C,ontinufld from page _i
Assembled Build

[ISOMETRIC VIEW] TEST SOLUTIO N


[TOP VIEW]
Delivery Rebuild
~
L.'.:_J
We will test our solution so that we can evaluate the Delivery
Rebuild performance.

j Test 1: Accuracy Shot


Test Procedures
1. Place Design in the center of the field, facing the red goal
2. Allot 5 minutes to tune flywheel velocity until the design scores in the goal
3. Shoot 5 discs in a row, counting the number of fails/successes
4. Record Results
Test Results (measured in success out of 5)

Trial 2
CD
3 4 s 6 7 -t--
C
;= Vertical 3/5 4/5 3/5 2/5
0 [FRONT VIEW] [SIDE VIEW] 2/5 3/5 3/5 -,-
V) Flywheel
0
r
z
Average: 2.6 Range:2 Q
~ ::J
6 ...J
z
(/)
Test 2: Roller Score f-
V)
UJ
f-
Test Procedures
1. Place Design adjacent to a roller, facing the furthest goal from the roller
2. Tune Flywheel Velocity until the design scores in the goal
3. Shoot 5 discs in a row, counting the number of fails/successes
4. Record Results
Test Results (measured in success out of 5)
The new Delivery rebuild works to remove the spin of discs while keeping the
simplicity of our previous design. We also had time to make minor structural Trial 2 3 4 5 6 7
tweaks, one of which shaving down the 60T high-strength gear to reduce
friction.
Vertical 3/5 2/5 2/5 2/5 1/5 3/5 2/5
Flywheel
We will now go on to test this solution and asses the working and failing
aspects of the design
Average: 2.14 Range:2

ContintHK/topaf}fl j'
-,;..,:"'"'~ ~
D•SW>S<OTO"'O"jf'~
PROPRIETARY INFORMATION \}'iJ/20'2-3
/ Test 3: Quick Score

Test Procedures f the field facing the red goa I ISHIKAWA DIAGRAM
1 Place Design on the center O ' • the goal
2:
Tune motor velocity until the Design can score rn Delivery Improvement - - - - - - - - - -
3. Set motor to said velocity and sta~ stopwatch
4 Shoot three discs as fast as possible . . h
s:Once the final disc no longer contacts the design, end stopwatc
6. Record results
We will find all possible causes of our Delivery's lack of
consistency so that we can improve it.
Test Results (measured in seconds)
Trial 2 3 4 5 6 7 ~ ...
~
When a disc is fired, it has a large

8
Vertical 2.32 2.63 2.81 2.94 2.35 2.58 2.72 ~
variance in the spot it hits the goal.
Flywheel Some go in, while others flop to the
ground. .... -
Average: 2.62 Range: 0.62

-i Conclusion
~-
E
VI Score consistently from the autonomous line Fall r ;,,,-.-._
,,--,...
,..0 Have the possibility to score from the roller Fall I"""'-;
C
-i
- Shoot three discs below 2.5 seconds Success
0 - Discs that are scored do not have spin Success Possible Causes
Flywheel Built with Wobble Roller Position
z
Our Delivery Rebuild has failed two out of the four goals. Before we can move Screws that stick out create air Roller has air space ln•between
on to the intake and lift, we will solve the issue of consistency. We will do this disc during scoring process
by looking at all probable causes and solve the most likely problem. Roller weight Is not balanced Flywheel contacts disc twice
Disc Shots
Vary in
Direction
Tested with different motor control
algorithm
Metal-backed polycarbonate
We used the VEX bullt·ln velocity
allows no compression
control; It oscillates greatly

Little Compression Poor Velocity Control

Man Machine Material Method

eon,,,,.,,.,,.,,... 4 2:
..,. 1/9/ZoZ:3
1/'if/t.dll?,
PROPRIETARY INFORMATION
Conbnued htim pago X
Root Cause

rlywheel has air space In-between disc during . REBUILD DESIGN


scoring process, causing the flywheel to essential1Y
shoot a disc twice. - - - - - - - - - - Intake and Lift Rebuild

ISolution I B We will rebuild our previous design to fit with our new drivetraln
and delivery.

We have placed two wheels, one for I Overview


I
each side of the delivery, so that the
wheels only contacts the disc once - We have 3, 1 .625" 30a flex-wheels placed at the bottom of the intake. These are
before scoring. chained for speed at 600 rpm. The two other lift rollers are 2" 30a flex wheels.

- The Roller wheel shares the same motor as the Intake and Lift
Test Solution - The polycarbonate backplate is unsupported by metal this time to allow more
mechanical compression forgiveness & allow for a lighter robot
Test Procedures:
1. Place Design adjacent to a roller, facing the furthest goal from the roller
2. Tune Flywheel Velocity until the design scores in the goal
3. Shoot 5 discs in a row, counting the number of fails/successes
4. Record Results
EJ [Top View] [Isometric View]

Test Results (measured In seconds)

Trial

Improvement

Average: 4.43
4/5
2

4/5
3

5/5
4

5/5
s
4/5
6

4/5
7

5/5
.~
1:. .
i•

Range: 1

Conclusion

Have the possibility to score from the roller


Shoot three discs below 2.5 seconds Success
Discs that are scored do not have spin Success
Success
., o Our Improved Delivery system has passed the previously set goals through the
change of wheel types. We are confident in its performance and are rea dy to move
on to the next subsystem.

- ------------~-==----
,. ..
eon,,,,..,,,.,,.11" X,
Conlinwd1op.,g,, L1Lt
J/ l('.)/202.B DAT£ /262,3
I/ /3
PROPRIETA RY INFORMATION
PROPRIETARY INFORMATION
Con/lnwd "°'"!'? k'

Build Solution
- des1·gn is as follows:
We build the CAD model and the resulting REBUILD
Roller Rebuild

We will rebuild the Roller subsystem from our original design so


that we can utilize the roller for skills and match play.

IOverview -,..

- We have two 3 inch, 60a Flex-wheels


placed in line with field rollers. The
wheels w ill be geared down to 80 RPM

- The Roller wheel shares t he same


Test Procedures: motor as the Int ake and Lift
1. Place four discs on the field and in a row with 2" separating each disc
2. Place robot in line and facing row of discs. - The two tall c-channels that hold the
3. Set intake velocity to 127 and drive the robot in a straight line intake will be used to mount the roller \
4. Record results
Test Results (measured in seconds)

Trial 2 3 4 5 6 7
String 4.63 4.73 4.12 5.63 5.82 4.63 4.34
Shooter - We used a high-strength shaft to hold the
roller to prevent bowing when under defense
Average: 4.84 Range: 1.7 by opposing robots. This will also allows us to
only support the roller flex wheels from one
side.
Conclusion

- Collect row of discs in less than 8 seconds


Success
Alignment Forgiveness
- Weigh less than 3lbs Success
Success .,.
We are confident in our Intake and Lift rebuild because it succeeded in our overall
test or consistency. We are excited to not only move on to the next subsystem but
to stay on track with our monthly goals in the process. '

I/ 13/'lfYt.,'J PROPRIETARY INFORMATION


Colllillut,d,fgm~ ~
L

TOUR NAMENT ANALYSIS


CovCath Colonel Classic
REBUILD DESIG N
Endgame Rebuild
r,::::;-i w e will reOect on our strategic performance at the ?ovCath Colonel
~ Classic event so that we can create a list of strategies during match play We will rebuild our previous Endgame design to fit with our new
spatial const raints

/ Overview
Type Win Rate Auto Bonus Rate AWP Rate Skills Rank
- Similar to shooting a rubber
Percent 100% band
93% 9% #1
Point Pot ent ial: Using 6 of
Awards: Tournament Champion I Skills Champion I Excellence
these placed at specific
angles will allow for touching
/ Observations / all 28 tiles
Subsystem Observations
- Placement: The sides of the
Oue to little time available to spend programming, we only had one autonomous to
robot are open which will be
use. This, alongside 11ft and delivery problems, caused our low AWP score.
where the endgames will fit.
It will likely be a tight fit but
doable without interfering
Rollers worked with no issues with anything. <>

Very slow cycle time when


shooting long distance scores
0 0 C O O O e O 0
Lift worked well for most
matches [TOP VIEW]

Great pushing power against


opposing designs

Successful Failing features


features
[FRONT VIEW]
[SIDE VIEW]

-- =- ...... 4l
°'" l/1'c/2-cJ2),
PROPRIETARY INFORMATION
7 COtllinlNJdfTomp,age

Build Solution

k the Endgame mechanisms asl


For the build Implementation, we chose Ito ml a e to bounce out of the field.
low as possible. This prevents the meta re ease
REBUILD DESIG N
Deflector Rebuild
[TOP VIEW) [FRONT VIEW]

We will rebuild the Deflector mechanism so that we can utilize it in


skills and match play.

j Overview
- We have added a polycarbonate plate
in front of the delivery mechanism so

Test Solution - Consistency


that we can utilize the same deflector
advantages that we had in the original
[
design.
Test Procedures:
1. Upload program that deploys the endgame on startup - Rather than using a hinge, we used
2. Deploy all six endgame mechanisms at the same time screws as a pivot point. This reduces
3. Record the number of strings that successfully launched the amount of free-movement of the
design and increases consistency.
Test Results (measured in success out of six)

Trial 2 3 Implementation
4 5 6 7
String Shooter 5 5 5 6 6 5 6
- To ensure little loss in energy, we sanded
the polycarbonate plate down. This allows
Average: 5.43 Range: 1 the discs to slide better and ultimately
maintain the same speed.
Conclusion

- Expand most strings successfully


Success
Cover at least 80% of field scorable tiles
Success
Strings do not bounce out of field
Weighs less than 2/bs Success
Success

The Endgame rebuild was a great success! Despite each mechanism placed at a
different height, no strings came close to bouncing out of the field

~ ,,,,,,.,,,,..1o..,,.'i.,
DAT< 11 lb /2.o1.?>
l/lG/2o7.> PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
IMPROVEMENT Flywheel Weights

Delivery Contact and Inertia


To ?el ermine the right system of flywheel weight, we brainstormed three possible
options.
we will Improve the comp ression
. of. our flywheel to ensure greater
tolerance to discs when shooting discs Stack of Gears
Four 60 Tooth gears screwed
VEX Weights Stack of EDR Rollers
together to provide to provide Newly released VEX Flywheel Group of rubber rollers from
consistent support across weigh1s decreased in diameter and original EDR set connected
flywheel attached to flex wheel sides together to provide eddltlonal

IConcept
At the Cov Cath competition, we not_iced tha~ discs shot differently
than on our field. We will improve this by giving the flywheel more \JEI GH1 Wf!GHT
compression,

compression. ..,.....01," Fu:.. ~£.cL


.stT d F t;or"G !.~
- o ~· nu wllifl.
- A .lw~&.kJi:T4',iff
r -
- .rn,yr GctJ.M:.
.l.
'F/ld<T VtGWJ

-i;;~e~E( ~ -, ,

14 -,-,,. f
=-
;:c:=====:::::;:j:;.,_~Ef
.- ~
I Solution - VEX Weights

j_
r
We utilized the VEX Flywheel weights
Solution • Delivery Compression ~ because of their high density low air +
production.
We decreased the thickness of the flex
wheels from 1• to o.s· In order to implement the weights, we
shaved the radius down by nearly 0.5'
so that it does not contact discs that
This decreases the overall contact to
are in the process of being scored.
scored discs, allowing the flywheel to
give more of a light touch to the disc,
rather than slamming it. The flywheel weight now replaces our
delrin flywheel cover.
However, less mass of flex wheels has
resulted in less inertia, causing the
flywheel to lose too much speed after a
disc is shot We will find a new weight
I
Conclusion

system to return this inertia Our Delivery improvement is a great addition to the robot design. It not only increases
)
the consistency of scoring, but also decreases the ov~rall size. The skinnier flex
wheels have less contact, allowing for greater maintained velocity and the VEX
weights allow the system to return to a similar inertia to before.

PROPRIETARY INFORMATION PROPRIETARY INFORMATION


TOUR NAMENT ANALYSIS Match Observations

Kalahari Classic Tournament


Q13O- Autonomous Failure
r,:::;-i We will reflect on our strategic performance at the Kalahari Classic
~ event so that we can review the overall design of our robot In the aut onomous period, we missed six out
of six shots made from the autonomous line.

The discs deviated from our anticipated target


Type Win Rate Auto Bonus Rate AWP Rate Skills Rank both horizontally and vertically.
Percent 62% 38% #8 To solve this, we will improve the flywheel
design and control.
Award: Tournament Champion
Discs that were missed
during the autonomous
/ Observations Strategy Observations i
~
I
F2 - Low Goal Lockdown

Disc shooting is very inconsist ent Our main approach for the elimination bracket
in autonomous was for our alliance partner, 2775V, to focus on
scoring discs while we prevent the opposing
Goal filling worked great in driver alliance from scoring any.
control
We do this by waiting beneath their high goal and
shoving them when they are about to score.
Intake rarely jammed during When they back away to collect more discs, we
match play. go back into the low goal zone and wait for the
next robot to line up.

Endgame deployed great for all Pinning an opposing robot This allows our partner to, essentially, be the only
of the matches we used it in the low goal robot scoring in the driver control period.

Successful Failing features


I
Conclusion

features Our design performed great at t he Kalahari Classic tournament in offensive and
defensive play. We consist ently scored high in qualification matches and stopped the
opposing team from scoring in the elimination bracket. The main issue arose from the
autonomous period, where we missed most, if not all, of the discs. So, the next step for

---
us is to fix this flywheel inconsist ency.

Continued.,,... 53
~~
~ ~A.'C>Ll!C.'ClllmXl)ty //23/2..023
~ ~ 1/z.u-z.o,.3
""" I 2...3/2..o23, PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
+--- +- - -
Commuod - -·;:
l_ ...... ..........

IMPROVEMENT
Delivery Horizontal Flywheel
PROGRAM DEBUG
Live Graph Display
~ We will improve the consistency of shooting from t_he auto~omous line so
L.::'.:.J that we can earn more autonomous win points during quahficat 1on We will program a feature that collects and visualizes data in real time so
matches that we can detect and source issues in our code or design

l
Spinning the discs allows for stabilized trajectory. Because our vert ical General Overview
/ Concept
flywheel puts no spin on discs, its trajectory 1s very unstable, lowering
consistency.
Graph Progression +

Motion Record Data Graph Data


_,...
0
1-.0 1

""
,c.,

1 J
110,
/ Solution /

We replaced the vertical flywheel with


horizontal, similar to that of our Uses input information Places information into a Considers data as
Revision one design. from the VS brain data chart with new points on a graph and
through variables or updates every l 00 visualizes all data in a
This allows the flywheel to place spin sensor values milliseconds full graph
on discs and, as a result, stabilize their
trajectory.

Our early testing of this new flywheel Citation Sources


prove to be more consistent than the
vertical already. We plan to continue In order to make this graph program, we will the tutorials of the following:
_ using the horizontal flywheel for the
remainder of Revision two. PROS documentation Tutorials4urHelp Sentdex
- Showed how to print - Explained how to - Provided a full
information to the redirect data from explanation of graphing
command prompt. command prompt to a with matplotlib from
notepad file. notepad data.
Conbnuedto~ ,X
I/Jo/ W?,,~
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
Con.,,_, m>m pago 56
-------1.

Resulting Graphs

Print to terminal every 1 00ms


To see the extent of this graphing function, we will plug it into our skills autonom ous
and watch as each attribute changes live.

Delivery Current RPM over target RPM


Command Prompt

Redirect terminal print to notepad

::\Users\Logan\Oo1'1'nl0Jds\Test1rw>pros tC'1minal > dJtJ.txt

I I
Python Code

Read notepad information, Organize Information into points, Display points on a


graph
-Target RPM
-
...,.lplolUb.s,yplol JllL
Current RPM
,.
I
.,.l('lot.llb.•nl~lh,n onlaaUon
.,_
Conclusion
!19 • f'll.U,iun·U
..-.t • (Jq.•<J.J a11bf,lolO.l,I)
t
We are excited with the precision and value provided by our live graphing program.
.-a1.a.titotUI:
This will be utilized in future design process testing and program solutions. For our
v r • d.llo1 • l)llllrnl'd.ll.a.i.at' , 'c').&cul.1(1 next step, we will creat e a system of rapid tuning for PID Constants.
lln.•.., "'"'"' thl4.aplll('\11'J
II
,,_ II
u - l1
l.&tllDi!oca • lc-u(llnv11)-l000
alarll1,.jc,A < O:

-·· ■f.4t11r.f-k Q

llM
left
ltr.•4:
,u.~, >1 11M(01J-' '
c::owi.t>at.artln.Jcx :
,i;, y,r • 1lne. n1,1lt(',' I
l!nc(OJl-'lll' I l in<HOJ I •','

U,AJ'.'Pl"rldlll• •'htJ)
Y•••rrt-M(tl(At IYI I
::, • .1Pl)C'nd(H .at (ZI I
~t•-1

-··•I'
.. -.t,clir-,u t }

• • Lp
:,,tf.11. , y,i)
t ( JU.,:u)

Ccnlxwod lo pago 57 _ ec...... ,.,...2(_


I/J_o/'ZOZ3 1/JQLwB
I ?xJ/2JJ23 PROPRIETARY INFORMATION c,m \ / '?£; j 2CJ2S PROPRIETARY INFORMATION
Cao-kom,,.go 5~

PROGRAM DEBUG
PIO Tuning Box
B T~e following is an excerpt of our PID Tuning calculation. The full program
1s in our Programming Appendix.

r,:::;-i we will create a system of quickly tuning a motor or subsystem so that


~ we can e fficiently test different flywheel control types
Set up Sensor to
0 "'
m
""""·". ,-.. , , . ,; 0
... :::::::::;~~:;;>: 1
....,,
151

I
VS.,ftt11,HtZt!'91'1~•fN);
range from wS;.iu"'.,.tl•l'Olt•11c-'flt1(M);

General Overview / values 0.1 to 15 ... ""ll•(tl'W)(

...
- Currently, we tune PIO by changing the constants on-computer and re-downloading
the program.

updated constants take only a few seconds to te~t


.

.
. .
- Ideally, a const ant o f PIO is changed while the program 1s running, making each
Get value based
0 ....., .,,,s..
...
,..
<M
161
ttdl.1ttv.ilve();
kJ•lS,,,ltdl.lttY,IIW();
~l>aclSo,lull.ettv•l.,.(J;

t•l"J:•t~ltt"•S"'"••'-'l"lJi
0
- This, along with the live graph, will make the time of tuning PIO very low. on pre-set 1
attributes

lM void ltldT\lf'tl'::lljNl,attSQl,1Kt.-()(

0
- Potentiometers are used for their exact and 1'5 // U.f,ilil Cllc /•fNt of /titdf,y ft>• Slapt of• tW, ..- wilt /V"fl t/llf <1-J,, C,,, Y owr I'
146 aoublt c~"lt11'1V•1 • •~ulw••!n_,,,1..,.J II 0,0,,,. f1t " 1 ,,.,.,,.,.,,,_ •

.........
storage of positional data of rotation. The more
a sensor is rotated, the higher a PID constant -
value goes Use slope
form ula to scale
- Brain is used to run test motor and transmit UJ . .1, ,tdl_,.l'ttt'hl.,.{I{ sensor values
graph data to the computer ...
U..e i.pd.atdut,huo.-(l; // s,,c,,,u rr fub fr- •111 11 ..ic -.1.-
based on given ..
max and min.

0
lf(r-nwud)
/ Process of Assembly ,-•wlt•r•.-_••••rtJ~lt,

..,
'" /I lf Ir. .,.cw h OOG\-Ta.,,,....., It_,,.

....., 0
lf(rH.1lu,._~.._.•Uf'O_r_,"'-""•)
1'1't.,lt•rA1_.,. •. Hro_r1"f1_....,
Clam p Sensor
Layout CAD model
into outlines
Laser cut acrylic
using outlines
Connect everything ... I I l/ UM• IIO'C1,, IJ o.rl""' .,[ft, ett, It _.,,. data t o desired
and plug in wires "'
, .. ,lw lf( •ttvluurv_r-"'Cf_&.111)
"1'1Vl l•11ff>_r•~r.•S11;
m ax and min

"'
111

"'
"'
.,,
II ""°"'" ui. irro r,l"Of
,.,vlt••nr-o_r•"'C•-•ln;

/I ,t,tt-lp(y raw ll.1fg t1 ,cot, /fUl•


,..._,1t••.1cllr_ f-ctorJ

II AiU •In WI{..., to J)'Hf'■


0
o//ur ,,._ •t11

5
0
rt11,ltt-t.,_~•l•: Apply scale and
m offset to
...
11,

Ill )
clamped sensor
value

DATE
ca,,.,_,lo_. ) 'I lSIGNAT\.NIE Cao-lo .... )(

2/ l,11.ctl-3 1/1/ZIYl,3
PROPRIETARY INFORMATION
°"" 2./t /2.JJL) PROPRIETARY INFORMATION
TOUR NAMENT ANALYSIS
MONTHLY GOALS
Northeast Wisconsin Showdown
February Goals
~ We will renect on our performance at the Northern Wisconsin event so
~ that we can find focal points of programming to improve on ~ We will create a list of goals to achieve by the end of February so that we
~ can stay on track complete Revision 2 before 1he State Championship.

Type Wm Rate Auto Bonus Rate AWP Rate Skills Rank 1. Program Great Flywheel Velocity Control
5 Days
Percent 87.5% 66% 55% #2 2. Finalize Revision 2 Programming Commands
Awards: Tournament Champion I Skills 2nd Place I Excellence 5 Days

I
Observations Strategy Observations
3. Determine if We Need a New Match Autonomous
3 Days

4. Create a higher-scoring skills route


Horizontal Oywheel scores more 5 Days
consistently than vertical design
5. Prepare for the State Championship
5 Days
Flywheel control is slow to -+ -
respond and cycle
1'

Endgame has an extremely low


chance to bounce out

Drivetrain speed allowed for


heavy defense

Successful Failing features


features

..,. Conbflvod to p11ge f.


SIGNATI.IRE =-1o,,.,,.x
z_/4 /7.o'l,3 ?../S/20 2.3
. .T[r7 /u 1.,-...., -::i.
£--/ 7 ,C.JJ L, _) PROPRIETARY INFORMATION PROPRIETARY INFORMATION
eoo,....,,_,,... GZ. I I

~
I

PROG RAM DELIVERY Voltage-to-RPM Code


Flywheel Velocity Control

B .
We w,11 create an effi1c1en
. t flywheel control algorithm
.bl
maintains the correct velocity as fast as poss, e
that gets to and
106
187
108
void voltt1g1ToRPH(lnt t,1rge:tRPN)(

)
le f t_,tr. l"OYf t t argatRPf1/8.62); ,~
- ~

f Staircase Code
j General Overview / r
11, 'l!lld Udf<Uf'(lnt t.1r11U"")(
.L-
- Multiple problems with our current system _of flywheel.
_ Runs on voltage, instead of velocity, varying from motor-to-motor
111

"'
II <=ot"'-'r Clln"tnt ltl¥'f l'Ndl,,f fro. aoro,,
-,__
,..
ltlt <~left_lltr.s.t_.1et1.1d_vtlocJt)I();
UJ
- Slow to spin up and maintain speed . . . II CO.,,OtT Clotn"Mf ro t'o"!ltt ,.,,,. ....,t-,-
- New flywheel control will be based on velocity, adjusting voltage to
"'
116
Int '""" - t•rs•t.,..•tMl'r•PM; >-
account for changes between motors 117
111
/I Conw!rt lfhf to Vote-., f«' 1drot pow,r OllflllVf
IM lH•IVolt • t•rst.tltP!ot/1.fl;
-
"'
.,, II stq do.n t~ ....,,rag, u,, cto,_""' rtt ro tN rCJW'9tt ~tocu, .._.
Possible Algorithms 111
II ,,.,,, titntr tM dtUat1Ct fn:a ta'""r, tlle llli!~tl" t~ c,cubrvtfo,i
Ul
m
irrt rtiwlt • ldHlVOlt;
lf(,.-ror,2t) - I
We will test multiple different control algorithms to find the best one "' ru.,,lt•U7;
~ -
"'
"'
dst 1f(,rr-or>ll)
NHlt • idHJVolt; -
.-
121 th, 1'(ff1'0N•lt)

Base Voltage-to-RPM Staircase Bang-bang "'


,,.
Ut
~lwlt • JdtdVolt-1•;
du if(tf'r'Ol"C•lt)
Conversion Set voltage to max until Set voltage to max until 1ll
rt.twit• t:

Sets output voltage based re


near rpm, then step down
I
m
rpm is met, then turn off II Aio,ly wolt~ to aot°"
I!_
on the conversion voltage as it approaches flywheel motor.
Ul 11ft_lttt', IIOW{NS"'}t);

between volts and rpm. the value. "' l


-
This is our current
flywheel control system.
Requires retuning often;
varies between motors
Utilized by 2775V in their
world record skills
autonomous.
I Bang-bang Code
I
-

T
I "' 1n, N,.ct,.wia()(

"'
"' Int c~,.rltl»II ~ •torSy.11t_-...lotltrO:
jj
PIO Control
Classic control algorithm
Feedforward Take-back-half
PIO loop with an additional PIO loop that only uses the
...
m
if(U,.tt)( I

for motors constraint that sets '" i111Uvtt"•l•0:


~~
'I' constraint. "'
Ill
l
( i::::-
voltage to max if the 112 ~dwA.,.tr. .e{C\lrrllPIO;
Adjusts voltage based on current rpm is very low. Ill
~:i'
current, composite, and Every time that the target 114 oow,1■ ......~tMPN-01,,...... ,,0,
11'
change in distance from rpm is passed, half the I m l f(ol•f''"•ltllPMCt..-1HIUM)
()
target rpm. Used by 7842F in their constraint, resting on 117 ret.,,rn U7; ~D
"Turning Point" robot.
anticipated velocity.
111 •h•
Ill
n, l
Nh•NI t; ,_
-
- ----- -
~~~
SIONATIJRE
......... Conlm!Nldlopagt Gi_

~ ~ 1/GI'k!;J;J,
PROPRrETARY INFORMATION o~~ I
''"' 2jq/'2D2,3
'l.( 9 1?.Cst.:>;
PROPRIETARY INFORMATION
PID Control co;-i
Take-back-half Code
, .. ....,, • ttic.tNll(l,.l.,, h'l•,C

. . "" ~ , '""' 'Tehftfl


'"
,., ,_., ~ , pt•n,,,.-,..,u1wtt-,IJ1
1111t... Jrl,t• """'"t'ltla>'f . .l

"' .. Jlt lloo1 l&flC'°""l• ul~)( rtlul"'I\ v•hiut; )

.....
......
,..
"'
- U ~
,• .---..,1
c-.n..-1 Cl'III O ...1... f. ~

1w .,. .,,,-,_, ..,,,_ r~r """'""'"'MW~_.. tr ,, ""°"


l'itt......,•Uif'l,i•"" ◄_..,...,
U ,rN.
"'
211
1U

"'
US

"'
Clo..bl■ lhtl,0.H•HCJ(
-..l♦ etl,._.;

fMl♦ 1rro,,,.tq,tflN!••t-S)',C♦t_,.1lO(ity();

clo.bl1 ,-.,.,.Jt•••rT'Dl"'C•1";

C.Cntffl "'-'tC,,,.,,1 -,. ...ut,,c,1,.. ti. l"'lr.,, •"""' f■ct.­


U7 H(l'lhlhl) ~ult•l;

,,
"' ._.l, r,..,_.i1....,.l • U'•.,.,....l 1U th• if(ruulti•) ruyh ..;

... t■ o!'Mr•.. ,..,, l"tfW"!Jl ,,,,. .,, u•t"t t~ t'llllll'llltftr, tf'f'W' .,,,,.,.., u• lf(,a,,(tl"f'Oll")l•Sr,(J.utfl'T'Ol"')l(

',,. ....,~..,_.•,1•...1u,1... 1JI re~lt-t.5'(NJlollt•t"');

,,,
, .. ..........,..,
111-........,,., 132
1))
tO'l•re•ult;
lnu,.,..,..,r"'""''

• sr- ttw • • .-. ow t.o>r,.,..t ,...,.. "'


IN -..1, 1.-t. .l • 1..af'f'W; U6
217 )
returnr11wlt'l28N;

ll.l u.l.nJ!ffl' °"'1_.NW ., tlltl"9 t~ •If/,.,.,,,~ of (Wffllt W ta,t NTW'


u.J ....:, ••uuu... • ~O'('"Y·lntfl'l'W)t•luu..: Implementation
IG ,.,..,, ,._,...,.., W(«lt)' H_. 1'10. 'll•r JIH'T to "4 _.. tllt ,_,...ri!.lfl't H w-U
I.. -..1, "l'hll • 1......-i:IONI • l"'frl~.11 1 dtthitlvt)•tv""'"'i
I We have chosen the Feed-Forward Algorithm due to its quick response to discs being
IW """"""' ..,...u., • ..,,.,.,our wtoctr1 ro U•h• to shot and precise changes when lower/raising target velocity.
,,. ,..,..,.....
.- u, ......a,.-.e,

,.,"'..
The tuning process of Feed-Forw ard took a total of 20 minutes. Because we used the
PIO Box, a great deal of time w as saved by making small adjustment s to constants
and testing them within seconds.

( Feedforward Code kP = 9.283 I kl = 0.001957 I kD = 0.004885 I kV= 30.4


Proportional / Int egral / Derivative / Max Voltage Range

nifl"Nn, t~ .-est-, w,.....,. "'"""'"'' w


-.._. fffW • uy.1""'"•H•·ir.«~--tlo,,:U10;
,.,..t ,,.,. Velocity vs. Time
'l

...
11 rw n.u_.,. ,,. w,""""' It• , r,·u1,r
u....,..~tv.-....,,111,
,.._, :
oaoc.nt, frf ao.- ..-olf0,1'

~u,r, 11.,,,,. ,., ~rn ior1,..t


''"
...,_ ,_.tttr •""J( ..IU1Lw);
Disc Shot

Ti me(ms)
"""
Target RPM Current RPM Output power
CorltJmJ~fO~

1-19 . 'lO?.,'!,
PROPRIETARY INFORMATION
TO URNAMENT ANALYSIS
Nuketown Competition
PROGRAM AUTO. SELECTOR

EJ Goal We will renect on our performance at the Nuketown Competition so that


we can determine the remaining
~
L:'.:..J
We will use sensors to determine the number of discs in the robot so
that we cannot break the possession limit of 3 discs.
General Overview
Type Win Rate Auto Bonus Rate AWP Rate Skills Rank
A line tracker placed adjacent to the third disc in delivery st orage checks for light
Percent 100% 100% 72% #1 - If the line tracker reads darkness, there is a stack of 3 discs in front of t he sensor
Diagram :
Awards: Tournament Champion I Skills Champion I Exc ellence t
Scenarios
I
Observations Strat egy Observations Rotated o• Rotated 120' Rot ated 240"

0 A A
Minimal mechanical flaws of
build ...
Flywheel control worked 2_,, 3
extremely well in auto and driver
t t t ..
Returns Returns
Autonom ous selection was slow 2 Returns 3
due to using the controller

Drivetrain was versatile in going Key

0
over the barrier

N
Indication
t
Selection
::::r:: Successful Failing features
Wheel Indicator
G::) features

Determines which autonomous program will be run based on the


corresponding number provided by the wheel.

eo,,.,,,,...,.,.. i;~

"""' ,,,, ).,_h __...,-, 2-// 3 /20__2..'3


'2./ 12/?ffl3 PROPRIETARY INFORMATION t,. --'/ u:; ~.:::, PROPRIETARY INFORMATION
8
The Autonomous Selector consists of a
an indication wheel and a VS Potentiometer. PROGRAM SOLUTION
Tile indication wheel Is a laser-cu t delrin circle with Skills
numbers engraved for each autonomous program. We will create an autonomous that utilizes all 60s of skills so that
There are a total of eight programs to choose from. we can have a high composite skills score
,,..-P-ro_g_r-am
_R_o_u_t_
e _....,
Because we are using a potentiometer, we can
select an autonomous even when the brain is
turned off. This allows us to save on battery life
and set·up time at the competition field. * Start
~ Drive Forward
I I
Cooe
o · · Score Disc
a--spin Roller +--
-..et•, •t--r1:1":tY1lw.()( <>-- Expand Endgame +.
...
Ill
...
lU
Ill
.Ut♦Sc:.lt11«wO: II ~Ott! tN ,coll' /NM ,ifn to.,,, VOL4oe

••t. r.Mlt • 1n~•l1.H10; // rt"t doto fro. nnsor


II l/ ""'

U(~eclJ
t,,. fs ~"c-rnd, rt:~rrs,
IIU:,. JIJ:f.S J)'StNI
rrN
S)'StH Ott 0 Anticipated Points: 270
Scored Discs : 30
,,.
l • ~uh•....,_N.:•ruult; Claimed Rollers : 4
Covered Tiles : 28 T
II If l,,.
"11:w 1s Obaw ........... (t mx
lf(tt1ult>rh_uc-uro_r• "ll'_..a)

0
,...,wlt•,...,.,..,.ir.•nro_r.ariclf..•H; Discs in robot after time : 0
...
II If ttt. ~lilt b WL0trt ■in, -ah it atn
•lM If( ,...,11ltutro_ro111gt_a.in)
rwsult-t....o...r1rp_lll.n;
I
Steps J Start

I/ ~ Ck Zt!t"O l'V"g,f o//J.ft fro. ■(11


NM.1lt-•:""'...'",1"C~...itln;
Claim Bottom and Left Roller

'6
m
ti Jl,ilt l,ly row da(o t,y s-cote focro,-
aM.1h • • ,ul tt_f.actor;

Ml •(If "°tw ro syun


N'W}h .,.1"..,t• lu";
0 Score Preloads and Bottom Match Loads

ll'rttt ~a,,.JjrtJdo,,,r~t11.-
P'TtUNr"'l"~""lt;
Pick up and score row of 3 discs

0 Get scale of
values
t:\ Crimp the rotation to
V defined degrees 0 Apply Scale factor to
potentiometer value
Pick up stack of three discs and claim top and right rollers

Score stack of three discs and Top Match Loads

U 13/1ffl-3
""" -zII3/2,o2,:) PROPRIETARY INFORMATION
1/IL//202.3
PRO PRIETARY INFORMATION
Pick up and score row of 3 discs .,••
...,, II Clot,. hft Ralt•r
qutc1t11ot lu(e,-se);

Pick up and score stack of discs and deploy endgame expansion

~ The following Is an excerpt ~four first 4 steps. Full program is .


58
SI

""
qulckP:ollcr(e, ·SO);

II (cUtulote- dtstanct fro,,, woH rmd sn tc


~SU lt
OJ: x.
• flnd01sU'lCt'( backTr-acklcft. 1rr(),b.tclrTr-i1ckP:Jgt,t. Rt't());
0
Pc-lntb( 1, to_.1otrlng(a•tchD,..l~•>1tUt.ate() .;ii;, conYtrt (tnch)) • ·, • • to_str- lna(r ,s,ult,x)),
~ in our Programming Appendix as of 2/17/2023 111
•tcl'IDr-1.,,"•>UtStne( (result.JI' l_ltH1_1n,.,.tcl'IOr-iY•->i•Ut.1te() .y, inert1,1.1n_ror.t lOII() •1_cte1});
"
.. II -·-·· ~Ill!" ro ltATCH UMO ··--· II
.,, if · Ult()( 56
.11 ./IJW'fft to -'JJ • If S7 S• lr1rul'tl(· hrt•,14a,,e); II Sllrtlt1,1 tun, t01<1Grds lfotch Load
u-tUloote-t'(•u. "wllX It)·);
""°' t l,H\ •uW"'l~t..p(ntsnoou•rA1;nc); S9
60
II Odvto ta Hatch Lood Stot(on
d.-Jvr.rost"t();
11 // llllWY t,.,
C,,,,/ltttol" (S /OC(rtf i,pwords 61 ddn.,1ddPolnt(2e.11);
U Mt'1uonrO,,tlH:tor• • "lilP"'); 62 dr-ive.addPoint(4S,26);
u 6] dr-h-•-•ddPo1nt(7-'.S,ll);
U / / S.-t w ~ "6Nu(t 64 dr-h,t,nm();
St . .1wt,Nt«tC1N: • I;
"
66 II Tu,-,, tOM:Jrds Goal

..
Iii *h.-,pol'ltCCl'lllftf' • 2;
•, ........ ._....1.11; 67 fur-nToAncle(77);
u .-1.....
N<cl.~s•f•h•;
ti

0
69 II Seo~ 11 Phcs • 2 (n cos• of Jaftun'
79 t,,d lN.lr-ySktlh(18, UKl);
,.11 NtttO'-h••)UtSUte((U.U_ln, u.s_tn,O_dec)); // Of/(M robot's pos(Uot1
,,
71 hallH,trySUlh(l,108:);
n 1.-tarh•(·'.le)o II ~w into rotl.rr
:u
"
.. ,rcs::..h)'(~); II W,{t {Of' robot to- l"e'OC" roUtr Sw1nctum("P:Jgt,t'",1.S,511); II TuNt ta tlk ct<' ~,t ro. of cttsc~
21 74 .1o~tPlst on(·0en"ctar.. , •ao..n" J: /I 1..0..u 0.-fh ·tor

,...
7S .1oetShoot•r-(◄1l, "vtola(t ty");
76
~
77

..
Htltollt'r(127); /I PrPP,.,N! U/t ro pld, "P disc

..
,.
78
l> HoveOlst~•(45,llG,tru1,.,) ; / / DrCvtt tCMJ"'t'.s r".,. Jartt dts,
TtH'nlOMJle(SJ,130); II Turn to t"ftro(r.ir-J alsc,:

..
:.
n
PQl'IU ,.~,11lt • fiNDi\t•P1tt(b,1ck.Tr.cklC'ft.1•t(J,b•c"-Tr~ckUcht.gtt());
pri"t«.(t. to_1,trJ"C(••tc"'°"he•)CC'tState() ,y .coovrrt(1ncn)) • ",
II ltsrt ,. pos(tfon (\'0'1u /f'Olf ftrtf/ to f(tfd)
• • to_string(r:111lt. 11)); 11
82

"
✓J -o-rch!l!"'-t~·< •>sttStott((-,rchDrlw•>9ttStotr().:#, ~tut r .x•J_ tn,J_fo• 1. s_f.11.,.a !chDrt1,e-,gt:tStatr(). o,rto}); 111
II ,..t,l'b-{w- UrtStotr((aot~lvt•>grtStot<'().~ 1 rrs11l t.x•J_Ul•J_(n,4_ (n,1110tc IOr(vr-,gftStatt:( ). tht:to}); II FA
""""'
.."
8S
II ··-·- SCO,E DISCS •·· • II
Tur-nToAn&le(l65,He); II T11m towonJ~ ;,t,gt

" I Nfd'IOlr1W'f'
t,..ttlXl'f
J.ut.Stott"((-att"tJOr-fvt•JQ't:tStatt:().~, ~sutt.x• J.. 1n,1_Cn•S_tn,ratc- ,o,-tvr-,9..-tstott:(), theta}); II {{1
.,•• hili.l.Nary(l, I); /I scorr dtsu ( r,

....••
Ht5hoattr-(Sle, ·velodty*),
a,tct0-1..-..,wtSt•t•((.,.tcN>rtv\1•>1t-tSUt11() .x, r-uult ,JI' 1_1n•l_1n•7, s_tn,atchlrtve•>gttStne{). t,.et~}); I I lttM

'S-1J1CT..,,,.("a.trf)t•, •U,11); II 111m tOMlrds dtsc


lurnTDlnJlC(·l); ~~
~tCcll"°(111), II ~P<JN U/t to ptc,t up '1
.1,etRoller-(127);
~
HovtObunce(-44,30, tr-ue); II Dr-lvt> tOMJf'O'J A'oU•r

.,
92
•fr.
'°DrtOht.anc.(.?9,l-0,trw); / / Orlw- ar,d pfcA> up df.ic
IIP"ftfoll'Wlif(H,M): II Turn tai.urd~ l"OUt'r .. II • COU.tCT O!SCS ·--·- II
TurnToAnglt'(171); /I Spin Jff to Pr<- roU•r c(ata
M"tlQllff'(t}:

ctt.fut,, 1"1_Kldot(.:: :OISAU();


,s

"91
ffldlHt•tr-ue; II Stop dt•c Jo..t,,g rast

// Shoot ant' dfsc at goaL


-
C :,

HtDr-1~•~);
98 setRoll•r( • 127);
,re,, .Ot11J(Hlt); // a.ult /or- robor ro rrach raLt,:,- 99 pros: :ctt'lay(lJo);
100 .seUolltr-(127);

eo,,,-.,..,,. ]L

2/17/2023
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
'""'' ""'«lt(lU)J 11 S.,la 1,. h~ ,..,., n,Urr ctot•
Ut~Jl..-(1),
TOURNAMENT ANALYSIS
•II ""'°" tod
...
m ,Nuh,N\.._.(,u:NWU)i II ,.,,.,.

I/ U111111 .,._,._.f"!Wflt Cnta rothr


Milford Ohio Competition
'"
Ill
Sl't0rlff{•)l) 1
rnn.t •t-,C...H // MIU t" t'f'«ill roUt r-
~ We will reflect on our performance at the Milford regional tournament so
Ill
IU L::'...J that we can determine the best skills route for our design
Ill
Ill II Ht . . •1W't't,..t11 /or 1N;Of'd aotcll toad drhl'
. ., .., ...u<ttlr-c • 7.!t;
"' Type Win Rate Auto Bonus Rate
"'
Ill
Ill
*iwJ.pol•tCMJl.... • 2:
•twl.,w•Vd•N;
•1wJ.b.k~11,1,..h•r11 Ml; Percent
AWP Rate Skills Rank ;.

100% 100% t
Ill 90% #1
\21 t
Ul
Awards: Tournament Champion I Skills Champion I Excellence
UJ // l "rlrtt&l llE l'OSITION ·• · ·• II
:u•
.,,
'"
111
-,c"Ol"'h.... Utt.)tfU((U.n_ln, 11.s_tn,ch1111s ,1et...JYro{) 'l_dt1•ll8_d~1»; // lkf(M robot 's positfo"

/I ............ •·••·• Sllfl 4 ..................... II


I
Observations
General Observations
UJ II nota lap ~Uf',.
Ut 911i<\lloll..-(-~,I);
lJI "'1tUoll..-(•U,t); Redundancy in roller chain saved
was useful when one broke.

0 Claim Bonam
Roller 0 Reset X position
based on distance
from the wall
0 Score Preloads and
Match Load Discs
Autonomous selector was very
useful in setting up the robot fast

I Conclusion
The most used match autos were
solo AWP and left-side

Our new skills autonomous route excels in points and consistency. Our anticipated
reset half-way through the run helped to remove any skew from compounding out of Match autos scored fewer points
control. We are excited to run our skills autonomous program in the upcoming throughout the day
tournament and raise our global ranking, as a result.

Successful Failing features


features

_.,_ - ---- ----------c.;;:.------'eon~.,_,~-mpago x :x


~ /,,,£~Rar ..,. 1-il;
Continued., -

/202-3
~ ~ 2/17)2o7..3 PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
Conllflu«Jhml'~ X

REFLECTION
PARTS LIST
. d tonomous scores so t hat w e Revision 2
We will reflect on our skills driver an au
can set an end-season skills score goal.

Driver Skills
EJ We will review the amount of materials required to build each subsystem of
our design so that we have a clearer picture of rebuilding the robot.

Drivetrain Delivery
Over the last eight months, we recort e
development This allows us to see ren s
t
d d actice driver runs and charted its
over time for specific game obj ect s. Item Quantity Item Quantity
VS Smart Motor 6 VS Smart Motor 1
Skills Driver Objects over Time VS Rotation Sensor 2 30A Flex Wheel 1'II," 2
Rotlers # - Endgame?
Omni-Directional Wheel 3.2S' 6 60A Flex Wheel 3" 1
111
60T High Strength Gear Custom Cut 6 Flywheel Weight 2
= ~ - H,ghgoat• - Lowgoa
48T High Strength Gear Custom Cut 6 Aluminum Plate 1 "x7" 4
Aluminum Bar ½·x2½• 2 Aluminum C-Channel ½•x1 "x½'xl 7½' 1
Aluminum C-Channel ½·x1·x1s· 4 Aluminum C-Channel ½·x1 "x7' 2
c Aluminum C-Channel ½"x1"x14" 3 Aluminum C-Channel ½"xl"x½"xl" 2
8:, ,o Aluminum C-Channel ½'xl"x3½'
Aluminum Li-Channel 1·x1•x1·x2½'
4
2
Aluminum C-Channel ½·xi "x½"x8' 1
Aluminum C-Channel ½'xl "x½'x7½' 1
0 •·~uly ~ Aug. , Sept. Oct. Nov. Dec. Jan. Feb. Nylon Spacer ½" x 'Ao"
Nylon Spacer 'Ao' x ¾.
9
13
Aluminum C-Channei ½'xl ½'x½'x4½'
Aluminum Angle Bracket ½' x½"x7"
2
2
Date Nylon Spacer¼" x ¾' 2 Aluminum Angle Bracket ½"x½'x6½" 1
Nylon Spacer 11,· x 'Ao" 20 Aluminum Angle Bracket ½"x½"x3½" 2

IMatch Reflection I .. Standoff 2'


Standoff 1 ½'
Standotn,·
2
8
2
Aluminum Angle Bracket ½•x½"4½"
Nylon Spacer•~• x ¾"
Nylon Spacer¾" x ¾•
1
6
8
The following is a composite percentage of our performance from every competIt1on Standoff¾• 8 Standoff 2· 4
that we have been to. Standoff½• 6 Standard Shaft 6¾" 1
Post Standoff Retainer 6 Shaft Collar 2
Standard Shaft 3' 4 High Strength Shaft 3½• 1
Win-Loss Ratio Auto Bonus Ratio AWP Ratio.
High Strength Free Spinning Insert 12 High Strength Shaft Spacer½" 2
High Strength Shaft Adapter Insert 6 High Strength Shaft Spacer 1/16" 1
Shaft Collar 10 High Strength Shaft Collar 1
Assorted Small Steel Washers N/A High Strength Shaft Adapter Insert 4
Assorted Star Screws N/ A Versa-Hex Adapter½" 4
Assorted Aluminum Nuts N/A Pillow Block Bearing 2
Custom Polycarbonate Pieces N/ A
Assorted Star Screws N/ A
Assorted Aluminum Nuts N/ A

IConclusion

When looking back at our progress thus far in the season, it is clear t hat t he part t h_at
we lack in the most is earning the Autonomous Win Point. In our next design, we will
focus on improving this AWP percentage, while maintaining great driver performance.

-----------------:o.'"re=-----c«i11nuodtop,g< A
__ ~-.,,,.•. 7b
1./ 2.2. /7fJ 1,3
04T£ 2./2-q )2.o2-3
"""
°'" ?. jl2{2.d2!, PROPRIETARY INFORMATION
1/z.l-/ /2CJ 'l '3 PROPRIETARY INFORMATION
ea,,li,w«J--
Roller 2
Intake and Lift
Quantity Item Quantity
Item

VS Motor I
---------+---
60A Flex Wheel 3" 2
30AAexWheel 1v,• 5 32T Sprocket 6P 2
36T High Strength Gear 1 16T Sprocket 6P 2
AlumlnumC-Channel ½"x1"x½"x11!t" 2
24T High Strength Gear 1
High Strength Free Spinning Adapter 4
12T High Strength Geer 1
16T Sproc~et 6P 1 Low Profile Bearing Fial 2
BT Sprocket 6P 8 High Strength Shalt Spacer½" 4
Aluminum Plate 1·x sv.· 1 High Strength Shah Spacer\\" 2 B
Aluminum C-Channel l!t• x ½• x 1• 2 High Strength Shalt Spacer 1116" 6
Aluminum Angle Bnlcket Y,xl!t'x41!t. 2 Versa-Hex Adapter Y, 4
N)1on Spacer l!t• x •• 13 High Strength Pillow Block Bearing 2
Nyton Spacer'-"~ 'lo" 4 Assorted Small Steel washers NI A
Nylon Spacer 1'• x 'lo· 2 Assorted Siar Screws NIA
N}1on SpaCff 11• X¾• 5 Assorted Aluminum Nuts NIA
Post Nut Relainer 6
Standard Shalt 7,,_. 2
Shaft Collar 6
High Strength Shalt Adapter Insert 19
High Strength Free Spinning Adapter 1
Versa-Hex Adapter v,• 1o
Pillow Block Bearing 4
Custom Po~rbonate Pieces NIA
Assorted Siar Screws NI A
Assorted Aluminum Nuts NIA

IConclusion I
We have used a wide variety of components to assemble our robot but there are
0

distinct materials that we do not use. This Includes parts such as s teel C-Channels
and Low Strength Gears.
For our next iteration, we will preemptively buy new parts that reflect this design's
A
partshst so that we will not have to wait a week during each design process for parts
to arrive.
Part Quantity
Orlvetraln
Odvtry
Intake Ind Uft
Revision 2
Roller
6of6
Endgo11me

2
~.,,... X
---
o;sa,cac
~ ~
jAH,J ~ ....
- --- - .... '2.-/2-r;/2o1-3
PROPRIETARY INFORMATION
w~ J:f~:;. 2J2,'1/W2-'l,
78j,,__,_,_ X
79
2 L l
f- 12.000
7 TOURNAMENT ANALYSIS
0- Kentucky State Champ1onsh1p
0-1 ~ We will reflect on our performance at the Kentucky State Championship
t..::::_J
0-_J 24,
so that we can prepare for our final rebuild

B
0 B
Type Win Rate Auto Bonus Rate AWP Rate Skills Rank

Percent 100'1< 92' #1

0- Awards Tournament Champion I Skills Champion I Excellence

IB--
0 --t-ie I
IObservations General Observations

No discs were Jammed when


~- picking up and scoring

I Dnvetra,n was the fastest on the


field
I
~nllty
I Program crashed during
1 Def~ Ionom,,..,
• I autonomous 1n Finals 1•1
J I I Molarcanndg. SU, ]
I Skills Autonomous encountered
A
• _.,_, •
L 1-1-------....,,.-==~....;.-.....,r---1 issues with match load set-up

1 lntM.• ..,.. 17"\ C\ ~ ~


I ---w•ill ~~ ~ ~ 13

:o ::.~op':..... Polycarbonate Successful Failing features


11
u
,.,......._,c-r
JSlolO<-d•
Sh ee t Layo ut features

._1_J.._,-,.,Y_-'----"-'"'-2--~-~- - - - , - -:_ ~A IJ_r 2'!!_T_J_""

.....
2/25/?o~ 3/5/2.07,.J
.... 2/vs/2023 PROPRIETARY INFORMATION °'" 3/C-/'L">'l
.J ~..) PROPRIETARY INFORMATION
MONTHLY GOALS
GANTT CHA RT March Goals
_ _ _ _ _ _ __ _ _ _ _ VRC Spin up - - - - - - - - - - - -
r;;;i7 We will compile our build goals for the month of March so that we can
~ We will create a Gantt Chart for this season so that we can manage our ~ be effective and on-track for our robot design of Revision 3
L:'.::__J time effectively.
Allows for 6 Days of Buffer

-I •
Strategy Build Improve Program * This serves
Week
as a guideline 1. Cite Teams that Excel in Skills Driver and Autonomous
C for how we will
38 0 2 Days
~ 37
(/) manage our
2 Ill time effectively
(I)
£ 38 (/)
2. Rebuild Drivetrain Subsystem w/ Improvements
0..
39 3 Days
::J • Schedule
C
'° ·5. flexibility is
shown through
-5 "u (/)
u overlapping
3. Rebuild Flywheel subsystem w/ Improvements

""
4 Days
a:: blocks

..
'3

45
>
4. Rebuild Intake and Lift subsystem w/ Improvement s
4 Days
a.< 4&

C 5. Rebuild Roller subsystem w/ Improvements


0
(/) 2 Days
Ill
(I)
(/)
0.. 6. Rebuild Endgame subsystem w/ Improvements
::J 2 Days
C
'5.
(/)
7. Reflect on Robot Design and build for any improvements
u 3 Days
0::
>

----
om
::, / 7 / '20?..3
om 3/ J/262.-°3> PROPRIETARY INFORMATION
82 - - - x.
TEAM CITATION
TEAM CITATION 21417A Analysis
33248 Analysis
~
EJ To analyze one of the best middle school teams, 33248, ~
We analyze the high scoring team 1 OOA so that we can understand their
approach to the skills autonomous and driver and utilize their techniques

21477A Robokauz
33248 Supernova Calamity
Design Details
__ ,..,
zc:;-,
Design Details
· Custom-cut Sprocket for unique
- Collects from the same side speed conversions
that it spins the roller
Motor setup on drivetrain is similar
- High strength shaft for roller is to that of ours
flush with flex wheels
Drivebase runs on 400RPM for
- Two roller mechanisms are three 3.25" wheels
used for more applications of
roller play
Roller mechanism does not use
VEX Versa Hubs
- Front intake roller can
pneumatically actuated upwards - 1 :1 cartridge on flywheel motor Counter Roller
Secondary - Utilizes a Catapult with
Roller excellent disc-grouping

Skills Strategies
Match Strategies
Uses different routes for driver and autonomous skills
- Collects three stacks of discs on the autonomous line in match play programs
- Starts both skills types at the match load station
- Unique roller-play techniques through the use of front and back roller wheels
- Flywheel 1s used for match loading and catapult is used for regular scoring
- Unes up for disc shots at the same spot for most scored discs

..,. co,,,-dto~.:f,__

,.,, ....)f
')_/ 1\/,-, ,.,.., '2
'1 w~::) PROPRIETARY INFORMATION

PROPRIETARY INFORMATION
REBUILD DESIGN We built the CAD model and resulted with the following pictures The Improvement
here is that the total wheel count went from 6 to 8 for greater surface area on the tiles
Drivetrain Rebuild [TOP VIEW] [ISOMETRIC VIEW)

We will recreate our drivetrain design with improvements so that we can


effectively move around the field

I Overview
- We will use eight 3.25' omni-directional wheels, four for each side, t hat allows for
movement around the field
- Each wheel is connected via a gear system. This ensures t hat all wheels are provided
with the same amount of power and are converted with a unique speed conversion
Test Solution - Speed
- Six Motors provide the drivetrain with a great balance of torque and speed
Test Procedures:
1 Place design against a perimeter wall, facing the opposite wall
2. Set drive speed to max and start stopwatch
3. Once design contacts the opposing wall, stop stopwatch
[Isometric View] 4. Record results
[Top View]
Test Results (measured in seconds)
4 5 6 7
2 3
Trial
2.81 2.97 2.84 245
Drivetrain Rv3 2.64 2.47 2.46

Average: 2.66 Range: 0.52

Conclusion
Success
Drive effectively around the field Success
Be within a height of 4 inches Success
- Weigh less than 3 pounds

[Side View] We are excited with the first completed subsystem for the final robot design. The
drivetrain passed all of our expectations m increased simplicity while maintaining

(J-.
: .. consistency. We wlll now move on to scoring discs with the delivery subsystem.

- ~IOp,,ge"'
- - __ eon.,_,.,.,..~g_[_ ""'3/15 }2D2-3
_,_~ ~ ..,. 3 }\ S/1-(Jt) PROPRIETARY INFORMATION
om 3/15/ 1c'l..3
OIICl,OEJ TON#Ju,r,dMT000 9'1' PROPRIETARY INFORMATION
?,/15/2.0'1..3
REBUILD DESIGN We built the CAD model and the resulting design 1s as follows

Delivery Rebuild [FRONT VIEW] (ISOMETRIC VIEW]



/
We will rebuild our previous design to fit with our new driv@train
EJ and delivery.

I
Overview
• Four our final iteration of the delivery system, we decided to maintain the same
layout, but optimizing each component.
- One change is the extra-wide cutout for index wheels. This allows us to utilize a
larger flex wheel when indexing, resulting in a faster index time overall

- Another change is in the structure. On the delivery side, the vertical C-Channel was Test Solution - Precision
cut to accommodate the flex wheel. We now have it only partially cut.
Test Procedures:
1 Place design In center of the field, facing a goal
[Isometric View] 2. Tune flywheel velocity through Feed-Forward Algorithm
EJ [Top View]
3. Record the working velocity, use this as the target for five shots
4. Record results
Test Results (measured in success out of five)
4 5 6 7
Trial 2 3

4/5 4/5 4/5 5/5


Rev 3 Delivery 4/5 5/5 5/5

Average: 4.43 Range 1


{Side View]
\ Conclusion \
Success
· Score consistently from the autonomous line
Success
Successfully index without a pressure-hood
Success
• Weigh less than 3lbs
The performance of our Delivery Rebuild matches that of our original design, while
also improving the simplicity and structural integrity of the subsystem. We can't
wait to run this with the complete robot design

C,ontlfNN#dlO~V.-

DA1'3/'1~2-02-) .
""'"""'"'~ ~
CUiel05ED TO A.NO UtootflflOOO IY
..1/1.'l-fio?..~
..
PROPRIETARY INFORMATION ~w, cffeu;~
I s9
Build Solution
REBUILD DESIGN We used the CAD model to rebuild this intake and lift Additional fine tuning was
made to make the subsystem as smooth as possible.
Intake and Lift Rebuild
[ISOMETRIC VIEW]

B
l
We will rebuild the Revision 2 intake to fit the new robot design so that
we can collect and store discs during matches

Overview
I
- The overall layout of the lift stays the same. There is a wide set of rollers on the
bottom, one roller in the middle, and one roller at the top.

- For smoother collection, we made two changes to the bottom set of the rollers.
1. The furthest left and right rollers are slightly smaller This allows for discs to
have an easier transition to the middle of the intake
2. We added a chain link to the top lift roller. This gives the lift an additional reach
for storing discs in the flywheel tray. Test Procedures:
1 Place design flush to a penmeter wall, facing the opposing field all
E] [Top View] (lsometnc View] 2. Place four discs in fron the robot, m line with robot, and spaced 2' apart
3. Set intake velocity to 127 and drive the robot in a straight line
4. Record results
Test Results (measured m seconds)
5 6 7
2 3 4
Trial
4 66 4.54 4.23 5.12
Intake and Lift 4.23 4.59 4.37
Rebuild

Average: 4.53 Range O89

Conclusion
Success
Collect row of discs in less than 8 seconds
Success
Intake Funnel Improvement Success
- Alignment Forgiveness Success
Weigh less than 31bs
We are confident in our Intake and Lift rebulld because 11 succeeded in our overall
test of consistency. We are excited to not only move on to the next subsystem, but
to stay on track with our monthly goals in the process
~ .. -x_
Coo-lOPllil' ~ .... 3/2'1/W3
OAT( 3/1-"'\)io'2-7:) - O~Tl
3/'l'-\{W1.~
PROPR1ETARY INFORMATION

PROPRIETARY INFORMATION
3/Z.4 /7.,0Z,3
REBUILD REBUILD DESIGN
Endgame Rebuild
Roller Rebuild

B we will rebuild our roller mechanism so that we can utilize field rollers
during the skills and match play periods
B We will rebuild the Endgame mechanism with consistency Improvements
so that we can effectively cover tiles at the end of skills and mat ch play

I
Overview
[ Overview

- The main problem with our original


- We use two 3 Inch, 60a Flex-wheels design is t hat unforeseen air leaks could
placed in-line with field rollers. These cause the endgame to expand early
are features maintained from the
previous design. - Our solution is t o add a
locking-mechanism that prevents any
- A feature we added for this iteration forward movement until the pneumatic
was a new sprocket arrangement that cylinder extends
slows down the flex wheels to a
speed of 60RPM, rather than 80RPM. - Special thanks to 4082B for the showing
us the their locking mech It was a great
Locking mech. Improvement
Inspiration for ours

Implementation

- A high-strength shaft Is used to prevent the


roller shaft. This prevents our roller shaft from
bowing .during highly-defensive matches

- When programming autonomous, we will


[ISOMETRIC VIEW}
spin the motor for longer to account for the [TOP VIEW]
slower RPM

i
[SIDE VIEW]
[FRONT VIEW}
o,,,_.,_q2.

om
""3/2...7/20'2.~
3/2.S /207.;3 0t9CI.OSI.D f0 AN> UH\)f."5ffl00 If'(
3/7..1/ 2.023
PROPRIETARY INFORMATION

PROPRIETARY INFORMATION
JY~y
I
~ L Continuod from page >(

+
io: the build implementation, we chose to make the Endgame mechanisms asl
as possible. This prevents the metal release to bounce out of t he field.
IMPROVEMENT
i Multi-Stage Deflector
I
[SIDE VIEW] [TOP VIEW]
:et~il; improvehour deflector design by adding an additional angle option
a we can ave greater accuracy for each application of scoring.
■ II

'1i I Overview

- When scoring discs, we need to have three


different angle settings, depending on the
application of scoring. Due to the fact that we
only had two available toggles, we decided to
Test Solution - Consistency develop into three.

Test Procedures: · - The system works by starting at a low angle


for autonomous. Once autonomous is
1. Download program that releases endgame m echanisms
complete, we extend the deflector piston and
2. Wrap up string for design and load rubber bands
switch between two match angles: one for
3. Deploy all six endgame mechanisms at the same time mid-range and one for up-close.
4. Record number of mechanisms that covered all of their anticipated tiles
Test Results (measured in success out of six)
Implementation
Trial 2 3 ·4 5 6 7
- We solved this by using a locking-bar
String Shooter 6 5 5 6 5 5 6 mechanism.

Average: 5.43 Range: 7 - Our pneumatic cylinder is attached to the


locking metal bracket.

Conclusion - The structure itself is two aluminum bars


that hinge along the static and deflector
- Expand most of the strings successfully Success structure.
- Cover at least 90% of field scorable tiles Success
- Mechanism holds without the need for air Success
Weighs less than 21bs Success

=============
Our Endgame rebuild was a great success! The passive locking mechanism allows
the robot to hold the rubber band in place without any need for air. Everything else in
the Endgame remains the same as our previous iteration.
Continued lo page :<
Continued to page
SIGNATURE

,._TVR13.vi
~~
~

CMSCI..OSEO TO ANO UNOERSTOOO SY


DATE
1
DATE 3/2__8 f2o2,s PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
f:1c,,_/;;J;:- 3/27/2©?,,3
,~ ConUnuod from pago )( I
L ~
CMtlnued from P89~ X

MONTHLY GOALS
Final Push
PROGRAM DEBUG
Live Field Update
~ To prepare for our final month of the season, we will create a list of
r
~ everything left to complete before the World Competition We will program a feature that plots the robot on a digital field so that we
can track the precision of our autonomous programs.
r
~
Allows for 2 Days of Buffer
+- I General Overview
~
1. Program a New Framework to Utilize in the programming
-- 5 Days Graph Progression
~

- 2. Program Improved Drive Control in the New Framework


Motion Record Data Layout Dat a
4 Days
Tme{ms) Point{:i:,y)
~ 0 o.o
100 1.0

II
200 ,.o
-+
3. II 300 7.0
Program Improved Flywheel Control in the New Framework
I

2 Days
•oo
500 ,,
7.1

~
- 600
700
BOO
900
1000
7.7
10.10
10.11
10.12
10.13

- 4. Program a Debugging Tool for the Robot 1100 11,IJ

+
1200 11.12
1 Day
- 1300 12,12

-- 5. Program a new tool to assist in Driver Control


Transmits input
information from brain to
Records new terminal
information about
Considers data as
points on a graph and

.-
1 Day controller through the robot position every visualizes all data in a
terminal 100ms full graph

- 6. Program a New Match Autonomous


-- 3 Days
I t:;, Citation Sources
~,J
7. Update the Skills autonomous with New Drive Control In order to make this graph program, we will the tutorials of the following:
1i 5 Days
Notebook 2; Page 56 Python_Turtle API
i~
Notebook 2 ; Page 56
. Our custom code to . Our command prompt - Provides a full
lw 8. Reflect on our Seasonal Performance print to terminal from the operation to divert
terminal information to a
explanation of_every
function used in the
2 Days brain
data file movement class: turtle

Continued to pago /(
con.,..., 1o , , _ 'fS

I"';; 31/?.073
om':) /2' ('2JJZ,:) PROPRIETARY INFORMATION
I""TE 3/31 ]2.til?:, I PROPRIETA RY INFORMATION
Conllnuod from pag~

I C++ Code I Resulting Graphs


Print to t erminal every 200ms
if(t1-ltl•Jnt11N,1,ho ... ) To see the extent of this graphin fun . . ..
and watch as each attr"ibute h g c_t,on, we will plug 11 into our skills autonomous
prlnt(("Sd,:Ld,U,\J.,~,l.d\"",tl-.,dhpbyl,d.1sphy2,dhpb)'),dhpl,1,y•,dtspb15); c anges 11ve.
"
" l1-••tl. .Jr,tl'r,,di.;

r Executable Command Prompt


Key
Redirect termina l print to notepad
start C:\Users\loe1n\App()1ta\Lou l\P r-a.s Robot Point
\pleHN10rk.\P lus. Ult,.,. \C\istoa _015 ph~Htu~~~~i~:~!;~~:ython •exe C: \ User s\Logan \ Downloads

pros te,..lnal > C: \Unrs\login\Downlo.,d s\plHsiework\Plus - Ul tr,1\(ust oa-Ols play-Fcatures\data . t wt

I Python Code I ~ i"'\.


Target Point

:~aptnotepad information, Organize information into points, Display points on a I ;')"-V


turtle Turt.le

t
.tapU1ycv..1ue1: tuunJ(UOAt (Value) I
~II"., 100
nc.. lc- - f'do]f' 0 1/U◄ .O

robot T\lrt1411 0
robot.p,,nupo
r-obol, •fl"'t'd (?OOJ
I
Conclusion
robc)t,l'lh~pll(•tt1TT ,-")
robot. t 1llcolor ('""7rce.r."I We are excited _with _the precision and value provided by our live graphing program.
ta.-..,•l ~l.cl°'"' C, This will be utilized in future design process testing and program solutions. For our
tarvl'!t..ahaP"("'~·•r""h "')
t:.,r9et.rlllcolc;,r{"ni "I next step, we will create a system of rapid tuning for PID Constants.

l!f-•t' Al •• lal') r:
linr t:

1.aat_llne '"' 11.no

lentl.-sl lur.. J>l:


J,1,11t_ l in..-101 !••-• I 1.-.t l '""IOJ ! .. 'T' 1.1ne. llnefO J!-' 1
l.1 aL_lin('(QJ
1<,.1 , b,c,d,r - ,11u;_l1nr..:,P11ec•, • 1

n>botl'oaX sl.llplUV C•1


rcobotru.Y sh,pl.i!yCb)
,,o.bot."'°'~'J • airy,l I ty(C')

robot.. ~tpoo lrobot.f'Q•X • ae..1o-edqo , robot Po,3't ' oc::.lc-odgo l


nabot .LJlt&nql.,. (90-robotPoSMq);

t ..H9.. 1 roax • lll'f'I I 1yld)


t.1r9r-t.Po.:iY • e1rpl1ty (r)

t.irQ.,L • .t:etpo11 lt•~Ll-'osX••e.ale-edqe, tarql:!L l'o•Y • sc,,,lo:,-edgt'}

u .... :i: I N"p C0.1)

Continued lo pagfl 'I 7


SHlNATIJRE

~ J:r~ =---;-_ ___,_/--'M;:..:..l::::-


3 1/UJ~3
3 /31 /2.o'J..:3>
DISCLOSED TO ANO UNOERSTOOO BY

~ ~
MTE PROPRIETARY INFORMATION
c,,,,,nued/rompago 'Vil'

PROGRAM MOTOR TEST I Run Motor at Max I


- Set~ the target velocity of motor at 127(max)
Waits 10 seconds for motor to accelerate and reach tar et
Allows motor to settle at its highest possI"bl e ve1oc,ty
. g
~ W<! will CINllc 3 program tha t determines wh ich of our motors are the
~ I ast st o that "~ will onll' use our best motors on the design
Set molorVel
r-, -G-n_e_r_a_lo-~-
,e-rv_1_e_v-,I

Declares and assigns integer variable of motorVel


Calc ulat the 8\'<!fage sp<!ed velocity o f a motor when ii Is set to max voltage - Sets its value to the velocity reading of the motor
MotoI s that 31<! abo the speed threshold are acceptable to put on the design - Newer motors typically have a higher motorVel value than older motors
'rh1cshold ts s t b the average velocity of day-old m otors
flowchart :

Program Begins
I Threshold Check I
- Compares motorVel value to those of day-old motors.
- If the motorVel is greater than values, the motor is considered "good"
Run M otor at 127{max) - Otherwise, the motor is considered "bad"
for 1 O seconds - The return statement contains a string with the statement "good" or "bad"
t
i

Get the motor's


velocity ► l ►tnclud• "u1n. t,"
2 // - · · ············ Ni SL9S,-Sf[J1 rESJ • •• •. • ••• . • • II t
l / / USC'So g {wn aotor on/J otlltr i,o~ tr,.s, tr n a 1110t 1.1r
4 / / tolru o g ( vt'n "'°""t of tt" co 1p1n 11:,
S // Rants thf! aotor bostd on~~ H CCl!P~rrs ro f /141 i,tw n s~~ u rt1nq1


7 vold runSubsystNtf'\t{l•.t t ••• pros :'"'1tor · ,r , IM ,1,Dfld1!tpl.,llP, l"t •l"l,ut'Sp,t'd, l11t •llkll•Sr,Hd, 1
No • int rou tlonCounurri:I;

0
IO II Spfn t M 110tor t o ~~ sµcd
ll .ot or• 127;
12
13 II watt t"t ghtn tni:K.1t of ipt 11 r
14 pros: :dl'l1'i(Sl'Cond55plni.p ' 1N .,
.!C Yes lS

---r--
1 IJ tl, . ~l 1

0
16 I/ TM sprf"d of t l'lt' .,tor t,, U Z H'

17 for ( lnt i•e; it!>; 1..-•)(

---
1'-'
C
Return motor is · good" Return motor is" bad" ,.
18
19
pros: : ll• ll'i(SNi);
routlor.Count ir , .->tor,1.-t_,n~l-~•l~ l t y \ 1;

~
}
21
u // roltt' rtt,o O•t'r'D9r of r,iuu s~tcf.s
-
k ==----------- - - --------- ..-""ne= - - - - -"""
- "'"""
- -'°-'-,,...
-'-..,_1,,,
o"'o'--1
COtitJnuedtopagtl
"""'""" >---
4/ 2./ 2.0'23
$1Co'-l.r ....-it
..,. y/2-/2,,cil._)
~ ~,P:~r "'"'y/-z_f 2 0 2J
', / 2.( 2.o2.3
PROPRIETARY INFORMATION
PROPRIETARY INFORMATION

~~
c«itlnuod from pago "/
- - - -------·- - - ' - - ' -
2) rohtlonCount cr-/•5,;

.J.
24
25
//rr(n t tht' l~rd to trlr cont rollt'r
dl~pl ■ySc.!l( Jndex)•rohtlon<:ounlt•r;
PROGRAM DISC CAPACITY
"
,,,."
// Wonll' thf' 1110t or baslfd' on tf•t' 9h,rt1 rortk SfU't'dS
dJ1ophySrt(in1h~>-• l )•O;

••
dbpl■ySet[lndu.• t)••rotat loncountc,..,..int-Spced; 0
dhpllySet{lndt>.t l ) ••rotatlonCounter-)tl.iddlrSpeed; 3 ~ We will create a program that removes excess discs from the robot so
ll dhphySet [ JnCIU• 1] t •rotlt ionCounUl">Nldpecd; L.::'.:....J that we can avoid disqualification in skills and match play.
l2 rl_
G_e_n_e-ra_l_O
_v_e_rv
- ie-w~ I
+
t
"... II Stop thr aotor
aotor-0;

"
36
pf'Os::~lly(loot);
Calculate the average speed velocity of a motor when it is set to max vo ltage
Motors t hat are above the speed threshold are acceptable to put on the design
" Threshold is set by the average velocity of day-old motors
Flowchart:

0 Set Motor speed


to max and wait 0 Get 5 readings of the
m otor velocity
0 Display results of test
Autonomous Begins
10 seconds

Conclusion

We are excited with the precision and va lue provided by our live graphing program.
This will be utilized in future design process t esting and pro gram solutions. For our
next step, we will create a system of rapid tuning for PID Constants. No

Wait until there are 3 discs left in


robot.

L
Continued to page
""""'""''°- (0'2...
!O;TE/?../?.JYJ,,3_ ;c;'l
°""II7 0 ,.,n 'J
l,\/k0 PROPRIETARY INFORMATION
DATE ~ 2-( '2.cr2.;3:, PROPRIETARY INFORMATION
Continued from pago t.C) 1-
Run Lift Motor
14 0
141
:~ :f
5
t here ore not three d iscs (n t he fLy,,ihceL troy
- Sets the target velocity of motor at 127(rnax) 142 lnta k<!Tini<!•8; II Rcut thr u.,u
- Runs forwa rds w hen at/below c apacity and backwa rds w hen over capacity 143
144 II If t he.r e have been discs 1n t he fLy..iheel tra for JSO.S
145 I f ( tnt akeTbc>l50) y
Detect Excess 146
} inta keHode•l_TI-IREE ; I I COllf(dcntly say thcrc ore thrcc discs f n t he tray
147
- Looks at the intake and delivery for a fourth disc 148

- Two conditions are taken into account: if there are 4+ discs loaded or 3 discs "'
150
II · • · · · ···· · DETECT FOOkrH DISC • •••••. •••• /I
II Arc t here J discs in the robot ? If so .••
loaded and one in the intake ' 151 e l s e 1 f (i ntaktl1ocle • •1_THR[E)(

I Threshold Check
152
153
154
155
I I If a new dlsc is found tn t hr fntoll'c,
l f ( dis tlnta k.e . get ( )<di sllntake,Uu h)

0
156 I I Re~ve one frM t hr t ray and ptc/f t his ""'" one up
Lift continues to spin in reverse until t he robot only has t hree discs left. 157 lnta keYoodc•I_ RE~E_ 2LEFT;
T he two previously stated conditions lead to different thresholds to check 158
- When there are four discs loaded, reverse lift until t here are three 159 II If o fourth d isc (s found in t hc robot,

- When a disc is in the intake, reverse t he lift until two discs are loaded •••
161
e lse l f (dl s tStatl,:. ge t ( )<f 01Jr5tac:I.Ois tl'.a,c)

+ 162 II Rteove one disc froo tht robot.

0 112 h ············-·-· A.'frl•FO.M STACK _____ ... . . . ... . . II


163
164
165
166
lntalce~,ode•I_ R[MOV(_ )l[ FT;

II · - · · --·-· · REHDVE fOU/f,nl DISC • • • • • • • •••• II


11) /, Pr-rl...,U rotlct /rm ~Ldfl\1 j<JAJr di.Jes for lo"gl!r than J,5 sl!'cond.s 167 II I f the robot MJnts t o rc.-ove o disc
11, II l f tlW' robot CO'ltOUIJ o fourth d(sc. IC C-W-dlatrly shoou a dhc OUI of Ille ·obot 168 if(lnta kl'Mode~.. J_R DIOVE_ 2LEFT 11 l ntalc~f!.al_ ROCVE_ 3LEFl)
1H II Rw,,s d>Jri"'J ~ s controL and 1s usu.illy disobLt"d t,,h,.n scorfng 169 Sf!tlntal<f!.( • l27); II Re1t10\/e O dhc
116 170
117 etlUa iNode (l_htuTUJ..•'1, t _ TlflH•l, I_RUIJVE_2LErT•l, l_REtt:NE_lLEfl 3, l _ DISABL:-4}; 171 II · - ·-· · - · ·· WAIT rOR THREE REl1AIN ---- - -·-··- II
US J~ l n t a l ~ • l_OfSA!ilE; II Srt C~ drfouLt ~ t o of untf•four s tock to discnlt'd 172 II If we i.'17nt 2 discs left ond the dfuonce .stnsor vcrtftrs tit!~ orr 0·1,
173 tr( (l ntakeHode ..J_RCHOVE_ll[FT && (dlstSUck..get()>thrttSt.itkOh~-1 II dls"tSt.1c\.&t't()c2C0-"2))
119
121!1 int inUlf'tlw4;; // Oirdo~ t~ conf1ik-ri~-, tfar of o tl>rn• 5tct# 174 11 II OR, if lo'f' wcrnt J dhc< lcft ond tht dl.stanct> stntor ..,,rtflt~ th•rt' urt- 0-J,
175
111 //(:::::•::::::~:::•~:::::,: (d!"sta,k.,<t()>f~,St"'°'''"'' ll dl-.tita<t.,,t ldl0•2)) )f

0
176
122 h ltff'Ot.- ~ O"lti four stcct j...r(t{on -
UJ
u,
vo.id • ,ur011.1rA1:,nc1artt•()1
I If,,., .,,ti,fo,, sroc:t ti ""' dt<clt,Lrl
177
178 ln t a keHode.. J_HrunAL, 3
179 lntakeT hre• lt;
12!1 lf(11tt~ti:-"Dder•r_ofSAILE)(
180
C-
l
126
181 l
127 II - • sr,u, ---- II 182
118 cDl'ISt l.hort ♦ QR'Stac.•!>tst:N• • V1.; ~/ Fo-.ir Stoct ()htancl' rhresho ld (Rongts f roa .ll&t11 to 14JM )
ll!J I/ If t hc task ts dUoDltd on1 t~I" llait I~ riot rt'Ul
119 ccw,5t ,tiort U'.....St.cl:>U\~1: • i~e; I/ Thr,.r Stoct Dhtonu Th~shold (Rong!S f ro,, 147,_, to 168-) els e If (lntakcT!.-el• O)
18'
UI caul •hort 4 U tak,.Tll\t. 15;; / / I lltalfr Ohc ~li!'c t{on ( Olstorict" under 9;.. rl!'ans disc f ound) i ntal<cTi•e• O; II Re1rt the t i,~
185
1)1 186 )
132 II·- -· - Oll\.1:' TidEE C'ISCS · - ·-·- - · -·· II 187
C

0
~ J II 1/ trwrr Wl"II' r.:r rt!rff ouc:s in rhl!' /Lyh.,.rL troy 1r.s ogo
I~ Sf(l~tlk~t-J_J.;:LJTUL)f

1..
I. 5

I ,
138
I t Oirrut ttlf"N' dun t11 th# /L:;,,,,l!rrL tray
1f(Ol,:tSu~,.,ct(J , t1...-c-cStu·U>l•"tl'\.I .. aa Ol stS"tll t k. .sct ()>200)
lrou•t"Ti••....28; II Add lO tM COII/ Cdrncr ci•rr 0 If the robot
contains at least
3 discs
0 If a fourth disc is
detected, whether in
intake or in the intake
0 Once robot is under
disc limit, restore
speed t o forwards
' 9
Contifluod to page X
Con6nood la page lb '3
...... SIGNATlJRE

OTT ql!i] '2,()2,]


Y/ S/ Zoz,3
PROPRIETARY INFORMATION ·~~ I,;,.., rn_.,,
.,.,.. 4.1f .'.J ~v J PROPRIETARY INFORMATION
Conllnued from page Q
1

PROGRAM SOLUTION
5 vold Awp(){
- - - - - -- - - Left Side Autono mous Re-w rite
~t~~;~~d~;;TJALlZE AUrONOHOuS ••••• II
B We will rewrite our autonomous r
____c_o_m~ m..:;a::nds so that we can h p ogram s t o m atch the new format of
setflywhed(600);

0
ave more effi cient routes sorn:w ROUER
r " II ••••• CUllf ••••• II
1
I
_ Program Route .
I
quickAoller{•58,8); // Rim RoHtr ct11C.. /unction

II ••••• SCORE DISCS ..... /I


en~bl eAutolnt,lt(!(); // fnC1blt 4 disc dt'trct{on

:ut::.:~l:~
0
chau1s,sw1nR..Pld(tUGIT_SWll.:;,-H,l3i); // Tum 0._,, /.
ch1ssb.drlvc_pld(3,5,138,hlu}; // Dr(vr towords dtsc
*Start
0 · · Score Disc :::::!:·::~:e_pld(·l,130,hlse); // Dt-hlt away,,_ outonmous lfnt
a - Spin Roller ·
1
_pid(Sl,UO) : II Turn t oo scar-Ing posltfon Claim
di::::~:~:::::~::: :~l: : : :t~;d::,~:::,:::rds scorfo9 position Roller
Anticipated Points ; 45

Scored Discs ; 7
Claimed Rollers ; 1
chusls.turn_pld{· l4, UO); // rurn tOtlOrds goal
hi11UYr-y(3) ; II Scarr J d iscs

II ••••• Pl(I; UP DISCS ••••• II


Sl'Hlywhccl(S90); II Set f(ywhrrt to SHRPM
0 2

Discs in robot after time ; o


chus1s.turn_p1d(54,120); II Turn to s, dt~rtrs
l'nilblrAutolntakl'(); // Enoblr 4 disc drttctlon

chusis,sl't_pld_consunts(&chilssh,hudlngPID, 11, e, 65, e); II Prr1,rnt wl'lt,tosh fro. turn


chassh.srt_dr1ve_pld(32, 100,false); II Drtvt Into dhcs
0Score
chassls.walt_untl1(8); II wo(t 1111ttl robot has drtvtn B tnch6
preloads
chush.stt_lr\il11_.speed(2.S); II SlOfil dOM'I ta callrct noclr of discs

0
chilss1s,wiltt_dr1ve(); II hb(t far l'Clbot to co-pteott dr(ve .ov-nt
chu;sh.stt_pld_constants(&chnds.hudlngPID, ll, O, 20, 8); II Retum hC'<ldl119 to d1tjo11tt :stotr
Start
II ••••• SCORE DISCS •• ••• II

0
chusls.turn_pld(-J),120); II riirn towcirds gool
dlSilbleAutolntake(); II Olsoble fOIJr dUt dtttctto,, 3
pros::dehy(200); II 1,'olt for dtsc to ~etrlt tn r<1bot
Claim Bottom Roller

_______
hi11lK.1ry(l); II scort J discs
Score
II ••••• PW( UP DISC •••· II Stack of
.__ Pick up disc from autonomous line and score preloads setrlywheel{556); // Set Jt;~hetl tu,vrt ta ~~ l.lli'I
discs
enilbldutolnUke(); II E"ablt" crl,C I f(CCIOII
chus l s,drive!_pld(U,~O) i II Pie• 11p J(sc fro. ,1uto llllt

ch1uh.dr1ve_pld(•l,90); II 0,-hf l'MI, /roll/ a.ito I tn


Pick up and score stack of discs and top off the goal with one disc from auto line pros::drh)'(l500); II tJOft Jor dU, tn (1Jll1 .:nler ~ t

II Dhobtit .. dlS( '-',trctt,,.

----------
dhableAutolf1Uk1();
haUIWry(Z); II Shoat 2 dt.scs ( t llert Jl'lc4.IJ orilt ~ or"it t, rd,,t tvt Just n c 1t I )
,etrly,;htel(900); II Stt ftyt,:llttl ro ao• s~td ru oh, .. /t:,..t.,:d to not u°" Wf'lrg di.10.:,l

pro,::dehy(tOOOOOOOO): II Pr-evtllC .ovtng OIi JNM o u t - 1 (unrtton

C onlinued lo pago/0 t3\\-


SKJNATVAE ~ ~

~
mNA~

°'5Q.OSED TO AA'O UNOERSTOOO BY


DATE
PROPRIETARY INFORMATION
~~:UHDEn5':1rC(µ;w:-- OATIS

'-l/ 7/ 'Lo'lJ
~~ Y / 7 J 7,JJ7-3
I~ Conllnuod from pago
L
L .... "------"---'-- I

-- - L
I

T r + + +
-- I
I

-1
I
r-+- --
--
-+-
+

- -
~

-
~

'
I

' I'
I
I
I ' ' I
I
I

~~
+-
...
'----
~~
~
-
L
- ---- '
I I
I
'
I
I
I
I
I
'
I I
'
I
I
I

'
--- ' I
-'-- ~ __,_ ~
I
I
I
I
' I

---, . .,_.___,.. r I I I I
I I
---- -- r
I
I I I
r I I I
' I '
I I I I
... t r - - I I '
I I
'
I
I '
I
I
I
I I
I
I
I' : I
I I
'
I I I I I
'
'I
~ +---- 'I
I I
I I
' ' I'
-~ ... i I I I
'
I
I '
'
I I
I
--+ - I I I
I I I I I I
I
I
T
I I I I I '
I I I I
; I
I i ' ' I ' I I
---+- - - I I
:,
I I I I I I '
I
' I
I I ' I
'
I I '
L

..,_
- I
I
I
I
I
I
' I
I ! I
I
I
'
I
I
,-~ J.. f ' I I I I I I
I I
' I I
---
I
: I I I I I I I
' I
I
,- r -
' ' I I I _,_
T l
I I I I I I '
I
--- - I
i
I
I
I
I
I
' I I
' I I I I I I

- ___
I - '
' ' I I ' I
l
I I I
I '' I

' ..._ I I I I I I
! I
+ '
I

l I I I I I
I I
I I I

.
'
I I I I I I I
I ; I I
i I
- I
I
I
' I
I I
I
'
I I
I ' I I
I I
' ' I'
' ' I I I I
I
I ' I
--~ '
I

I
I
I I
i 'I I
- - + - I I I I
I
~-~ -- I I

I I I
I
I
I
I
I
'
I '
! '
I
I
I
' I
' +
'
+ ' ' I
I I
--- ----+------'" ...
~

-- +
I
I

'
7
I

' I I
I

I
,----.-
' '
'
+ T -
'
I
I

- ----- ...
I
' I
-L---.-
.,_ .- I I

- -
- . Continued to pa90
---
lc;;;;
J._ - ,.. --+-
Conllnued to page
810:::""ccrucc
,cc,----- +
SIGNATURE
I DATE

OISct.OSED TO ANO UNOERSTOOD


BY -- - DATE I
-- DISCLOSED TO ANO UNOEASTOOO B'I' l OAtE PROPRIETARY INFORMATION
PROPRIETARY INFORMATION
I
►include ~.a1n.11•
1•---------------------------------------······-----------------------------···
I V / _ _ (_) __
f /\If / I_· II II '_ I
• ff ff/(_/fff/fff
$$$$$$$\ $$\ $$$$$$$\ $$$$$$$\ $$$$$$$\ $$\ $$\ f_f LI L,_f/_f LI f_f
ss _ I ssss I ss _ I $$ _ $SI $$ SSI I_ I I_ I
ss I 1_ss I ss I ss I ss I ss I ss I ssssss1 ss1 SSI ss1 sssssss1 SSI ssssss1 sssssss1 9 c~ottd on S/lS/2622
sssssss1 ss I sssssss1 sssssss I $$$$$$$ IS$ _ $$\\$$\ $$ IS$ IS$ __ IS$ IS$ _ $$\ $$ _ $$\ 10 Lost ~ oted on 2II61282J
l __ss1 ss I l __ss1 ss _ss< ss _ SS< ssssssss 11ss1ss I ss 11ssssss1 ss Iss I ss Iss I ss I
ss I $$ I ss I ss I ss I$$ I ss I ss I ss ISS _ I \$$$ I $$ I 1_ss1 $$ IS$ I ss ISS I ss I 12 rile Hatn fun,tton tntttottzu and n;ns our ,ode,
\$$$$$$ ISSSSSS\1$$$$$$ IS$ I $$ I ss I ss 11sssssss1 1s I ss Isssssss I$$ I1ssssss Iss I ss I 11 It srts up out~us, driver ,ontroL, ond everything c-o,irprttton.
\ _ _! l _ _ l l _ _i I_I I_I I_I I_ I I _ _ I \_! l_ll _ _i I_I I_ _ / \_I I_ I 14 ,'laf.n is the aQSt UlpOrtant prograa bfrc-ousr tt rxponds to aLL others.

16 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ········· ·I

,_,.. _.__,.. ..
,._,_,.,.,
.,,,,,_,,,, .. 18 II ···········-···· INITIALIZE ·······-········ II
7, •11J11'JY'"Wl....,..l1,n>
19 II ~ts up aU sensors, aQtors and taslls
20 void iflithlhe() {

22 II •···· Rotation •···· II


2l ! Rot. reset ();
24 rR.ot . r e set ();
2s IIR.ot . reset ();
26
II •••••• Autoncwous seLe,tor •••••• II
i nt slots•B;
;nrtoS·dtc:h , setf\ilx (dot5+8.9);
38 ilutoSWitch. settUn ( t );

32 II •···· Sensors •···· II


inithlizeGenerd ();
,.
33

JS II •···· Brof.n •···· II


36 pros: : Tnk bri1inDisphy ( brilinOispl i1yGr id); II Display inforwotf.on to the Bf'(lf.n

.."
.utchDr1ve•>HtState ({8_ 1n, 8_1n));
)

42 II •••·••••• ·-···· OISABLEO •••••••••••••••• II


43 II Period of prograa when robot is disabled

.."
void disabled() {

48 II -··········-···· ca-PETITION INITIALIZE ······-········- II


49 II Inttiolize sensors and others ot the start of a , ~
S8 II Don ' t start autonous untf.L the enc:oders ore c:allibroted
St void co.petition_ initialize () {
52
53 )

ss std :strina iiUtOl'IOIIOUST1tlts(8 J• {"Skills", "Win Point", • sue Left Side", "LS filld l" , "Loni Side Full ", "Lona Side No
Stiitk", "Short Side", "Win Point 2"};

S7 II •••••••••••••••• AIJTONOl'()IIS •••••••••••••••• II


S8 II Tht robot dri ves on its own
S9 II Storts outna.ous fro. o chostn outOflOIIOIIS
60 double firstGodTurn;

62 void autonoaous() {
63
64 inithlizeAuto (); II Set up for Aut~us

UUUS\
U _U\
U U U\
U _U\
U\ U \
U IL i
"
66 II Ftnd the currently selected auto fro. the potenttOllrter selector.
U I U I UUU\ UUU\ U UU\ SUUS\ UUU\ U U U \UU\ u ' u I U UU\ SUUS\ U UU\ UUUS\ nuns IU \ U\ U\ int illltOMs • std: :floor(ilutoSwitch. get\lalue ());

:u:S<1
SU UU IU _U\ $$ _U\ U _ U\ H _U\ \ _U \ U _U _U\ uunu IU _ U\ n _U\ u _ U\ u _U\ u _u tu I\U \ u I
U _ I U I \_J U I U I U / U )U I \_ISU UU IU / U / U I
u
U I
I u
U
I
I
$$ I
\U U U
n IU I u
I U UUU IU I
JU I u _u IU I u
\ SUU U I U I U I U
I u I
I
:: ,-:: ::: r :: 1:: ~ :: :::us~::: : :: 1:: ~ :: t:: :~
U I U ISUUU I UUSU I \ UUSU\ U I U I \ USU U IU IU /\U \
69 II Chtcll through tach possible outonoaous to find tht correct one
switch (ilutous) {
LI \_I \_I \_H ILi ' I _ I \ _I LI LI LI \_IU _1 U _ I \ _ I L i L I \_ILI\...J L I
U \U ! u I u I
\UUU I u I u I 7l II •• ••• • SKILLS AUTONOl'()IIS • • •• II
\.___J LI L I 7J CilSe i :
II Halle turns aQrt: snopt,y ond turn on Color Stnsor LEOS
1=-,
> I
Cl
I I I_
I I 1=-,
> I
I - \
I I I I
1=-,
> I
1=-,
_l I
74
7S
76
chassis. set_pid_const ilnts(lchassis. turnPIO, 6. 5, 8 . 883, 75, 15);
leftR.olle rcolor. set_led_p1a( l 88);
I I 1==1 I I - I 1==1 I I 11 I I I I I <
I I_
I_ I
I IUI
_I \.__I
I I_
I_ I
I U I
\.__/
I I_
I_
_ ll
I I__/
,. right RollerColor . set_led_pi,a( 188);

79 •_SKILLS(); II llun S.l!ills Autonmous


80 brHk;
t 1nclude · u 1n.11·

..
82 II --- - - WIN POINT AUTONOIOJS ----- II
83 cas@ 2: 1•----------·--·----·-----·----·-----·------------·--·-·-----------------------
chassis • set_dr1ve_b r ake (MOTOR_BRAKE_HOLD);
I _I/ I _ /-/_ - - I-/
"
86
a_LBONRT() ;
break; ff _ffl_\f'_\ l_' /ff
• IUl/1/UIIUIIUII/
"
88 II ••••• WIN POINT NO STACK AUroNOIOJS ••••• II I_//_/ LJ /_._/ L,_/U

,.
89 easel :
a_LBDN( ); 9 Created on 512912922
break; 10 Lost updated on 211612922
"
92
u
12 Jntttoltzts otL devices used in the progN19
,.
9) // - - WIN POINT GWLY STACK AUTCWCll'llUS - - - //

"
96
a_LBOH_FlELD_1 ();
bruk; 15
16
• Controlle r
• Opttcol ~nsors
97
17 • Oistonct St nsors
,," II ••••• LEFT SIDE SUPPORT AIJTONOl'('J(JS ••••• II
18
19
• Pneuaottc Mstons
• Jnerttol Sensor
a_LBON();
191 break; 20 • Rotot ton St nsors

,..
192
183

,.,
/ / ••••• LEFT SIDE SUPPORT NO STACK
c,se 6:
a_ LBON_ NOSTACl ();
AllT(W()'l)(JS ••••• II
22 Totot Sensor Count :

24 --············································································I
"' break;
"
26 II ---------------- ALL!ANCE ---------------- II
"' 27 I/ Defiltts t lle au toneII! the robot U on
"' / / ••••• RIGHT SIDE SUPPORT N.JTONOlfOUS • · · • II
28 II ~fault oLLtance ts RED
"' 29
,. std:: s tring dlhnce • • Red" ;
'"
m
a_STOH();
break;
m
II ----- VACANT SPACE FOR TESTING----- II
"
32 II ................ l«JTORS •••••••••••••••• II
cue 8:
H I I port • Hator Nae
34 // H - U:ft ,ro,,t ,<tot,;,r
AWPalt();
116 break;
35 II l2 - Left HtddLt Motor
m 36 II ll • left Baell Motor
)7 II 1 • Right Front /'IOtor
118 }
119 pros : : delay (leeeeeeet); 38 /I s - Right HtddLe Motor
129 } 39 II J • Ri§lht Botlt Hatar
49 /I 16 - Intalre/UftlRoLLer /'IOtor
II •••••••••••••••• DH.l\lE'R CONTROL •••••••••••••••• II 41 II 17 - Delivery /tlotor

II Robot ts drf.vtn by o hi.an


43 // Bose /4ator ts dtsobLed dut to t netegratton of El TnrpLa te c-nds
fl Run tht robot bosed on joysttclt ornl butt on inputs
44 pros :l'lot o r l eftfrontl'ltr (33, pr os : E_MOTOII_G£ARSET_86, true, pros::E_l"IOTOJt_E~XlER_llEGREES);
// L>tsptoy Odo.etry drtatls
126 void opcontrol () { 45 pros :l'lotor leftl'Udlttr (33, pros ;f l'IOTOII GURSET_86, hlse, pros::E_l'IOTOR_ EN:OOER_OEGREE5);
m 46 pros :l'loto r leftBacklttr (H, pr os : E=MOTOR=GEARSET_86, true, pros: :E_l"IOTOR_ E~XlER_llEGREE5);
41 pros: Motor rightFrontl'ltr (H, pros : E l'IOTOR GEAR5ET 86, h l se, pros::E_l'IOTOR_ EN : OOER_OEGREE5);
128 pros : : T,sk deliverySetup( setShoote r Async ); // 01.spLay (njo,-ation to the Brain
48 pros :l'lotor rightNidHtr (33, pros : E-MOTOR- GEARSET- 86, true, pros :: E_MOTOR_E~XlER_OEGREES);
"'
1 38 isOl'lver,.tNH!; II ~t gLOOOL vortobLt to tll!H toslrs tMt drtvt r ts t:no!Ht:d 49 pros : Jllotor right8;ickHtr (33, pros :E=MOTOR=GEAIISET=86• hlse, pros: :E_l'IOTOR_ EN:OOER_OEGREES);

132 CoefOfFrictlon..e. 97; II ScoLt: up fLy.ht:eL powr dut to dt:crtostd frtction 51 pros : Jllotor rolle rf"ltr (16, pros: :E_l'IOTOR_GEARSET_18, true, pros :E_l«)TOR_ ENCOOEI_OEGREES);
52 sylib ; Jllot o r shooterf"ltr (7, 680,tNe);
133 tndLlf t•trut;
134 lifti11gEn;1bled..-fdse; II Tum eff Async Lift Tosi!
54 ohpi : Jllot orCiroup l'ltrGroupL({B,12,11});
55 ok•pi ; Jllot orGroup l'ltrGroupR({l,5,3));
136 /I NoturaL Starting PN9raa without
137 1 f (controller. get_ digi td (DIGITAL_R2)Mcontroller. get_digltd (OIGITAL_IXMN)) {
138
139
pros:: h sk controllerOi sphy( cont rol l erObph ySel ); II Start Controtler dh,Lay to see tnfo
return;
"58 II ••••••••• • • • •••• CCWTRDLLER •••••••••• ••••• • II
59 I/ Controller II
6Q pros: :Cont roller controller(pros : : E_CONTIIOLLEII.J 1ASTER);
/I Stt deflector ' s dtfouLt statt os "up"
ntPhton( "Oeflector" , • down" );
"
62
63 II ---- --- - --- - -- - · DISTANCE ------------ - -- - II
64 II port - Disto11ce Se11sor ~
145 setShooter( e ); II Rtset Fl)"""1eet
65 II 7 • Front Left otstcmc,
66 /I 8 - Bact Rtght ots ronce
/I Ensu~ drtve .otors o~ not Lochd tn place
148 chn sis . set_drive_br<1ke(MOTOR_8RAl(E_COAST); 67 pros :Oist ,nc e b•tklreckLeft (3);
68 pros : 01st1nc• b•ckTrackRlght (2);
"' 69 pros : Oi stlnce clel!YtryDisunce (5);
"' /I Loop IntftteLy throu9hout Driver Control
71 II ••••••••• • ••••• • POTENTIOl'IETER ••• •••• • •• •••••• /I
while(true){
72 // port • Potenttc:aeter Na.it
153 // --- - - Ortvetrotn --- - - II
1S4 set0!"1vefolotors(); /I 'F' - Au-tono.ous loflu L Indtcotor
74 Pot f\gr autoSwltch('f');
,s
1 56 II ----- Deltvery ----- II
76 II GPS Sensor is not used, but stays he~ for testing purposts
if(trunning)
setShoot erNotor(); n pros: :GPS Gops (2);

"'
168 II - --- - Int11lre/LtftlR0Uer --··- II
79
8e
II ------ PNEUMATIC PISTON-- - ----------- II
II port • Piston No.e
161 if(tr-unnln1)
162 set Rollerf'lotor (); 81 II 'H ' • DefLtttor Piston
82 // 'G' - Endol:IM! P-Otons
#include "■a1 n.h"
83 pros : ADID111lt lll0Vt deflectorPlston ('H');
pros : ADlDi11it ll10Ut endGameSoootPiston( '6' ); 1•------------· ---------------·----·-----·--·----·--------------------·--------
..
84
85

87 // Ltne foUOWf!'r 1s not used, but stays here for testing purposes
1 -' __ ,=)_ __ 1-,_ - - --'='--
{ I I /J '_// /\ \III_ \{ _If '_fl_· fl fl '_ \
88 pros::ADlAnillogln deliveryFoll°"'er ('Z ' ); • I U II I I I I , 11 JI L I I I U II II I I I
89 , I__/ U U V L I LIU L,_IUU U
90
9 Created oo S/21/2622
91 // ---------------- OPTICAL SENSOR -------•-------- II
92 // port - OpttcoL Sensor NoN 10 Lost Updated Oil 2/16/2622
93 // 6 - Left Roller Color 11

94 // S - Rtght Ro LLer Color 12 ortvetr-otn c-inds tn ortver and Autono.ous Periods


95 pros: : Optical leftRolle rCol or ( 6 );
H Sets the Speeds of the Drtve l'IOtors
96 pros: : Optical rightRollerColor (5); 14 Use s the COl'ltroller input

98 // ---------------- INERTIAL SENS/JR ---- - ----------- II ---------------•1


99 / / port • IN Now
100 / / lS - InerttoL Sensor;) 18 // --------- - -- - ---- DRIVETRAIN VELOCITY- - --------- --- -- - II
19 // set the veloctty of the Ortvetrotn aotors
101 pros:: IIIIU 1nert1al(l5);
20 // The Speed ts Sflt to the given Left and rtght speeds, respectively
2l void setDrive{double l e ft, double ri11ht){
103 // - - ----- - ------- ROTATION SENSOR ----------- - - - -- II
104 // port • Rototfon Sensor Naae 22 left• • t.95 ;
10S // 28 - Left Troclr1ng Wheel 23 rl1ht• • t.05;
106
107
/ / 11
// 4
- Ri11ht Troclrin11 lofleet
- HiddLe/Sidll!#OyS Troclring Wheel
"
25 l eft • - 1.0s;
108 oki p1 : Rotatioosensor l Rot {29, true); 26 r11ht 0 ..-l.05;
109 oki pi : RotaUoosensor rRot {11 );
28 chassis.set_tank(left, r111ht);
l HI obpi : Rotatioos.ensor -ot {4, true);
,, )

112
113
// These encoders ore not used. They ore he re for testtng purposes
AOIEncoder 1({16, ' A', ' B'), false);// Left Encoder
"
31 // Sets the veLoctty of the OMvetrotn 1aOtors
114 AOifncoder r({ 16, 'C', 'D'), hlse); // Rtght Encoder 32 // ALL Drive l'IOtors are s e t to the soae speed
33 void setDrive( double speed){
ADIEncoder ■({ 16 , 'E ' , 'F'}, fillse); // Htddle Encoder
s peed•- 1. es,
35 chassis. set_tank(speed, speed);

118 // Pure PUrsutt Dt"tvetrotn " )


119 purePursuit drive ;
120 38 // --- CONTROLLER ORIVETRAIN -·-· ··· ··· //
39 // Se t the velocity of the Drtvetratn using the Controller
fl · --- ---·-···--·· CHASSIS BUILDER • ---------- --- - - II
fl Hotors : 2, 1, 6, LEFT (front to boclr) 48 // The Dr-tve Hotors change through a curve and not ltneorLy
41 // Stop 1aOtors tf the velocity ts very SMOlL
// 4, 21, 14 RIGHT (ff'Oflt to boclf)
124 // Sensors : L, r 42 point2 setDr1veJoyst1cs(){
// Set the velocity of each stde using TANK control
US / / hfreel Diaaeter : 2.6126 in
double l eftPow • controller.ge t_anal og(ANALDG_LHT_Y) ;
126 // Stde lofleel Dhtonce Apart : 12.4185 tn
std: : shared_ptr<Odo■ChasslsCootrolhr > -.itchDrive ,. Chns1sC0ntrollerBu1lder() double rlghtPow ..- cont roller.1et_analog(ANALD6_ RIGHT_Y);
128 .withMotors (JttrGroupL, JlltNroupR) / / l'IOtors - 11 ts front left I 12 is ff'Oflt right I 8 ts boclf rtght I 3 ts baclr left
129 / / ,111.thsensors(LRot, rRot, -'fot) II Troclrtng Wet
fl ScoLe up or doi.m the increase for tuntng . Ranges fr-06' 1 - >19
48 double sule-e;
130 . withSensors (lRot, rRot) // rroclrtng wheel
131 // .111.th5ensors(LRot, rRot) // Troclrtng •et 50 / / RMeflber the dtrectt011 of the oxts
.withGains( // no Goins
1 33 {0 . 00621, 0 . 00021, 0.00000}, // forward PIO Gots 51 short dir [ 2 ] • {1,l};
52 1f(lef tPow<0 )
134 {9.00835, 0.000085, 9.000000}, // Angle PIO Gotns
{0,0083, 0,00080089, 9.00000}) // Turn PIO Gotns dir[0] • •1 ;
136 . withDUiensions(AbstractMotor: :1earset: :blue, {(3.2S_in• ( 24.9/ 68. e)l S4 if(r11htPow<8)
1.88791667"2. 0•1 . 012786428661856, 11 .44390335648148_in •1 . 00694444• 1 . 10555556• J . 998611111 •1 . 096388888888889°0. 9988888888 dir[l] • -1 ;
88888"9. 988805556°9. 995833333}, quadEncoderTPR})
57 // Change the r-ote of change too curve
II . llrl.thD•nstons(AbstroctJtotor: :~arset; :blue, { {2. 612_ in, 12 .4764651_1n, S. S_ ln, 2. 15_in), q1JOdEncoderTPR))
58 leftP°"' • (std: :pow(leftPow,2)/127+scale)• dir[0];
59 ri1htPow • (std::pow(rightP°"', 2)/ ll7ucale) "dir[l ];
1 39 . withClosed LoopControllerTl■ellt 11( 29, 1 , 30_•s )
148 .withOdoeetry(Stltel'b:le::CARTESIAN ) // Coordinate SystNI
. buUdOdo.etry(); // Butld the chouh 111.th Odoaetry fl If the speed ts Less than 18, bralfe the .otors (In cose ""' tog11le brolte typ! hold on)
i f ( 1bs(le ftPow) - scllle < 10 )
63 leftPow ,. 0;
64 if {abs (rightPow)-s cale < 10)
65 ri1htPow • 0;

67 point2 speedSet(leftPow, rightl'ow, 0 );


68 return speedSet;

" )

71 // • ••••••••••••••• SET D«IVf /IIOTDIIS •••••••• •••••••• II


/I r>eots 111.th oU driver c011troL ,_nds far the drtvetrotn
73 void setDrlvel"lotors (){
74 chassis.tank();

" )
t 1nclude ".a in.h" 83
-- .
II Used to slow down the flyl</Mel wtthout turning tt off cc:apLeteLy
I"············································································· 84 if(controller.get_digital(OJGlTAL_OCMN)&& 1controller.1t1t_di1ital(DIGllAL_R2)){
shooterHode•"Low";
I_, 1/U
II II _11 __ _____ _
• I I I I I - ,, II ,, \ I / I - I/ ·_11 I I /
I /_/ II _I/ 11 I I v I/ _I/ I I U I
" II· ···· ····OFF·········· II
89 II Toggles onu buttons "DGIN" and "R2" or-e pressed
/_ I L/UU LI I_//_/ L, / 90 II Used during procttce or debugging to prevent battery death by unused eotor
_I/ i f(controller .get_dlgital(DJGITAL_DOWN)&& controller. get_d1g1tal (DJGITAL_R2) ){
10 C~ated on Sl2Bl2822 (_I 92 shooterl4ode•"Off";
11
12
13
14
Last Updated on l/Jl/2022

Contains c-,nds for the Del bery sys tea in shooting Dis/ts
Uses PJD I FEED FORWARD ta qutcltLy adapt flywheel control to a target RPH
. )
l

15 Sets up Flywheel Velocity between and duri.ng shots.


UtH tzes driver and out~us input
.,
96 II ••••••••••••••• SET DELIVERY VELOCITY ••••••••••••••• II

98 void setShooter5peed{){

18 AppL icotfons of the DeUvery ore as follows


100 II·········· M4X •••••••••• II
19 • Slolitchtng betwtten a goal "qui.cit ftre• and "fHL up" speed lll 1 f{ shooterNode••"M.ilx")
28 • HanuaHy adjusting speed 102 UrgetPower•600;
21 • Loe/ting to Ha/t Spef/d
103
• Spinning or o stow base speed; to pnvent Ja•tng 104 II·········· FAR·········· II
• Turning off Flywheel Altogether
,.23 10S
106
else if(shooterHodeu"hr"){
if( ldt1flectorUp)
25 ············································································· ·I 107 targetPower-sse;
26 double CoefOfFriction • 1; 108 ehe
27 109 urgetPower-sse;
28 II ··•········•··· SH DELIVERY •••·•·••••••••• II ll0
29 II Set the Df!Uvery .-otor on o given speed
38 void st1tShooter(int power){
II •••••••••• HlO •••••••••• II
31 if{power••127) ehe if(shooter"Mode••"f'Ud"){
32 shooterNtr. set_voltage(127°94 .488); if( ldeflectorUp)
33 else 115 taraetPower-488;
3A shooterHtr. set_volt~ge(power•CoefOfFr1ction•94.488); II AppLy Friction coefficient 116 else
35 )
117 targetPower•480;
118
37 II ••••••••••••.•• GET DELIVERY VELOCITY··············· II 119
38 II Gfot Flywheel speed lt{th accounted friction 120 II •••••••••• CLOSE •••••••••• II
39 double getflywheelVelocity(){ else if(shooterMode ■--"Clost1"){
40 return shooterltt:r,1et_veloclty{)/CoefOfFriction; II Apply Friction coefficient 122 if( '<lefl ectorup)
41 ) 123 t~rgetPower-C80;

43 I I • • • • • • •• • • • •• • • SH DELIVERY HOOE • • ••• • • •• • • • •• • I I 125 targetPower•409;


-44 II ALLows driver to switch betwen IIOdes 126
45 II Mades; Speed up I Ha/t I For I CLose I Off I Low 127
46 II dOtJblfl torget~r • e; II DecLof'fl Flywheel vC'locity II·········· LOW·········· II
U8
47 double quick5p1nT11ne • 0; II Declare tUN? spun up 129 else if(shooter"Mode••"Low"){
48 bool shootToule • f~lse; II used to convert "pressing" to "pressed" if(ldeflectol"Up)
130
49
1'1 tar1etPcwer"40;
se std::string s hooterHode•" Close "; II Declare global Dettvery Made
51 133 urgetPowe,-...40;
52 void satShooterHode( ){ 134
II·········· MAX·········· II m
S4 I I Occurs once the ·s· button ts pnssed
136 II •••••••••• OFF •••••••••• II
55 II Usf/d as a cotch·olL velocity if Delivery ts clog9t1d 137 if(shooterHode••"Off")(
56 i f(control ler .get_diai tal (OIGITAL_B) ){

..
138 targetPower-0;
shoott1Nlode•"M.ilx"; II Set globoL aode
" 139
,
59 141 }
60 ll··········FAR••········II
61 II occurs once buttons •u• ond "R2" ore prrssed
62 I I Turned on to score early tn a ""1tch
i f(contro l ler .aet_dili tal (OIGITAL_Rl) && controller. 1et_di1i tal(DIGITAL_R2)) {
64 shooterNode-"rar•; II Set gLobol lltOde
65
66
67 ll··· ······ ·MlD···· ······ II
68 II Occurs once buttons •s• ond "R2" orfl pr-used
II rurned on to score NrLy in o 110tch
70 if( controller .aet_digi Ul(OJGJTAL_ll) && controller. &et_d1gital(OIGITAL_R2}) {
71 shooterltode•"f"lid"; II Set globoL aode

74 // •··••·•••· CLOSE •···•••··• II


75 II Toggles once buttons "L2" and "R2" ore pressed
76 II Used to ftlL goals at Later stages of o 110tch
77 if(controller.get_digitd(OIGITAL_L2) && controller.get_digital(OIGITAL_R2) ){
78 shooterHode•"Close·; II Set global /IIIOde

..
79

81 II •••••••••• LOW •••••••••• II


II Toooles once button "DOWN" ts oressed
t 1nclude ".aln.h" 83 )
1•-----------------------------·-----------------------------------------------
85 I I Ooedare the PID constants of the syst ea
f_f fff_f ff 86 double kP•6.0475;
ff _ _ - _ff ff _ _ - - _____ ff 8? double kl-t.8e358;
6 f _I_ II_ v_· f
/ _ I _ \ / ·_1 \ / \ I I _. J '_I_'/ 88 double kD•8.808221;
1 f l / _ / _J(_///IIUII \V V/(_/JJIUI 89 doubl e k\1•34.4;
a LI l_/1_/L,_/ U L..JL/ VL/ L,_U L,_/
91 double lastError • 8 ;
10 Creoted on 2/6/2122 92 double su111Error • e;
11 Lost updoted on 2/J6/2t22

13 Feed forword ts on odilonced PID Loop thot sets the /lywlleet to o spectfi.c RPf'f voLue
"
95 II ------------·-- PIO CONTROL ------·----·--- II
14 loflen the the current lfPH is wLL below the des i red tofllet, vottoge is aut~UcoUy set to - "
96 II Deterwtne the PID output of the flywheel control
lS ·----·--------------------------·---·------------·---------------·----·---·-- •/ 9? double PlOControl( int de luT111e)(
16
11 do11ble urgetPower..e; // Creote o GL08AL vortcbLe to set the torvet llf'Loctty
99 / / Grob the current RPH readf.ngs ustng SyLtb Motor estt.lt1ons
tee double currRPN • shooterMtr . get_vel ocity();
19 // Ooeclore o 110,-ie ty of 11odabLe to create o ..:wing aveN1ge a,-ray
101
20 bool init.-fdse; 182 /I If the Current RPH is below e, aallfe 1t zero.
21 i nt,.~Indel(-e;
183 if(currlll'l'l<8 )
22 doubl e rpr,Ar'ray ( 29);
104 currllPH•8 ;
i nt saniplel•28 ;
,.
23

106 // Ftnd the dt fference bet'Wen target and c11rrentRPH and .orllf tt os e rror
2S I/ ---------- GET ARRAY---------- II
26 // Obtafo array
27 double• getArr1y()( 189 // Colculate Proportional by •uLt1pLytng the error by a goin factor
118 double proportional • kP•error;

,." )
112 // Colculote the tntegral te,w by tollf1n9 the co.postte error values
31 II ---------- INITIALIZE WEIGHrED AVERAGE - --- - ---- II 113 suniError+•111rror 0 kI 0 deltaT!Jwe;
32 II Start orray by ftLLing every t1Le with 8 114 if(sUIIError> 58)
3l void i nitAver1ge(){
SU11Er ror- se;
34 for(:lllt 1 - e , i~s-i;,ld, 1 ... )
116
35 rpllArr ay[i] • &;
11? // Store the sia as the integral terw
36 init•tNe; Oouble integral • s u.iErr<lf";
3? ) 119
120 // Colculote Dertvattve by tollff.ng the difference of current ond Lost error
39 // ---------· ADD f'OVING AVERAGE VALUE- --------- II double derivative • kD•(error-lastError)/deltal i11e;
4e /I Insert a 110L~ tn the ffrst tndex and .-ove e11erythlng to the right by one tndu
41 void addVa l ueAverage ( int value){
lastError•e rror;
if(r p,llndel(<SMplel){
rpMrray[ rJllllndH)•value;
125 II Find the MIii ve locity 1110 PW. Holte sure to add on t he currentRPf'f as weU
., r~Indel(♦-t;
126 double result • (proportion,! + int egral + derh 1tive)+curr ll~S8 ;

46 else{ 128 /I Prevents ha11ing on unreaListic velocity to spin to


47 for(in t 1- e ; l<S.fflPlel-1; i++) 129 1f(result>788)
48 rp11Arr1y[i ]•rp11Arr ay(i+l ];
136 result•766;
rpMr ray[ sample3- 1]•111lue ;
1l1
add'ValueAverage (result );
" ) 133

"
53 // ---------· CALCULATE AVERAGE ---------- //
134
135 )
return 1etwelghU.verage();

S4 II Calculate the .,.,m


of the s e t
S5 double calcA.... e r o1ge(){
56 doubl e result..e ;
1)8 /I --------------- FEED FORWARD -----·--------- II
57 for(int i•t ; i<n,111Ple 3; i H)
139 II Utilize PID and Wet11thed A11erage to set the voltage of the flywheel systnr.
58 ruulh•rp111Array[i)/sa11plel; 148 double FeedFOl'Wilrd( lnt del UTiMe){
S9 return result;
60 } / / Colculote the dtstonce between current and tol"9et RPH
61 double l!rror • tar1etPower-shooterl'ltr. 11et_vel ocity();
62 II ---- -- - - - - CALCULtrE /,IEIGHTED AVERAGE - - ----- - - - II
63 /I Use the CCIIIJ!OStte volue ond tndexes to dete,wine the wtghted 011erage double result•Pl0Control (delt11ie );
64 double getweightA11er a11e(){
65 double • set• get.Array(); II ~t the array
II If t he dtstonce tn between ts o certotn a.a11nt, s et
if(errar>kV)
-x voLtoge

67 // s - t e the array 149 result• 781;


68 double result • e; 1S0
69 for (int 1- e ; i<samplel; 1++){
151 return result;
79 result-t• set(i] " (i-tl);
152 )

74 double •1n151111•8;
75 for(lnt 1- e ; 1<silllll)lel; 1++){
•1ni SUll+-i+t;

// 011/(de the 11al11e s • by the index s •


Be result/• iniSu.;

"
82 return result:
t 1nclude "uin. h" t 1nclude "u i n.h"
1• •···························· ········································ ········ 1••············································································
,_ _, I I I I UI _/ I I _u II L _/ / /
I I __ / __ / / _ /_
I I
I I
I I
I I _, _, _,,_
/_/
II
II
I-' ///
I I_J I_ I I I ___ I LJ / _/ /___ _
11
I I I I _ _ _I I _ _
I I I ·- \/_I_. I /II_ I I I I/ I I I I I - II_ \/ / /I_ \ "_/ 6 I _1 I_/ _t _ 1/ ·- 1 I I I I I '_ \ I_· /I_ \ \I I
_/ U I I/ II Cl I < _I I I //_/////_ II I I II U I I I __1 I II /LI//U//// I I _J U / I I U / _I> <
/_ /_/ L/LL ,_/_/LL_ / u /__ /_/_/ L/ u /_/ LL_I/_L/L_L/ /_/ L/_ /LL_IL/ /_/ 1_1 J_ /_/ U L , _JL_I../LI

10 Crit0ted on S/28/2822 10 Created on S/28/2822


l1 Lost Updot ttd on 1/16/1822 11 tost Updated on 1/16/2822

ll Sets up the c-nds used for ptc.lrtng up dts.lrs and spinning /teld rollers 13 Sets up all custoa pneiaatic and aotortzttd index c-nas
14 Usttd far pie.Iring up D'islrs and Sptnnin11 Rollers dur1"11 Drive r and A u t - s periods 14 Usttd (.n Autonoaous and Ortver Control
15 The Speed 1s set by Sensor and ControLLl!r Input 15 Toggles fftween true and false for alt pbtans
16 Uses the ('ontrotler as on inP'l't for au fun('tions
.............. ................. ........................................ ······/
18 18 ··· ······· · ······· ······· ·· · ···· ·········· ············ · ········· · ······· ····· •/
19 / / •• ••• • ••.•••• • •• IIITAXE I LIFT a I/OLLER SPEfO ••• ••• •••••• • • • • // 19
28 // Sr t t he i,eloctty ref t he .otor 20 // •••••••••••••••• SET PISTON ••••••.••••.••••
21 \/Old setl/oller(int power ){ 21 // Intuittw- function to .eve pistons
rollerftt.r • power; //Set the w-Loctty of the Subsyste.s n /I The t ll'O ptstons are "Index" and "End11tae"
.n } 23 // The tll'O ways ta .eve the pistons are "out" and • tn•
24 24 bool de flectorllp-fds e;
25 25
II ••••••••·••••·•• SET LIFT •••••••••••••••• II 26
27 II Pre 11ent J-tng by revteirutg tnt alre i,elocHy 27 void setPiston(std::s t ring pistonType, bool dir){
/I If the velocity h 8, then the fnto.lre h J - d
29 // Reverse the Ulto.« for a s et a-wnt of tt.e and resi.e 29 // •••••• OEFEtCTOR ••••• II
38 bool endLift• filhe; 30 if(plstonType••"Deflector" )(
ll \lo id setlift(){ 31 deflectorPiston . set_v1lue(dir );

"
33 setRoller(127); // Start fotalre sptrm fng
32 deflectorUp•dir;

,.
// ••••• ENOGNfE ••••• II
"
36 // J,ihi(e the tnta.lre jaa de t ectton is enabled
35
36 else 1f(phtonTy pe••"End11me" )
whlle(lendlift){ endG111eShootPiston. set_vilue( d 1r);
38 ,. )
//If t he into.Ire is J - d (vta Law ,,,,_ 11aL11e)
" 1 f(rolleNttr. get_1ct 11d_vdocity( ) <15) { "
48 void setPiston(std::string pistonType, std :str ing direction){
" // Spin the into.Ire 1.n rei,erse to free up j ~ dtsc // Convert 01.r ection Strtn11 to Bool ean (where outwards fs TRUE)
setRoller(·l27); bool dir • directionaa"wt• 11 direction•• "up";
pros ::del1y(2M);

..
// Send out Piston 1.n specified direction
II 1/esuae pie.Iring up disc 45 setPiston(phtonType, dir);
setRoller(127); )

.. pros : :del 1y(400);


..
" setRoller(127); // Ensure that the i nto.Ire ts turottd on "
-;e / / • • •• • ••• • • IS llfOVEDl • •• • ••• • •• II
// Dete,..ines whether the Joys ticlrs are -i,e d
"
52 pros :delly(10); //Delay; conserves an ca.pi,ttng power
51
52 bool isl'lave d()(
) po1nt2 drh~tors • setol"'ive)oystics(); // Get Joystidt ~alues
5' ) SA bool result• drivel'lotors.11• -t && drivePlotors.y• •8 ; // Detenrine whe ther joyst k.lrs arr 9(1\led
55 return tNrsult ; // Return the oppostte of result
56 int thirdlliscinTime-e ; S6 )
5' 5'
58 // •••••••••••• •••• SET I NTAXE I UH I ROLLER MOTott •••••••••••••••• / /
59 // Set up dr111er input t o .otor "
59 // •••••••••• IS llfOI/EOl • ••• ••••• • II
68 \/Old setllollerl10t0f"(){ 60 // oetenrines ~ther the Joysttclrs ore .oi,ed
61 void wdtlwltilltoved(int ti..e)(
62 bool fulll~d- thirdDhc i nT1->1M; 62 int count•&; // ()e('lore a ('ounter of tt.e

"
64 // Define the speed of the Ltft "
64 // i.flHe tt.e has not R en rit0ched ond the Joysttclrs have not .oved
65 i nt power; 65 while(count<ti- && lh"'>ved ())(
count~10; // Add 18 .ws to tt.wer
67 // Set the speed hosed on drtver 1nput 67 pros: :de by(18 ); // Wait 18 • s
68 power-121• (controller. get_digi t1l (DIGITAL_l1 )U Icontroller. get_digi Ul (DlGlTAL_R2 )II! fu l lloiid) • 68 )
127•(controller . 1et_ dtgiti l (DIGITAL_Rl )U Icontroller. get_ dllit.111 (DIGITAL_ 112)); 69 )
69 power•• 127 • ( controller . Bet_digitll ( DI GITAL_Ll )&&Jcontroller . get_digit1l(DI GlTAL_R2)l&fu lll oiid) ;
78 power+•leee• (controller. 1et_11111t1l(OI GITAL_l1) &&controller . aet _ diait1l(DIGITAL_L2) ) ; 71 // Prepare SOiie general boolit0n tools for p1.stans
72 bool triggered • fll se;
72
7l
// Apply the veLoctty of the t he Lift
setRoller(power) ; ,.
73 bool tri ggeredDeflectar • fllse;

,. ) 75 i nt dt sccwnter- e ;
76 i nt discU..e- e ;
77 int d1scDelly(3] •{1S8,288,8 };
,.
..
79

81
bool r unning;

// • •• • ••• • •• ••• • •• SET PISTON •• ••• • ••• • •• • •• • II


82 // Set uo deltverv atstOtl OOOl!ration for out~us
83 void sttPiston(){ t 1nclude "uin.h"
1•-----------------------------------------------------------------------------
8S / / ----- IW'IO FIRE.EXE ------ II
56 / / Use d at the aatch Load stattM ta autono-ously shoot UJ discs
1 _ I 1-1 I I U 1-1
87 if(controller. get_digitill (OIGlTAL_UP) && controller. get_digitill( DlGITAL_Rl)){ I LJ L I ' - - - - I/______ _ f ' - - - -
88 / / raptdFtreExe(J; II Scare aatch Load discs
6 f _/ _ I/ _I_ \ '_ I/_/ /I_ \/ '_ . _ \ I_ \_I_ \ "_/
89 hd1~ry0rlve ( t5 , 10e); I I I U I II _; I I I /_/ I U I I I I I I _; II _; I
/_/ L./ LL_L/ /_/LLIL./LI /_/ L/L_/LL_L/

"
92 // ----- DEFLECTOR ----- II
10
11
Created on llJl/2822
Lost updated on 211612922
93 if(controller . get_digi td ( OIGJTAL_L2) && I controller . eet_d1&1tll (DIGITAL_R2) )(
94 lf(l triggerede>eflector){ // If ( t had r,ot pre.,tousLy beM presstd
9S se tPiston("Deflector" , !defl ectorUp); // Send pistM code
13 Organizes sen.sor data by the poten1oaeter to be u.sed for a wide variety af appL t :aMons
96 triggeN!dOeflector• true; // Ol!terwtne that the button has bun prvsstd 14 This custa. code aUaws far purpons tncLudtng tht faUawtng:
- Setting .a.ll/• in vaLut af sensor
"
98 )
) 16 - Cr{,-ptng values to a sputjted degr-tts of ratat1an

99 else
17 --------------------------------------- --------------------------------------•1
t ee trl11ere<1Deflector• fal se;
19 II --·-··----··--- POTENTiatETER HANAGER ---------·-·--· I/
20 II Define tht vaortcibtes tho-t wf.H bt use d in the ctass, as i.,ell as tntttOLtzin9 the lt'5 s ensor through the spedfted port
102 II----- EMJGAJE ----- II
21 PatM&r: : PoV\ar{char portCh1 r, boal di!'fftlon, int •ax, int .in, int terallangefta){, int 1tr-oRangelU11) :
103 1 f(controller.1et_dl1ita 1 {DIGITAL_Rl )&&controller. set_d i s l tal ( DIGITAL_X ) ) {
104 setPhtoo ( •Endgame• , •our); potentiDN!ter (portChar){
105 ) pros: :ADIAnalo1In kPAdjus t ( portChar);
•a"_value-ma";
"'
m ) 24 •in_va1ue...1n;
25 zero_ r ,1n1e_..,~,.de11reesTOTick s( zeroR,1nge!U~);
26 zero_r,nge_• in• degreesToTlcks ( ieroRangeHin);
" )

"
"
30 II - - -- --- - -- GET RNI VALUE - - - - -- · -- II
31 II Returns the bast! vatut fro. pottnic:wtt r .sensor (ranges froa 8 to 4885)
32 int Potl'lllr: :getRitW\lalue (){
B return pote ntilal'tt'r,1et_vdue(),
,. }

36 II ---- --- - -- GET SCALE FACTOR - -- - -- - --- II


37 II CoLcutotes change tn votue ptr ticlt of chgree
38 II Scott b found 11SinS, tllt slope fo,-,.uLa
39 double PoV1&r:: getScaltFactor(){
48 update:(;caltFactor();
retum scale_factor;
" )

44 II ------- --- GET N.X DEGREES RANGE---------- II


45 II Hor/ts o spectfted a.ount of degrees os ·aax•
46 / / Thi.s prevents a sudden juap fro. the .ax to •tn
47 double PotMcr: :getZeroRangef'\u{){
48 retum TicksTooe1rees (zero_ran1e_ •u);
., )

"'
51 II ---- ------ GET HIN DEGREES RANGE ---- ------ II
52 / / /'far/ts a spectfied a.ount of degrees o.s ••tn •
S3 II St.Har to /'fox Dl!s,reu, this prevents a .sudden jusp fro. the Min to aa1t
~ double Potf'11r::1etZeroRan11if'\in{){
SS retum Tlcks ToOegre-es (rero_range_•ln);
S6 )

"
58 II -·-------- GEr ,C,,.X - ---- - ---· II
S9 II ~ts the aaxi - vatw s t t by t he ust r
68 double Potl\ir:r: :getl'la1t(){
61 retum U ){_value;
" )

"
64 II •--- -- -- -- GET HIN•---- - ---- II
6S II ~ts the • int.a votw set by the user

..
66 double Potf'11r::1etl'tl11(){
67 retum 11in_nlue;
)

78 II •--·--· -· - GET DIRECTION •- - ---·-· · II


71 II ~ts tilt direction of rotation .set b)' the user
72 II loflen foctng the top of the s ensor, True .. ctoc/twtse / Folse • Counte r -ctoc/twt 1e
73 boal Potl'lgr::11etOirect1on()(
74 rttum reve rsed;
7S )
76

78 II ---------· SET ,c,,.x DEGREES RANGE - --------· II


79 II Stts tilt •tnt.. valut b)' o given value
88 void Pot:Nsr: :setZeroR.angeNl"{double degrees ){
81 uro ran11e 111•• dt'l!reesTOTicks(de 11rees ):
82 ) •include "Ailln.h"
1••············································································
84
85
/ / ------- · -- SET MAX DEGREES RMGE -
/ / Se-t.s the .tnt.u. value by a gtVE"n value
-- II
, _\(_)
II //__ -
I_/
/(_ -- - --
86 void Pot:l'lgr: : setZe roRan1eH.1n( double degrees){
87 ze ro_range_•in• degreesToTicks(de grees); 6 If I I I _/I _I ' - I I _J - \/ '_/ - \
88 ) 1 l/_lf L I ( _ _!/UU/1/J
89
8 (___// _ / _ / \ _ / /___/ L_L.//_/ L_/
98 // ---------- SET ,'C,4,K ---------- II
91 // Sets the ..:ixt.c. VGlue by a gtVE"n volue 10 cnoted on Sl2412822
92 voi d Pot:Ncr: : se~x( double ■ax){ 11 Lost Updote d on 811812822

,.
93
)
u11._value...aK;
13
14
PrUICJry sourer for scoring dhills tn goals
Sets up t:iut~s and ,_rids to scoring dhl!s
96 / / ---------- SET MIN ----- --- - - II
lS Contotns usrr•sr lected disc count and sp,eed to scan
16
97 // Sets the .-tni- vcilue by a gtven l'Olue
11 The process of scoring d1sills ts as follows:
98 void Pot/olgr: : setf'lin(doubl e ■in){
99 ain_villue• in; 18 J. Srt de ttvt-ry .-otor to l27(■ax)
19 2. 1,to(t 1mt1l target s~ed ts reached
100 )
28 J. Send fodex c-nd t o scON d{s,\• ond lfDtt for dtsill to ftN:
21 4. Loop strps J·J unttL oU d tsills hovr been scored
192 / / - - --•-- - - SET DIRECTION-------- -- / /
183
H)4
// Sets the •tnt- value by a given volui!
void Potf'l,gr: : set 01rttt1on( bool dir){
" ·············•I
185
106 )
revtrs ed• dir;
"
2S II················· HAIL 11ARY!II •••·••••·•••••••· II
26 II Hrmdles qutcill vottrys of discs into the high 900L
"'
108 27
28
I I This parttcutor function ts useful for Ntch outonoe,ous
void hd1"1ary(1nt hrShots, int t.1rSpeed){
1e9 // •••••••••• DEGREES TO TICKS •••••••••• II
118
1 11
// Converts gtve-n degrers to smsor ttcl!s
d o11ble POt"flr:: degr eesloTlc ks ( double degr ees ){
"
3e II Se t Ft.)IWl« t tor,rt to ■ax teapororHy
31 double te111pl'ower•t.1rgetl'ower;
112 double result • degrees/360°r,.-_Mx;
r eturn result; 32 t.1r1etPower• l000;
114 }
)4 chas.sh . s r t_drtve_braJ,.r(~Oft_llft.AKf_tCILO); /I toe/Ir the Orlvrtroln In ptacr
116 // •••••••••• TICKS TO DEGREES •••••••••• II 3S seU.olle r{&}; I I Stop thr tntal!e froa r-unntng
117 II Converts gtven sensor rte.Its to degnes 36
118 double Potf'lgr;; TicksTooegreu (double ticks){ II Loop for each shot of the scoring function
for(int 1..e; i<tarShots; 1+-♦-){
119 doubl• result • ticks•l6e/r.tW_Nx;
129 rl!turn result; 39 bool lutShot• (l•• hrShots•l); II Drtenrine tf this ts the final shot
1 21 }
II wtt for thr td1toL vrtoctty to be - t
while( shooterfttr. get_veloc 1t y( )• 2S· 3 • las tShot<teapPower} ;
II •••••••• • UPWITE SCALE •••••••••• II
setRoller(•12?); II Indrx o d1.sc into thr shooter
.,
126
II Uses slope· for.vLo to ftnd the chor19e tn IIOLW owtr change tn ttd1 count
void PotNgr; : upd.1teSclle f 1ctor (){
..
.,
pros :;dd ay(2SB + 100• 1utShot); II watt for disc to shoot
1 27
128
129
II Ustng the forr,ot of ftndtng th1t stopt of o ttM, w wHt find the chor191t tn Y ov1tr X
double ch.1n1einVl1 • ux_v;1lue• ■ ln_vdue; II Chonge in Y (change froa .-(n to ■ 1x)
double snpleCoont • r.1w_1Ux•(zero_r.1n1e_ux+zero_r.1n1e_■in); II Change tn X (~IJlfPLe :Size)
.. set Roller(l27); II Resrt the tndex systffl
pros::delay(l48); II l«ltt for systt11 to r eu-t

"' double result • ctuongetnVd/u■pleCount; II Calculate slope


"
51 II unloc.11 drtvetrotn and return flywhrrt RPI( bacill to nor■al
132 sule_filctor•result; II Poc.llag1t and ston scale
S2 chu sls. set _dri ve_br.1ke(l'IJTOR_8RAl(E_COAST) ;
133 }
tar1etPower• t e.pPower;
"' " )
136 II •••• ••• • •• GET VALUE • • •••• ••• • II
S6 II •.•• ••• •• .•• .•••• HAIL 11ARYI// • ••·••• •• •••• •••· II
137 II Applies scale to ttc.llJ and crUlpJ rotation ta allowobLe degr« J
138 double Potf'llr:; get\ldue (){
S7 I I Handles qutc.11 vol t r s of discs tn St:IUS AUTONO/IQJS
139 updateScale Fact or(}; II Update the scale froa ■tn to IIDX value 58 void hd ll<laryS kUls(int t.1rShots , int tar-Speed){
59 doubl r te111pPower•hrgetPower;
double result • 1etR.1WVillue (); II get row data fro■ J en.for
61 chns is.set_ drivr _brake(l'IJTOR._BRAKE_HOLO); II Loclt the Ortvetrotn tn ptocr
II If the uJ er JOYJ the JyJte■ 1s nverJed, nverse the sys te■
62 1et11,olle r {e); II Stop the tntoll-e f roa ronntng
lf(reversed}
result• raw_HX•resul t;
64 II Loop for ~ch shot of the scoMng function
65 for(int 1•9; i<tarShots; 1+-♦){
66 bool lHtShot• (1.,.tarShot S•l); II Dtte,..{nr {f t his 1s tile final Shot
II If the vol~ ts above ■ax, ■alte tt ■ax

.,"
148 if(re sult>r;;,w_AilX•ltro_range_■ilX)
149 result • raw_■,1x.zero_r.1nge_■ilX;
68 II 1,1ott for the tdeaL ve lodty to be - t
while( s hooterNtr. 1et_ve loc 1t y( )+25• l "h st5hot<te.p~r) ;
"' II If the 110tue ts below ■tn, ■alfe 1t ■tn
" set Roller(•l2?); II Index a dUc tnto the shooter
e lse if( result<zero_range_■1 n)
t Sl re sult• nro_range_.,ln; pros:;delay{2S8 + 100•1.1stShot ); II lrii:J1t for d1sc to shoot

'" ,. setRoller(127); II Reset tile tndrx systt11


,s pros::delay(l48); II lolatt for systt11 to reset
r esult••snle_hctor; II /lfulttply row dota by scale factor 76
77
'5etShoot er(tt111pPower, ~velocity") ;
159

"'
161
162
resultua ln_ value; II A"'1 sin val~ ta

II Pocl!oge and s end out valut


return result;
syste■

.."'
81
)

II • ••••••• ••••••••• WAIT FOR TIJfE OR JOYSTICKS • • ••• ••••• • • ••••• II


82 // Cust~ wott·tt• , _nd
83 ii If tht NI ts no ,mtroUt ,- {nput, gbtn tt..e wUL bt i.vtttd t 1nclude "UiM.h"
84 II ~11t1r, tf controlltr .-Ollt/#t/nt is found, trlt functiort tarty 1••············································································
as II Ol.>clart cootroUt r input
I_\ CJ I I I _ I II I
86 point2 driveJoystics ;
I I I /_ _ _ _ f I _ //_)/_/// __ _
88 II Rt pLoct i.vtt-tt..es with custc:w koVtt-ti.ws • I I I I I I I /I_/ /I I I _ II_ \/ I /I_ \ ·_J
89 void wdt &utJoyst ick(int t1-){ 1 /f_l/UIICI < 1/IIU//f JI
90 i nt countT111e- e; II Dt/cLart1 tM tt..e that has posstd in functton L_LIL,_L/L_ULI U LL./U_/1_/_/
91 while(countTiae<time){
92
10 Crt0ttd on S12412922
93 dr1veloyst1cs•setDr1vt Joys tics(); II Chtclf cootrolttr input 11 tost Updottd Ofl 2/16/1622
94 /I If controller input is dettctH, tnd i.vtt-tt..e tarLy
9S 1f(fabs{dr1ve loyst1cs.x)>9 11 fabs (dr1veJoyst1cs.y)>9)
H Short•hand functtorts for sptntng tht rolltr
96 ret111•n; 14 Stt5 up tollrnmient and stills outonoaous roLLt r ,_nds

98 II Updote ttN possff by JIii .-s 16 Tht proctss of scoring ts os follows:


1. Or{vt tnta roller "'"Ht sp(nntn11 sptnntng roLLtr .ator tn revtrst
99 covntTt.+-19;
100 pros :dehy(l&); 18 2, watt for o cortstont ttw (186 for t01Jrnt y I 288 for sHLLsJ
19 J . Stop roll tr aotor to Loct nt!kl roUtr rotation
191 }
102 }
2l ··············································································I
"'
105 II ·······-· HAIL MARYi/i but for d,-fvtr •••• II
"
2) /I •••••••••••••••• QUICK ROLLER ••••••••••••••••• /I
24 / / TournaMrnt RoLltr Codt
106 II Scorc-s I · J dtslrs at a 11t11rn s~ed
107 II ControlLtr input wUL forcr· uf.t function 25 // CMdt nsu athtrwf.st l"t!pt!ttttve codt with l lint function coll
108 void h<1t 1'UiryOrive( tnt t<llrShots, i nt t , rspeed){
26 void quickRolle r ( int leftSpttd, int dghtSpeed)(
II DrtW! 1.nto roUtr
"'
110 t,r1etPower• 41S;
29 setRoller{l27);
chusis . set_ drive_ brake(fllTOR_BRAKE_ICJLD);
setRoller(0);
" II watt for roLLtr to spin
for(int 1..0; i<tarShots; 1-»){ 32 pros::dehy(2S0);
3l
bool bstShot• (i>• UrShots-4);
while{ shooterf'ltr , 1et_ve loc 1 t y( ) ♦ 2S· 3•1n tShot<tilr1etPower) ;
)S setDrive(e);
set Roller( •127);
36 setRoller(&);
wd t 8utloysttc k(2S0 ♦ l00" b s tShot);

"' "
38
)
120 setRoller(127);
121
122
walteutloystic k(140);
if(fabs{driv1 Joyst1cs.x)>8 II filbs{i3riveloyst1cs,y)>8){
"
48 / / ••••••••••••••••• SKIUS ROLLER ••••••••••••••••• II
chassh . set_dri ve_ brake(l'OTOR_BRAl<E_COAS T);
41 /I SA>Uts Rolttr Codt
124 return; 42 // Cotldtnsu othtrwf.st l"t!~ti.ttvt codt with J tint functtort caU
43 void skillsRoller( int leftSpeed, int ri1htSpeed, pros :Optlcd stnsor)(
setRoller(U7);
126 )
chants . set_drive_ brake ( l'OTOR_BRAl(E_COAST); setDrive(leftSpeed, riKfltSpeed);

"'
129 )
48
int rolltrTiae-e;
int rolltrPulseTiae•8;
"' 49 wh1le(1etColor( s tnsor.1 et_hue ())l • "Red" &S rolltrT iae<S98){

51 rollerTi•..,.18;
52
if(roller"ulseT1H >300){
S4 setDri ve(e);
pros: :delay(l&e);
56 sttDrive{ld tspttd, richtSpetd);
57 rollerPulseTiae-8;

"
59
)
pros ::dthy(18);
68 rolle rPulse Ti.e-+-10;

"
64 pros::deby(328);
65 setRoller( •127);
66 pros::delay(l00);
67 setRoller(0);
68 sttOrive(e);
., )
t 1nclude ".ain.h"
1•-----------------------------·-----------------------------------------------
1 _ I _ _ _ I IU ___ _
.."
85
return null;

86 II ----- - ---- THETA VALUE -·--- ----· II


f U fl_ \ I_ . f I f I f I_ . ff '_ \ 8? II - ---- TRIANGLE FlfOH TRAPEZOID ----- II
• I _ ,f ..JI LI II ff ff U ff I I I 88 dooble base f ..s ensorValueFront.dista nceApart;
1 U UL/ L,_ff_ff_f L, IU f_f
/_/ 9B clooble heightF .. sensorVal~Front.leftfront-sensor\lalueFront.rt1hteack; II Het1ht of the trtongle I otfference between
9 CrToted on 18118/2822 torger and s.wott er dtsronce 11al~s
10 Lost updatff l8ll4l2822
92 II ----- SOLVE TRIANGLE ANGLE I GET THETA ----- II
12 Qutc.l!ty reset the Robot's postttott ustng the bac.11 side of the ROOOt
13
14
Uses Trtganaaetry /u11cttor1:r. to calculate the foLLalA119:
• Theta
,.
93 dou-ble thetaVal • (getTMe taVal(baseF,helghtF));

lS • Distance Froa htl'U


96 / / - ------·-- X/Y VALUE------- --- /I
16
9? II - ---- TRI.ANGE FOR X/Y VALUE ---·· II
17 ------------------------------ ---------- - ----------------------------- -- -----·/
98 clouble hypoF • (st11sor\lalueFront. l e ftFront-+-s t11sorVllueFront.r1ght8ack)/2;

19 // - ------- ------- rHETA CALCULAm:W --------------- II


tee double angF - fabs(thetaVal); II Angle of Triangle I 98 •inus
20 / / Cotcu(ates Theto fro. gtven bose and hctght
21 II otagl'Oll '"
..
162 II -- - -- Sot.VE 8'.SE LENGTH I GET X/Y ----- II
22 // 163 dooble newF• 1etXYVal( hy?(Jf, an1F) ;
,.
23 II base(lrnOM'I)
_ _ _ Theta(un.--nown)
,
II 185 I/ --·-- CCH>RE55 INFORMATION ----- /I
II I I
"
26 II I
186 point2 result(newF ,the t aVal* 18B/3.1415936S,6);

,.
27 II
II hetght f
I "'
168 return result; // send tn/o...,tton off to progr-
109 l
II (•nown) f I
,." II I I
no
II
"
32 II
/I

3l II tan(Theto) • hetghtlbor.e
)4 // Theta • lnve,•i;e tan(hlt'l9ht/t>(U lt') hotote Theto
3S double a:etThetaVd(doub le bV;al, double hVd){
36 return (;i,tan{hVill/bVal));
37 l

"
4e / / ---------------X/Y CALCULATICW --------------- II
41 // Calculates X/Y froa given hypotenuu: and angle
II otogroll
II
II
4S //
'6 II
47 II hetght / I Hypotenuse (•1'CIWl'I)
48 / / (un• nawn)f I
49 // / I
,;a II /I
51 /I The to(.--nown)
S2 II cos(The to) • hetght/hypotenuu
53 // cos (Theta)•hypotenuse • hetght Isolate he tght
S4 double 1etxYVd (doubh cVill , do1,1ble 8Val){
r-eturn cvill •cos (BVd);

"
S8 resetSide: :ruetSide (double newLe ftFront, double newlUghtElack, double newDistannApart, double newoffsetCenter){
S9 leftFront•newteftFront;
60 rlghteack• newRlghteack;
61 dhhnceApart•newOht.inceApart;
62 offSetCeflt er-newoffsetCenter;
63 l

65 // ---------- - -·- - RESEr VALUES -----·---- - - -- - II


66 II CrNte an orNJy of the new pos ttton gene NJted
67 II Gathrr dato /roll dhtonce .:1en.:1ors

.,
68 po1nt2 f1nd0htanc e(daubl1 dhtanuteft, double dhtanceR1ght){

10 II ···-- CONVEfrT HH TO IN -·-·· II


distanceteft•••· 8393781;
72 distanceRlght• afl.8393761;

?4 II -·--- GET VALUES - - --· II


?S resetSlde s ensor\falueFront(distance teft,(UstanceRight,7,6.6683); II Stnsor Val .ies base d on
II Apply offset froa robot unur
sens orva luefront . leftFronto sensorValue Fr-ont. offset center;
sensorValueF ront . r t1ht8ack-sensorV;alueFront. offSetCenter;

Be II C~clr to ensure the re is a 11aL1.1r froa e ach s r n,:i;or


81 point2 null (-16, -16,- 16);
82 if(sensorValueFront.lefn ront .... -1 11 sens orvalueFront . r11ht8ac k.... -1)
t 1nclude ".ain.h"
1•-----------------------------·----------------------------------------------- "
84 point2 result • f1ndDista nce(backTrackleft.1et() , backTrackRi&ht.get());
85 printAow(e,to_s tring(utchDr1ve->ge t5tate () . y . conve rt(1nch))+-" , "+-to_stri ng(r!sult. x));
1 _ / / UII 86 II Reset Y position (Varie s froa fie ld to fie ld)
/(_//_///_ 87 II 110tchDrtve -,setStote((SJtchDrtve->9e tState().x, result.x•1_1.n+-1_ tn+-1. s_tn,11a tchDrtve- ,ge tState () . theta)); II HCIIE BASE
L \/ // / / I / _/ 88 II 110tchVrive♦ >SetStote( (aJtchDrt11, •>ge tState ( ).x, result.x·•1_1n+-1_irt+4_ 1.n,aatc IDrive♦ >11,tStote(). theta)); II FAR SIDE
_ ) I <If/LI FREEDOM
8 f__/L/LU_L/_; 89 II 110tchDM11e-,se tStote((aJtchDrtv,->getStote( ).x, result.x'"1_1n+-1_111+-S_ tn,aotc fOrive-,getStote() . th,to) ); II CLOSE SIDE
FREEDOM
10 Creoted on 2113/2812 98 HtchDrive-> H tState( {utchDrive ->1et5t1t e (). IC, result .IC•l_in+-1_111+7. 5_111,.atch>rive->a etstat e (). the ta}); // HO#I.SE FIELD
11 Lost Updoted on 2/16/2822

13 68 second Autoaoeous
"92 Swin1Turn("Rlght", -36,88); II rum towards dtsc
93 setRolle r{127); II Prepore Lift to ptclll up
14 38 Hililh D1scs
15 8 low D1sc 95 l'IOYeDisunce{29,88,tl'\le ); II Ddve and ptclf up dtsr
16 4 Rollers 96 TurnTWlgle (98,89); /I Turn t~rds roller
17 28 T{(es 97 setRolle r{8);
18 278 poUlt s

28 STEP J
"99 chas s is. set_-ade (n::DISABU);
setDrive(-58);
21 ------
191 pros : :delay(398); II wait for robot to reach roller
22 CLot. the bottoa Roller.
CLaW the Le~ Roller.
,.
23 193
HM
II Clot. Left Roller
quickRoller(e,-58);
2S STEP 2 tes 11uickRoller(e,-se);
26 ------
27 score PreLoods and Hatch Lood otscs. II Calculote dtstonce froa M:JLL and set it as X.
198 result • findDistance (backTrackLeft . get(), backTrackR11ht . aet() );
29 STEP 3
,. 189
118
print Row( 1,ta_str1na;(■atchDr1ve. >getState ( ) . IC . conve rt (inch))+-•, • +-to_st rl111 (r ~sul t . •) ) ;
■atchOrlve• >setSt ate( { result . x• 1_ln+-l_in , INtchllr 1ve • >aetStat e ( ) . y, inertial . get _rotlltion( ) • 1_dl!&}):
31 Ptclf up row of 3 dtscs.
111
32 Score dtscs.

,. II ··••+ DRIVE TO lfATCH L(W} ·--- ♦ II


35
SwingTum(• teft" ,148,48); /I Swing tum towards Match load
36 Pi.cit up staclll of discs.
37 CLat.. the top rotter. 117 // Ortve to /lfOtch LOQd Statton
38 CLoW the rflilht rotter. 118 drive. reset();
119 dr1ve . addPo1nt(29,11);
128 dr1ve.addPo1nt(4S,26);
drive . addPo1nt(74 . S,21);
Score stoclll of discs ond Hatch Lood Dtscs. drive . nm();
m
., 124 I/ Turn tllWllrdS GooL
Tur nTOM&le (77);
row of 3 discs.

..
46 P1clf up
47 s,ore dtscs. "'
127 II Score 18 Discs +- 2 tn rose of foHure
hai1XarySk1lh(18, 188);
49 STEP 7 129 ha11/'4.arySk1lls(2,l98);

51 Piel// up staclll of 3 discs. 131 II -------- ---- - ------ - STEP 3 ------------- ------- II
52 Score discs. 132
53 Drtve to corner of /1.d d. 5wingTurn(•Rtght",3.S,58); II Turn to the rlosest row of discs
S4 Deplo)' Endf1CJ91/ •ch. 134 setPistonc·oenector" , ·down·); I I Lower Deflector
setShoot er(4B, " velocit y");
56 - -- - ------ - -- - --- --- · ----- ---- - --- - ----- - -· --- ------- - -- -- -- - ------ - - -- -----·1
57 double angleChangeError-9;
137 setRoller(l27); II Prepore Lift to ptclll up disc

"
59 void a_5KILLS(){
138
139
l'IOYeD1st ance{45,130,tl'ue ); II Drive towrds the first dtsc
TurnToAtlgle (53,l38); II Turn to reaJtntng discs
60 II · ·-·-···· SETUP ROBOT ·········- II
61 set5hooter(413, " velocity"); /I Set flywheel to 413 RPf'f
l'loveDistance(32· 3,98,true); II Piel// up reeoning discs tn N:N
62 pros: : Task del1very5e tup(set5hooter Async);
/I ••••• SCORE DISCS • •••• II
64 II Ensure the Deflector ts foctng upwor'Cls 144 TurnTOAng:le(16S,138); II Turn tot..ards 900L
65 setPhton("Deflector" , "up"); ,.,
146 hail/'4.ary(J, 8); II Score dhcs
67 II Se t up Pure Purs uit 147 s et Shoot e r{519, " velocity");
68 drive.detectCirc • 8;
69 drive . po1ntConsider ,. 2;
149 TurnToAngle (-2);
79 drive . 1,u CVd•79;
1S9 setRoller(127);
l'loveDhtance(44,38,trve); II Drivt to;..ords Roller

,. .atchOr1ve-> set5ta te({32.25_ 1n, ll.5_1n,9_deg}); II Define robot's paiition '"


153 II ----- COf.LECT DISCS -- - -- II
JS4 Tur nToAng le(171); II Spin 188 ta Prt.e rotter daUI
75 II -------------------- STEP I -------------------- II 155 endtlft•true ; II Stop disc JlllM{ng Tosi//

setDrive ( - 3'); /I ort\le tnto roLter


II Shoot one dtsc at goal
pros: :delay(59); // wait for robot to reach roller
158 setRolle r(-127);
159 pros : ;delay (238);
Be II CLaUI Bottos Roller 168 setRolle r{t27);
81 quickRoller (-58,8); 161 pros: :de hy(S9);
82 cuickRoller(-58.8);
setShooter(41S, "velocity" ) ; // Set Flywheel to 4JS RPff
244 // -------------------- STEPS -------------------- I/
165 TurnToAngle( 180}; // Spin 188 to Prt - rotter clot.
166
167
setlloller{8);
chush.set_ aode (ez::OISA8LE); // T11rn off Motor Lodt
"'
246 // - ---- DRIVE TO HATCH UW) - ---- / /
SwingTurn( " ldt" , 148- angleChangeError,48); // Swtnfi turn towords />fate/! Load
168
s etDrhe( - 50); // F1.n1sh -,11l!'Wrrt tnto roller
// Se t up Pure Purs11it
178 pros: :delay ( 406); // Wott to reoch roller 250 dr1Ye 2. detectC1rc • 7.5;
251 drive2.po1ntconstder • 2;
112 / / Set up Pure />11rslltt
252 drhe2.NxVel• 70;
purePurs uit drivel; driYe 2.b1ckwards •fdse ;
,,.
II Se t up drtve trotn for sttond -.otch tood drtve 255 // Drive tawords -,tch Load station using pure pursuit
drive2.det ectCirc • 7 . 5;
256 dr1Ye 2. reset ();
drhe 2.point Consider • 2; dr1Ye2. addPo1nt (20, 18);
258 dr1Ye2. lddPoint (45,26);
dr1Ye 2.backwards ..false;
259 drive2.addPo1nt (74,21);
260 drhe2. run();
181 s e tPlston("Defle ctor" , "up"); // Stt defle ctor to ongte discs upwards

"'
183 // - - --- INITIALIZE POSirION - -- -- II
262
263
/ / Turn tawords Goat
TurnToAnglt (76.5-anglt'CM1ngeError);
184 .atch0r1ve- >Set5tate({32.25_in, 11 . 5_1n,chassis . get_&Yro()•t_deg•l88_deg)); // oeftnt robot"s posttton
185 "'
265 // Shoot 18 dtscs ot goal (plus t1,10 i n cast of fotltd s care )
266 hail.l\.arySkill$ (10,106);
II •• •• • • •••••••••••• • • STEP 4 •••• •••• •••••• • •• • •• II
267 haill\.ary5kilh (2,180);

"'
189 II Clot. Top Rotter
268

190 quickRoller( •S8,0);


270 // ------ -- ----- ------ - STEP 6 ------- -- - ---- - ----- II
J 91 quickRoller(-50,0);
271 SWingTurn( " ltlght" ,3-angleCMangeError,50); // rum ta the close st rot1 of d1.scs
192 2?2 setPlston( "Oeflector", "down"); // Lowr DefLttt ar

'"
194 l'loveDhtionce(2,89,true); // Move OMJ.)' froa roller
set5hooter(416, " veloc1ty"); // .Mt Fl)'Wlee l ta 41 6 RPl'f

"'
196 // Cotculote dtstonct froM 1,10Lt and nt tt os Y. 276
setll.aller(l27), / / l'N!,X,•~ Lift to p lc" up disc
i'lo'lleD1st ance{46,130,t r,;e); // Ori.ve towords tht fi.rst dtsc
point2 resultAverage(0,8,8); // Creote o vodoble to start the overage dtstonc ~ 110l11es
TurnToAngle ( S3- an1lech1ngeError, 138); // Turn to rearointn11 dtscs
198 double nu..28.0; / / Run fer ze 1terottons
199 for(lnt 1 ..0; i<nua; 1++){
279 l'loveD1sUnce(33-S,98,true ); // Piclt up rfll0ntn11 dis c s tn rot1
280 po1nt2 t eap • findDlstance (backTrackleft . get(),backTrackRight.get()); // Ftn1 a set af dtstonce values
201
202
re sultAve r age .x+• t e11p.x/nua; // Re cord the posttton offset to the v11rioble
resultAver;,ge.y•• t l!IIIJ.yfm• ; / / Record the onfile offset
'"
281 // ----- SCORE DISCS ----- II
282 TurnTaAngle (l65-angbChangeError,130); // rum towords gaol
263 pros : :delay(20); // watt for sens or update hail.l\.ary(3, 0); // SCON! dtscs

"'
..
284 setShooter(475, "velocity" ); // Set Fly'\fhee L to 47S RP,f

"'
206 angleChangeError• -chnsh. get_gyro(); // Reset robot angle "'
,
"'
208 // Update the Y val11e of OrJo.etry ta the distance frc. the 1o11Jtl (Vortes froa fle Ld to fie ld)
287 // •• ••••••• ••• • ••••• •• STEP 7 •••• • ••• • • • ••• •••• • • II

209 // .atchortve- >SetStote((-,tchDrtvt->gttStott( ).x, resuttA11erogt• .1r•1_ tn-+l_ 1n+51. ;_1n,-.citchDt-tvt->9ttStatt(). theto} ); II
289 TurnToAn1l• (8••ngleCh<1nge Error); // Turn towords ftnat stoclt of dtscs
WISCO TOURNEY
290 setRolltr{l27); // Prepore Lift ta cotltct discs
210 -..tchDrlve- >utSUU ( {• tchOrhe• >1etSt1te () • x, N!SU l U.verage . x• 1_111 ♦ l_in+12. S_ ln, utchDri ve- >getStlte () • theu}) ; / /
/lloveD1stance p9,30,true); // Orivt towards Rolltr
NORSE TOURNEY
"'
293 II • • •• • COUECT DISCS • •• • • II
II • • ••• CLAD! RIGHT ROLLER ••••• II 294 TurnToAngle (•94•angleChangeError); // Turn tO#Ords goal
TurnToAngle(0-angleCha ngeError,48); // Rl!!-adjust robot h!!!adUlg
295 endtift• true; / / Stop dtsc j ~ Tos•
214 SwingTurn(• 111ght" , -43-angleChanse Error, 80); // n,rn towards dtsc 296 hail.l\.arySkilh (3,e); // Scort dtscs
215 Htllolle r(l27); // PN!pore Hft to pk.. up
298 TurnToAngle (-60- anglechangeError, 138); II Tum towords carnt r of the f teLd
l'loveDist a nu (25,80, t r,;e) ; // Drtvt ond ptc• up dts,:
299
TurnToAnale(98- analechangeError,80); // Turn tawords rollt r
380 setShoot er(8, "velocity"); // Stop FLy,,,httL f rc. spinning
"'
220 setRoller(0); // Turn off Ltft
301
302
setRoller{0); / / Stop Uft f roM running
l'loveDistance (- 11,130); // Drive towords corner of fteld
221
222 chush.set_llOde(ez::OlSA8LE); / /Turnoff Motor Loe/II 304 TurnToAngle (-135-angl eCM11ngeError,Ue); // rum tt:MJrds tht apposite ,:omtr of tht fittd
setDrive (-48); II OM\/t tnto rollt r 305 setPiston( • Endgae" , •out• ); // Depto~ t ndgo,it
224 pros: :deby(406); // Wott for robot to reach roller
"' )
226
227
// Clot. Rtght Roller
qu1ckRoller(0,-S0);
"'
228 quickRoller ( 0, • 58);

ne // Colculott d-f.stoncl!! froa watt and stt tt os Y.


point2 resultAve rage2(0,8,0); // Create a vortabtt to store the overoge dtstan :e votues
double nua2• 20.0; // Run f or 20 Herotions
for(lnt 1•8; 1<num2; ltt){
U4 po1nt2 t e11p • flndDlsUnce (backTrackLeft.1et(),backTrackRight.1et()); // Ftn1 a s et of di.stance values
235 resultAver;,ge2 . x♦ ate.p.x/nm ; // Rttord the p0s ttton offset to the wariobLe

236 resultAver11e2.y+• t eap .y/n1a; // Record tl!t on9Lt offstt


pros:;delay(20); / / Wott for sens or 11pdote

"'
240 / / Update the X ond Theta 1/0lue based on dtstonce fro. the lo/lJll
aatchDr i ve• >set St a te( { resultAverage2. x • t_in♦2. S_ in,mtchDri ve- >getSta~e ( ) . y, (9 3♦resultAverage2. y) •1_deg});
t 1nc l ude "ma i n.h"
83 setOrlve(-Se):
1•-------------------···---------------------------·--------------------------- 84 pros::daloy(509);
85 qu1ckRoller(9,·60); / / Run Roller Claia function
4 I I I U I _I U // 86
I I II I I __ _ I f_! /_ _ __ I f_
87 II -•-•• SCORE DISCS - - •-- II
I I/ I/ I/ / '_ \ I _ I _ I/ / '_ I/_/ 88 1'10VeOisUnce(4, 120,hlse); // DM.ve away /f'OII roUer
I II I / / / / / II IU//1//f_ 89 TurnTOAAale(•78,120); // Turn towords goot
\I \I /_/_/ /_/ LI I_IL/_/ LILI 98 setRoller(-127);
91 pros :: delly(298);
10 Created on 8/14/2812
92 )
11 Last Updated on 2/16/2822
93
12
13 15 second Autonomous

15 5 Disks I 2 Rollers
16 45 points

18 Best used with a partner who does not have an autonomous


19
-----------------------------------------------------------------------------•1
21
22 void AWPalt(){
targetPower::1000 ; // Prepare flywheel to score
24 pros: : Task de li verySetup(set ShooterAs yn c); // Disp l ay information to the Brain

26 II ----- INITIALIZE AUTONOMOUS ----- II


27 matchDrive->setState( {35_ in, 9. S_in}); // Declare robot's position
28
29 II ----- CLAIM BOTTOM ROLLER ----- II
30 setDrive( - 40,0); // Drive into roller
31 pros: :delay(l00); // wait for robot to reach roller
32 q uickRoller(-50,0); // Run Roller Claim function
33
34 II ----- SCORE PRELOAOS ----- II
MoveDistance(12,120,false); // Drive away from roller
Tu rnToAngle(45,120); // Turn away from roller
MoveDista nce(B.5,120); // Drive to a scoring position

TurnToAngl e( - 20. S+firs t Goallurn, 120); // Turn towards the goal


40 targetPower=-497; // Prepare flywheel to score
41 hailMarySkills(2,0); // score preloads
42 setRoller(-127);
43 pros: :delay(100);
44 setShooter(488, "velocity");
45
46 II ---·· PICK UP DISCS ----- II
47 TurnToAngl e(S4, 120); // Turn towards stack of discs
48 chassis . wait_drive(); // Ensure drivetrain has settled
49
50 setRoller(0); // Prepare lift to pick af discs
pros: : Task settinglift (setl ift );
52 chassis.set_p i d_constants(&chassis.headingPID, 11, 0, 65, 0);
Sl
54 chassis.set_d rive_pid(26.S, 50,false); // Drive into discs
55 chassis.wait_d r ive();

57 chassis.set_pid_constants(&chassis . headi ngPIO, 11, 0, 20, 0);


58
II ----- SCORE DISCS ----- II
60 TurnToAngle(-32,120); // Turn towards goal
61 endlift•true;
62 pros: :delay(600);
63 ha ilMa ry(J , 0); // 5cor~ discs
64 setShooter(530, "velocit y");
65 set Roller(0);

67 II ----- PICK UP DISCS ----- II


68 TurnToAngl e(43, 120); // Turn towards row of discs
69 setRoller( 127);
70
71 / / Make the drivetrain sett le quicker
72 chassis.set_p i d_constants(&chassis.headingPID, 11, 0, S, 0);
73 Moveoist ance(78, 120,false); // Move through discs
74 chassis.set_p i d_constants(&chassis.headingPID, 11, 0, 20, 0);
75 setDri ve(-50);
76 pros: :delay{200);

78 II -- - - - CLAIM TOP ROLLER ----- II


79 TurnToAngl e( -90, 120); // Turn towards roller
setRoller(0); II Stop lift
.1. t 1nclude "'main . h'" ~inc l ude "main. h"
2 1•----------------------------------------------------------------------------- I"·-·-···-----------------·-- .... ----------------------· .. --- ---.. -----------------
• II /_I /_I /1// I_/ L _/ I _I I\ I I
5
6
1
//
//
//_
/U/
/_<
/UI
// //
////
/Lil
/ 1//
,. - ,
//1 /
/(_
I_I
_)/
I I
I I
I I
I I I I
I I I I
/L//
/ .. ,
I II I

I /I I
8 ,__ / /_/ /_/ L/ \._/ 8 /_I /_/ /_I uu
9 Long Side I BottOt'II Roller I Disc Path : Normal Stack 9 Short Side J Top Roller J Disc Path : Normal Row
10
11 Created on 9l25l2fJ22 11 Created on 9125/2022
12 Last Updated on 9l29l2922 12 Last Updated on 2ll6l2022
13
14 15 second Autonomous 14 15 second Autonomous
15 15
7 Dtslrs I 2 RoLt.ers 16 7 Disks I 2 Rollers
17 65 poi.nts 17 65 points
18 18
19 Best used with a partner who has a strong RIGHT SIDE Autonomous 19 Best used with partner who hos a strong Short side autonomous
20 20
_____ ................................................................................................................................. - .... •1 21 _______________________________ .. __________ ___________ ____ .. ____________ _____ .. _.I

23 voi d o_LBDN (){ 23 void a_5TON() {


I I • • • • • INITIALIZE AUTONOWJUS • • • • • I I 24 II ----- INITIALIZE AUTONOMOUS ----- II
25 setShooter (498, "veloc ity "); targetpower:510; II Prepare flywheel to score
26 pros: : Ta s lc deliverySetup (setShoote rAs ync ),; II Display i.nformation to the Brain 26 pros : :Task deliverySetup(set ShooterAsync); II Display information to the Brain
27
II ••••• Cl.AIM BOTTOH ROLLER ••••• II 28 II ····- CLAIM TOP ROLLER -·-·· II
29 setOrive(- 40, 0 ); II Drive into roLL.er 29 MoveDistance( - 17,130,false); II Drive towards Roller
30 pros: : delay (100); II Jwait for robot to reach roLL.er 30 TurnToAngle (90); II Turn towards roller
31 quickRoller ( .. 50, 0); II Run RoLL.er Claim function MoveDistance( -6,130,false); II Drive into roller
32 32
33 II ••••• SCORE DISCS ••••• II 33 chassi s.set_mode(ez: :DISABLE);
34 SwingTurn (" Right", - 3S, 130); II Turn away from roLL.er 34 setDrive(-50); II Set a base speed to ensure contact with roller
35 pros: : Ta sk pickUpTolerance2a ( setLift ); II Prevent disc jamming through a Task pros: :delay( 100); II Wait for Speed to register on robot
36 MoveOistance (3.S, 138,false); II Drive towards autonomous Line disc
37 quickRoller(0 ,-20); II Run a command that spins the Lift for a short time
38 HoveDistance ( .. 2 , 130, fal se); II Drive away from autonomous line 38
39 TurnToAngle (S2,130); II Turn ta a scoring position 39 II ••••• COLLECT OISC ----- II
40 HoveOistance (18, 130, false ); II Drive towards scoring position 40 MoveDistance( 4,130,fa l se); II Drive away from goo(
41 set Roller(l27); II Prepare lift to pick up disc
42 endLift•tru e; 42 TurnToAngle( 145,190); II Turn towards autonomous line disc
TurnToAngle ( .. 17+firstGoal Turn, 110); I I Turn towards goal 43
haill1ary (3, 200 ); II Score preLoods 44 liftingEnabled,,,true;
45 MoveDistance( 10,130 ,false); II Drive into disc
II ••••• PICK UP DISCS ••••• II
47 setShooter( 490, '" velocity "); 47 II ••••• SCORE DISCS ···-· II
48 TurnToAngle ( 54, 120); II Turn towards stack of discs 48 MoveDistance(- 7.5,130,false); II Drive away from autonomus line
pros: : Ta sk settingLift (setLift ); II Run a task that prevents Jamming 49 TurnToAngle (97. S+firstGoalTurn, 90); I I Turn towards goal
50 TurnToAngle(97. S+firstGoalTurn, 90); II Turn towards goal
51 chassts. set_pid_constants (&chassts. headingPID , 11, 0 , 65, 0); 51 ha ilMarySkills(3 , 0); II Run a command that scores the row of discs
52 52
setRoller (8 ); II Prepare Lift to ptck of discs 53 liftingEnabledcfalse;
S4 chassis. set_drive_pid (32, 100 , false ); II Drive into dbcs 54 set Roller(0);
chassis . wait_until (8 ); 55
S6 chassis. set_max_speed ( 25); 56 II ----- COLLECT OISCS ----- II
57 chassis. wait_drive (); 57 targetPower• 456; II Prepare flywheel to score
58 58 liftingEnabled ,.true;
59 chassis. set_pid_constants (&chassis. headingPID , 11, 0 , 20 , 0 ); TurnToAngle( 42, 110); II Turn towards row of discs
60 60 setRoller(127); II Prepare Intake to pick up discs
61 II ••••• SCORE DISCS ••••• II
TurnToAngle ( - 35, 120 ); II Turn towards goal 62 MoveDistance(61,80,false); /I Drive into row of discs
63 endlift=tru e; II End Of.SC JaMtng Task 6J Mov~Distancl!( - 17,130, hls~); II Driv~ into row of discs
64 pros: : delay ( 200); II Woit for disc to settle in robot 64 TurnToAngle( 121); II Turn towards goal
ha11Mary5kills (3, 0 ); II Score discs 6S liftingEnabled•false;
66
67 II ··-·· PICK UP DISC ••••• II 67 II pros: :delay(2fJ0);
68 setShooter (476, "veloc ity"); 68 hailHary(3, 0); II Run a command that scores the row of discs
69 MoveO1stance (12); 69 targetpower• 450; II Prepare flywheel to score
70
II ••••• SCORE DISC ••••• II 71 MoveDis.tance( 8);
HoveOistance( -3); 72 MoveDistance( -3);
pros: : delay ( 1500);
74 hailMary (l, 8 ); II Score discs 74 pros: :delay( 1000);
75 75
II Ramp Flywheel as high as possible to start Drtver control kt'lth Speed 76 hailHory( l,0);
setShooter (1008 , '" ve l oc ity"); 77 )
setRoller (0 );
79 }

81 voi d a_L8DN_FIELD_l (){


I/ taroetPower•SBfJ: // Preaa,..e TL.vwheel to sco,..e
t 1nclude ".ain.h" t 1nclude ".ain. h·
1•-----------------------------·----------------------------------------------- 1••-----------· -·-------------· ----·-----· --· -------------------------·--------
I_ I
I U /______ _
U I II I U I_/ ff Ill ff u
I I ! / ____ _ ff - __ ff ____ fff __ _ I I
6 f _ </ ·_;_· I/·- I I /VI fl_ . I I '_ \ r. f f I_ I/ '_ I/_/ '_I _ I/ / /I_ \ '_/ ff ff '_II_\
, , _ , , , , , _j
1 IUfffUfffff ff 1 / U f f f f f 1 I f_f U I I I I U I I U I I I _; I
B /__ff_/ L,_f_f_f U U UL,_/_U U L_L./U ULU L./U_/ L_U , _ _ ,_,_, /_fl_/

10 Creoted on S/28/2822 10 Creottd on 9138/2812


11 Lost Updotf'd on B/JB/2922 11 Lost updotftl on l8/15/2822

13 Prtnt tnfotWation on the Bratn Scref'n 13 Prints tnforwutton too gt11Pn cont rollPr LtnP
14 The tnforwutioo ts chonn through the aoi11.cpp tntt10Lt1:atton fum;tioo 14 Worlts os the foce of tht controller aLr,ortttm; 011Ly printing olld not storing
lS Inforaation printftl includes . .
16 • Posttton
17 • l'IOtor Tl'lllpf'roture
18 • Etteoder VoLues 18 // --------- ---- - - - - DISPLAY SET -----·------ --- -- II
19 • Of'bug Jnforwation 19 // Worts as a Of'bug array for tht Controlle r
20 // When tf'sttng o SPf'dftc •chonts•, infor.otton is ploced in this arroy to bt ,rtnte d to tht'! scrttn
21 ---------- ----------··--------····----·--·--------·--------------------------•1 21 i nt displayset[15J • { • le, -10, •10,-10,• 18,·10};

"
23 II •• ···-·· BRAIN OISPI.AY POSITION--······· ····-·- // "23 II ------··---- ---- PRI/lfT ROW--·-------------- II
24 II OhpLoy on tire Brain scru m tire current e 11coder 110Lues and Oclo«f'try posit ion 24 // Prints t t'!xt oo a gillf'n row ond ot o gillf'n start point
2S I/ Prtnt the f'IICodt r \IOLUf'S on 2-4 L1MS 2S void prl ntR-(int row, i nt s t artPolnt, std: :s tring s tr){
26 // Print tht Odoeetry position on linf's S-1 controllrr. set _text(l1neC,0, • "); // Re Sf't t~f' SCrf'M
27 11oid brdnDlsphyPos(){ pros: :dehy(58); II watt for screPn to update
pros::lcd::initialize(); //inttioLhe Broin scf'f'tn so kif' con Sf'f' info Loter 28 controU , r.spt_t,xt(row,stilrtPoint, str);
while(true){ // Loop tnfinitty ,, )
,.29
poi nt2 r-esul t • findDistance (b;ickTrilckleft.get(),b;ickTrilckRight . get( )); " ROW-···-··-····-····
"
32 printR-( e, to_ string(.at chDrille• >getState () . y. con11ert (inch))+" , " +to_ string ( rn ult. x});
31
32
II • · ········ ··-·· · PRI/lfT
// Print tf'Xt on a row starting at thf' far left
II

lliltchDrille• >se tStilte ( (NtchOri11e - >getSt;it e ( ) . x, result . x• t_in+l_in, utchOri 11e • >getSt ;ite ( ) . thet.)); void printR-(int row, std: :st ring s t r){
,. 33

35 int index- std: :floor(ilut oSwitch. getVillue(})-1;


pr os: led :print(0,"515R Revision");// PMnt Title on Une l
" )

" pros: :print(l, "Auto JD: Sf",std::floor(;iut oSwitch.getVdlH!'())); II Print •iddle f'ncodf'r 11aLuf' on Ltnf' 2 37 II • ··-·· · · ····· · ··· PRINT ROW CENTER • · ··· ··· - ····· -·· I/
pros :print(2, "Auto:

.."
Is " ,1utono.ousl1tln [index]); // Print l f'ft f'f'ICode r 110Luf' on Linf' 3 38 /I Print U.rl tn the •iddtt of the Co11trollf'r Ltnf'
pr os :led :print(3,"Right: Xf",shoot erfttr.get_11elodty()); // Print right rncodr r 11olur on Lfoe 4 39 void printRowCf'f'lt f'!r(i nt row, std ;:string str){
pr os :led :print(4, "XPosition(in): Xf", result.x); // Print X posttton on Ltne s 40 i nt 1idT,xt• str.lPn11th()/2; II Find •tddLe of tert
pr os :led :print(S, "YPodtion (in): 11:f" , r-esult.y); II Print Y posftion on linf' 15 int 5tilrtPoint-9•• idTtxt; /I F{nd placP to put ttxt
pr os :lcd::pr1nt(l5, "Angle: Xf", 1NtchDrive->getSt1te(),the til); II Print the to on line 7 printRCM(row, stilrtPoint , s tr);
pros :deli1y(20); II watt for thf' scret'!n to updatf'
" )

..
., )
) II•-·-··-··-· -··- - - PRI/lfT SCREEN -·-··-··· ···-- ·-- II
46 II Gtvf'n tnforwatton of au thref' rows, print to thf' ""'olf' ControLLtr screen
void printScrttn(std::string 5tr[3]){
"
48 II ---------- -- ----- IIRAlN OISPI.AY POSITION -- -------·-····- II 48 for(int 1• 0 ; 1<3; i H )
49 /I DispLoy on thf: 8rotn screen the current e ncoder 11otues ond Oclo«f'try position 49 pri ntRCM(i, str[i]);
se II Prtnt the e11coder 110Luf's on t ines 2· 4 50 )
51 // Prtnt the Och»f'try position on Linf'S 5•1
S2 110ld br•inDhphyGrid(){
pros::lcd::initialh.e(); //tnittottze 8rotn screen s o kif' con S f'f' tnfa Loter
S4 whilf'(t rue){ // loop tnftnttty
OdOll'Oebug displily(l v_scr_ilct(), LV_COLOR_"'-'VY);
56 dhplily. setOiltil( {u tchOri11e- >1etSt;ite() . x, 11i1tchDri11e- >1etStilte () . y, utchOrlve- >getSt ilte() . thet il},
{r ollerfttr,get_;ictual_velocity() , rRot. get(), allot.get()});// Qlkltts used _for stott (x,y, thf'to)
57 pros :delily(20); /I hl:l'it for the screen to update
5B )

"
60
)

61
62 II ------- - ------ - -- BRAlN OI5PI.AY TEHP - ------------ - --- II
63 II Prtnt the Lt ft front dri11e tf'llpf'roture on line 2
64 / / Prtnt the right front drl11e tl'llpf'roture on Line 3
6S II Prtnt the rtght bocl drtllf' t~roture on Line 4
66 / / Print the Left bacl dM11f' tNpf'roture on ttne S
67 void brlinDlsphyTe.p(){
68 pros: : l ed: :initialize(); /lintttottie Brain SCf'f'tn so kif' con ste tnfo Lottr
69 whUe(t r ue){ // Loop inftnitLy
70 pros::lcd ::pr 1nt(0,"51SR Re 11ision"); II Print Title on line l
pros: :lcd::print(l,"lf: lf", l eftFrontl"ltr.get_tNper ilt ure ()); II Prtnt thf' Lf'ft front drillf' tnperoture on Ltne 2
pr os::lcd ::pri nt(l, "rf: ll:f" , rightfronun:r.get_t e.per1tur e ()); /I Print the right front drille tNpf'roture on
line 3
pros:: l cd : :pr1nt(3,- rb : lf" ,r1ght8ilckNtr.gt t_tNperature ()); fl Prtnt tht r t ght bod drt11t ttllj:)f'roture on Ltne 4
74 pros : :lcd::print(4,"lb: Xf",lf'ft8ilckMtr.g,t_t u,per ;it ure ()); / / Print tY le~ boclt drillt'! tf'IIPl'!roturf' on Line 5
75 // pros::Lcd::print(s, · deL : xr,sfloott rHtr. gt'!t_tN()f'roture()); II Print the Left bocl1 drive tNpf'rot ure on Une s
pro~ :d,hy(20); // watt for th, scref'n to updatP
)
,. )

..
"'

You might also like