package de.tudarmstadt.maki.simonstrator.api.uavsupport.communication; import de.tudarmstadt.maki.simonstrator.api.Host; import de.tudarmstadt.maki.simonstrator.api.component.overlay.OverlayMessage; import de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Cluster; import de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location; import de.tudarmstadt.maki.simonstrator.api.uavsupport.Actuator; import de.tudarmstadt.maki.simonstrator.api.uavsupport.strategy.UAVStrategy; /** * UAV-Side: Direct communication/interaction interface between UAV and Base * Station when the UAV is landed. * * * @author Julian Zobel * * @param * Type of data messages in the DTN * @param * Type of monitoring information from monitoring */ public interface UAVToBaseInterface { public void connectToBase(BaseToUAVInterface base); public void setStrategy(UAVStrategy strategy); public void startStrategy(); public ConnectionInformation getConnectionInformation(); public Actuator getActuatorAccess(); public double getReturnThreshold(); public Host getHost(); public double getCurrentFlightDistance(double velocity); public double getMaximumFlightDistance(double monitorSpeed); public double getOptimalSpeed(); public AerialCommunication getAerialGroundCommunicationComponent(); public boolean hasAerialGroundCommunicationComponent(); public AerialCommunication getAerialGroundMonitoringComponent(); public boolean hasAerialGroundMonitoringComponent(); }