From 9e09fc63dd9ba9b484994d0502e7f63186c0c7b9 Mon Sep 17 00:00:00 2001 From: Toby Nguyen Date: Sat, 29 Jun 2024 08:43:24 -0500 Subject: [PATCH] Added new content for all of Designing-a-Robot section. Actually fixed the favicon issue lol. --- docs/_assets/images/IR_sensors.png | Bin 0 -> 22744 bytes docs/_assets/images/chassis_rotation.png | Bin 0 -> 8221 bytes docs/_assets/images/line_and_color.png | Bin 0 -> 7346 bytes docs/_assets/images/wheel_placement.png | Bin 0 -> 3075 bytes docs/_includes/head.html | 16 -------- .../designing-a-robot/3d-modeling.md | 36 +++++++++++++++++- .../designing-a-robot/constructing-chassis.md | 34 ++++++++++++++++- .../designing-a-robot/drive-system.md | 25 +++++++++++- .../sensor-and-actuator-placement.md | 25 +++++------- 9 files changed, 101 insertions(+), 35 deletions(-) create mode 100644 docs/_assets/images/IR_sensors.png create mode 100644 docs/_assets/images/chassis_rotation.png create mode 100644 docs/_assets/images/line_and_color.png create mode 100644 docs/_assets/images/wheel_placement.png delete mode 100644 docs/_includes/head.html diff --git a/docs/_assets/images/IR_sensors.png b/docs/_assets/images/IR_sensors.png new file mode 100644 index 0000000000000000000000000000000000000000..cf7119d0996b33cb79ad376f11cc3edd6b0896cb GIT binary patch literal 22744 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 literal 0 HcmV?d00001 diff --git a/docs/_assets/images/chassis_rotation.png b/docs/_assets/images/chassis_rotation.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4bc34b74817767353f71086d8a7aa222357abd GIT binary patch literal 8221 zcmbVxbyQp3vv$w|#kGZEEn2Klq{Ur}OK}Q?;?Uw2q_{(I4-Q3A+~F-wk)R10iUtT$ zB)Hu4z4!j}t?#$ix4x`(Cg<#xJ+o)BXP$ZXiPq9kA|jwA0000)D$4RY004#~`o0Pe z7cD^xT|Ve940jzRSwQW?vt9H9wyli13;e0+Y6l|sbSU?t;J|zNEj?Wj z7+c_exSZAYTC72g4(#pS`A{G@GLhFJ<_@`ov?1VawON*U0D!bYgY*Ll+MBN-hFAb; z!r=cbNhz9LS2cRB#$C^7D}}~N;i$-4sfQ~FiWa~W z)fY)JW8&JS5Omqc=s{2+{EHU~5kDoAxY|q+l$5O11popE2M2dnyjM%T;l7dgw+Jbu zo|by5S#^Qm9_JSS?V)$i3?~4Pg2?wzfctC^p>CRB=Eda&fyQ^Za|%WS*JUCExb*FNN3oul!(tY+c z#T_v*RVWvU_J#V_ODK7jr2l#KHP5(M^e6_vR6dihV_%?sJKNE2AqF|yk55}~PeykW#16G;=(XM|OI$6&y0`H| z#jkgYzc(=0=o?#~89O?10k>ZlOmVtvDny|!x-TSziZe%khCbTe%CIQQaqTuL57tRm zEwzK>OOOT=$SG<9?~oQ3QK;?loH;x)!YwWyh~!Q6p6ks?Mo+cwc7ATvkh}!KNB=`QYGyp$^{e$>r(oJyWC*>p{SQb5c0HJ5z4IF&Hmu zb66Rb+2kRN2>{@g?_2RmS7Qv5Jj>a`EtUa9;gcfwa4kszR@i&0sIRZ^0Q?v=lm9(} zX^sd|Q@ z)u6X^45=ePI`FsAdyzlY82@d^iU)EuL{ZGux_j9TXYJt1crDs==AagJV+L@w#E8vs@%@q2d0>l2+ zjSyifv|&J$(0`J{>&tEKXR8nQA}5&ALMP`-u8*LRKWv(3$MkkYsvnUsl>FU5-}S4| zA*7OGMLdxwW*3bE9?lv)G~{`>sb2d+VMyRkZ7 z0%_^!b`Lv_pqz+D;*O-lv3%XiGcz;3H2m^_@5v%?pBFzgE;Ig3cOXh1ID4h512KMi zjzuCa4emP6*1%WFCi>PScGQ_7dHIuMPfv@Wzu_L%b5CWz4q99^ZhyGHSu>(Z{#y}> z6D3t?ECT8@@DT+Mx9qIs_zsSaGn^pGDBHV!3e8C_aA%QjZyP!Tc61A_DV1;~;KNj0sunJz=SEiz56 zRD$}G7<3z|kuR=-E=oZjF9G4qHQ6B1HH&_DzdP2J65B%ipWeraYH`vAUUFMVeyIi8 z%GvKwl4)=tii?(>zEp|9H!ScZrC`z>B2j*U>H9XnXgm9pDm@IT@G)Db%CX|3JQ!1p zg~gP$aM7{0EyAUJmu)V~XHNfprN*_@1P4JKFD75ltpE`rVFf35&uQM#WV7?qPHo4b zPH&gjfw8E^PEw3324I^;z;TC2WEphr9C*9ISk-!V(enUY?D7`@u06H@Re`(P?PeBb zt7HH9{hLWhNN6g8i0*G~5}jNB$awR_8Qy7xB4Cv8(<{dWtS3bMz(b*{lRV?yj*{p1 z0d)FmSlsQs|C?2N-u%IakZ&)P5+-lp7n0Y@2+4BY`sBJyi`#XY-QDs6DCb-lRiNEr z4iq`2{78hPt1#i+d!jiHn=@K>>GL(gCXb}L@Uok1xfUZ!N`Jauh7T@Dk~sD%K^t_d zAarHgn{_e(o7Z$AtpX^q>hf73QV-(5>zM+mCUlZ z-Kn=~yI2|or8nfWt7)I1Vr)x#;h9-kMfcRyA9yyO&!WuY1-~~R3%r}{6t&4S3AgETQ}qoJ1}+y_4bTPWNs%Irp39XNC1CZe$8hbO z?auhs#8fzz^ebndb4^iNYE19EdVEL5epC65C zxwRHtOg1`|1=deU0GZUYCbX%&yW%evm(>QBha6U(gFN31ICw>y$@=5{i@90wDA0)l$_XB z+C%xLv)6)ibcG4$u7}Ooe!kxn*_SwgH61nEIR}kP&!RD=UP~GY;Yp&&y9vHd8cpUZ%wesw4%#Z$~r(b>g=kmGvZ(%d{+&`;4`HE8QgKyp0n8I!U6g@R^zZmcAf6U`df^q8LO)QSle6{;!aMCofr?SfBcN zlN~@69=AdAo#I}hEOYo`%9N4`%Ji7ORx@Co!eb*|WZO*gPYB6QF`$BBQ!EAz_+25M zy*>2}c2AP8NQkNUj@jJF0TLNOo zC?3}V=3;IK3PFBr7Mmm%QIU_frC3qb;T2c|k&%&eFsbqJaZ#L90w3rWyMsh>dU*gd zmj)>Zz5bffBb?u%)K_~X7WW|ztQ8vAJkulL84jKRp}!CfsKfn#k;!jA{|2aQZX`l5 zwTRI!3Ow9j^z6=7>iQ7@v{e5NWD-*apJ4p2w&cG6eHCmN`ZXy!6aXlFWJUBG3ql)w z!vE0k=MXH+ZK60TK8j15Ilc7aRdamef^ZpZ0&Ai#y^A@B2r)@*0VjZ1w2{_D*h)xg z2_Lrf$vT%=Nu8ol;#M;t$Ix=z$~+u5xy%%8k3l;-@cq-lUuGV&73@mh z8h;)a`QdcD>}6`oIkfV91}c;jwM=-+uMc`#J;p7NiBO=xzG!oTjaKZ9 zENfkFWwbc4x^PoVvm3A4`$Vqz@9{=AIYuU!g#S3b^pi;7U$lDGQSB^EcZpAHmjc|H zr@|Q8Dl05Bc&ML90R}P;30vTC?BsvK>SdZ!%*><96?C3Jq9UOD_&DFwYk^M8a5oAe z)0&{`Q`?9y0c(m4ygsthG8cMw`vu^~>N=scyo?S&70)W(GbUFnN6o!!yus;-R7){j5GVLv}S-U8=<4Vpo6|{Zh1=`E?7(S2mRGE04d@pg zXy>}xFI>@rsQ&1LtcP!gVQqN_4xZOnsByKKgWbE>hTw_Qwb4W_^jiVSW{s!tU-nS` zeQEVp6k;cvdBQe?XH9@#(~*G&s(!fSjzu(G+2|a`Znw!qXS4V!>DsG37RM`ihF+Lx znwKX({~$6V^~e1r=~|h30IvpPGh3AbNO1co?_rz8X_Wj3X0mUoSqzmUth@CFSd=sl`q^@rjTi4;#7_up~ApDt7 zXcUv%F0HxTD|Vj(?mfDSkXZlq5_3o_IP_SLizu3(mYJdf-@f}wVOXP?Yw{|~K1;{|83>W2Y zn2}!YGIF>w*)Ug>EOg?|7hYCVdLDUoF!6kw`c+Rz1GZ@_eNVQTRBu>(qH{}Sce=wC z>Okpf$Wt{gN>@a}lix9w9nW3}b>W8#zL;y4ahP0ts!z86%a-^4qb-Iw(wAUq<~JL4 zUB?RPknh5kO0q1qM=g6etPano)4l5GlV%rL*_t!2fwIo@90xf*q#`5!U^r_OL}6TM zy&VMj_SjIC5KH5>Io%j4c-%f!$uA`Be_69Uu}fU`=rhN_*LnGxminxbVIr6O1%7Lp zf$2A0Tb+*s;&k?LL~88UmW}vuMfeO-rq@XQN3YAn^?mg;+xolJNkY2zhRxq$PvnU` zg81b>2Xc4V#V*CfS|iFb#@83b{vi&Hn~yRaA{cNdK8Abd>1E1cXim;E7i?8!U?1`E zm3F~tJ&J~FAZbeNkFRhLJUT~U-x>mYz-Ot)q!cRug7Gwh|8MFP>ajRR?SBg&usg2?IULT zweHNOi)RJ}adgv9if}uqM%KkyMj5vH~oIYcuFM#0AoC)j!6_(uQ<`LjV8&Jy4>jgSG{F5u)`b+FeYRt7Lse~Hp1FyH9*ky zsm^0pryT_~L7$L-D5a}q%r_}cM|nHm-K9s&qZ_Zv^+iDNG#aRU$smh||B!3aoi+iq z{Lm0aj&5ojt}PU!mVGwj_e2075Aqe>ESi1GJi$M#nPsyMFnBTZ78goB zaQZE9J72-VBju?l0ckz!bd}+ zInS7sMLyn{E*imDZ-O`I zD}giicB;tcV1qiB^V1>9HxFlYpq=DGwA=GVqLHuLVOHJaIdhQ{J9vha1Tx^StJNFh zwy8ErURm?Fl#Lc%3n5WH`NbjS@8aEF?Mst+b&3xDuxKhU@^ae9gSY>#l#5tdf*IVr zfu##%Ag}lHbrthg|J5&Wn58XzFrVqG?z-Z6!r;@LgdmHunZc*_L@dzyUWmU? z5kXeYQgjtunbtT)WTbhLY`gxv5Ra9Xej;yrAN*->*kunCNUNnDZLf+diEB+>2*7)5 z&Y1G-T=?nOyzX}U&DR`v9_Lh#b=jwjD+;sC%^CwHy32%h3CU+5HXuE#@vXgLisCBl z(@nb@j|*u$l9);}e~*^4aHEgB&tZSdzYcbB+_jQY(wt+o=@Qq^mJ;naj9mG#aW9rFi1-5&vu{EyV(8VYTYel>n{LY=v1Z zi_d+bZ*=BU5NqW<^Ik;WaMmD=%c`;l{mXOPf5Qk70c80~!qr$8*x_uQFl|p=m<1}w z@xFqX6MEbw29&Y1NlOVvyjA-;Aj(8t?xHBVt#|ZUY$|boLSBu~^lM_vbf47+sN7k9 zmxOFD?&P}yF@adKDI-FSUpRo$F~mE)Y0#q+tUvwgVVNaX!U)G+Q480&;Z zw%nZdsVX`~9@o$TJm)EBWNRMt{ppq;gUqI{B2Ugj$-#;JHi3P2aNO!PKf)$V`cF?7 z5BJhHZJb|h7fo-E-~G=TFlT@n>^Pp4Oqs_GmLaZnNXj1cP``wo@Wod zvmKIslvNOICW+c#&hiwR>R2H2X$TlwHIEAzZF3igSS9g5_dYdfEB<^w41dF?c=UOe z;7AJG>3Or?lIuG|3-R4@=ILsCy4aK06~=3GpYB6crInz|$-Vj0=*nq-alFj(LySJ@ z3wvr&{`6pR6-nbupIXw5?;q}v2KlD_94O5PiR}P%ID!<<8%V)$e%S>jXP7(>UlPR@ z$K{ml&vBbkw)kX42JP{XhtBD*4WnEpg53V@PJ=E&@vRKi`tarH8Q&AHde#byY4#iY z+<_GjM>m9bHnLEtf=PL}pKJWxAp%I7#&iQ~aI)CTz2B9xs6~(|2Lt^N!wbTTEh8v4 zdNdAiVAl33m#5sg%yJj?1Mh_D&JVl=KoQ6~Shl{QrInp<&lPv2IlO9sFJi3%={{4r zAv#(`{pDMkVNCp>;@~sy&!3|R#N0UURq#w z-<(7e-*J%igd!d25XxXiHQhz?_w&t=s{_lUx5}?GO(Al7{+1idZTSl|4E8`#$bf|; z9A(#=hxDb!4;=NW!#dcu^7wE$!$Nw5y-#HTGCTO_rSj zFu>6tq`LEY1ykNi)b;IW>ES*Z8TMRY|Hrt01B4?ibVAZYB+dGBT*CfSJ->o{wl_+# zJfdGc)UOXClkdm4_d&U5mnHKkfJLu$F(JXdqul%DMWg@~Za*ymU?r{m=mh`}tcv+> zKZWj(Je|suWcYs?%GqpN1^c*I59`^eBk{h6W0vJgxM*~63Y#RfW3J1B3~5|%4?O;f zWMyS?sulsbzhl;&@GD!P94ca670d@^<5MF!LjNh&(wG`UrBMLf!)EjTNd(m=k?;{J zvHe2-;yZr4QS8r!pt}J&a{eC7^?|EcqHb_#y)3DpSOM}u+=9Vq_ujMPZN)u#D3Iq) zzu*p4k|uRmS`g-P7D(T?%`V1E?v)a~#| z&WglWXQ_0NZ#cq+aRHtD${MX}eZk{{;s zDo{4=G!`c6m)6XMbl$k)T9w$bO?ao*7-l}_EUG7;h_j%t9BKPRRlV9%I)}%6wi^p= zavU02*A^ZHuY=0hP?2|T3qM>FXer!3sT8_6(}}V8wQDFkNpYEyw{^eD_qDes(3kj0 zUSTKO%hbL5IE_OyQp52Hl(`bV!##@{3}}zhQ5Sj{bYhp;>bon9kHLX^f-->$c1mIp zw^-gERJ}fI7b`Xs4qWn%Hn+fb>}5Y5<^eC}(NgO1E?DIW>E=;y;j9Zi$(*63Roof6 zE=kGp>?+es|NLEBg0)DH)%(qtFMv;K3HClzZBB1;Og)viLnb_a#d%6D!C*g(yG2!! zi@WWr7xumSsuIW+ta#ud_ngW*azY~xHu2%wB6(x>M0Ydg-#;cSMOfcy!&v<1T^=dg zm(k`iB#&_Nln7umkVyZ;*6gF3?Imnj`~2lx^RDV)IySp+CGmaKi#eKjf||3^-}*!N z=b{qBgf7t&C1UhN{3{>k8zbP(0x5GlW2xCEGnrmmny>93eylKlNDZ{%Q$oXpcc5;( zaf8zWB5G#e7*zk|K%KgeI^JGBtt))tM^Y1yzv3ImjxTYm=i?~My;y~JpP*R8=**>g z1pvh)tpx}aVQ;i=pqXH>L*LWAJ$f0OmvsL!#^9tvfAs6Mm-zq7AOF*d>3<&A6PJG= ZQ4p2wPyhP17p)7RqM#vPEBoQ=e*ulf4O{>K literal 0 HcmV?d00001 diff --git a/docs/_assets/images/line_and_color.png b/docs/_assets/images/line_and_color.png new file mode 100644 index 0000000000000000000000000000000000000000..d1cd342af93cbe8604ac4feec62835e0138f0484 GIT binary patch literal 7346 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 JMNf?b{tXHOvWx%# literal 0 HcmV?d00001 diff --git a/docs/_assets/images/wheel_placement.png b/docs/_assets/images/wheel_placement.png new file mode 100644 index 0000000000000000000000000000000000000000..a852c2ab60736a55af21530f796cbf1f6dad7b52 GIT binary patch literal 3075 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 HeG~oxs@?j% literal 0 HcmV?d00001 diff --git a/docs/_includes/head.html b/docs/_includes/head.html deleted file mode 100644 index 67b6a817..00000000 --- a/docs/_includes/head.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - {{ page.title | default: site.title }} - - - {% if site.color_scheme == 'custom-light' %} - - {% else %} - - - {% endif %} - - diff --git a/docs/_sections/_guide-primaries/designing-a-robot/3d-modeling.md b/docs/_sections/_guide-primaries/designing-a-robot/3d-modeling.md index 377f5b41..7396d551 100644 --- a/docs/_sections/_guide-primaries/designing-a-robot/3d-modeling.md +++ b/docs/_sections/_guide-primaries/designing-a-robot/3d-modeling.md @@ -4,4 +4,38 @@ title: 3D Modeling nav_include: true parent: Designing a Robot nav_order: 3 ---- \ No newline at end of file +--- +# 3D Modeling +### Solidworks Tutorial 1.1 - Outline & Interface + +In this tutorial, you will be learning about how to navigate the Solidworks interface while also getting first hand exposure to many of its features! + + + +### Solidworks Tutorial 1.2 - Sketching & Smart Dimensioning + +In this tutorial, you will be learning about working with the Sketching and Smart Dimension tools! This is your first exposure to 2D design features within Solidworks! + + + + +### Solidworks Tutorial 1.3 - Linear Extrusions & Linear Cuts + +In this tutorial, you will be learning about working with Linear Extrusions and Linear Cuts! This is your first exposure to 3D linear design features within Solidworks! + + + +### Solidworks Tutorial 1.4 - Revolving Extrusions & Revolving Cuts + +In this tutorial, you will be learning about working with Revolving Extrusions and Cuts! This is your first exposure to 3D linear design features within Solidworks! + + +### Solidworks Tutorial 1.5 - Assemblies & Mates + +In this tutorial, you will be learning about working with Assemblies while also using Mates to combine the parts you have designed! This is a departure from your work in part files as you will now being working within assembly files. + + +### Solidworks Tutorial 1.6 - Mechanical & Robot Chassis Design + +In this final tutorial, you will learn more about the basic principles of mechanical design when it comes to robots. We will be using Robotathon as an example of typical chassis design! + diff --git a/docs/_sections/_guide-primaries/designing-a-robot/constructing-chassis.md b/docs/_sections/_guide-primaries/designing-a-robot/constructing-chassis.md index 102f3bdb..d2dd962e 100644 --- a/docs/_sections/_guide-primaries/designing-a-robot/constructing-chassis.md +++ b/docs/_sections/_guide-primaries/designing-a-robot/constructing-chassis.md @@ -4,4 +4,36 @@ title: Chassis Construction nav_include: true parent: Designing a Robot nav_order: 4 ---- \ No newline at end of file +--- + +# Chassis Construction + +Now that you have some idea of your drive system layout, let’s look at how to build a base for your bot. While you can use a Poptart box to house everything (yes, it’s been done), we highly encourage you to use one of following methods. + +## Subtractive Manufacturing (SM) +SM, like laser cutting or mills/lathes, removes material from a product to achieve an end result. The laser cutters in the Makerspace can cut things like wood or acrylic sheets. + +**Pros of laser cutting:** Fast process, best for larger items, can engrave + +**Cons of laser cutting:** Must pay for material, must be trained at TIW + +## Additive Manufacturing (AM) +AM, such as 3D printing, adds layers of materials to create an object. The CraftBots in the Makerspace use PLA or PETG (plastic) filaments. + +**Pros of 3D printing:** Free, best for small 3D parts, no certification required + +**Cons of 3D printing:** Slow process (also prone to more error), main CraftBots are limited to 1 ft3 + +Tolerances for 3D printers: +- 0.0175” for a loose fit +- 0.01” for a friction fit + +You can create your chassis out of a single part or attach many parts together. If you decide to do many parts, adhesives like hot glue, wood glue, and (of course) duct tape work great. + +## Extra Tips +- Don’t forget to add holes or section dividers for wheels, wires, sensors, etc. +- Make sure to design your chassis to accomodate your breadboard and wires! +- If you’re a visual person, create an assembly in Solidworks of your robot base before constructing! Find part files online or create rough estimate shapes and see how everything fits together. +- When fastening things like sensors or casters, temporarily secure with foam tape then use other adhesives once you’re 100% certain! +- Motor mounting bracket step file for 3D printing: [https://www.pololu.com/product/3435/resources](https://www.pololu.com/product/3435/resources) + diff --git a/docs/_sections/_guide-primaries/designing-a-robot/drive-system.md b/docs/_sections/_guide-primaries/designing-a-robot/drive-system.md index 7c023f3c..479abb0f 100644 --- a/docs/_sections/_guide-primaries/designing-a-robot/drive-system.md +++ b/docs/_sections/_guide-primaries/designing-a-robot/drive-system.md @@ -4,4 +4,27 @@ title: Drive System nav_include: true parent: Designing a Robot nav_order: 2 ---- \ No newline at end of file +--- + +# Drive System +We’ve provided the following components to your parts kit: +(((list provided components))) + +Remember, you have an external budget that you can use to buy more servos and casters if you wish. Additionally, you have access to the TIW makerspace 3D printers and laser cutters (free training required) to design and print your own wheels and hubs. + +Now let’s look at the drive system. In this article, we’ll be looking specifically at two wheeled drive. With two wheels, you’re pretty limited in how you can drive. Typically, a robot with two wheels has the wheels on the sides, like below. The red regions are where you can put the wheel axles. + +4 :( + +Can you think of any ways that having two wheels may affect the balance of your robot? What if the wheels were in the front and the back side had a heavy battery on it? Additionally, another thing your team should consider is: how will the robot move with your wheel configuration? Will it drive in straight lines? Rotate? How can you error correct for tilting? + +As you can see, the wheel positions will immensely affect the design of your mechanical systems and software algorithms. Your decisions are very important since reliable movement is a key factor in the competition courses. + +After you’ve decided upon your wheels placement, how you drive your wheels (software) can also result in different movements. See the below two diagrams and observe their center of movement (the white circle). You can drive both sides at once, or a single side. You can drive them in opposite directions, and you can drive them at different rates. There are so many options! + + +4 :( + + + +Remember, you aren’t limited to any configuration. In fact, we recommend you try them all out! diff --git a/docs/_sections/_guide-primaries/designing-a-robot/sensor-and-actuator-placement.md b/docs/_sections/_guide-primaries/designing-a-robot/sensor-and-actuator-placement.md index 46206ef0..b93fb092 100644 --- a/docs/_sections/_guide-primaries/designing-a-robot/sensor-and-actuator-placement.md +++ b/docs/_sections/_guide-primaries/designing-a-robot/sensor-and-actuator-placement.md @@ -6,21 +6,20 @@ parent: Designing a Robot nav_order: 1 --- - -# lowk what if i just dont do pictures and let them figure it out # Sensor and Actuator Placement -During the design process you will need to carefully plan your sensor and actuator placement as it will drastically shape your robot! This section will give a brief overview of some things to consider during this part of the design process. +You will need to carefully plan your sensor and actuator placement as it will drastically shape your robot! This section will give a brief overview of some things to consider during this part of the design process. ## Infrared (IR) Distance Sensor -The distance sensor will be used during the wall following portion of the competition. The location of the distance sensors *will* affect your chassis design and code so it is important to decide on a good location! Also remember that you should include multiple IR sensors in your design. +The distance sensor will be used during the wall following portion of the competition. The location of the distance sensors *will* affect your chassis design and code, so it is important to decide on a good location! Also remember that you will have multiple IR sensors in your design. {: .highlight} -Remember that the (insert sensor model here) has a specific range (link to datasheet) that produces good output, so place your IR sensors accordingly! +Remember that the GP2Y0A21YK0F IR sensors have a specific range [(link to datasheet)](https://www.pololu.com/file/0J85/gp2y0a21yk0f.pdf) that produces good output, so make sure your placement does not break your wall following! {: .callout-toby} Below are some different ideas of placement: -pictures +IR_sensors.png :( + ## Line Sensor and Color Sensor These two sensors will have similar placement! The line sensor and color sensor will be used to to detect what is right underneath the robot so these two will be placed on the bottom of your robot. Make sure your sensors are very close to the ground in order for them to function properly! @@ -29,16 +28,10 @@ However, a common issue with the color sensor is that there is not enough neutra Since your sensors need to be very close to the ground you should consider how you will be building the chassis of your robot and how you will attach these sensors. Your wheels will add some height to your chassis so you might have to add some form of support to the bottom in order to hold your sensors close to the ground. -Below are some diagrams and pictures to help you visualize this: -pictures - -## Actuators -"Actuators" is just a fancy name for motors or anything that enables movement for your robot. You will need at least two of these with a castor ball to have a moving base. While you have full creative reign on where to put your actuators to achieve motion and solve the mechanical challenge, it will be important to consider where to place your wheel actuators since they will affect how your robot drives and most importantly turns. +Illustrated below is a sample configuration: +line_and_color.png :( -4 :( - -1 :( - -2 :( +## Actuators +"Actuators" is just a fancy name for motors or anything that enables movement for your robot. You will need at least two of these with a castor ball to have a moving base. While you have full creative reign on where to put your actuators to achieve motion and solve the mechanical challenge, it will be important to consider where to place your wheel actuators since they will affect how your robot drives and, (arguably) most importantly, turns.