public SimpleDistanceDrivingStrategy(IEngine engine, IDistanceSensor distanceSensor) { Engine = engine; DistanceSensor = distanceSensor; InitializePropertyDefaults(); RefreshTimer = new Timer(100); RefreshTimer.Elapsed += TakeDrivingDecisions; }
public RadialDistanceSensor(RadialDistanceMap targetMap, BrickServo servoBrick, byte servoId, IDistanceSensor distanceBricklet) { Measurements = targetMap; ServoId = servoId; ServoBrick = servoBrick; DistanceSensor = distanceBricklet; SetupMeasurement(); SetupServo(); }
private void InitializeDevices() { Connection = new IPConnection(); Connection.Connect("localhost", 4223); ServoBrick = new BrickServo("ap6zRki6edN", Connection); SetupServoBrick(); DistanceBricklet = new BrickletDistanceIR("8XU", Connection); var distanceCollection = new ClosestDistanceSensorCollection(); distanceCollection.AddSensor(new ImmediateDistanceIRSensor(DistanceBricklet)); Distances = distanceCollection; var drivingStrategy = new SimpleDistanceDrivingStrategy(Engine, Distances); drivingStrategy.MinimumDrivingDistance = 30.Centimeters(); drivingStrategy.ReversalDistance = 11.Centimeters(); drivingStrategy.RefreshInterval = 10; this.DrivingStrategy = drivingStrategy; }
public void AddSensor(IDistanceSensor sensor) { Sensors.Add(sensor); }