Пример #1
0
def do_stuff_with_map(map):

    # the following code is exactly the same as in do_stuff_with_map in ROSstuff.py

    # setting the parameters for the STL specification generator
    time_bound = 20
    goal = (3, 1)
    accuracy = 0.25
    time_steps = time_bound + 1

    # setting the parameters for the optimizer
    initial_state = np.asarray([0.5, 0, 0.5, 0])[:, np.newaxis]
    u_guess = np.zeros((2, time_steps)).flatten()
    u_guess = np.asarray(
        [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
         [
             0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
             0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1
         ]])

    # optimization method
    method = 'Powell'

    my_reachavoid = ReachAvoid(map, time_bound, goal, accuracy)
    ax = my_reachavoid.return_region()
    my_finished_specification = my_reachavoid.full_spec

    my_optimizer = Optimizer(initial_state, my_finished_specification,
                             time_bound, time_steps, u_guess, ax)
    optimal_trajectory = my_optimizer.optimize(method)
    print("robustness: %s" % (my_optimizer.rho(optimal_trajectory)))
    my_optimizer.plot_trajectory(optimal_trajectory)

    print(my_reachavoid.full_spec)
Пример #2
0
def do_stuff_with_map(map):
    # setting the parameters for the STL specification generator
    time_bound = 20
    goal = (11.1, 8.8)
    accuracy = 0.45
    time_steps = time_bound + 1

    # setting the parameters for the optimizer
    initial_state = np.asarray([7.9, 0, 11, 0])[:, np.newaxis]
    u_guess = np.zeros((2, time_steps))

    # optimization method
    method = 'Nelder-Mead'

    my_reachavoid = ReachAvoid(map, time_bound, goal, accuracy)
    ax = my_reachavoid.return_region()
    my_finished_specification = my_reachavoid.full_spec

    my_optimizer = Optimizer(initial_state, my_finished_specification,
                             time_bound, time_steps, u_guess, ax)
    optimal_trajectory = my_optimizer.optimize(method)
    print("robustness: %s" % (my_optimizer.rho(optimal_trajectory)))
    my_optimizer.plot_trajectory(optimal_trajectory)