├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── add-information.md │ ├── incorrect-information.md │ └── technical-issue.md └── workflows │ ├── CI.yml │ └── link-check.yml ├── .gitignore ├── .readthedocs.yaml ├── .vscode └── tasks.json ├── LICENSE ├── Makefile ├── README.md ├── make.bat ├── poetry.lock ├── pyproject.toml ├── scripts ├── check-for-unicode-characters.sh ├── check-unicode-characters.sh └── rtd-compress-pdf.sh └── source ├── _extensions └── default_image_settings.py ├── _static ├── assets │ ├── gm0-logo.ico │ ├── gm0-logo.png │ └── gm0-logo_white.png ├── calculator-utils.js ├── custom.css └── videos │ └── common-mechanisms │ └── transfers │ ├── 6165-flip.mp4 │ └── 7236-flip.mp4 ├── conf.py ├── docs ├── appendix │ ├── gallery.rst │ ├── images │ │ └── glossary │ │ │ ├── anderson-powerpole.png │ │ │ ├── banebot-gearbox.png │ │ │ ├── bare-neverest-classic.jpg │ │ │ ├── basic-bot-guide-direct-drive.png │ │ │ ├── blue-stealth-wheel.png │ │ │ ├── box-tube.png │ │ │ ├── darksoul.png │ │ │ ├── expansion-hub.png │ │ │ ├── high-strength-hex-hub.png │ │ │ ├── htd-belt.png │ │ │ ├── jst-vh.png │ │ │ ├── nexus-mecanum.png │ │ │ ├── pocketing.png │ │ │ ├── polyurethane-tubing.png │ │ │ ├── servo.jpg │ │ │ ├── thick-spacer.png │ │ │ ├── thin-spacer.png │ │ │ ├── tilerunner.png │ │ │ ├── v-groove-bearing.png │ │ │ ├── versaplanetary.png │ │ │ └── xt30.png │ ├── index.rst │ ├── license.rst │ ├── vendor-guide.rst │ └── vendor-list.rst ├── awards │ ├── award-types.rst │ ├── index.rst │ ├── judging-presentation.rst │ ├── notebook.rst │ └── portfolio.rst ├── being-a-team │ ├── collaboration-and-efficiency.rst │ ├── how-to-ask-effective-questions.rst │ ├── images │ │ └── collaboration-and-efficiency │ │ │ └── intake_competitive_prototyping.png │ ├── index.rst │ ├── outreach-basics.rst │ ├── pitching-your-team.rst │ ├── starting-a-team.rst │ └── team-organization.rst ├── common-mechanisms │ ├── active-intake │ │ ├── images │ │ │ ├── 3d-printed-intake │ │ │ │ ├── 731-3dp-intake.png │ │ │ │ └── 8417-3dp-intake.png │ │ │ ├── compliant-wheel-2-inch.png │ │ │ ├── compliant-wheel-4-inch.png │ │ │ ├── compliant-wheel-intake │ │ │ │ ├── 11115-intake.png │ │ │ │ ├── 2856-intake.png │ │ │ │ ├── 8680-intake.png │ │ │ │ └── 9971-intake.png │ │ │ ├── foam-wheel-intake │ │ │ │ └── 6299-intake.png │ │ │ ├── frc694-ball-intake.png │ │ │ ├── rubber-band-intake │ │ │ │ └── vrc-intake.png │ │ │ ├── surgical-tubing.png │ │ │ └── tubing-intake │ │ │ │ ├── 11115-intake.png │ │ │ │ ├── 7203-intake.png │ │ │ │ ├── 8375-intake.png │ │ │ │ └── 8393-intake.png │ │ ├── index.rst │ │ ├── principles-of-an-intake.rst │ │ └── types-of-intakes.rst │ ├── arms.rst │ ├── dead-wheels.rst │ ├── design-tradeoffs.rst │ ├── drivetrains │ │ ├── drivetrain-gallery.rst │ │ ├── holonomic.rst │ │ ├── images │ │ │ ├── holonomic │ │ │ │ ├── 5040-xdrive.png │ │ │ │ ├── 731-mecanum.png │ │ │ │ ├── 731-xdrive.png │ │ │ │ ├── 8103-mecanum.png │ │ │ │ ├── 9804-hdrive.jpg │ │ │ │ └── gobilda-mecanum-direction.png │ │ │ ├── rev-omni-wheel.png │ │ │ └── tank │ │ │ │ ├── 10641-4wd-table.png │ │ │ │ ├── 10641-4wd-void.png │ │ │ │ ├── 13075-8wd-render.png │ │ │ │ ├── 13075-8wd.png │ │ │ │ ├── 3736-modified-4wd.png │ │ │ │ ├── 3846-8wd.jpg │ │ │ │ ├── 5795-6wd.png │ │ │ │ ├── 5975-tread.png │ │ │ │ ├── 7209-4wd.jpg │ │ │ │ ├── 7236-6wd.png │ │ │ │ ├── ethan-6wd.jpg │ │ │ │ ├── tetrix-pushbot.jpg │ │ │ │ └── tilerunner-6wd.jpg │ │ ├── index.rst │ │ └── tank.rst │ ├── images │ │ ├── linkages │ │ │ ├── 11115-dr4b.jpg │ │ │ ├── 7236-linkage-slides.png │ │ │ ├── 7244-v4b.jpg │ │ │ ├── 8644-vdr4b.png │ │ │ └── goBILDA-four-bar.png │ │ ├── multi-axis-arm │ │ │ ├── 15692-multi-axis-arm.png │ │ │ ├── 20700-snap.png │ │ │ └── 8148-multi-axis-arm.png │ │ ├── odometry │ │ │ ├── 11115-cover.jpg │ │ │ ├── 14310.jpg │ │ │ ├── 14320-pivot-half.jpg │ │ │ ├── 14320-pivot.jpg │ │ │ ├── 14320.png │ │ │ ├── 14481.png │ │ │ ├── 18172-vertical-odo.jpg │ │ │ ├── 3658.png │ │ │ ├── 7236-cad-exploded.png │ │ │ ├── 7236.jpg │ │ │ ├── 8802.jpg │ │ │ ├── e8t.jpg │ │ │ ├── openodo-bom.png │ │ │ ├── openodo-sectionview.png │ │ │ ├── s4t.jpg │ │ │ ├── spring-tensioned-pod.png │ │ │ ├── srx-mag.jpg │ │ │ └── through-bore.png │ │ ├── passive-intake-claw │ │ │ ├── 11115-relic-claw.png │ │ │ ├── 13075-glyph-claw.png │ │ │ └── 8680-relic-claw.png │ │ └── single-arm │ │ │ ├── 8103-single-arm.png │ │ │ └── 8417-single-arm.png │ ├── index.rst │ ├── linear-motion-guide │ │ ├── custom.rst │ │ ├── drawer-slides.rst │ │ ├── extrusion-slides.rst │ │ ├── images │ │ │ ├── cable-management │ │ │ │ ├── 10030-coil-cord-1.png │ │ │ │ ├── 10030-coil-cord-2.png │ │ │ │ ├── 248-badge-retractor-1.jpg │ │ │ │ ├── 248-badge-retractor-2.jpg │ │ │ │ └── 7236-cable-carrier.png │ │ │ ├── custom │ │ │ │ ├── 13075-8020-hang.png │ │ │ │ ├── 5975-carbon-fiber.png │ │ │ │ ├── 7172-fishing-pole-extension-cad.png │ │ │ │ ├── 7172-fishing-pole-extension.png │ │ │ │ └── 7236-box-tube.png │ │ │ ├── drawer-slides │ │ │ │ ├── 12791-slides-facing-each-other.png │ │ │ │ ├── 5143-Sar-2.png │ │ │ │ ├── 6929-sar3.png │ │ │ │ ├── 7236-sar3.png │ │ │ │ └── misumi-slides-inserts.png │ │ │ ├── extrusion-slides │ │ │ │ ├── 11115-slider.png │ │ │ │ ├── 11115-slides.png │ │ │ │ ├── 12599-slides.jpg │ │ │ │ ├── 4997-slides.png │ │ │ │ └── 8680-slides.jpg │ │ │ ├── lead-screws │ │ │ │ ├── 11115-hang.png │ │ │ │ └── lead-screw.png │ │ │ ├── linear-bearing-slides │ │ │ │ ├── 11115-slides.png │ │ │ │ ├── 5975-carbon-fiber.png │ │ │ │ ├── 8221-slides.png │ │ │ │ ├── 8417-slides.png │ │ │ │ ├── 8813-slides.png │ │ │ │ ├── gb-slides.jpg │ │ │ │ └── mgn-slides.png │ │ │ ├── rack-and-pinion │ │ │ │ └── tetrix-rack-and-pinion.png │ │ │ ├── rigging │ │ │ │ ├── 11190-continuous-belt.jpg │ │ │ │ ├── 5064-cascading-belt-diagram.jpg │ │ │ │ ├── 5064-cascading-belt.png │ │ │ │ ├── 7236-belt-driven-elevator.jpg │ │ │ │ ├── 7236-continuous-belt.png │ │ │ │ ├── 7236-elevator-rigging.png │ │ │ │ ├── cascade-extension.png │ │ │ │ ├── cascade-retraction.png │ │ │ │ ├── continuous-extension.png │ │ │ │ └── continuous-retraction.png │ │ │ └── tensioners │ │ │ │ ├── 13075-slides.png │ │ │ │ └── 13075-string-tensioner.png │ │ ├── index.rst │ │ ├── lead-screws.rst │ │ ├── linear-bearing-slides.rst │ │ ├── rack-and-pinion.rst │ │ └── rigging.rst │ ├── linkages.rst │ ├── passive-intake-claw.rst │ ├── power-transmission │ │ ├── belt-calculator.html │ │ ├── belt.rst │ │ ├── chain.rst │ │ ├── direct-drive.rst │ │ ├── gears.rst │ │ ├── images │ │ │ ├── belt │ │ │ │ ├── 5975-dt.png │ │ │ │ ├── 8103-dt.png │ │ │ │ ├── 8417-dt.png │ │ │ │ ├── belt-and-pulley.png │ │ │ │ ├── belt-wrap-1.png │ │ │ │ ├── belt-wrap-2.png │ │ │ │ ├── belt-wrap-3.png │ │ │ │ └── ethan-dt.png │ │ │ ├── chain │ │ │ │ ├── 724-dt.png │ │ │ │ ├── 7244-chain.png │ │ │ │ ├── 8103-dt.png │ │ │ │ ├── 9794-intake.png │ │ │ │ ├── chain-wrap-1.png │ │ │ │ ├── chain-wrap-2.png │ │ │ │ ├── chain-wrap-3.png │ │ │ │ ├── master-link.png │ │ │ │ └── rev-sprocket-20-tooth.png │ │ │ ├── direct-drive │ │ │ │ ├── inside-supported-direct-drive.png │ │ │ │ ├── outside-supported-direct-drive.jpg │ │ │ │ └── unsupported-direct-drive.jpg │ │ │ ├── gears │ │ │ │ ├── 11115-gear-dt.png │ │ │ │ ├── 13075-gear-dt.png │ │ │ │ ├── correct-gear-mesh.jpg │ │ │ │ └── rev-aluminum-gear-56-tooth.png │ │ │ ├── sanford-cantilever.png │ │ │ └── shaft-retention │ │ │ │ ├── clamping-shaft-collar.png │ │ │ │ ├── set-screw-shaft-collar.png │ │ │ │ └── shaft-with-eclip.jpg │ │ ├── index.rst │ │ ├── motion-mounting.rst │ │ ├── power-transmission-glossary.rst │ │ └── shaft-retention.rst │ ├── transfers │ │ ├── images │ │ │ ├── 11115-conveyor.png │ │ │ ├── 16461-transferless.png │ │ │ ├── 6165-flip.png │ │ │ ├── 6929-grate.png │ │ │ ├── 7236-flip.png │ │ │ ├── 7244-roller.jpg │ │ │ └── 8644-conveyor.png │ │ ├── index.rst │ │ ├── transfer-design.rst │ │ └── transfer-types.rst │ └── turrets │ │ ├── full-turret.rst │ │ ├── images │ │ ├── 12518-turret.png │ │ ├── 16379-turret.jpg │ │ ├── 18219-bearing-stack.png │ │ ├── 18219-turret.jpg │ │ └── 19818-turret.jpg │ │ ├── index.rst │ │ └── mini-turret.rst ├── contributing │ ├── contributors.rst │ ├── images │ │ └── copperforge-logo.png │ ├── index.rst │ ├── methods-of-contributing.rst │ └── style-guide.rst ├── custom-manufacturing │ ├── 3d-printing.rst │ ├── images │ │ ├── 3d-printing │ │ │ ├── 2-piece-gearbox.jpg │ │ │ ├── assembled-multipart.jpg │ │ │ └── printing-multipart.jpg │ │ ├── laser-cutting │ │ │ └── taper-example.png │ │ ├── machining │ │ │ ├── 731-rr2.png │ │ │ ├── 8393-rr1.jpg │ │ │ └── 8680-rr2.jpg │ │ ├── materials-guide │ │ │ ├── abs-banner.jpg │ │ │ ├── acetal-banner.jpg │ │ │ ├── aluminum-banner.jpg │ │ │ ├── hdpe-banner.jpg │ │ │ └── polycarbonate-banner.jpg │ │ └── standoffs.png │ ├── index.rst │ ├── laser-cutting.rst │ ├── machining.rst │ ├── manufacturing-glossary.rst │ └── materials-guide.rst ├── design-skills │ ├── cad-tutorials.rst │ ├── cad.rst │ ├── design-glossary.rst │ ├── design-strategy.rst │ ├── engineering-design-process.rst │ ├── images │ │ ├── cad-tutorial │ │ │ ├── custom-pulley-template │ │ │ │ ├── circular-pattern.png │ │ │ │ ├── complete-pulley.png │ │ │ │ ├── dimensioned-pulley.png │ │ │ │ ├── equations-view.png │ │ │ │ ├── pulley-profile.png │ │ │ │ └── sketch-to-copy.png │ │ │ ├── drivetrain-in-an-hour │ │ │ │ ├── drive-pod.jpg │ │ │ │ ├── dt-inner-plate-technical-drawing.jpg │ │ │ │ ├── dt-inner-plate-ui-chrome.jpg │ │ │ │ ├── dt-inner-plate-with-parts-to-remove-selected.jpg │ │ │ │ ├── dt-inner-plate.jpg │ │ │ │ ├── dt-outer-plate.jpg │ │ │ │ └── dt-render.png │ │ │ └── pocketing-guide │ │ │ │ ├── arm-pivot-mount.png │ │ │ │ ├── fea-on-plate.png │ │ │ │ ├── outer-mechanism-plate-drill-pocketing.png │ │ │ │ ├── outer-mechanism-plate-surface-pocketing.png │ │ │ │ ├── outer-mechanism-plate-tangent-circles.png │ │ │ │ ├── outer-mechanism-plate1.png │ │ │ │ ├── outer-mechanism-plate2.png │ │ │ │ └── outer-mechanism-plate3.png │ │ └── colson.png │ └── index.rst ├── hardware-components │ ├── fastener-guide.rst │ ├── images │ │ ├── button-head.jpeg │ │ ├── countersunk-head.jpg │ │ ├── grub-screw.jpg │ │ ├── hex-head.jpg │ │ ├── hex-nut.jpg │ │ ├── loctite.png │ │ ├── nyloc-nut.jpg │ │ ├── socket-head.jpg │ │ ├── square-nut.jpg │ │ ├── t-slot-nut.jpg │ │ ├── tap-and-die.jpeg │ │ ├── thread-diagram.png │ │ ├── types-of-drives.png │ │ └── wing-nut.jpg │ ├── index.rst │ ├── kit-and-hardware-guide │ │ ├── actobotics.rst │ │ ├── custom.rst │ │ ├── gobilda.rst │ │ ├── images │ │ │ ├── actobotics │ │ │ │ ├── 10030-servoblock-usage.png │ │ │ │ ├── 3736-bevel-gear-usage.png │ │ │ │ ├── 8644-rr1.jpg │ │ │ │ ├── 9794-rr2.png │ │ │ │ ├── 9971-rr2.jpg │ │ │ │ ├── actobotics-dual-ball-bearing-hub.png │ │ │ │ ├── clamping-hub.png │ │ │ │ ├── lead-screw.png │ │ │ │ └── servoblock.png │ │ │ ├── glossary │ │ │ │ ├── churro.png │ │ │ │ ├── clamp-mounting.png │ │ │ │ ├── face-mounting.png │ │ │ │ ├── hex-bore.png │ │ │ │ ├── rev-bushing.png │ │ │ │ ├── rev-pillow-block.png │ │ │ │ ├── set-screw.png │ │ │ │ └── shaft-collar.png │ │ │ ├── gobilda │ │ │ │ ├── 7182-rr2-field.jpg │ │ │ │ ├── 7182-rr2-hanging.png │ │ │ │ ├── gobilda_channel.jpg │ │ │ │ ├── gobilda_low_channel.jpg │ │ │ │ └── gobilda_mini_channel.jpg │ │ │ ├── rev-robotics │ │ │ │ ├── 11115-rr1.png │ │ │ │ ├── 6299-vv.png │ │ │ │ ├── 7161-rr1.png │ │ │ │ ├── 9889-rr2.png │ │ │ │ ├── extrusion.png │ │ │ │ ├── misumi-extrusion.png │ │ │ │ ├── punch-tubing.png │ │ │ │ └── rev-extrusion.png │ │ │ └── tetrix │ │ │ │ ├── 6022-vv.jpg │ │ │ │ └── tetrix-channel.png │ │ ├── index.rst │ │ ├── kit-glossary.rst │ │ ├── rev-robotics.rst │ │ └── tetrix.rst │ ├── tips-and-tricks.rst │ └── tools-list.rst ├── know-your-lingo.rst ├── mission-statement.rst ├── power-and-electronics │ ├── connectors-and-wires.rst │ ├── control-system.rst │ ├── driver-station-guide.rst │ ├── images │ │ ├── control-system │ │ │ ├── ch-wiring-diagram.png │ │ │ ├── exh-wiring-diagram.jpg │ │ │ └── mr-wiring-diagram.png │ │ ├── glossary │ │ │ ├── grounding-strap.png │ │ │ ├── otg-cable.png │ │ │ └── usb-retention-mount.png │ │ ├── tips-and-tricks │ │ │ └── xt30-to-powerpole-adapter.jpg │ │ └── wiring │ │ │ ├── 3736-electronics-on-plastic.png │ │ │ ├── 7244-wiring.png │ │ │ ├── 731-wiring-1.png │ │ │ ├── 731-wiring-2.png │ │ │ ├── 8417-wiring.png │ │ │ ├── bad-wiring.png │ │ │ ├── dupont-connector.png │ │ │ ├── jst-sensor-connectors.png │ │ │ ├── jst-vh-connector.png │ │ │ ├── powerpole-connector.png │ │ │ ├── tamiya-connector.png │ │ │ └── xt30-connector.png │ ├── index.rst │ ├── motor-guide │ │ ├── choosing-motor.rst │ │ ├── gearbox-anatomy.rst │ │ ├── images │ │ │ ├── glossary │ │ │ │ ├── core-hex.png │ │ │ │ ├── hd-hex-motor.png │ │ │ │ ├── rs-550-series-motor.png │ │ │ │ ├── ultrahex.png │ │ │ │ └── yellow-jacket.png │ │ │ ├── motor-hardware │ │ │ │ ├── planetary-gearbox.png │ │ │ │ └── spur-gearbox.jpg │ │ │ └── motor-power │ │ │ │ ├── hd-hex-motor-curve-12V.png │ │ │ │ ├── matrix-motor-curve-12V.png │ │ │ │ ├── neverest-motor-curve-12V.png │ │ │ │ └── torquenado-motor-curve-12V.png │ │ ├── index.rst │ │ ├── motor-glossary.rst │ │ ├── motor-power.rst │ │ └── wiring-mounting-motors.rst │ ├── sensor-glossary.rst │ ├── servo-guide │ │ ├── choosing-servo.rst │ │ ├── images │ │ │ ├── compact_servo_block.png │ │ │ ├── glossary │ │ │ │ └── servo-power-module.png │ │ │ ├── hs488.jpg │ │ │ ├── linkage.jpg │ │ │ └── servoblock.jpg │ │ ├── index.rst │ │ └── usage-tips.rst │ ├── tips-and-tricks.rst │ └── wiring.rst ├── software │ ├── adv-control-system │ │ ├── control-system-internals.rst │ │ ├── images │ │ │ ├── control-system-internals │ │ │ │ ├── android-board.jpg │ │ │ │ ├── control-hub-internals.jpg │ │ │ │ └── lynx-board.jpg │ │ │ ├── sdk-motors │ │ │ │ └── quadrature_wave.png │ │ │ └── sdk-servos │ │ │ │ └── pwm-wave.png │ │ ├── index.rst │ │ ├── lynx-module.rst │ │ ├── sdk-communication.rst │ │ ├── sdk-motors.rst │ │ ├── sdk-sensors.rst │ │ └── sdk-servos.rst │ ├── concepts │ │ ├── control-loops.rst │ │ ├── finite-state-machines.rst │ │ ├── images │ │ │ ├── control-loops │ │ │ │ └── trapezoidal-motion-profiling-graph.png │ │ │ └── odometry │ │ │ │ ├── coordinate-frame.png │ │ │ │ └── offsets-and-trackwidth.png │ │ ├── index.rst │ │ ├── kinematics.rst │ │ └── odometry.rst │ ├── getting-started │ │ ├── common-hardware-components.rst │ │ ├── common-issues.rst │ │ ├── fundamental-concepts.rst │ │ ├── images │ │ │ └── using-android-studio │ │ │ │ ├── adb-screenshot.png │ │ │ │ ├── as-layout.png │ │ │ │ ├── build-and-run.png │ │ │ │ ├── build-gradle.png │ │ │ │ ├── check-for-updates.png │ │ │ │ ├── clone-github-desktop.png │ │ │ │ ├── code-project-structure.png │ │ │ │ ├── download-zip.png │ │ │ │ ├── gradle-build.png │ │ │ │ ├── infinite-recursion.png │ │ │ │ ├── logcat-window.png │ │ │ │ ├── new-java-class.png │ │ │ │ ├── open-with-gh-desktop.png │ │ │ │ ├── opening-as.png │ │ │ │ ├── save-to-computer.png │ │ │ │ ├── sdk-manager-icon.png │ │ │ │ ├── select-project-view.png │ │ │ │ ├── select-the-sdk.png │ │ │ │ └── terminal-logcat-location.png │ │ ├── index.rst │ │ ├── linear-opmode-vs-opmode.rst │ │ ├── options-for-programming.rst │ │ └── using-android-studio.rst │ ├── images │ │ ├── control-system-internals │ │ │ ├── control-hub-internals.jpg │ │ │ └── lynx-board.jpg │ │ ├── gamepad │ │ │ ├── logitech-f310.png │ │ │ ├── ps4.png │ │ │ ├── rising-falling-edge.png │ │ │ └── xbox-360.png │ │ ├── mecanum-drive │ │ │ ├── mecanum-drive-blocks-sample-1.png │ │ │ ├── mecanum-drive-blocks-sample-2.png │ │ │ ├── mecanum-drive-blocks-sample-3.png │ │ │ ├── mecanum-drive-blocks-sample-4.png │ │ │ ├── mecanum-drive-blocks-sample-5.png │ │ │ ├── mecanum-drive-blocks-sample-complete.png │ │ │ ├── mecanum-drive-directions.png │ │ │ ├── mecanum-drive-force-diagram.png │ │ │ └── mecanum-worms-eye-view.png │ │ └── using-android-studio │ │ │ ├── as-layout.png │ │ │ ├── build-and-run.png │ │ │ ├── build-gradle.png │ │ │ ├── check-for-updates.png │ │ │ ├── clone-github-desktop.png │ │ │ ├── code-project-structure.png │ │ │ ├── download-zip.png │ │ │ ├── gradle-build.png │ │ │ ├── infinite-recursion.png │ │ │ ├── logcat-window.png │ │ │ ├── new-java-class.png │ │ │ ├── open-with-gh-desktop.png │ │ │ ├── opening-as.png │ │ │ ├── save-to-computer.png │ │ │ ├── sdk-manager-icon.png │ │ │ ├── select-project-view.png │ │ │ ├── select-the-sdk.png │ │ │ └── terminal-logcat-location.png │ ├── index.rst │ ├── software-glossary.rst │ └── tutorials │ │ ├── block-code │ │ ├── arm-opmode.blk │ │ ├── encoder-opmode.blk │ │ ├── mecanum-drive-sample.blk │ │ └── spool-encoder-opmode.blk │ │ ├── bulk-reads.rst │ │ ├── encoders.rst │ │ ├── gamepad.rst │ │ ├── images │ │ ├── control-loops │ │ │ └── trapezoidal-motion-profiling-graph.png │ │ ├── encoders │ │ │ ├── arm-opmode-1.png │ │ │ ├── arm-opmode-2.png │ │ │ ├── arm-opmode-3.png │ │ │ ├── arm-opmode-complete.png │ │ │ ├── encoder-opmode-1.png │ │ │ ├── encoder-opmode-2.png │ │ │ ├── encoder-opmode-3.png │ │ │ ├── encoder-opmode-4.png │ │ │ ├── encoder-opmode-5.png │ │ │ ├── encoder-opmode-complete.png │ │ │ ├── spool-encoder-opmode-1.png │ │ │ └── spool-encoder-opmode-complete.png │ │ ├── gamepad │ │ │ ├── logitech-f310.png │ │ │ ├── ps4.png │ │ │ ├── rising-falling-edge.png │ │ │ └── xbox-360.png │ │ ├── mecanum-drive │ │ │ ├── mecanum-drive-blocks-sample-1.png │ │ │ ├── mecanum-drive-blocks-sample-2.png │ │ │ ├── mecanum-drive-blocks-sample-3.png │ │ │ ├── mecanum-drive-blocks-sample-4.png │ │ │ ├── mecanum-drive-blocks-sample-5.png │ │ │ ├── mecanum-drive-blocks-sample-complete.png │ │ │ ├── mecanum-drive-directions.png │ │ │ ├── mecanum-drive-force-diagram.png │ │ │ └── mecanum-worms-eye-view.png │ │ └── odometry │ │ │ ├── coordinate-frame.png │ │ │ └── offsets-and-trackwidth.png │ │ ├── index.rst │ │ ├── mecanum-drive.rst │ │ ├── using-telemetry.rst │ │ └── vision.rst ├── start-here.rst └── useful-resources.rst ├── index.rst ├── redirects.txt └── requirements.txt /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/devcontainers/python:3.10-bullseye 2 | RUN apt-get update && apt install -y graphviz -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "dockerfile": "Dockerfile" 4 | }, 5 | "forwardPorts": [ 6 | 8000 7 | ], 8 | // Use 'postCreateCommand' to run commands after the container is created. 9 | "postCreateCommand": "pip3 install --user -r source/requirements.txt", 10 | "customizations": { 11 | "vscode": { 12 | "extensions": [ 13 | "ms-python.python", 14 | "lextudio.restructuredtext", 15 | "trond-snekvik.simple-rst" 16 | ], 17 | "settings": { 18 | "editor.wordWrap": "on", 19 | "editor.tabSize": 3, 20 | "restructuredtext.linter.extraArgs": [ 21 | "--ignore D001,WUMBO007,WUMBO008" 22 | ] 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/add-information.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Add Information 3 | about: Suggest new information that should be added 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What information should be added?** 11 | Provide an explanation of what information is missing 12 | 13 | **Does it need it's own page? (Yes/No):** Yes 14 | 15 | **If it needs a page, which section should it be in? If it doesn't, which page should it be under?** 16 | Explain where it should be, preferably with a link. 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/incorrect-information.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Incorrect Information 3 | about: Report incorrect or misleading information 4 | title: '' 5 | labels: mistake 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Where is there misleading or incorrect information?** 11 | Explain where it is, preferably including a link. 12 | 13 | **What's wrong?** 14 | Explain what exactly is incorrect, and ideally what it could potentially be replaced with. 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/technical-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Technical Issue 3 | about: Report incorrect formatting, rendering, or any other issue not directly related to the content. 4 | title: '' 5 | labels: mistake 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What's broken?** 11 | Provide an explanation of what's broken 12 | 13 | **Recreation steps:** 14 | 15 | 1. Explain what you need to do to see the issue 16 | 2. Whether it's as simple as looking at a given page, or requires a very specific setup, explain the steps here. 17 | 18 | **Screenshots** 19 | Add screenshots if applicable. 20 | -------------------------------------------------------------------------------- /.github/workflows/link-check.yml: -------------------------------------------------------------------------------- 1 | name: Link Check 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 4 * * *' 7 | 8 | jobs: 9 | check-links: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | - uses: actions/setup-python@v4 14 | with: 15 | python-version: "3.11" 16 | - name: Install Dependencies 17 | run: pip install -r source/requirements.txt 18 | - name: Check Links 19 | run: make linkcheck 20 | - name: Archive Linkcheck Failure 21 | if: ${{ failure() }} 22 | uses: actions/upload-artifact@v3 23 | with: 24 | name: linkcheck-output.txt 25 | path: build/linkcheck/output.txt 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | pyvenv.cfg 2 | source/_extensions/__pycache__/ 3 | 4 | # Adapted from https://www.toptal.com/developers/gitignore/api/python 5 | # Environments 6 | .env/ 7 | .venv/ 8 | env/ 9 | venv/ 10 | ENV/ 11 | env.bak/ 12 | venv.bak/ 13 | pythonenv* 14 | 15 | # Distribution / packaging 16 | build/ 17 | .dist/ 18 | 19 | # operating system-related files 20 | # file properties cache/storage on macOS 21 | *.DS_Store 22 | # thumbnail cache on Windows 23 | Thumbs.db 24 | 25 | # vscode 26 | .vscode/* 27 | !.vscode/tasks.json 28 | *.code-workspace 29 | 30 | # IntelliJ/PyCharm 31 | .idea/ 32 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | sphinx: 4 | builder: html 5 | configuration: source/conf.py 6 | fail_on_warning: true 7 | 8 | build: 9 | os: ubuntu-22.04 10 | tools: 11 | python: "3.11" 12 | apt_packages: 13 | - graphviz 14 | - ghostscript 15 | jobs: 16 | post_build: 17 | - ./scripts/rtd-compress-pdf.sh 18 | 19 | formats: 20 | - pdf 21 | 22 | python: 23 | install: 24 | - requirements: source/requirements.txt 25 | -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Auto Build", 8 | "type": "shell", 9 | "command": "make autobuild", 10 | "group": "build" 11 | }, 12 | { 13 | "label": "Build HTML", 14 | "type": "shell", 15 | "command": "make html", 16 | "group": "build" 17 | }, 18 | { 19 | "label": "Lint", 20 | "type": "shell", 21 | "command": "make lint", 22 | "group": "test" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = source 8 | BUILDDIR = build 9 | 10 | LINTER = doc8 11 | LINTEROPTS = --ignore D001,WUMBO007,WUMBO008 12 | #D001 is linelength, WUMBO007/008 are trademark and italicization respectively 13 | 14 | WINDOWSLINTEROPTS = --ignore D001,D004,WUMBO007,WUMBO008 15 | # D004 is CRLF line endings; 16 | # git on windows often uses these but only in the working tree. 17 | 18 | AUTOBUILD = sphinx-autobuild 19 | HTMLBUILDDIR = build/html 20 | 21 | # Put it first so that "make" without argument is like "make help". 22 | help: 23 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 24 | 25 | .PHONY: help Makefile 26 | 27 | lint: 28 | @$(LINTER) $(LINTEROPTS) $(SOURCEDIR)/docs 29 | 30 | winlint: 31 | @$(LINTER) $(WINDOWSLINTEROPTS) $(SOURCEDIR)/docs 32 | 33 | .PHONY: help lint Makefile 34 | 35 | autobuild: 36 | @$(AUTOBUILD) $(SOURCEDIR) $(HTMLBUILDDIR) 37 | 38 | .PHONY: help autobuild Makefile 39 | 40 | # Catch-all target: route all unknown targets to Sphinx using the new 41 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 42 | %: Makefile 43 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Game Manual 0 2 | ============= 3 | ![Docs Badge](https://readthedocs.org/projects/game-manual-zero/badge/) ![CI Badge](https://github.com/gamemanual0/gm0/workflows/CI/badge.svg) ![Link Check](https://github.com/gamemanual0/gm0/workflows/Link%20Check/badge.svg) 4 | 5 | Welcome to Game Manual 0 (gm0)! 6 | This repository contains the source of Game Manual 0. 7 | 8 | Building Game Manual 0 9 | ====================== 10 | Game Manual 0 employs the 11 | [Sphinx documentation generator](https://www.sphinx-doc.org/en/master/), 12 | and the articles themselves are written in 13 | [reStructuredText](http://docutils.sourceforge.net/rst.html). 14 | 15 | Requirements 16 | ------------ 17 | * Python 3 18 | * TexLive 19 | * dvipng 20 | * graphviz 21 | * make 22 | 23 | Ensure the Python requirements are installed via running 24 | `python3 -m pip install -r source/requirements.txt`. 25 | 26 | Building 27 | -------- 28 | 29 | How to check if the documentation is valid: 30 | - `make lint` (note: on Windows, `make winlint` will ignore CRLF line ending errors) 31 | - `make linkcheck` 32 | 33 | How to build the different versions of the documentation: 34 | - `make html` 35 | - `make latexpdf` 36 | 37 | How to see the options for building: 38 | - `make help` 39 | 40 | How to develop the website: 41 | - Run `make autobuild` 42 | - This will set up a file watcher and build on file changes. A development server is served at `http://127.0.0.1:8000` by default. Go to your preferred browser and open that URL to view your local development version of gm0. 43 | -------------------------------------------------------------------------------- /make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | pushd %~dp0 4 | 5 | set SPHINXOPTS= 6 | set SPHINXBUILD=sphinx-build 7 | set SOURCEDIR=source 8 | set BUILDDIR=build 9 | set LINTER=doc8 10 | set LINTEROPTS=--ignore D001,WUMBO007,WUMBO008 11 | set WINDOWSLINTEROPTS=--ignore D001,D004,WUMBO007,WUMBO008 12 | set AUTOBUILD=sphinx-autobuild 13 | set HTMLBUILDDIR=build\html 14 | 15 | if "%1" == "help" goto help 16 | if "%1" == "lint" goto lint 17 | if "%1" == "winlint" goto winlint 18 | if "%1" == "autobuild" goto autobuild 19 | 20 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 21 | goto end 22 | 23 | :help 24 | @%SPHINXBUILD% -M help "%SOURCEDIR%" "%BUILDDIR%" %SPHINXOPTS% %O% 25 | goto :EOF 26 | 27 | :lint 28 | @%LINTER% %LINTEROPTS% %SOURCEDIR%/docs 29 | goto :EOF 30 | 31 | :winlint 32 | @%LINTER% %WINDOWSLINTEROPTS% %SOURCEDIR%/docs 33 | goto :EOF 34 | 35 | :autobuild 36 | @%AUTOBUILD% %SOURCEDIR% %HTMLBUILDDIR% 37 | goto :EOF 38 | 39 | :end 40 | popd 41 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "gm0" 3 | version = "9999" 4 | description = "" 5 | authors = [] 6 | 7 | [tool.poetry.dependencies] 8 | doc8 = "==1.1.1" 9 | furo = "==2024.08.06" 10 | latex = "==0.7.0" 11 | python = "^3.10" 12 | sphinx = "==8.0.2" 13 | sphinx-design = "==0.6.1" 14 | sphinx-hoverxref = "==1.4.0" 15 | sphinx-tabs = "==3.4.5" 16 | sphinxext-linkcheckdiff = "==0.1.0" 17 | sphinxext-opengraph = "==0.9.1" 18 | sphinxext-rediraffe = "==0.2.7" 19 | 20 | [tool.poetry.dev-dependencies] 21 | sphinx-autobuild = "==2024.4.16" 22 | 23 | [build-system] 24 | requires = ["poetry-core>=1.0.0"] 25 | build-backend = "poetry.core.masonry.api" 26 | -------------------------------------------------------------------------------- /scripts/check-for-unicode-characters.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ "$(find source/docs -name "*.rst" -print0 | xargs -0 grep -P '[^\x00-\x7F]')" ]; then 4 | echo "Unicode character(s) found in rst file! This may be due to copy and pasting from" 5 | echo "a word processor with smart quotes (e.g. Google Docs, Microsoft Word)." 6 | echo "" 7 | echo "If the special character is intentional (e.g. a degree sign, micro symbol)," 8 | echo "use the appropriate substititution from isonum.txt." 9 | echo "See https://docutils.sourceforge.io/docutils/parsers/rst/include/isonum.txt" 10 | echo "for a list of substitutions." 11 | echo "'.. include:: ' may need to be included at the top of the file" 12 | echo "if it is not already." 13 | echo "" 14 | echo "Location of Unicode character(s):" 15 | # print the locations of the unicode characters 16 | find source/docs -name "*.rst" -print0 | xargs -0 grep -nP '[^\x00-\x7F]' 17 | # exit throwing an error 18 | exit 1 19 | else 20 | echo "No Unicode characters in rst files found." 21 | fi 22 | -------------------------------------------------------------------------------- /scripts/check-unicode-characters.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ "$(find source/docs -name "*.rst" -print0 | xargs -0 grep -P '[^\x00-\x7F]')" ]; then 4 | echo "Unicode character(s) found in rst file! This may be due to copy and pasting from" 5 | echo "a word processor with smart quotes (e.g. Google Docs, Microsoft Word)." 6 | echo "" 7 | echo "If the special character is intentional (e.g. a degree sign, micro symbol)," 8 | echo "use the appropriate substititution from isonum.txt." 9 | echo "See https://docutils.sourceforge.io/docutils/parsers/rst/include/isonum.txt" 10 | echo "for a list of substitutions." 11 | echo "'.. include:: ' may need to be included at the top of the file" 12 | echo "if it is not already." 13 | echo "" 14 | echo "Location of Unicode character(s):" 15 | find source/docs -name "*.rst" -print0 | xargs -0 grep -nP '[^\x00-\x7F]' 16 | exit 1 17 | else 18 | echo "No Unicode characters in rst files found." 19 | fi 20 | -------------------------------------------------------------------------------- /scripts/rtd-compress-pdf.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Compresses the PDF output using ghostscript on Read the Docs. 4 | 5 | DPI=400 6 | PDF_DIR="$READTHEDOCS_OUTPUT/pdf" 7 | 8 | # only run if the PDF build is enabled 9 | # based on whether or not the PDF output directory exists 10 | if [ -d "$PDF_DIR" ]; then 11 | # find the existing PDF 12 | pdf_name=$(ls "$PDF_DIR") 13 | 14 | # Read the Docs expects only one PDF file in the output directory 15 | # see https://docs.readthedocs.io/en/stable/reference/environment-variables.html#envvar-READTHEDOCS_OUTPUT 16 | # so we move the existing PDF into a temp directory. 17 | temp=$(mktemp -d) 18 | mv "$PDF_DIR/$pdf_name" "$temp" 19 | 20 | # compress the existing PDF into a new PDF, 21 | # placed directly in the output directory 22 | gs -sDEVICE=pdfwrite \ 23 | -dCompatibilityLevel=1.4 \ 24 | -dPDFSETTINGS=/ebook \ 25 | -dNOPAUSE \ 26 | -dBATCH -dColorImageResolution="$DPI" \ 27 | -sOutputFile="$PDF_DIR/$pdf_name" "$temp/$pdf_name" 28 | fi 29 | -------------------------------------------------------------------------------- /source/_extensions/default_image_settings.py: -------------------------------------------------------------------------------- 1 | from typing import Any, Dict 2 | 3 | from docutils import nodes 4 | 5 | from sphinx.transforms.post_transforms import SphinxPostTransform 6 | from sphinx.application import Sphinx 7 | 8 | 9 | class DefaultImageSettingsTransform(SphinxPostTransform): 10 | """ 11 | Set a default image width for images which do not have a width attribute 12 | manually set. Also center images which are not centered. 13 | """ 14 | 15 | default_priority = 100 # chosen arbitrarily 16 | 17 | def run(self, **kwargs: Any) -> None: 18 | if self.app.tags.has("html"): 19 | width = self.app.config["default_image_width_html"] 20 | elif self.app.tags.has("latex"): 21 | width = self.app.config["default_image_width_latex"] 22 | else: 23 | return 24 | 25 | if not width: 26 | raise ValueError( 27 | "default_image_width_html/default_image_width_latex must be set!" 28 | ) 29 | 30 | for node in self.document.findall(nodes.image): 31 | if "width" not in node.attributes: 32 | node.attributes["width"] = width 33 | 34 | if ( 35 | self.app.config["default_image_centered"] 36 | and "align" not in node.attributes 37 | ): 38 | node.attributes["align"] = "center" 39 | 40 | 41 | def setup(app: Sphinx) -> Dict[str, Any]: 42 | app.add_config_value("default_image_width_html", None, True) 43 | app.add_config_value("default_image_width_latex", None, True) 44 | app.add_config_value("default_image_centered", False, True) 45 | app.add_post_transform(DefaultImageSettingsTransform) 46 | 47 | return { 48 | "parallel_read_safe": True, 49 | "parallel_write_safe": True, 50 | } 51 | -------------------------------------------------------------------------------- /source/_static/assets/gm0-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/_static/assets/gm0-logo.ico -------------------------------------------------------------------------------- /source/_static/assets/gm0-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/_static/assets/gm0-logo.png -------------------------------------------------------------------------------- /source/_static/assets/gm0-logo_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/_static/assets/gm0-logo_white.png -------------------------------------------------------------------------------- /source/_static/calculator-utils.js: -------------------------------------------------------------------------------- 1 | function prettifyFloat(float) { 2 | return float.toFixed(2); 3 | } 4 | 5 | function writeText(id, content) { 6 | if (isNaN(content)) { 7 | content = "Invalid!"; 8 | } 9 | 10 | document.getElementById(id).innerText = content; 11 | } 12 | 13 | function getValue(id) { 14 | const value = parseFloat(document.getElementById(id).value); 15 | 16 | if (isNaN(value)) { 17 | throw new Error("Value must be a number!"); 18 | } 19 | 20 | if (value <= 0) { 21 | throw new Error("Value must be positive!"); 22 | } 23 | 24 | if (value >= 1e6) { 25 | throw new Error("Value must be reasonably small! (Less than 1e6.)"); 26 | } 27 | 28 | return value; 29 | } 30 | -------------------------------------------------------------------------------- /source/_static/custom.css: -------------------------------------------------------------------------------- 1 | .wy-nav-top, .wy-nav-side, .wy-side-nav-search { 2 | background: #4e4a4a; 3 | } 4 | 5 | .wy-nav-side a:hover { 6 | background: #404040; 7 | } 8 | 9 | /* Center caption text in their respective figure */ 10 | div.figure.align-default { 11 | display: flex; 12 | flex-direction: column; 13 | justify-content: center; 14 | align-items: center; 15 | 16 | margin: 0; 17 | transform: none; 18 | } 19 | 20 | /* Make sure captions cannot be wider than the figure they are describing */ 21 | span.caption-text { 22 | display: inline-block; 23 | max-width: var(--image-width); 24 | text-align: center; 25 | } 26 | 27 | footer { 28 | font-size: var(--font-size--normal); 29 | } 30 | 31 | @media (prefers-color-scheme: dark) { 32 | img.graphviz { 33 | filter: invert(87%); 34 | } 35 | 36 | .dark-mode-invert { 37 | filter: invert(50%); 38 | } 39 | } 40 | 41 | /* Set colors for headers */ 42 | .sd-card-header { 43 | color: white !important; 44 | background-color: rgb(245,127,37) !important; 45 | } 46 | 47 | /* Style inline glossary entries nicely */ 48 | div.admonition-term dt { 49 | font-weight: bold; 50 | margin-bottom: 0.5em; 51 | } 52 | 53 | div.admonition-term dd { 54 | margin: 0em; 55 | } 56 | 57 | div.admonition-terms dt { 58 | font-weight: bold; 59 | margin-bottom: 0.5em; 60 | } 61 | 62 | div.admonition-terms dd { 63 | margin: 0em; 64 | } 65 | -------------------------------------------------------------------------------- /source/_static/videos/common-mechanisms/transfers/6165-flip.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/_static/videos/common-mechanisms/transfers/6165-flip.mp4 -------------------------------------------------------------------------------- /source/_static/videos/common-mechanisms/transfers/7236-flip.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/_static/videos/common-mechanisms/transfers/7236-flip.mp4 -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/anderson-powerpole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/anderson-powerpole.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/banebot-gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/banebot-gearbox.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/bare-neverest-classic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/bare-neverest-classic.jpg -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/basic-bot-guide-direct-drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/basic-bot-guide-direct-drive.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/blue-stealth-wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/blue-stealth-wheel.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/box-tube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/box-tube.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/darksoul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/darksoul.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/expansion-hub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/expansion-hub.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/high-strength-hex-hub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/high-strength-hex-hub.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/htd-belt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/htd-belt.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/jst-vh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/jst-vh.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/nexus-mecanum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/nexus-mecanum.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/pocketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/pocketing.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/polyurethane-tubing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/polyurethane-tubing.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/servo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/servo.jpg -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/thick-spacer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/thick-spacer.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/thin-spacer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/thin-spacer.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/tilerunner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/tilerunner.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/v-groove-bearing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/v-groove-bearing.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/versaplanetary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/versaplanetary.png -------------------------------------------------------------------------------- /source/docs/appendix/images/glossary/xt30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/appendix/images/glossary/xt30.png -------------------------------------------------------------------------------- /source/docs/appendix/index.rst: -------------------------------------------------------------------------------- 1 | Appendix 2 | ======== 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | gallery 8 | vendor-list 9 | vendor-guide 10 | license 11 | -------------------------------------------------------------------------------- /source/docs/appendix/license.rst: -------------------------------------------------------------------------------- 1 | License 2 | ======= 3 | 4 | Game Manual 0 is licensed under `CC BY-NC 2.0 `_. 5 | -------------------------------------------------------------------------------- /source/docs/awards/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Awards 4 | ====== 5 | 6 | *FIRST*\ |reg| Tech Challenge is more than just building robots, it contains elements of engineering documentation, outreach, and more. While the majority of |gm0| talks about how to make decisions about creating your robot, the portfolio you write is actually showing how you made those decisions and how you impact the STEM community around you in a positive way. 7 | 8 | **It only benefits you to go for awards. You can't win awards without making a portfolio, and in certain states the only way to advance is awards and in others it can make it significantly easier to advance.** In the past an engineering notebook was required for awards, however this is no longer true. Therefore, these are the topics that will be covered in this section of |gm0|. 9 | 10 | .. warning:: Judging and awards are extremely subjective and some rules change a bit from state to state. What works in one region may not in other regions. So contact your judges about specifics of some things; for example some competitions allow you to turn a custom control award sheet, others only accept the one listed by *FIRST*. The writers of this part of |gm0| have extensive experience with awards and have even been winners and finalists for the Inspire Award at the World Championships. 11 | 12 | For most awards, teams have a 5 minute presentation at the beginning of the day followed by some Q&A time and possibly pit judging later on (read the section on the judging process for more detail). There are 7 awards for FTC\ |reg| teams (excluding awards that cannot advance a team). 13 | 14 | For winning every award, the Engineering Portfolio is a key reference and is quintessential, so make sure that your team focuses on the Engineering Portfolio. 15 | 16 | Always remember that regardless of how well you feel you did, awards have a level of subjectivity of the judges, so there is no way to 100% control how your team does for awards. 17 | 18 | Overall, awards are one of the core parts of the *FIRST* Tech Challenge competition. They recognize teams at the end of every competition (except league meets) as well as determine many of the teams that advance. 19 | 20 | .. toctree:: 21 | :maxdepth: 1 22 | 23 | award-types 24 | portfolio 25 | judging-presentation 26 | notebook 27 | -------------------------------------------------------------------------------- /source/docs/being-a-team/images/collaboration-and-efficiency/intake_competitive_prototyping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/being-a-team/images/collaboration-and-efficiency/intake_competitive_prototyping.png -------------------------------------------------------------------------------- /source/docs/being-a-team/index.rst: -------------------------------------------------------------------------------- 1 | Being a Team 2 | ============ 3 | 4 | Some tips on how to start, run, and organize a team, along with some outreach/marketing tips. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | starting-a-team 10 | team-organization 11 | collaboration-and-efficiency 12 | outreach-basics 13 | pitching-your-team 14 | how-to-ask-effective-questions 15 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/3d-printed-intake/731-3dp-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/3d-printed-intake/731-3dp-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/3d-printed-intake/8417-3dp-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/3d-printed-intake/8417-3dp-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-2-inch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-2-inch.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-4-inch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-4-inch.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/11115-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/11115-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/2856-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/2856-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/8680-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/8680-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/9971-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/compliant-wheel-intake/9971-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/foam-wheel-intake/6299-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/foam-wheel-intake/6299-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/frc694-ball-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/frc694-ball-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/rubber-band-intake/vrc-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/rubber-band-intake/vrc-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/surgical-tubing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/surgical-tubing.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/tubing-intake/11115-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/tubing-intake/11115-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/tubing-intake/7203-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/tubing-intake/7203-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/tubing-intake/8375-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/tubing-intake/8375-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/images/tubing-intake/8393-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/active-intake/images/tubing-intake/8393-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/active-intake/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Active Intake 4 | ============= 5 | 6 | There's one main rule when it comes to intakes in FTC: you need one. Before diving in, what *is* an intake in the first place? 7 | 8 | Intake 9 | A mechanism designed to pick up game elements using some component of rotational motion powered by a motor. 10 | 11 | An intake is differentiated from a claw as an intake does not grasp individual game elements using a pinching motion, but rather sucks the element in through a variety of means such as wheels, tubes, etc. 12 | 13 | There are multiple parts of an effective intake: intake geometry, intake type and material, and speed. However, a common rule of them is the faster the intake, often the more effective it is. For example, near the end of Rover Ruckus, many of the top performing teams used a 3.7:1 (1600 RPM) motor or a 5.2:1 (1000 RPM) motor on their intake. 14 | 15 | .. tip:: While not a necessity, it is highly recommended that teams dedicate at least one motor to their intake if possible. 16 | 17 | .. attention:: When it comes to intakes: "**Touch it, own it**" is a really valuable concept. 18 | 19 | When your intake comes in contact with game elements, you want it to instantly control them. You should design with a margin for error, both in the orientation of the game piece and in the alignment of the robot. For example, look at FRC\ |reg| Team 694's ball intake on their 2019 robot: 20 | 21 | .. figure:: images/frc694-ball-intake.png 22 | :alt: FRC Team 694's Deep Space ball intake with 2 horizontal rollers with compliant wheels 23 | 24 | FRC 694 StuyPulse, Deep Space 25 | 26 | When this robot drives up to a ball, it barely has to point itself at the ball before the ball is instantly locked in between the two rows of wheels. What makes it so effective is the immense amount of testing that went into its design. The team tried a number of intake shapes, initially building with wood and rubber bands, and recorded which shapes were most effective. By testing their intake design out before competition, they didn't have to guess whether it would work as intended: they put it on the field with confidence. 27 | 28 | .. toctree:: 29 | :maxdepth: 1 30 | 31 | principles-of-an-intake 32 | types-of-intakes 33 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/drivetrain-gallery.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Sample Drivetrains 4 | ================== 5 | 6 | In this section, we compile several sample drivetrains which you can use as a starting point for your own designs. You should also check the :doc:`gallery of robot designs ` in the Appendix. 7 | 8 | `goBILDA strafer chassis `_ 9 | Basic mecanum chassis by goBILDA. Simple and easy to build chassis, providing an excellent starting point for robots built from goBILDA parts. 10 | `goBILDA BeeLine Chassis `_ 11 | Basic 6 wheel drive chassis by goBILDA. Simple and easy to build chassis, providing an excellent starting point for robots built from goBILDA parts. 12 | `Strafer chassis with Dead Wheels `_ 13 | Modification of goBILDA chassis by FTC\ |reg| 9794 Wizards.exe, which adds :term:`dead wheels `. Also see their video tutorials: 14 | https://www.youtube.com/watch?v=OjNvAD350M4&list=PLICNg-rquurYgWAQGhu6iC0At75vgqFJp 15 | `REV Robotics 6 wheel drivetrain `_ 16 | Sample 6 wheel drivetrain built using REV kit. 17 | `AndyMark Tile Runner chassis `_ 18 | A universal chassis kit sold by AndyMark. It is available in several modifications: 6 wheel, mecanum, tank tread. It is expensive, but using provided 3d models as inspiration for your own drivetrain is free. 19 | `Wizards.exe 6 wheel drive chassis `_ 20 | Another design by FTC 9794 Wizards.exe. Combines custom side panels with Actobotics parts (gears, chain sprockets). 21 | `Custom drivetrain by FTC 14875 LightSpeed `_ 22 | This design uses goBILDA mecanum wheels, motors, and some channels combined with custom side plates. 23 | `NX VANTAGE-H `_ 24 | Another custom drivetrain using goBILDA mecanum wheels, by redditor /u/nateless. Note that this design can be viewed but not downloaded---this is intentional; see his `original reddit post `_. 25 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/5040-xdrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/5040-xdrive.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/731-mecanum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/731-mecanum.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/731-xdrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/731-xdrive.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/8103-mecanum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/8103-mecanum.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/9804-hdrive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/9804-hdrive.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/holonomic/gobilda-mecanum-direction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/holonomic/gobilda-mecanum-direction.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/rev-omni-wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/rev-omni-wheel.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/10641-4wd-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/10641-4wd-table.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/10641-4wd-void.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/10641-4wd-void.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/13075-8wd-render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/13075-8wd-render.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/13075-8wd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/13075-8wd.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/3736-modified-4wd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/3736-modified-4wd.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/3846-8wd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/3846-8wd.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/5795-6wd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/5795-6wd.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/5975-tread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/5975-tread.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/7209-4wd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/7209-4wd.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/7236-6wd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/7236-6wd.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/ethan-6wd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/ethan-6wd.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/tetrix-pushbot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/tetrix-pushbot.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/drivetrains/images/tank/tilerunner-6wd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/drivetrains/images/tank/tilerunner-6wd.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/linkages/11115-dr4b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/linkages/11115-dr4b.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/linkages/7236-linkage-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/linkages/7236-linkage-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/linkages/7244-v4b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/linkages/7244-v4b.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/linkages/8644-vdr4b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/linkages/8644-vdr4b.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/linkages/goBILDA-four-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/linkages/goBILDA-four-bar.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/multi-axis-arm/15692-multi-axis-arm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/multi-axis-arm/15692-multi-axis-arm.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/multi-axis-arm/20700-snap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/multi-axis-arm/20700-snap.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/multi-axis-arm/8148-multi-axis-arm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/multi-axis-arm/8148-multi-axis-arm.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/11115-cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/11115-cover.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/14310.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/14310.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/14320-pivot-half.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/14320-pivot-half.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/14320-pivot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/14320-pivot.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/14320.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/14320.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/14481.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/14481.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/18172-vertical-odo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/18172-vertical-odo.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/3658.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/3658.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/7236-cad-exploded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/7236-cad-exploded.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/7236.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/7236.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/8802.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/8802.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/e8t.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/e8t.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/openodo-bom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/openodo-bom.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/openodo-sectionview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/openodo-sectionview.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/s4t.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/s4t.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/spring-tensioned-pod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/spring-tensioned-pod.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/srx-mag.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/srx-mag.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/odometry/through-bore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/odometry/through-bore.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/passive-intake-claw/11115-relic-claw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/passive-intake-claw/11115-relic-claw.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/passive-intake-claw/13075-glyph-claw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/passive-intake-claw/13075-glyph-claw.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/passive-intake-claw/8680-relic-claw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/passive-intake-claw/8680-relic-claw.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/single-arm/8103-single-arm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/single-arm/8103-single-arm.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/images/single-arm/8417-single-arm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/images/single-arm/8417-single-arm.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Common Mechanisms 4 | ================= 5 | 6 | This chapter covers suggestions for design of common components of FTC\ |reg| robots: drivetrain, linear motion (slides and lifts), claws, intakes, and more. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | design-tradeoffs 12 | drivetrains/index 13 | power-transmission/index 14 | linear-motion-guide/index 15 | arms 16 | linkages 17 | passive-intake-claw 18 | active-intake/index 19 | transfers/index 20 | dead-wheels 21 | turrets/index 22 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/custom.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Custom Options 4 | ============== 5 | 6 | Some teams have opted to build custom solutions for linear motion. Many of these teams borrow concepts from FRC\ |reg| teams, modeling their elevators off of the tall systems found on the larger robots. There's a reason that many competitive FRC teams build the same type of elevator - at their scale, the box tube elevator has proven to be the most efficient way to get game pieces off the ground at blisteringly fast speeds. 7 | 8 | When built correctly, an elevator of this type can withstand hundreds of pounds of load on any axis while barely weighing anything. However, existing off-the-shelf options already fill the linear motion needs of most FTC\ |reg| teams. 9 | 10 | Custom extension systems also require tons of work in CAD, hours upon hours of manufacturing time, and may need multiple iterations before they work correctly. Due to their complexity and how challenging they are to design, less experienced teams may encounter significant challenges. 11 | 12 | .. note:: Lightweight drawer slides (MiSUMI aluminum and Long Robotics Slides) can offer similar performance at a fraction of the complexity. 13 | 14 | .. figure:: images/custom/7236-box-tube.png 15 | :alt: 7236's Rover Ruckus bot with custom box tube elevator 16 | 17 | 7236 Recharged Green, Rover Ruckus, custom box tube linear elevator 18 | 19 | .. figure:: images/custom/13075-8020-hang.png 20 | :alt: 13075's Rover Ruckus bot with custom 8020 hang 21 | 22 | 13075 Coram Deo Academy Robotics, Rover Ruckus, custom 8020 chain driven hang 23 | 24 | .. image:: images/custom/7172-fishing-pole-extension-cad.png 25 | :alt: 7172's custom fishing pole based extension CAD model 26 | 27 | .. figure:: images/custom/7172-fishing-pole-extension.png 28 | :alt: 7172's custom fishing pole based extension 29 | 30 | 7172 Technical Difficulties, Rover Ruckus, fishing pole extension using gear rack 31 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/cable-management/10030-coil-cord-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/cable-management/10030-coil-cord-1.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/cable-management/10030-coil-cord-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/cable-management/10030-coil-cord-2.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/cable-management/248-badge-retractor-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/cable-management/248-badge-retractor-1.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/cable-management/248-badge-retractor-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/cable-management/248-badge-retractor-2.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/cable-management/7236-cable-carrier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/cable-management/7236-cable-carrier.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/custom/13075-8020-hang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/custom/13075-8020-hang.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/custom/5975-carbon-fiber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/custom/5975-carbon-fiber.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/custom/7172-fishing-pole-extension-cad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/custom/7172-fishing-pole-extension-cad.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/custom/7172-fishing-pole-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/custom/7172-fishing-pole-extension.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/custom/7236-box-tube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/custom/7236-box-tube.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/12791-slides-facing-each-other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/12791-slides-facing-each-other.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/5143-Sar-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/5143-Sar-2.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/6929-sar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/6929-sar3.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/7236-sar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/7236-sar3.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/misumi-slides-inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/drawer-slides/misumi-slides-inserts.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/11115-slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/11115-slider.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/11115-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/11115-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/12599-slides.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/12599-slides.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/4997-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/4997-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/8680-slides.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/extrusion-slides/8680-slides.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/lead-screws/11115-hang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/lead-screws/11115-hang.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/lead-screws/lead-screw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/lead-screws/lead-screw.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/11115-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/11115-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/5975-carbon-fiber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/5975-carbon-fiber.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8221-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8221-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8417-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8417-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8813-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/8813-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/gb-slides.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/gb-slides.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/mgn-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/linear-bearing-slides/mgn-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rack-and-pinion/tetrix-rack-and-pinion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rack-and-pinion/tetrix-rack-and-pinion.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/11190-continuous-belt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/11190-continuous-belt.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/5064-cascading-belt-diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/5064-cascading-belt-diagram.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/5064-cascading-belt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/5064-cascading-belt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-belt-driven-elevator.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-belt-driven-elevator.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-continuous-belt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-continuous-belt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-elevator-rigging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/7236-elevator-rigging.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/cascade-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/cascade-extension.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/cascade-retraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/cascade-retraction.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/continuous-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/continuous-extension.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/rigging/continuous-retraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/rigging/continuous-retraction.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/tensioners/13075-slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/tensioners/13075-slides.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/images/tensioners/13075-string-tensioner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/linear-motion-guide/images/tensioners/13075-string-tensioner.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/index.rst: -------------------------------------------------------------------------------- 1 | Linear Motion Guide 2 | =================== 3 | 4 | Linear motion is one of the most important components of a successful robot. In most games, teams are required to reach into an area that the drivetrain cannot access in order to pick up or deposit game elements. For example, in 2017-2018, Relic Recovery, teams needed to extend an arm of some sort to grab the Relic that was placed in the corner of the playing field. This area of the game field was nearly impossible for a robot to drive to, so a linear extension was necessary. 5 | 6 | Access of > 18" is necessary for nearly all games; >24" is preferred. In some games, an extension of 36" or more may be needed. 7 | 8 | .. note:: It is possible to achieve extension with an arm, but since this guide is geared toward newer teams, linear extensions should be prioritized over arms. Refer to the :doc:`Arm Guide ` for more information. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | drawer-slides 14 | extrusion-slides 15 | linear-bearing-slides 16 | custom 17 | lead-screws 18 | rack-and-pinion 19 | rigging 20 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/lead-screws.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Lead Screws 4 | =========== 5 | 6 | Lead screws use a threaded rod to create high-torque linear motion. Their primary advantage is being able to handle much higher loads than other unmodified kit options. While this option was popularized in Rover Ruckus for hanging robots, variations have been in use since as far back as Res-Q. Another use case for lead screws is to change the angle of an arm platform, though this is more common in FRC\ |reg|. However, this ability to handle high loads comes at a cost: lead screws are extremely slow. 7 | 8 | By far the most popular lead screw option is the `ServoCity Linear Actuator kit `_. Overall, this kit is lightweight, simple, and cheap. It can be a good start for teams using REV and needing a linear extension, and is generally usable out of the box. 9 | 10 | Advantages 11 | ---------- 12 | 13 | - Easy way for high-load, high-torque applications 14 | - Compact form factor 15 | - Typically only requires one motor 16 | 17 | Disadvantages 18 | ------------- 19 | 20 | - Not for quick linear extensions 21 | - High torque translates to slow extension speed 22 | 23 | .. image:: images/lead-screws/lead-screw.png 24 | :alt: A lead screw with the object that rides It 25 | 26 | .. figure:: images/lead-screws/11115-hang.png 27 | :alt: A render of 11115's Rover Ruckus hang mechanism, using lead screws 28 | 29 | 11115 Gluten Free, Rover Ruckus, Actobotics lead screw used for hang 30 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/linear-motion-guide/rack-and-pinion.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Rack and Pinion 4 | =============== 5 | 6 | Rack and pinion refers to a a toothed linear gear (the rack), meshed with a a circular gear (the pinion gear). When the pinion gear is driven, it will drive the pinion gear upwards or downwards, depending on how the rack and pinion is mounted. 7 | 8 | Generally, rack and pinion is a good light-use option for FTC\ |reg| teams in terms of linear extension. However, there are some disadvantages to rack and pinion compared to the other options of linear extension. Therefore, rack and pinion is generally not recommended for teams. 9 | 10 | Advantages 11 | ---------- 12 | 13 | - Easy way to extend upwards. 14 | - Power and linear motion in one package 15 | - Can with proper support, sustain heavy load (e.g. hang robot) 16 | 17 | Disadvantages 18 | ------------- 19 | 20 | - Rack and pinion generally is only used in one stage, because multiple mechanisms require other forms of powering it (belt, string, chain, etc.) 21 | 22 | - Rack and pinion needs to be supported very well to sustain heavy load, or else the mesh will fail. **It is not advisable to use the Tetrix rack and pinion in high stress conditions**. 23 | 24 | .. figure:: images/rack-and-pinion/tetrix-rack-and-pinion.png 25 | :alt: A marketing image for the tetrix rack and pinion 26 | 27 | The Tetrix rack and pinion has a tendency to fail under medium to high load. 28 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/passive-intake-claw.rst: -------------------------------------------------------------------------------- 1 | Passive Intake/Claw 2 | =================== 3 | 4 | Passive intakes are mechanisms in which the driver must pick up individual items, usually by actuating some sort of gripper, which holds the game element. 5 | 6 | Claws are the most common sort of passive intake and probably one of the first mechanisms that jump to mind during brainstorming. Unlike most intakes, claws can be made with only servos, and thus don't require valuable motor slots. 7 | 8 | This is not to say there are no disadvantages; notably, unlike intakes, when you pick up something with a claw, it isn't easy to transfer the collected element to a separate scoring mechanism. For this reason, in most cases, claws double as both a collection method and a scoring method. 9 | 10 | **Claws are extremely useful for picking up large, unwieldy elements that cannot be controlled by active intakes**. For example, the relic in Relic Recovery would be much harder to control using a more active intake; so teams used a claw. 11 | 12 | .. attention:: However, claws are outclassed by active intakes for picking up small game pieces in nearly every game. 13 | 14 | Advantages 15 | ---------- 16 | 17 | - Much simpler than an intake 18 | - Takes a lot less time to build than a reliable intake + transfer 19 | - Less moving parts = less things that can go wrong 20 | - Usually does not take up a motor slot 21 | - Can pick up odd shaped game elements that active intakes can't 22 | 23 | Disadvantages 24 | ------------- 25 | 26 | - Depending on their use case, claws are slower than intakes. 27 | 28 | - The driver must angle the robot, position the claw, and grab the game element. 29 | - By contrast, with an intake, the driver needs only to position the intake and grab the game elements. 30 | - Claws can be more fragile and break easily. 31 | - In cases in which claws are slower than intakes, they can be much more prone to defensive maneuvers. The more time spent collecting, the more vulnerable you are. 32 | 33 | .. figure:: images/passive-intake-claw/11115-relic-claw.png 34 | :alt: 11115's relic claw 35 | 36 | 11115 Gluten Free, Finalist Alliance Captain (Detroit), Relic Recovery 37 | 38 | .. figure:: images/passive-intake-claw/8680-relic-claw.png 39 | :alt: 8680's relic claw 40 | 41 | 8680 Kraken-Pinion, Relic Recovery 42 | 43 | .. figure:: images/passive-intake-claw/13075-glyph-claw.png 44 | :alt: 13075's glyph claw 45 | 46 | 13075 Coram Deo Academy Robotics, Relic Recovery (**suboptimal use case**) 47 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/5975-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/5975-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/8103-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/8103-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/8417-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/8417-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/belt-and-pulley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/belt-and-pulley.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-1.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-2.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/belt-wrap-3.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/belt/ethan-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/belt/ethan-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/724-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/724-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/7244-chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/7244-chain.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/8103-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/8103-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/9794-intake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/9794-intake.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-1.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-2.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/chain-wrap-3.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/master-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/master-link.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/chain/rev-sprocket-20-tooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/chain/rev-sprocket-20-tooth.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/direct-drive/inside-supported-direct-drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/direct-drive/inside-supported-direct-drive.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/direct-drive/outside-supported-direct-drive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/direct-drive/outside-supported-direct-drive.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/direct-drive/unsupported-direct-drive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/direct-drive/unsupported-direct-drive.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/gears/11115-gear-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/gears/11115-gear-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/gears/13075-gear-dt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/gears/13075-gear-dt.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/gears/correct-gear-mesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/gears/correct-gear-mesh.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/gears/rev-aluminum-gear-56-tooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/gears/rev-aluminum-gear-56-tooth.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/sanford-cantilever.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/sanford-cantilever.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/shaft-retention/clamping-shaft-collar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/shaft-retention/clamping-shaft-collar.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/shaft-retention/set-screw-shaft-collar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/shaft-retention/set-screw-shaft-collar.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/images/shaft-retention/shaft-with-eclip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/power-transmission/images/shaft-retention/shaft-with-eclip.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/power-transmission/index.rst: -------------------------------------------------------------------------------- 1 | Power Transmission 2 | ================== 3 | 4 | When building any mechanism, it is important to consider how the mechanism will be powered, as gear ratio and form factor are two factors that affect both spacing and efficiency. There are four main forms of power transmission: direct drive, gears, chain, and timing belt. In addition, there are different ways of powering a mechanism that is mounted on an axle. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | motion-mounting 10 | shaft-retention 11 | direct-drive 12 | gears 13 | chain 14 | belt 15 | power-transmission-glossary 16 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/11115-conveyor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/11115-conveyor.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/16461-transferless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/16461-transferless.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/6165-flip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/6165-flip.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/6929-grate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/6929-grate.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/7236-flip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/7236-flip.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/7244-roller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/7244-roller.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/images/8644-conveyor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/transfers/images/8644-conveyor.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/index.rst: -------------------------------------------------------------------------------- 1 | Transfers 2 | ========= 3 | 4 | It is useful to consider how items will be moved inside the robot from one mechanism to another. This is typically done with a "transfer", which moves something from one mechanism (such as an intake) to another (such as an arm on a deposit). 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | transfer-design 10 | transfer-types 11 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/transfers/transfer-design.rst: -------------------------------------------------------------------------------- 1 | Transfer Design Fundamentals 2 | ============================ 3 | 4 | There are a few fundamental aspects of the design of any transfer that must be considered. Generally, the most important considerations are: 5 | 6 | #. What will be transferred? 7 | #. Where will the item(s) be transferred? 8 | #. How will the item(s) be transferred? 9 | 10 | Object Considerations 11 | --------------------- 12 | 13 | One important thing to consider when designing a transfer is what object will be transferred by the mechanism. Any design must be able to physically hold the object being transferred, but it is also important to consider how many objects need to be held by the transfer or if different types of items need to be transferred. 14 | 15 | Location Considerations 16 | ----------------------- 17 | 18 | Another important consideration when designing a transfer is where the transfer will be moving items from and to. Moving objects in multiple axes is difficult and error-prone. When mechanisms are aligned, transfers only have to act in straight lines, avoiding unnecessary complexity. A very common use for a transfer mechanism is to move objects from the intake of the robot to a scoring mechanism. In this case, it can make sense to combine the transfer system with the intake system or scoring system, so only two mechanisms are needed. 19 | 20 | 21 | .. tip:: Generally, when designing transfers, you want to avoid as much mechanical complexity as possible. The less moving parts in a mechanism, the lower the chance something can fail. 22 | 23 | Transfer Type Considerations 24 | ---------------------------- 25 | 26 | There are several different types of transfers, ranging from linear to rotational transfers, and different ways of actually moving objects inside the transfer mechanism. When designing a transfer, a design that has lower mechanical complexity will be prone to less mechanical failures. See :doc:`transfer-types` for examples of common transfer types. 27 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/images/12518-turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/turrets/images/12518-turret.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/images/16379-turret.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/turrets/images/16379-turret.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/images/18219-bearing-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/turrets/images/18219-bearing-stack.png -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/images/18219-turret.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/turrets/images/18219-turret.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/images/19818-turret.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/common-mechanisms/turrets/images/19818-turret.jpg -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Turrets 4 | ======= 5 | 6 | In FTC\ |reg|, turrets refer to mechanisms that allow for yaw (side-to-side) rotation of another mechanism. This is typically done for the purpose of positioning an intake or scoring mechanism. For example, a shooter could be mounted on a turret to allow for aiming without turning the robot. Turrets typically have a gear, sprocket, or pulley mounted to them, which motors and servos use to rotate them. 7 | 8 | The FTC community often splits these turrets into 2 categories, "full turrets" and "mini turrets." Full turrets are typically those powered by motors or multiple servos at the base of the robot, and move large mechanism(s), and what the lone word "turret" generally refers to. Mini turrets are typically powered by one or two servos, are located at the end of an extension of some sort, and only pivot an end effector. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | full-turret 14 | mini-turret 15 | -------------------------------------------------------------------------------- /source/docs/common-mechanisms/turrets/mini-turret.rst: -------------------------------------------------------------------------------- 1 | Mini Turrets 2 | ============ 3 | 4 | Mini turrets are turrets that pivot something small, typically an end effector. These are often at the end of a linear extension or arm. These are much simpler than full turrets, because they are physically smaller and deal with much smaller loads. There are many ways to implement a mini turret, and generally any of the methods mentioned on the :doc:`./full-turret` page will work, but the center-bearing technique is the most common, as it is the simplest. 5 | 6 | 7 | Advantages 8 | ---------- 9 | 10 | - Allows for accurate mechanism rotation, without drivetrain movement. 11 | - Much simpler than a full turret. 12 | 13 | Disadvantages 14 | ------------- 15 | 16 | - Heavier than just an end effector, which is especially important on the end of slides/arms because of mechanism speed and center of gravity. 17 | - More complex than no turret. 18 | - Provide fairly limited range compared to full turrets. 19 | 20 | .. figure:: images/12518-turret.png 21 | :alt: 12518 Almond Robotics' Mini Turret 22 | 23 | 12518 Almond Robotics, Freight Frenzy, a **center-bearing mini turret** on the end of slides used to rotate a scoring mechanism with a servo 24 | -------------------------------------------------------------------------------- /source/docs/contributing/contributors.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Contributors 4 | ============ 5 | 6 | |gm0| would not have been possible without the many contributors who have sacrificed their precious freetime (or merely found another excuse to procrastinate their work). I am especially grateful to Ben and Abi for helping port over |gm0| to Copperforge, and for all those who have continued to add and revise |gm0| during the busy school year. |gm0| had been my dream for quite some time, and as an alum tremendously grateful for all that *FIRST*\ |reg| has taught me, I wanted to create |gm0| to preserve and spread the knowledge base that might have been lost with the FTC\ |reg| class of 2019 and beyond. For this reason, I wanted to recognize all the contributors who have helped to make |gm0| a great resource for *FIRST* Tech Challenge teams. Feel free to contact any of the names listed below via the email (gamemanual0@gmail.com) or through the other contact emails - I'm sure that they would be more than willing to help you out! 7 | 8 | **Kleptomaniac** 9 | 10 | Managing Editors 11 | ---------------- 12 | 13 | - Tom - FTC Alum - 3736 Serious Business- seminole3736@gmail.com 14 | - Abigail - FTC 7026 JDroids - gm0@dogbuilt.net 15 | - Frank - FTC 8581 Aedificatores - fgportman00@gmail.com 16 | - Justin - FTC 9656 Omega - ftc9656omega@gmail.com 17 | - Nathanael/Kleptomaniac - FTC Alum - 13075 Coram Deo Robotics - nathanchu@utexas.edu 18 | - Davy - FTC 16461 Infinite Turtles - davy@mcr.club 19 | 20 | Other Contributors 21 | ------------------ 22 | 23 | - Adham - FTC 14875 LightSpeed 24 | - Arjun - FTC 9794 Wizards.exe 25 | - Baylor - FTC 10641 Atomic Gears 26 | - Cole - FTC 7548 SPAREPARTS 27 | - Cooper - FTC 19458 Equilibrium.exe 28 | - David - FTC 2753 Team Overdrive 29 | - David - FTC 7236 Recharged Green 30 | - David - FTC 8680 Kraken Pinion 31 | - Dom - FTC 15692 Rust in Pieces 32 | - Eric - FTC Alum - 8417 'Lectric Legends 33 | - Ethan - FTC 7236 Recharged Green - goBILDA 34 | - Frank - FTC 8581 Aedificatores 35 | - Frank - FTC 8581 Aedificatores 36 | - Fulton - FTC 5143 Xcentrics 37 | - Guineawheek - FTC Alum 38 | - Ian - FTC 7842 Browncoats 39 | - Jackson - FTC/FRC\ |reg| Mentor/Alum 40 | - James - FTC 14298 Lincoln Robotics 41 | - Justin - FTC 9656 Omega 42 | - Karter - FTC 5975 Cybots 43 | - Kelvin - FTC 731 Wannabee Strange 44 | - Keval - FTC 731 Wannabee Strange/FTC 10195 Night Owls 45 | - Kevin - FTC 9048 Philobots 46 | - Nate - FTC 12897 Newton's Law of Mass 47 | - Navya - FTC 7149 ENFORCERS 48 | - Neo - FTC 6710 Sigmas 49 | - Peter - FTC 12533 Inception 50 | - Sam - FTC 2753 Team Overdrive 51 | - Shurik - FTC 4137 Islandbots mentor 52 | - Tom - FTC 3736 Serious Business 53 | - Tyler - FRC 3184 Blaze Robotics 54 | - Wes - FTC 3658 Bosons 55 | - Whimsy - FTC 8417 'Lectric Legends 56 | 57 | Hosting 58 | ------- 59 | 60 | - Benjamin Ward - FRC/FTC Alum - Copperforge - blward@copperforge.cc 61 | 62 | .. image:: images/copperforge-logo.png 63 | :alt: Copperforge Logo 64 | :height: 168px 65 | :width: 1000px 66 | :scale: 50% 67 | -------------------------------------------------------------------------------- /source/docs/contributing/images/copperforge-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/contributing/images/copperforge-logo.png -------------------------------------------------------------------------------- /source/docs/contributing/methods-of-contributing.rst: -------------------------------------------------------------------------------- 1 | Methods of Contributing 2 | ======================= 3 | 4 | GitHub Pull Request (Strongly Preferred) 5 | ---------------------------------------- 6 | 7 | Pull Requests should be made to the `gm0 `_ repository on GitHub. They will be reviewed and comments may be made. Draft pull requests are strongly recommended when you are working on something, as it allows for feedback during the development process. It also means that the CI can run. 8 | 9 | Document Submission 10 | ------------------- 11 | 12 | This method is designed to help contributors who do not have an understanding of git and reStructuredText to start contributing. This method only works for adding **new pages**; you **cannot** edit current pages using this method. 13 | 14 | #. Write your intended content in a Google Doc 15 | #. Change the Google Doc to "Anyone on the internet with this link can comment" 16 | #. Submit a link to the Google Doc in the following `form `_ 17 | -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/3d-printing/2-piece-gearbox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/3d-printing/2-piece-gearbox.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/3d-printing/assembled-multipart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/3d-printing/assembled-multipart.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/3d-printing/printing-multipart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/3d-printing/printing-multipart.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/laser-cutting/taper-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/laser-cutting/taper-example.png -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/machining/731-rr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/machining/731-rr2.png -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/machining/8393-rr1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/machining/8393-rr1.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/machining/8680-rr2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/machining/8680-rr2.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/materials-guide/abs-banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/materials-guide/abs-banner.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/materials-guide/acetal-banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/materials-guide/acetal-banner.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/materials-guide/aluminum-banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/materials-guide/aluminum-banner.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/materials-guide/hdpe-banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/materials-guide/hdpe-banner.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/materials-guide/polycarbonate-banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/materials-guide/polycarbonate-banner.jpg -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/images/standoffs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/custom-manufacturing/images/standoffs.png -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/index.rst: -------------------------------------------------------------------------------- 1 | Custom Manufacturing 2 | ==================== 3 | 4 | This chapter covers the basics of custom materials and manufacturing for all of your creative needs! 5 | 6 | .. toctree:: 7 | :maxdepth: 2 8 | 9 | materials-guide 10 | 3d-printing 11 | machining 12 | laser-cutting 13 | manufacturing-glossary 14 | -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/machining.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Machining 4 | ========= 5 | 6 | Advantages of Machining 7 | ----------------------- 8 | 9 | - Machining allows teams to create practically any part without limitations. 10 | - Machining allows teams to create custom drivetrain plates, arms, linear slides, etc to fit their design needs more effectively than kits. 11 | - Machining is cool. Yes, really. 12 | 13 | Disadvantages of Machining 14 | -------------------------- 15 | 16 | - Perhaps the biggest barrier when making a fully custom robot is that it requires very expensive manufacturing equipment. While 3D printers have become more and more common in FTC\ |reg| and allow teams to create or customize small parts, many teams do not have access to equipment such as lathes, routers, waterjet cutters, or CNC machines. 17 | - Fully custom robots need to be fully designed in CAD. Sketching will not cut it when building custom robots. 18 | - Another barrier is that prototyping with fully custom systems is almost always much slower than using kit parts. The full CAD process takes time, and fabrication/getting parts fabricated by a shop or sponsor is another lengthy process. Notwithstanding those two factors, if something goes drastically wrong then it will require a repeat process of CAD and fabrication. 19 | 20 | It must be noted that teams do not need to pick between a fully kit-based robot or a fully custom robot. In fact, many successful teams are actually a hybrid of both kit and custom parts, as can be seen in many of example robots in this section. 21 | 22 | However, our suggestion is that inexperienced teams should prioritize 3D printing over machining for fabricating custom parts, at least for the near term. 23 | 24 | .. figure:: images/machining/8680-rr2.jpg 25 | :alt: 8680 Kraken Pinion's Rover Ruckus robot 26 | 27 | 8680 Kraken Pinion, Division Semifinalist (Detroit Worlds), Rover Ruckus 28 | 29 | Utilizes a kit-based drivetrain (Actobotics) and horizontal linear slides (REV) with a custom intake, housing, and mineral container. Kit linear actuator (Actobotics) with custom hook. 30 | 31 | .. figure:: images/machining/8393-rr1.jpg 32 | :alt: 8393 Giant Diencephalic BrainSTEM Robotics Team's Relic Recovery robot 33 | 34 | 8393 Giant Diencephalic BrainSTEM Robotics Team, Winning Alliance First Pick (Detroit), Relic Recovery, fully custom 35 | 36 | .. figure:: images/machining/731-rr2.png 37 | :alt: 731 Wannabee Strange's Rover Ruckus robot 38 | 39 | 731 Wannabee Strange, Rover Ruckus, Design Award Finalist (Houston) 40 | 41 | Utilizes a 3D printed (PETG and TPU) and machined (milled) arm/intake with a custom HDPE drive train (CNC routed) 42 | -------------------------------------------------------------------------------- /source/docs/custom-manufacturing/manufacturing-glossary.rst: -------------------------------------------------------------------------------- 1 | Manufacturing Glossary 2 | ====================== 3 | 4 | .. glossary:: 5 | 6 | Laser Cutter 7 | A laser cutter is a tool that uses a high-power laser to cut through sheet metal or similar material. The laser is guided by CNC to cut preprogrammed patterns into the sheet. 8 | 9 | Waterjet Cutter 10 | A waterjet cutter is a tool which cuts sheet metal and other materials via extremely high pressure water focused into a small stream. Waterjet cutters are commonly used in industrial fabrication and can follow preprogrammed instructions to cut patterns, similar to a CNC system. 11 | 12 | Standoff 13 | A standoff is a fastener with two threaded ends and usually has a hex profile to be used with a wrench. These ends are usually female threaded, meaning that they can have a screw threaded into them. 14 | 15 | This is usually a more compact alternative to a long screw and spacers, and can be used to space things out as well as fasten them. Custom standoffs can be made out of hex stock, such as :term:`AndyMark Churro `. 16 | 17 | Standoffs are usually used in drivetrain purposes, such as in parallel plate drivetrains, where the plates must be separated and supported by standoffs at equal distances. 18 | 19 | .. image:: images/standoffs.png 20 | :alt: A couple of standoffr 21 | :width: 200 22 | -------------------------------------------------------------------------------- /source/docs/design-skills/design-glossary.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Design Glossary 4 | =============== 5 | 6 | .. glossary:: 7 | 8 | COTS 9 | COTS (Commercial Off the Shelf) parts refer to parts that teams can purchase physically or through an online retailer. 10 | 11 | .. warning:: FTC\ |reg| teams are limited to one degree of freedom (with some exceptions) to COTS parts. Therefore, buying a drawer slide is an allowable part, as there is only one degree of freedom, but purchasing a multi-axis arm isn't. 12 | 13 | However, teams can buy individual parts and assemble them together into a mechanism that has more than one degree of freedom. This doesn't apply to drivetrain kits. 14 | 15 | Packaging 16 | Packaging refers to the relative size and location of components on the robot. Generally, you want to design and locate (or package) components in the most space-efficient way you can. 17 | 18 | STEP file 19 | A STEP file is a filetype used to store 3D data about a part. It is recognized by different CAD softwares including SolidWorks, Inventor, Creo, etc. 20 | -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/circular-pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/circular-pattern.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/complete-pulley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/complete-pulley.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/dimensioned-pulley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/dimensioned-pulley.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/equations-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/equations-view.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/pulley-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/pulley-profile.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/custom-pulley-template/sketch-to-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/custom-pulley-template/sketch-to-copy.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/drive-pod.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/drive-pod.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-technical-drawing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-technical-drawing.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-ui-chrome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-ui-chrome.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-with-parts-to-remove-selected.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate-with-parts-to-remove-selected.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-inner-plate.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-outer-plate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-outer-plate.jpg -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/drivetrain-in-an-hour/dt-render.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/arm-pivot-mount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/arm-pivot-mount.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/fea-on-plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/fea-on-plate.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-drill-pocketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-drill-pocketing.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-surface-pocketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-surface-pocketing.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-tangent-circles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate-tangent-circles.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate1.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate2.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/cad-tutorial/pocketing-guide/outer-mechanism-plate3.png -------------------------------------------------------------------------------- /source/docs/design-skills/images/colson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/design-skills/images/colson.png -------------------------------------------------------------------------------- /source/docs/design-skills/index.rst: -------------------------------------------------------------------------------- 1 | Design Skills 2 | ============= 3 | 4 | This chapter covers basic principles of robot design and design skills that can assist you in building your robot. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | engineering-design-process 10 | design-strategy 11 | cad 12 | cad-tutorials 13 | design-glossary 14 | -------------------------------------------------------------------------------- /source/docs/hardware-components/images/button-head.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/button-head.jpeg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/countersunk-head.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/countersunk-head.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/grub-screw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/grub-screw.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/hex-head.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/hex-head.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/hex-nut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/hex-nut.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/loctite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/loctite.png -------------------------------------------------------------------------------- /source/docs/hardware-components/images/nyloc-nut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/nyloc-nut.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/socket-head.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/socket-head.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/square-nut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/square-nut.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/t-slot-nut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/t-slot-nut.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/tap-and-die.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/tap-and-die.jpeg -------------------------------------------------------------------------------- /source/docs/hardware-components/images/thread-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/thread-diagram.png -------------------------------------------------------------------------------- /source/docs/hardware-components/images/types-of-drives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/types-of-drives.png -------------------------------------------------------------------------------- /source/docs/hardware-components/images/wing-nut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/images/wing-nut.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/index.rst: -------------------------------------------------------------------------------- 1 | Hardware Components 2 | =================== 3 | 4 | This chapter covers the basics of building the robot: tools, materials, kits of parts. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | kit-and-hardware-guide/index 10 | fastener-guide 11 | tools-list 12 | tips-and-tricks 13 | -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/custom.rst: -------------------------------------------------------------------------------- 1 | Custom 2 | ====== 3 | 4 | Many teams elect to ignore kits entirely and instead make their own mechanisms completely from scratch. While this allows for nearly unlimited design freedom, keep in mind *full* Custom has many caveats and drawbacks. A full CAD model is required for a custom robot, as well as machining capability. Custom robots are not suitable for a new team. 5 | 6 | However, forgoing a full custom robot opens up many opportunities. Many teams choose to create a robot that is a mix of kit parts and custom parts. Our recommendation is to use kit parts as the backbone of the robot, and custom fabricate any additional parts necessary, instead of the other way around. That way, you can rely on the strength and durability of the kit while retaining the ability to customize small pieces and mechanisms to your advantage. 7 | 8 | The methods that teams use to make custom parts typically involve either additive or subtractive manufacturing: either building a part from raw material (3d printing) or removing material from stock to create a part (Milling, Routing, and Laser Cutting). 9 | 10 | You can now find details on 3d printing and milling in our :doc:`Custom Manufacturing ` section, with tutorials and general tips to help bring your parts from CAD to real life. 11 | 12 | -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/10030-servoblock-usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/10030-servoblock-usage.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/3736-bevel-gear-usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/3736-bevel-gear-usage.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/8644-rr1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/8644-rr1.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/9794-rr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/9794-rr2.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/9971-rr2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/9971-rr2.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/actobotics-dual-ball-bearing-hub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/actobotics-dual-ball-bearing-hub.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/clamping-hub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/clamping-hub.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/lead-screw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/lead-screw.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/servoblock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/actobotics/servoblock.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/churro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/churro.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/clamp-mounting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/clamp-mounting.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/face-mounting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/face-mounting.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/hex-bore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/hex-bore.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/rev-bushing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/rev-bushing.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/rev-pillow-block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/rev-pillow-block.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/set-screw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/set-screw.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/glossary/shaft-collar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/glossary/shaft-collar.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/7182-rr2-field.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/7182-rr2-field.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/7182-rr2-hanging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/7182-rr2-hanging.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_channel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_channel.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_low_channel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_low_channel.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_mini_channel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/gobilda/gobilda_mini_channel.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/11115-rr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/11115-rr1.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/6299-vv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/6299-vv.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/7161-rr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/7161-rr1.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/9889-rr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/9889-rr2.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/extrusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/extrusion.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/misumi-extrusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/misumi-extrusion.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/punch-tubing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/punch-tubing.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/rev-extrusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/rev-robotics/rev-extrusion.png -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/tetrix/6022-vv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/tetrix/6022-vv.jpg -------------------------------------------------------------------------------- /source/docs/hardware-components/kit-and-hardware-guide/images/tetrix/tetrix-channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/hardware-components/kit-and-hardware-guide/images/tetrix/tetrix-channel.png -------------------------------------------------------------------------------- /source/docs/hardware-components/tools-list.rst: -------------------------------------------------------------------------------- 1 | Tools List 2 | ========== 3 | 4 | Here are a selection of necessary and useful tools for your team. You'll obviously need to purchase the basics such as the right screwdriver, hex keys, and drill bits. For a bit more precision and the ability to dabble in custom, opt for a drill press and bandsaw. A router might be useful for teams interested in working with wood, a great material for prototyping (and also for final iterations!) 5 | 6 | Necessary 7 | --------- 8 | 9 | - **Safety glasses. Wear them when you're using power tools. Seriously.** 10 | - Philips screwdrivers, assorted sizes 11 | - Hex drivers and hex L-keys 12 | - 7/64" hex (Actobotics and TETRIX) 13 | - 3/32", ball head for set screws is discouraged (TETRIX) 14 | - 2.5/3mm hex (goBILDA) 15 | - Nut drivers and wrenches 16 | - 5.5 mm hex nut driver/wrench (REV) 17 | - 7 mm hex nut driver/wrench (goBILDA) 18 | - Drill and drill bits 19 | - Pliers, needle-nose and locking 20 | - Metal file (sandpaper not recommended, you're not working with wood) 21 | - Quick lock clamps (2+) or vise 22 | - Hammer and mallet 23 | - Centerpunch 24 | - Hacksaw (cuts through steel shafts) 25 | - Wire stripper/wire cutter 26 | - Zip ties/Velcro ties 27 | - Electrical tape 28 | - Stainless steel ruler and rafter square 29 | - Sharp pencil or very fine permanent marker 30 | 31 | Helpful 32 | ------- 33 | 34 | - Bandsaw 35 | 36 | .. caution:: A bandsaw **cannot** cut through steel :term:`shafts `! 37 | 38 | - Impact driver 39 | - Drill press 40 | - Miter saw with non-ferrous metal cutting blade 41 | - Dremel (use sparingly; Dremel =/= bandsaw) 42 | - Grip tape 43 | - Caliper 44 | - Soldering iron 45 | - Heat gun 46 | - Router or table saw 47 | - Jigsaw 48 | - Metal brake 49 | - 3d printer 50 | 51 | A 3d printer, CNC machine, or laser cutter greatly increases your ability to create custom robot designs. For most teams, buying a CNC or laser cutter is way beyond their budget, but you might be able to get access to one through school, local college, or nearby makerspace. 52 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/connectors-and-wires.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Connectors and Wires 4 | ==================== 5 | 6 | There are many types of connectors for use in FTC\ |reg|. Here are the most common connectors you will find on an FTC robot. 7 | 8 | .. glossary:: 9 | 10 | Anderson PowerPole 11 | Anderson PowerPole is a connector used by AndyMark on their :term:`NeveRest motors `. PowerPole connectors are very reliable and recommended for teams. In addition, there are adapters available to other systems. 12 | 13 | .. image:: images/wiring/powerpole-connector.png 14 | :alt: A powerpole connector 15 | :width: 200px 16 | 17 | XT30 18 | The XT30 connector is used in the REV ecosystem through the Expansion or Control Hub. The XT30 through the REV Slim Battery provides power to the Expansion Hub, and teams will need an XT30 cable to transfer power from the main hub to a secondary hub. This is also the connector used on the :term:`REV Grounding Strap `. 19 | 20 | .. image:: images/wiring/xt30-connector.png 21 | :alt: A XT30 connector 22 | :width: 200px 23 | 24 | JST-VH 25 | JST-VH is a type of connector used by FTC motors to interface with the REV Expansion Hub. It is keyed and locks into place for improved reliability. 26 | 27 | .. image:: images/wiring/jst-vh-connector.png 28 | :alt: A JST-VH connector 29 | :width: 200px 30 | 31 | Dupont 0.1" 32 | 33 | .. image:: images/wiring/dupont-connector.png 34 | :alt: A Dupont 0.1" connector 35 | :width: 200px 36 | 37 | A small pinheader connector commonly used on servos and on some sensors. 38 | 39 | JST-PH 40 | JST-PH is a type of connector. For FTC, the 3-pin and 4-pin options will be used most often. On the REV Control/Expansion Hubs, the 4-pin connector is used for encoder, I2C, analog, and digital connections. The 3-pin connector is used for the RS-485 connection between the Control Hub and Expansion Hub. 41 | 42 | .. image:: images/wiring/jst-sensor-connectors.png 43 | :alt: JST-PH and JST-XH connectors 44 | :width: 200px 45 | 46 | JST-XH 47 | JST-XH connectors are used for the encoder connections on goBILDA (MATRIX) and Andymark NeveRest motors. Both vendors sell adapters from JST-XH to the :term:`JST-PH` encoder ports on the REV Control/Expansion Hubs. These connectors are also occasionally found on some third party sensors. 48 | 49 | Tamiya 50 | Used in some third party boards. Do not use these connectors! The metal connectors are fragile and will lead to random disconnects. 51 | 52 | .. image:: images/wiring/tamiya-connector.png 53 | :alt: A Tamiya connector 54 | :width: 200px 55 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/control-system/ch-wiring-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/control-system/ch-wiring-diagram.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/control-system/exh-wiring-diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/control-system/exh-wiring-diagram.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/control-system/mr-wiring-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/control-system/mr-wiring-diagram.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/glossary/grounding-strap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/glossary/grounding-strap.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/glossary/otg-cable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/glossary/otg-cable.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/glossary/usb-retention-mount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/glossary/usb-retention-mount.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/tips-and-tricks/xt30-to-powerpole-adapter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/tips-and-tricks/xt30-to-powerpole-adapter.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/3736-electronics-on-plastic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/3736-electronics-on-plastic.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/7244-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/7244-wiring.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/731-wiring-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/731-wiring-1.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/731-wiring-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/731-wiring-2.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/8417-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/8417-wiring.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/bad-wiring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/bad-wiring.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/dupont-connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/dupont-connector.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/jst-sensor-connectors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/jst-sensor-connectors.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/jst-vh-connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/jst-vh-connector.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/powerpole-connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/powerpole-connector.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/tamiya-connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/tamiya-connector.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/images/wiring/xt30-connector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/images/wiring/xt30-connector.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/index.rst: -------------------------------------------------------------------------------- 1 | Electronics and Motion Components 2 | ================================= 3 | 4 | This chapter contains information on electric power and electronics of the robot, including information on wiring, batteries, motors, and control system. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | wiring 10 | connectors-and-wires 11 | control-system 12 | driver-station-guide 13 | motor-guide/index 14 | servo-guide/index 15 | sensor-glossary 16 | tips-and-tricks 17 | 18 | Glossary 19 | -------- 20 | 21 | .. glossary:: 22 | 23 | Gauge 24 | Wire gauge refers to the diameter of wire. AWG stands for American Wire Gauge, the general system used in the US. The larger the gauge number, the smaller the wire diameter. Generally, :term:`servo ` wires are 22 AWG and motor wires are 18 AWG. 25 | 26 | Grounding Strap 27 | The REV Grounding Strap is used to ground the metal frame of the robot to the :term:`XT30` port of the Expansion Hub. It is currently the only legal way to ground your robot. 28 | 29 | .. image:: images/glossary/grounding-strap.png 30 | :alt: A REV Robotics grounding strap 31 | :width: 200 32 | 33 | USB Retention Mount 34 | The USB Retention Mount, sold by REV, is a plastic part affixed to the Expansion Hub that relieves stress on the USB Mini port. This is especially important because if the USB cable is loose or disconnected, the robot phone cannot communicate with the Expansion Hub, causing a disconnect. 35 | 36 | .. note:: For teams using an expansion hub, it is highly recommended for teams to purchase the USB retention mount. 37 | 38 | .. image:: images/glossary/usb-retention-mount.png 39 | :alt: A USB retention mount attached to a REV Expansion Hub 40 | :width: 200 41 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/glossary/core-hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/glossary/core-hex.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/glossary/hd-hex-motor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/glossary/hd-hex-motor.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/glossary/rs-550-series-motor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/glossary/rs-550-series-motor.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/glossary/ultrahex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/glossary/ultrahex.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/glossary/yellow-jacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/glossary/yellow-jacket.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-hardware/planetary-gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-hardware/planetary-gearbox.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-hardware/spur-gearbox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-hardware/spur-gearbox.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-power/hd-hex-motor-curve-12V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-power/hd-hex-motor-curve-12V.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-power/matrix-motor-curve-12V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-power/matrix-motor-curve-12V.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-power/neverest-motor-curve-12V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-power/neverest-motor-curve-12V.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/images/motor-power/torquenado-motor-curve-12V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/motor-guide/images/motor-power/torquenado-motor-curve-12V.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Motor Guide 4 | =========== 5 | 6 | 12 volt DC motors are main drivers of FTC\ |reg| robots. They are used for powering the drivetrain, intakes, lifts, and other mechanisms. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | choosing-motor 12 | gearbox-anatomy 13 | wiring-mounting-motors 14 | motor-power 15 | motor-glossary 16 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/motor-guide/motor-glossary.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Motor Glossary 4 | ============== 5 | 6 | .. glossary:: 7 | 8 | Core Hex Motor 9 | The Core Hex Motor, sold by REV, is different from the standard :term:`RS-555 series motors ` that are generally used by FTC\ |reg| teams. It features a 90 degree orientation and does not contain an output shaft. Thus, teams will have to cut 5 mm hex shaft to length as needed. The Core Hex motor has a slow gear ratio (72:1), and is not as powerful as the RS-555 series motor. 10 | 11 | .. warning:: We advise teams to go against the Basic Bot Guide provided by *FIRST*\ |reg|, as Core Hex Motors should NOT be used to power drivetrains. 12 | 13 | .. image:: images/glossary/core-hex.png 14 | :alt: A REV Robotics Core Hex motor 15 | :width: 200 16 | 17 | HD Hex Motor 18 | The HD Hex motor, sold by REV Robotics, is a :term:`RS-555 series motor ` with spur gear and planetary gearbox options. The motor has a 5mm hex output shaft compatible with REV's motion system. 19 | 20 | .. image:: images/glossary/hd-hex-motor.png 21 | :alt: A REV Robotics HD Hex motor 22 | :width: 200 23 | 24 | NeveRest Motor 25 | The NeveRest Motor, sold by AndyMark, is a :term:`RS-555 series motor ` that is available in spur gear and planetary options. It has a 6mm D-shaft output compatible with Actobotics motion system. 26 | 27 | Yellow Jacket Motor 28 | Yellow Jacket motors are the :term:`RS-555 series motor ` and :term:`planetary gearbox ` sold by goBILDA. It has a :term:`6mm D-shaft ` and is available in many different :term:`gear ratios ` from 3.7:1 up to 188:1. 29 | 30 | .. image:: images/glossary/yellow-jacket.png 31 | :alt: A Yellow Jacket motor 32 | :width: 200 33 | 34 | UltraHex 35 | UltraHex is 1/2" aluminum hex :term:`shafting ` sold by REV Robotics. There is an inner 5 mm hex :term:`bore ` in the middle, which allows compatibility with REV's 5 mm hex shaft motion system. The 5mm hex bore also allows for a 1/4-20 or M6 screw to be tapped into it. 1/2" hex is also compatible with many FRC\ |reg| vendors. 36 | 37 | .. image:: images/glossary/ultrahex.png 38 | :alt: A piece of ultrahex shaft 39 | :width: 200 40 | 41 | RS-550 Series Motor 42 | The RS-555 series motor is the standard motor in FTC. It forms the base for the :term:`Andymark NeveRest `, :term:`REV HD Hex `, and :term:`goBILDA Yellow Jacket ` motors. 43 | 44 | .. image:: images/glossary/rs-550-series-motor.png 45 | :alt: A RS-555 motor, in the form of a bare NeveRest motor 46 | :width: 200 47 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/images/compact_servo_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/servo-guide/images/compact_servo_block.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/images/glossary/servo-power-module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/servo-guide/images/glossary/servo-power-module.png -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/images/hs488.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/servo-guide/images/hs488.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/images/linkage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/servo-guide/images/linkage.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/images/servoblock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/power-and-electronics/servo-guide/images/servoblock.jpg -------------------------------------------------------------------------------- /source/docs/power-and-electronics/servo-guide/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Servo Guide 4 | =========== 5 | 6 | .. admonition:: Term 7 | 8 | .. glossary:: 9 | 10 | Servo 11 | a small DC motor attached to servo gears that is very finely controllable and interfaces via a 3 wire PWM connector. Servos are used in FTC\ |reg| for high-precision applications that are low-load - for example, opening a trapdoor for balls to fall through. Typically servos have limited range of rotation (180\ |deg| is common). The output has splines, which are the rigid teeth that are on top of the servo. 12 | 13 | Servos are commonly used in RC cars (steering) and RC planes (moving ailerons). In FTC, servos are typically used for claws, grabbers, and arms. 14 | 15 | .. figure:: images/hs488.jpg 16 | :alt: HS488 Hitec servo 17 | 18 | A common servo, HS488-HB from Hitec 19 | 20 | .. note:: Servos are **NOT** replacements for DC motors, and should not be used as such. Servos are made for fine-tuned and accurate movement, not high-load or fast rotation applications. 21 | 22 | There are many servos from different manufacturers, which vary widely in price, performance and value. Fortunately, virtually all servos use the standard 3-wire connector, and accept the same kind of controlling signal (PWM signal at 50 hz). Each REV Expansion Hub provides 6 servo ports, so you can plug in a servo from any manufacturer. Also, there is a standard size for servos for FTC use, so mounts can be interchanged between manufacturers. 23 | 24 | Commonly used servos used in FTC are the REV Smart Servo and goBILDA Dual mode Servos (`25-2 `_) and (`25-3 `_), but you should check out other servos as well. Picking the right servo for your application is a question that's almost impossible to give a blanket answer for. To learn more, please read the :doc:`choosing-servo` section. 25 | 26 | The most prevalent problem with servos is durability. Internal servo gears in cheaper servos strip easily when subjected to shock loads. Servos are also poor at handling lateral loads or bending of the shaft. To avoid having to frequently replace servos, choose ones with metal gears and use :term:`Servoblocks` or your kit's equivalent to prolong longevity. 27 | 28 | .. toctree:: 29 | :maxdepth: 1 30 | 31 | choosing-servo 32 | usage-tips 33 | -------------------------------------------------------------------------------- /source/docs/power-and-electronics/tips-and-tricks.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Tips and Tricks 4 | =============== 5 | 6 | In addition to what is written in the official resources, there are a couple of additional tips. 7 | 8 | The traditional :term:`XT30` connector that is used to REV is prone to breaking. It is highly recommended that teams replace :term:`XT30` connectors with :term:`Anderson PowerPole`, or put adapters on their current wires. An example of an adapter is `this `_. In lieu of this, teams can also 3D print strain relief connectors on the Expansion Hub to prevent :term:`XT30` disconnects. The file can be found on Thingiverse or through this `link `_. 9 | 10 | .. figure:: images/tips-and-tricks/xt30-to-powerpole-adapter.jpg 11 | :alt: An example Anderson Powerpole to XT30 adapter 12 | 13 | An example :term:`Anderson PowerPole` (A) to :term:`XT30` (B) adapter. They can be found at `ServoCity `_ or `REV Robotics `_. 14 | 15 | The Tamiya connectors found on many of the FTC\ |reg| legal batteries are very weak and prone to becoming unreliable after many repeated plug/unplug cycles. It is recommended that teams crimp new :term:`Anderson PowerPole` connectors onto the battery. 16 | 17 | It is highly recommended for teams to use the `REV grounding strap `_ and the `REV USB strain relief `_ to help prevent disconnections. 18 | 19 | To protect wires, teams often use `wire loom `_, and to help wires extend far, teams often use cable carrier (also known as cable chain). 20 | -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/images/control-system-internals/android-board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/adv-control-system/images/control-system-internals/android-board.jpg -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/images/control-system-internals/control-hub-internals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/adv-control-system/images/control-system-internals/control-hub-internals.jpg -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/images/control-system-internals/lynx-board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/adv-control-system/images/control-system-internals/lynx-board.jpg -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/images/sdk-motors/quadrature_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/adv-control-system/images/sdk-motors/quadrature_wave.png -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/images/sdk-servos/pwm-wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/adv-control-system/images/sdk-servos/pwm-wave.png -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/index.rst: -------------------------------------------------------------------------------- 1 | Advanced Control System 2 | ======================= 3 | 4 | This section covers advanced details about the SDK and control system. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | control-system-internals 10 | sdk-communication 11 | sdk-motors 12 | sdk-servos 13 | sdk-sensors 14 | lynx-module 15 | -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/lynx-module.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Lynx Module 4 | =========== 5 | 6 | The Lynx Module is an object that represents the Control Hub and Expansion Hub. One Lynx Module object is created per connected hub. 7 | 8 | General Explanation 9 | ------------------- 10 | 11 | Obtaining Lynx Module Object 12 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 13 | 14 | A list of connected Lynx Module objects can be obtained using ``hardwareMap.getAll(LynxModule.class);``. The Control Hub or the Expansion Hub connected to the phone via USB will have ``isMaster()`` set to true, and the hub connected over RS-485 will have it set to false. 15 | 16 | LED 17 | ^^^ 18 | 19 | The REV hub's LED can be set using ``setConstant()`` or ``setPattern()``. ``setConstant()`` sets a constant color to the LED, and ``setPattern()`` allows the user to define a pattern of colors for the REV hub to follow. 20 | 21 | Power 22 | ^^^^^ 23 | 24 | The total amount of current that the REV hub is pulling can be measured using ``getCurrent()``. This is the current pull of the 12V input in the specified units, so it includes everything connected to the hub as well as the hub itself. In addition, the input voltage to the expansion hub can be measured using ``getInputVoltage()``, which returns the battery voltage in the specified units. 25 | 26 | Bulk Reads 27 | ^^^^^^^^^^ 28 | 29 | Bulk reads can also be managed through the lynx module object. See :doc:`/docs/software/tutorials/bulk-reads` for more information on this. 30 | -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/sdk-communication.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | SDK Communication 4 | ================= 5 | 6 | When using any method in the FTC\ |reg| SDK that accesses hardware, be that setting motor power, reading an encoder, a sensor, etc., a LynxCommand is sent. 7 | 8 | .. note:: 9 | LynxCommands are not sent directly from the Robot Controller to an Expansion Hub through USB; in an expansion hub they are sent through USB to an FTDI, which converts the USB signal to a UART one. In the control hub, this USB step is skipped, instead the control hub board sends the data directly over UART to the internal expansion hub. 10 | 11 | .. warning:: 12 | LynxCommands being blocking (and more specifically a master lock being present on each usb device) means that multithreading hardware calls is at best not helpful and typically harmful to performance. 13 | 14 | If an Android phone and Expansion Hub is used, LynxCommands are sent over USB; however if a Control Hub is used, LynxCommands are sent over UART. This is very important, not just because of the increased reliability with UART instead of USB, but also because LynxCommands take approximately 3 milliseconds over USB and approximately 2 milliseconds over UART. 15 | 16 | Any expansion hubs connected via RS485 receive their commands via that connector. Lynx hubs do not have to retransmit packets, so the added latency from this process isn't significant, but there will be some added latency. Up to 255 expansion hubs can be connected together in theory. 17 | 18 | .. note:: 19 | 20 | Interacting with I2C devices takes significantly longer; upwards of 7 milliseconds over USB. However, this is not because each LynxCommand takes longer, but because multiple LynxCommands must be sent to interact with I2C. 21 | 22 | Please note that since version 5.5 of the SDK, I2C calls on the Control Hub are much faster than those on the Expansion Hub. This is because the polling rate was dramatically increased, which can cut down on unnecessary wasted time. 23 | -------------------------------------------------------------------------------- /source/docs/software/adv-control-system/sdk-sensors.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | SDK Sensors 4 | =========== 5 | 6 | The SDK offers several methods of controlling and communicating with sensors. 7 | 8 | General Explanation 9 | ------------------- 10 | 11 | I2C Explanation 12 | ^^^^^^^^^^^^^^^ 13 | 14 | I2C is a two wire serial communication bus that is designed to communicate with multiple devices. The two wires are the SCL, or clock line, and SDA, or data line. The REV hub connector also contains two more pins for 3.3v and GND. The protocol can address multiple devices using addresses, where the master device sends the address it is communicating with, then the data it wants to send. The device it is talking to then responds. This means any number of devices can be connected to one I2C port, so long as no two devices have the same I2C addresses. 15 | 16 | I2C has multiple speed specifications, but the REV hub supports both 100khz and 400khz communication standards. The specification also requires the lines to be pulled up, so the REV hub has dual 2.49 k\ |Omega| pull up resistors, negating the need for external pull up resistors. 17 | 18 | .. tip:: Devices generally have their I2C addresses hard coded, meaning they cannot be changed. Check the devices data sheet to make sure addresses will not conflict if connecting multiple I2C devices together. 19 | 20 | .. note:: I2C is often called slower than other forms of sensors. It is not inherently slower, but due to the way I2C communication works in the SDK it takes multiple commands to read one I2C sensor, which means one I2C read can take 2-3x longer than one digital or analog read. 21 | 22 | Analog Input 23 | ^^^^^^^^^^^^ 24 | 25 | Reads the input voltage to the expansion hub. These ports are the ONLY sensor ports that are 5v tolerant. 26 | 27 | Digital I/O 28 | ^^^^^^^^^^^ 29 | 30 | Digital I/O can be configured to either act as an INPUT, reading whether the port is HIGH or LOW, or an OUTPUT, sending HIGH or LOW signals. The digital input is pulled HIGH to prevent floating. 31 | 32 | .. note:: Floating occurs when you attempt to read from a digital input pin but the signal is disconnected or not pulled HIGH or to ground. As a result, the pin is considered "floating" and can have inconsistent results. To prevent this, a resistor bridges between the port and 3.3V, so that instead of floating the pin instead reads HIGH when nothing is connected. 33 | 34 | .. danger:: When wiring limit switches or other digital devices, DO NOT connect the limit switch to 3.3V and the digital port, like most datasheets recommend. Instead, the REV hub expects a connection between GROUND and the digital pin. **Connecting between 3.3V and the digital pin may cause instability or the hub to die.** 35 | -------------------------------------------------------------------------------- /source/docs/software/concepts/images/control-loops/trapezoidal-motion-profiling-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/concepts/images/control-loops/trapezoidal-motion-profiling-graph.png -------------------------------------------------------------------------------- /source/docs/software/concepts/images/odometry/coordinate-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/concepts/images/odometry/coordinate-frame.png -------------------------------------------------------------------------------- /source/docs/software/concepts/images/odometry/offsets-and-trackwidth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/concepts/images/odometry/offsets-and-trackwidth.png -------------------------------------------------------------------------------- /source/docs/software/concepts/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Programming Concepts 4 | ==================== 5 | Many of the pages here are on concepts that are not necessarily FTC\ |reg| specific, and are generally more theoretical then actual tutorials on FTC specific concepts. 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | 10 | control-loops 11 | finite-state-machines 12 | kinematics 13 | odometry 14 | -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/adb-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/adb-screenshot.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/as-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/as-layout.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/build-and-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/build-and-run.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/build-gradle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/build-gradle.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/check-for-updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/check-for-updates.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/clone-github-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/clone-github-desktop.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/code-project-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/code-project-structure.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/download-zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/download-zip.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/gradle-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/gradle-build.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/infinite-recursion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/infinite-recursion.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/logcat-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/logcat-window.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/new-java-class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/new-java-class.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/open-with-gh-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/open-with-gh-desktop.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/opening-as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/opening-as.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/save-to-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/save-to-computer.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/sdk-manager-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/sdk-manager-icon.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/select-project-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/select-project-view.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/select-the-sdk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/select-the-sdk.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/images/using-android-studio/terminal-logcat-location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/getting-started/images/using-android-studio/terminal-logcat-location.png -------------------------------------------------------------------------------- /source/docs/software/getting-started/index.rst: -------------------------------------------------------------------------------- 1 | Getting Started 2 | =============== 3 | 4 | Basic information for starting out on your programming journey. 5 | 6 | `Check out the official FTC SDK Example Programs here! `_ 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | fundamental-concepts 12 | options-for-programming 13 | linear-opmode-vs-opmode 14 | common-hardware-components 15 | using-android-studio 16 | common-issues 17 | -------------------------------------------------------------------------------- /source/docs/software/getting-started/linear-opmode-vs-opmode.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | LinearOpMode vs OpMode 4 | ====================== 5 | 6 | There are two OpMode classes within the FTC\ |reg| SDK: ``OpMode`` and ``LinearOpMode``. The one you use affects how you write the program. For examples of how to use OpMode and LinearOpMode, `refer to the example OpModes in the SDK `_. 7 | 8 | LinearOpMode Methods 9 | -------------------- 10 | 11 | - ``runOpMode()``: Code inside this method will run exactly once after you press the INIT button. This is where you should put all code for the OpMode. 12 | - ``waitForStart()``: This method pauses the Op-Mode until you press the START button on the driver station. 13 | - ``isStarted()``: returns ``true`` if the START button has been pressed, otherwise it returns ``false``. 14 | - ``isStopRequested()``: returns ``true`` if the STOP button has been pressed, otherwise it returns ``false``. 15 | - ``idle()``: calls ``Thread.yield``, allowing other threads at the same priority level to run. 16 | - ``opModeIsActive()``: returns ``isStarted() && !isStopRequested()`` and calls ``idle()``. 17 | - ``opModeInInit()``: returns ``!isStarted() && !isStopRequested()`` and does not call ``idle()``. 18 | 19 | OpMode Methods 20 | -------------- 21 | 22 | - ``init()``: Code inside this method will run exactly once after you press the INIT button on the driver station. 23 | - ``init_loop()``: Once the code in ``init()`` has been run, code inside this method will run continuously until the START button is pressed on the driver station. 24 | - ``start()``: Code inside this method will run exactly once after you press the START button on the driver station. 25 | - ``loop()``: Once the code in ``start()`` has been run, code inside this method will run continuously until the STOP button is pressed on the driver station. 26 | - ``stop()``: Code inside this method will run exactly once after you press the STOP button on the driver station. 27 | 28 | .. note:: As of SDK version 8.1, when executing ``OpMode``\ s there is a negligible delay of one millisecond between calls of ``loop()``. Previously, it had unpredictable delays, however since 8.1 it is similarly performant to ``LinearOpMode``. 29 | 30 | Conclusion 31 | ---------- 32 | 33 | Overall, the use of ``LinearOpMode`` or ``OpMode`` is up to preference. |gm0| uses ``LinearOpMode`` everywhere for consistency. 34 | 35 | -------------------------------------------------------------------------------- /source/docs/software/images/control-system-internals/control-hub-internals.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/control-system-internals/control-hub-internals.jpg -------------------------------------------------------------------------------- /source/docs/software/images/control-system-internals/lynx-board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/control-system-internals/lynx-board.jpg -------------------------------------------------------------------------------- /source/docs/software/images/gamepad/logitech-f310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/gamepad/logitech-f310.png -------------------------------------------------------------------------------- /source/docs/software/images/gamepad/ps4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/gamepad/ps4.png -------------------------------------------------------------------------------- /source/docs/software/images/gamepad/rising-falling-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/gamepad/rising-falling-edge.png -------------------------------------------------------------------------------- /source/docs/software/images/gamepad/xbox-360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/gamepad/xbox-360.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-1.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-2.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-3.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-4.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-5.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-blocks-sample-complete.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-directions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-directions.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-drive-force-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-drive-force-diagram.png -------------------------------------------------------------------------------- /source/docs/software/images/mecanum-drive/mecanum-worms-eye-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/mecanum-drive/mecanum-worms-eye-view.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/as-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/as-layout.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/build-and-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/build-and-run.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/build-gradle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/build-gradle.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/check-for-updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/check-for-updates.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/clone-github-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/clone-github-desktop.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/code-project-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/code-project-structure.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/download-zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/download-zip.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/gradle-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/gradle-build.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/infinite-recursion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/infinite-recursion.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/logcat-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/logcat-window.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/new-java-class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/new-java-class.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/open-with-gh-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/open-with-gh-desktop.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/opening-as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/opening-as.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/save-to-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/save-to-computer.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/sdk-manager-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/sdk-manager-icon.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/select-project-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/select-project-view.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/select-the-sdk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/select-the-sdk.png -------------------------------------------------------------------------------- /source/docs/software/images/using-android-studio/terminal-logcat-location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/images/using-android-studio/terminal-logcat-location.png -------------------------------------------------------------------------------- /source/docs/software/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Software 4 | ======== 5 | 6 | This section covers the basics of software for FTC\ |reg|. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | getting-started/index 12 | tutorials/index 13 | concepts/index 14 | adv-control-system/index 15 | software-glossary 16 | -------------------------------------------------------------------------------- /source/docs/software/software-glossary.rst: -------------------------------------------------------------------------------- 1 | Software Glossary 2 | ================= 3 | 4 | .. glossary:: 5 | 6 | Disconnect 7 | A disconnect (DC) is when, for any reason, the robot is not able to be controlled from the gamepad. This can happen for many reasons - static buildup on the robot, a loose cable, or an error in code. 8 | 9 | Generally, most DCs are caused by improper wiring, so wire stress relief is encouraged for all teams (:term:`USB Retention Mount`). They can also be caused by WiFi disconnects, or an ESD (electrostatic discharge) shock to the electronics. 10 | 11 | Driver Station 12 | The Driver Station (DS) refers to both the software and device that is used by the drive team and connects to the gamepad(s). The device can either be one of the Android phones specified in |gm1| or a REV Robotics Driver Hub. 13 | 14 | Robot Controller 15 | The Robot Controller (RC) refers to both the software and device that is on the robot that controls it. This can either be a REV Robotics Control Hub or one of the Android phones specified in |gm1| connected to an Expansion Hub via a Micro USB cable. 16 | -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/control-loops/trapezoidal-motion-profiling-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/control-loops/trapezoidal-motion-profiling-graph.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/arm-opmode-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/arm-opmode-1.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/arm-opmode-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/arm-opmode-2.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/arm-opmode-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/arm-opmode-3.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/arm-opmode-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/arm-opmode-complete.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-1.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-2.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-3.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-4.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-5.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/encoder-opmode-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/encoder-opmode-complete.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/spool-encoder-opmode-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/spool-encoder-opmode-1.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/encoders/spool-encoder-opmode-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/encoders/spool-encoder-opmode-complete.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/gamepad/logitech-f310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/gamepad/logitech-f310.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/gamepad/ps4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/gamepad/ps4.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/gamepad/rising-falling-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/gamepad/rising-falling-edge.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/gamepad/xbox-360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/gamepad/xbox-360.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-1.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-2.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-3.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-4.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-5.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-blocks-sample-complete.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-directions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-directions.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-force-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-drive-force-diagram.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/mecanum-drive/mecanum-worms-eye-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/mecanum-drive/mecanum-worms-eye-view.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/odometry/coordinate-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/odometry/coordinate-frame.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/images/odometry/offsets-and-trackwidth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gamemanual0/gm0/4af1e3dcb4f438b66d74669302c4e85da1b07e49/source/docs/software/tutorials/images/odometry/offsets-and-trackwidth.png -------------------------------------------------------------------------------- /source/docs/software/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | .. include:: 2 | 3 | Tutorials 4 | ========= 5 | 6 | Tutorials for common FTC\ |reg| programs. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | mecanum-drive 12 | gamepad 13 | using-telemetry 14 | encoders 15 | bulk-reads 16 | vision 17 | -------------------------------------------------------------------------------- /source/docs/software/tutorials/using-telemetry.rst: -------------------------------------------------------------------------------- 1 | Using Telemetry 2 | =============== 3 | 4 | The SDK has "telemetry" that can be sent from the robot controller to the drivers station to display basic text. This telemetry is accessible through the ``Telemetry`` class, and the ``telemetry`` variable accessible in both OpMode and LinearOpMode. 5 | 6 | Building Telemetry 7 | ------------------ 8 | 9 | There are two main methods used to add things to telemetry. ``addData()`` takes two parameters, a string for the caption, and then a value that can be any object. This is then printed on the phone screen in the format ``caption : value``. These lines are keyed, so adding a secondary ``addData()`` with the same caption will override the value set. 10 | 11 | .. code:: 12 | 13 | telemetry.addData("Caption 1", 2.5); 14 | telemetry.addData("Caption 2", "value"); 15 | 16 | The second method used to add things to telemetry is ``addLine()``. Add line can be used to add a line with no parameters, or can take a single string to add as a line. 17 | 18 | .. code:: 19 | 20 | telemetry.addLine("This is a line!"); 21 | 22 | Updating Telemetry 23 | ------------------ 24 | 25 | Once all telemetry items have been added (typically at the end of an opmode loop), ``telemetry.update()`` must be called. Calling this method is what pushes the values to the phone, so without it telemetry will not appear on the phone screen. Note that ``OpMode`` will call ``telemetry.update()`` automatically once per call of its ``loop``. 26 | 27 | .. tip:: By default, telemetry is only refreshed on the phone every 250 ms. Any calls to ``telemetry.update()`` during this window will be saved and overwritten if update() is called again before 250 ms have elapsed. ``setMsTransmissionInterval()`` may be used to change the amount of time the SDK will wait between sending updates to the driver station. 28 | --------------------------------------------------------------------------------