t0 = 0
T = 60
kT = 0.1





for j in range(0,1):
    V0 = 0.5 + 0.05 * j


    target = Target(Xtg0, XtgT, d0)
    channel = Channel(Xbs, r0)
    uav = UAV(V0, X0, h)
    uav.setmission(target, channel, kappa, epsilon)


    X = np.zeros((int((T - t0) / h) + 1,2))
    Psi = np.zeros((int((T - t0) / h) + 1,2))
    t = np.zeros(int((T - t0) / h) + 1)
    u = np.zeros(int((T - t0) / h) + 1)
    gamma = 0
    i = 0
    gamma = -np.pi / 2
    for s in np.arange(t0, T + h, h):
        #if s < T/2:
        #    gamma = gamma - 2.0 * np.pi * h / T
        #else:
        #    gamma = gamma + 2.0 * np.pi * h / T
        gamma = gamma + 2.0 * np.pi * h / T
Xbs = np.array([2.0,3.0])
Xtg = np.array([10.0, -2.0])
r0 = 7.0
d0 = 3.5
kappa = 0.05
epsilon = 0.05
V0 = 0.5
h = 0.1

t0 = 0
T = 60

target = Target(Xtg, d0)
channel = Channel(Xbs, r0)
uav = UAV(V0, X0, h)
uav.setmission(target, channel, kappa)

print(uav.u([0,0]))


X = np.zeros((int((T-t0)/h)+1,2))
t = np.zeros(int((T-t0)/h)+1)
u = np.zeros(int((T-t0)/h)+1)

gamma = -np.pi/2
i = 0
for s in np.arange(t0, T+h, h):
    gamma = gamma + 0.01
    t[i] = s
    x = uav.step(gamma)
    u[i] = uav.u(x)