from src import ui, Simulator

WANT_UI = True

if __name__ == "__main__":
    if WANT_UI:
        ui()
    else:
        sim = Simulator()
        sim.run()
Esempio n. 2
0
if __name__ == "__main__":

    # Import model
    model = InvertedPendulum()

    # Set initial state [m, m/s, rad, rad/s]
    model.set_state(np.mat([[-0.3], [0.0], [0.1], [0.0]]))

    # Define controller
    controller = Control(model)

    # Set desired cart position (m)
    controller.set_desired_position(0.3)

    # Simulator
    sim = Simulator(model, controller)
    t, state_list = sim.simulate()

    # Plot data
    plt.figure()
    plt.subplot(2, 2, 1)
    plt.plot(t, state_list[:, 0])
    plt.xlabel("Time (s)")
    plt.ylabel("x (m)")
    plt.title("Cart position")
    plt.grid()
    plt.subplot(2, 2, 2)
    plt.plot(t, state_list[:, 1])
    plt.xlabel("Time (s)")
    plt.ylabel("xdot (m/s)")
    plt.title("Cart velocity")