Back to Home

FTC Best Practices

A comprehensive guide to FTC best practices, compiled from team experiences and community knowledge. Share your own tips and feedback!

Best Practices Content

Chassis & Drivetrain

Frame Construction

Rigidity: Utilize strong, lightweight structural elements (e.g., aluminum extrusion like Gobilda, REV Robotics, Actobotics) to minimize frame flex and ensure consistent performance.

Low Center of Gravity (CoG): Design the chassis to keep the robot's CoG as low as possible for stability during rapid movements, turns, and impacts.

Component Protection: Integrate bumpers or structural elements to protect sensitive internal components (electronics, motors) from external collisions.

Modularity: Design with standardized hole patterns and modular components to facilitate easy assembly, modification, and repair.

Weight Distribution: Aim for balanced weight distribution, especially for mecanum drives, to ensure consistent traction and maneuverability.

Drive Motors & Gearing

Motor Selection: Use FTC-legal motors (e.g., REV HD Hex, Gobilda Yellow Jacket) with appropriate torque and speed characteristics for the drivetrain type and game strategy.

Gear Ratio Optimization: Select gear ratios that balance speed and pushing power. Calculate stall current and free speed to avoid motor burnout and optimize performance.

Secure Mounting: Mount motors securely using robust brackets to prevent rotation or displacement under load.

Power Transmission: Use high-quality gears, sprockets, and chains/belts. Ensure proper tensioning and alignment to prevent slippage and maximize efficiency.

Encoder Integration: Integrate motor encoders for precise distance and velocity control, crucial for autonomous navigation.

Wheel Selection & Configuration

Mecanum Wheels: Best for omnidirectional movement, offering high maneuverability. Requires precise weight distribution and coordinated motor control.

Omni Wheels: Can be used in combination with traction wheels for lateral movement or in an H-drive configuration for omnidirectional capability.

Traction Wheels: Provide maximum pushing power and grip, often used in tank drives. Consider tread material for optimal friction on the field.

Wheel Size: Choose wheel diameter based on desired speed (larger = faster, given same RPM) and ground clearance requirements.

Axle & Bearing Support: Ensure axles are properly supported by bearings (not just bushings) to reduce friction and improve durability.

Manipulators & Mechanisms

Intake Systems

Reliable Acquisition: Design for consistent and rapid acquisition of game elements, minimizing missed attempts or jamming.

Game Element Compatibility: Ensure the intake mechanism is specifically designed to handle the size, shape, and material of the game elements without damage.

Passive vs. Active: Consider if a passive intake (e.g., funnel) or an active intake (e.g., rollers, compliant wheels) is more effective for the game challenge.

Clearance & Protection: Design the intake to extend and retract safely within robot dimensions and be protected from impacts.

Scoring & Outtake Mechanisms

Accuracy & Repeatability: Optimize for precise and consistent placement of game elements into scoring zones or targets.

Speed & Efficiency: Minimize the time required to score, maximizing cycle times.

Multi-Position Capability: If the game requires scoring at different heights or orientations, design a mechanism that can adapt.

Robust Deployment: Ensure the mechanism can withstand repeated use and potential impacts without failure.

Lifting & Extension Systems

Stability & Rigidity: Use robust linear slides (e.g., telescopic, drawer slides, continuous rigging) or articulated arms that maintain stability even at full extension.

Power & Speed: Select motors and gearing that provide sufficient power to lift the mechanism and game elements quickly and reliably.

Control & Precision: Incorporate encoders and/or limit switches for accurate positioning and to prevent over-extension or collision.

Counterbalancing: Consider using springs, elastic bands, or counterweights to reduce the load on motors and improve efficiency.

Cable Management: Route power and sensor cables neatly to prevent snagging or damage during extension/retraction.

End Effectors (Grippers/Claws)

Secure Grip: Design for a firm, non-damaging grip on game elements.

Actuation Method: Choose between servo-actuated, motor-driven, or pneumatic systems based on required force, speed, and complexity.

Rapid Release: Ensure the end effector can quickly and reliably release game elements.

Compliance: Incorporate compliant materials or designs (e.g., 3D printed flexible parts, rubber padding) to adapt to slight variations in element position or shape.

Design

Deadwheel

Signal Synchronization: Connect to same hub to ensure synced signal

Installation Stability: Install to stable location

Installation Height: Optimum height should be 72mm

Holes

Punch Holes Size: 4.5mm holes is best practice

Custom Bases Quantity: Always keep enough holes in custom bases

Custom Design

Weight Minimization Goal: Minimize weight to improve machine speed

Weight Minimization Method: Best method through triangle design

Angle: Avoid sharp angle as much as possible, use chamfer to reduce risk of hurt during installation

Control System & Electronics

Wiring & Power Management

Emergency Stop: Ensure the main power switch is easily accessible and clearly marked.

Accidental Touch Prevention: Should be at location that is not easily to be mistakenly touched by human or any game artifacts

Control Hub & Peripherals

Secure Mounting: Mount the REV Control Hub/Expansion Hub securely, protecting it from impacts and vibrations.

