StartingConfiguration

Revamped implementation of StartingPositions which instead uses a builder and poses to determine where a robot may start against the alliance wall. This system is more dynamic compared to StartingPositions, which restricts the starting positions to only 4 options based on the CENTERSTAGE randomisation objective.

In games such as 2024-2025 INTO THE DEEP, there are no longer strict starting positions, and instead can be along any legal zone on the alliance wall. This class allows an alliance to be selected, then a Field Tile dimension to translate across the back wall. This process is exposed as a static builder and allows unlimited customisation of pose data while maintaining readability.

Author

Lucas Bubner, 2024

Since

4.1.0

See also

Types

Link copied to clipboard

Represents the player alliance of the robot.

Link copied to clipboard
Link copied to clipboard

Represents the bias or placement of the robot parallel to the field wall.

Link copied to clipboard
data class Position @JvmOverloads constructor(val alliance: StartingConfiguration.Alliance, val origin: StartingConfiguration.Origin, val backwardTranslation: Measure<Distance>, val horizontalTranslation: Measure<Distance>, val ccwRotation: Measure<Angle>, val flags: Set<Any> = emptySet())

Represents a position that a robot is able to start a match in.

Functions

Link copied to clipboard

Create a new StartingConfiguration.Position with an origin on the BLUE alliance with a LEFT origin.

Link copied to clipboard

Create a new StartingConfiguration.Position with an origin on the BLUE alliance with a RIGHT origin.

Link copied to clipboard

Create a new StartingConfiguration.Position with an origin on the RED alliance with a LEFT origin.

Link copied to clipboard

Create a new StartingConfiguration.Position with an origin on the RED alliance with a RIGHT origin.