public void measureAndCollectObstacle(RadioactiveObstacle obstacle, double maxWeight, double maxSize) { // Per Lidar die größe des Objektes ermitteln // wenn Größe passend, dann // Greifer zum Objekt bewegen // Strahlung messen // wenn strahlung größer, dann // Gripper schließen // Gewicht des objektes abfragen über force Tranducer // Entscheiden ob es zu schwer/zu groß ist oder nicht // rückgabe wert true wenn das objekt bewegt werden kann || False wenn nicht double size = lidar.determineSize(obstacle); if (size <= maxSize) { support.extend(); grappler.openGripper(); grappler.move_to_target_position(obstacle.returnPosX(), obstacle.returnPosY()); double radiation = geiger.measureRadioactivity(obstacle); if (radiation >= 10) { grappler.closeGripper(); double weight = grappler.measureWeight(obstacle); if (weight <= maxWeight) { if ((this.currentLoad + weight) <= maxTransportWeight) { collectObstacle(weight); Console.WriteLine("RescueBot Load = {0}", this.currentLoad); premises.replaceWithStrongGround(obstacle.positionX, obstacle.positionY); } else { Console.WriteLine("Rescue bot is Full"); } } } } support.retract(); }
public double measureWeight(RadioactiveObstacle obstacle) { double weight = obstacle.returnWeight(); return(weight); }
public double measureRadioactivity(RadioactiveObstacle obstacle) { return(obstacle.returnRadiation()); }
public double measureWeight(RadioactiveObstacle obstacle) { return(forceTransducer.measureWeight(obstacle)); }