Ventilation: Ensure adequate airflow around the hubs to prevent overheating.

Firmware Updates: Regularly update the firmware on all REV components to the latest version.

Wi-Fi Channel Selection: Optimize Wi-Fi channel selection to minimize interference at competition venues.

Sensor Integration

Strategic Placement: Mount sensors (e.g., IMU, color, distance, touch, encoders, vision cameras) in locations that provide reliable and unobstructed data.

Calibration: Calibrate all sensors (especially IMU, color sensors) before competition.

Noise Reduction: Shield sensor wires from motor wires to minimize electrical interference.

Data Fusion: Consider fusing data from multiple sensors (e.g., IMU and encoders for odometry) for more robust autonomous navigation.

Software & Programming

Code Structure & Best Practices

Modularity: Organize code into logical classes and methods (e.g., separate classes for drivetrain, intake, lift) to improve readability and maintainability.

Comments & Documentation: Use clear and concise comments to explain complex logic or non-obvious code sections.

Consistent Naming: Follow consistent naming conventions for variables, methods, and classes.

Version Control: Utilize Git (GitHub, GitLab) for collaborative development, tracking changes, and enabling rollbacks.

Telemetry: Make extensive use of telemetry for real-time debugging and monitoring robot state during matches.

Autonomous Programming

Robust Navigation: Implement advanced navigation techniques using encoders, IMU, and vision (e.g., AprilTags, OpenCV for object detection) for accurate and repeatable movement.

State Machines/Finite State Automata: Structure autonomous routines using state machines for clear, manageable, and debuggable logic.

Error Handling: Include mechanisms to handle minor deviations (e.g., missed game element, slight bump) to prevent complete failure of the routine.

Path Planning: Consider using advanced path planning libraries (e.g., Road Runner) for smooth and optimized trajectories.

Testing: Thoroughly test autonomous routines on a full-size field under various conditions.

TeleOp Programming

Intuitive Controls: Design driver controls to be intuitive and comfortable, allowing drivers to focus on strategy rather than complex button sequences.

Smooth Motion: Implement smooth acceleration/deceleration curves for drivetrain and manipulators to prevent jerky movements and improve control.

Driver Feedback: Provide telemetry or visual cues (e.g., LED patterns) to inform drivers about robot state, sensor readings, or mechanism positions.

Macro Functions: Implement macro functions for complex, repeatable actions (e.g., 'score high pole') to reduce driver workload.

Dead Zones & Sensitivity: Tune joystick dead zones and sensitivity curves to match driver preferences and prevent accidental inputs.

Debugging & Optimization

Systematic Debugging: Approach debugging systematically, isolating issues and testing small changes.

Logging: Implement logging (e.g., writing to a file on the Control Hub) for detailed post-match analysis of robot behavior.

Performance Profiling: Identify and optimize performance bottlenecks in code, especially for time-critical operations.

Unit & Integration Testing: Test individual code components (unit testing) and how they interact (integration testing) to catch errors early.

Team Process & Strategy

Game Analysis & Strategy Development

Thorough Manual Review: Read and re-read the game manual immediately upon release, paying attention to scoring elements, penalties, and robot rules.

Scoring Prioritization: Identify the most efficient and highest-value scoring opportunities. Prioritize robot functions based on these.

Alliance Strategy: Develop strategies that consider potential alliance partners and their robot capabilities, as well as opponent strategies.

Autonomous & TeleOp Synergy: Design autonomous routines that seamlessly transition into TeleOp, setting up the robot for immediate scoring.

Risk Assessment: Evaluate the risks associated with complex mechanisms or strategies and have backup plans.

Design & Iteration Cycle

CAD (Computer-Aided Design): Utilize CAD software (e.g., Onshape, Fusion 360, SolidWorks) for detailed design, assembly, and interference checking before physical construction.

Prototyping: Build quick, low-fidelity prototypes to test concepts and validate designs before committing to final construction.

Iterative Design: Embrace a continuous cycle of design, build, test, and refine. Don't be afraid to scrap a design that isn't working.

Documentation: Maintain a detailed Engineering Notebook documenting design decisions, challenges, solutions, and testing results.

Team Organization & Communication

Role Assignment: Clearly define roles and responsibilities within the team (e.g., mechanical, electrical, software, strategy, notebook).

Regular Meetings: Hold regular meetings to discuss progress, challenges, and next steps.

Effective Communication: Foster open and respectful communication among team members and with mentors.

Mentorship: Leverage mentor expertise in various fields (engineering, programming, project management).

Testing & Maintenance

Comprehensive Testing: Conduct thorough testing of all robot functions, both individually and as an integrated system, on a practice field.

Durability Testing: Subject the robot to realistic competition conditions to identify weak points and potential failure modes.

Preventative Maintenance: Establish a routine for checking fasteners, wire connections, motor mounts, and moving parts before and after each competition day.

Spare Parts: Maintain an organized inventory of spare parts for critical components (motors, wheels, sensors, structural elements).

Community Feedback & Additional Practices

Share your own best practices, tips, feedback, or suggestions. Your feedback will be sent directly to our team via email!

Community Comments