Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

error

JavaAndroid StudioGradleFTC #14251

FTC #14521 Team Repository - Practice Bot "Error"

Overview

This repository contains the code for our practice FTC robot, "Error.", 'Extra, Ready, Robot, Opperated Remotly.' The goal is to create a beginner-friendly foundation that new team members, or team members less experienced with programming for FTC, or FIRST, can use to understand the basic concepts of programming an FTC robot. This template includes the initialization and control of motors and servos, allowing you to easily adapt and modify it for both TeleOp and Autonomous operation modes.

Folder Structure

TeamCode: This is the folder where all the robot control code is placed. The main file in this repository is Error.java, which serves as a template to help you get started with writing robot programs.

Components Overview

Drive Train

The drive train includes four motors, controlling the movement of the robot:

frontRightMotor

backRightMotor

frontLeftMotor

backLeftMotor

These motors are controlled in initializeDriveTrain(), which sets up the direction, modes, and zero power behavior for each motor.

Claw Mechanism

The claw mechanism consists of two servos, leftClaw and rightClaw, as well as a motor called clawNodMotor to control the up and down movement of the claw.

Arm Mechanism

The arm mechanism includes:

armExtendMotor: To extend and retract the arm.

armTurnMotor: To rotate the arm.

leftArmMotor and rightArmMotor: For additional support.

All of these are initialized in initializeArm().

How to Use This Template

Clone the repository: To use this template, start by cloning the repository.

Set up your hardware configuration: Update the motor and servo names in the initializeDriveTrain(), initializeClaw(), and initializeArm() methods to match the configuration in the FTC Driver Station phone app.

Customize behavior: Modify the behavior of the robot by adding logic to control motors and servos in response to controller inputs or based on specific conditions during autonomous operation.

Recommended Resources for Beginners

FTC Programming Guide: A great resource for understanding the basic programming concepts in FTC.

Java Basics for FTC: Learn Java basics, which is the programming language used for FTC.

YouTube Tutorials: Many YouTube videos offer step-by-step guidance for programming and building FTC robots.

Contributing

This repository is meant to help our team members get up to speed with programming the practice bot. If you have any suggestions or improvements, feel free to contribute by creating a pull request.

Support

If you have questions, feel free to reach out during team practice sessions or contact one of the senior programmers, @torinriley or @cheesebroccoli

License

This code is shared under the MIT License. You are free to modify and share it, as long as you credit the original authors.

Happy coding, and let's make our robot the best it can be!


INTRO

About

FTC #14251's repository for our practice robot, ERROR: Extra Ready Robot Operated Remotely

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages