Example #1
0
def cost_m(x, trgt_cpts, p0, v0, psi0, dt, params):
    """Cost function for the monitoring trajectory
    """
    pt = Bezier(trgt_cpts, tf=dt)
    y = reshape_m(x, p0, v0, psi0, dt, params.deg, trgt_cpts[:, -1],
                  params.innerR)
    p = Bezier(y, tf=dt).elev(params.degElev)
    pdot = p.diff()

    #    if np.any((pdot*(pt-p)).cpts < 0):
    #        return 99999

    costPts = ((pt.y - p.y) * pdot.x - (pt.x - p.x) * pdot.y).normSquare().cpts

    #    if np.sign(sum(pdot*(pt-p)))

    return sum(costPts.squeeze())