Robot Configuration
Connect physical robot hardware to the FTC software.
The robot configuration tells the FTC software what hardware is connected to your Control Hub or Expansion Hub.
Your Java code uses these configuration names to access hardware.
Creating a Configuration
Robot configurations are created through the Driver Station app.
The configuration contains:
- Motors
- Servos
- Sensors
- Expansion devices
Each device needs a unique name.
Example:
leftFront
rightFront
intakeMotor
clawServoMatching Names in Code
The name in your configuration must exactly match the name in your code.
Configuration:
intakeMotorCode:
intake = hardwareMap.get(
DcMotor.class,
"intakeMotor"
);These names must match exactly.
Control Hub vs Expansion Hub
FTC robots can use:
Control Hub
The main robot controller.
Provides:
- Built-in processor
- Motor ports
- Servo ports
- Sensor connections
Expansion Hub
Adds additional ports.
Used when a robot needs more hardware connections.
USB Connections
External devices may connect through USB.
Examples:
- Cameras
- Vision processors
- Other electronics
Make sure devices are connected correctly before running code.
Changing Configurations
Configurations may need to change when:
- Adding hardware
- Replacing devices
- Renaming components
- Testing mechanisms
After changing the configuration, update your code to match.
Initialization Errors
Common problems:
Wrong Name
Example:
Configuration:
driveLeftCode:
"leftDrive"The device will not be found.
Missing Device
The code expects hardware that is not configured.
Wrong Device Type
Example:
Servo servo = hardwareMap.get(
DcMotor.class,
"servo"
);The type must match the actual hardware.
Best Practices
- Use consistent naming.
- Name hardware based on its purpose.
- Avoid renaming devices unnecessarily.
- Keep a diagram of your robot wiring.
Example:
Hardware:
├── leftFrontMotor
├── rightFrontMotor
├── intakeMotor
└── clawServoKey Takeaways
- Robot configuration connects hardware and software.
- Names must match exactly.
- Hardware type must match the device.
- Most initialization problems come from configuration mistakes.
Was this resource helpful?
