UAVToBaseInterface.java 1.57 KB
Newer Older
Julian Zobel's avatar
Julian Zobel committed
1
package de.tudarmstadt.maki.simonstrator.api.uavsupport.communication;
Julian Zobel's avatar
Julian Zobel committed
2

3
import de.tudarmstadt.maki.simonstrator.api.Host;
4
import de.tudarmstadt.maki.simonstrator.api.component.overlay.OverlayMessage;
Levent Görgü's avatar
Levent Görgü committed
5
import de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Cluster;
6
import de.tudarmstadt.maki.simonstrator.api.component.sensor.location.Location;
7
import de.tudarmstadt.maki.simonstrator.api.uavsupport.Actuator;
Julian Zobel's avatar
Julian Zobel committed
8
import de.tudarmstadt.maki.simonstrator.api.uavsupport.strategy.UAVStrategy;
Julian Zobel's avatar
Julian Zobel committed
9

Julian Zobel's avatar
Julian Zobel committed
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * UAV-Side: Direct communication/interaction interface between UAV and Base
 * Station when the UAV is landed.
 * 
 * 
 * @author Julian Zobel
 *
 * @param <T>
 *            Type of data messages in the DTN
 * @param <S>
 *            Type of monitoring information from monitoring
 */
Levent Görgü's avatar
Levent Görgü committed
22
public interface UAVToBaseInterface<T extends OverlayMessage, S extends Location, U extends Cluster> {
Julian Zobel's avatar
Julian Zobel committed
23

Levent Görgü's avatar
Levent Görgü committed
24
	public void connectToBase(BaseToUAVInterface<T, S, U> base);
Julian Zobel's avatar
Julian Zobel committed
25
26
27
28
29

	public void setStrategy(UAVStrategy strategy);

	public void startStrategy();

30
	public ConnectionInformation getConnectionInformation();
31
32
33
34

	public Actuator getActuatorAccess();

	public double getReturnThreshold();
35
36

	public Host getHost();
37

Niklas-Stoehr's avatar
Niklas-Stoehr committed
38
39
40
	public double getCurrentFlightDistance(double velocity);

	public double getMaximumFlightDistance(double monitorSpeed);
41
42

	public double getOptimalSpeed();
43
44
45

	public AerialCommunication getAerialGroundCommunicationComponent();

46
47
	public boolean hasAerialGroundCommunicationComponent();

48
	public AerialCommunication getAerialGroundMonitoringComponent();
49
50

	public boolean hasAerialGroundMonitoringComponent();
Julian Zobel's avatar
Julian Zobel committed
51
}