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