Beispiel #1
0
        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());
 }
Beispiel #4
0
 public double measureWeight(RadioactiveObstacle obstacle)
 {
     return(forceTransducer.measureWeight(obstacle));
 }