public AutonomyHandler(AutonomyConfiguration configuration, ref TelemetryHandler telemetryHandler) { // Assign fields this.configuration = configuration; // Create localization logic localization = new MonteCarloLocalization(configuration); // Create robot robot = new Robot(configuration); // Create stopwatch stopwatch = new Stopwatch(); // Add telemetry callback telemetryHandler.TelemetryFeedbackProcessed += telemetryHandler_TelemetryFeedbackProcessed; // Create timer timer = new Timer(configuration.Interval); timer.Elapsed += timer_Elapsed; // Create algorithms depositionAlgorithm = new Deposition(configuration); lowRiskLocalizationAlgorithm = new LowRiskLocalization(configuration); // Create static state staticOutput = new Dictionary<CommandFields, short>(); staticOutput[Comms.CommandEncoding.CommandFields.Mode] = 1; staticOutput[Comms.CommandEncoding.CommandFields.FrontCameraState] = 0; staticOutput[Comms.CommandEncoding.CommandFields.BucketCameraState] = 0; staticOutput[Comms.CommandEncoding.CommandFields.RearCameraState] = 0; }
public Robot(AutonomyConfiguration configuration) : base() { // Set configuration this.configuration = configuration; // Set initial zone this.expectedZone = Zone.Starting; }
public MonteCarloLocalization(AutonomyConfiguration configuration) { // Assign fields this.configuration = configuration; // Initialize random number generator MathHelper.random = new Random((int)DateTime.Now.Ticks); // Initialize field field = new Field(FieldWidth, FieldHeight, DigX, ObstacleX, configuration.WallMargin); }
public Deposition(AutonomyConfiguration configuration) { // Assign fields this.configuration = configuration; this.turnDirection = TurnDirection.Right; }
public LowRiskLocalization(AutonomyConfiguration configuration) { this.configuration = configuration; this.turnDirection = TurnDirection.Right; }
public PotentialFieldTraversal(AutonomyConfiguration configuration) { // Assign fields this.configuration = configuration; // Set state }