@author: alex """ from AlexRobotics.dynamic import Manipulator as M from AlexRobotics.control import DPO as DPO import matplotlib.pyplot as plt """ Define system """ # Define dynamic system R = M.OneLinkManipulator() # Define controller cost_function = 'quadratic' ValueIterationAlgo = DPO.ValueIteration1DOF( R , cost_function ) path = 'data/' ValueIterationAlgo.first_step() ValueIterationAlgo.load_data( path + 'R1' + cost_function ) #ValueIterationAlgo.compute_steps(200) ValueIterationAlgo.compute_steps(1) ValueIterationAlgo.save_data( path + 'R1' + cost_function ) # Plot Value Iteration Results ValueIterationAlgo.plot_raw() ValueIterationAlgo.plot_J_nice( 2 ) # Assign Controller ValueIterationAlgo.assign_interpol_controller()
x_start = np.array([-3.0, 0.0]) x_goal = np.array([0.0, 0.0]) ########################### # Create objects ########################### Robot = Manipulator.OneLinkManipulator() PD = linear.PD(kp=5, kd=2) PID = linear.PID(kp=5, kd=2, ki=4) CTC = ComputedTorque.ComputedTorqueController(Robot) SLD = ComputedTorque.SlidingModeController(Robot) RRT = RandomTree.RRT(Robot, x_start) VI = DPO.ValueIteration1DOF(Robot, 'quadratic') ############################ # Params ############################ tmax = 8 # max motor torque Robot.u_ub = np.array([tmax]) # Control Upper Bounds Robot.u_lb = np.array([-tmax]) # Control Lower Bounds RRT.x_start = x_start RRT.discretizeactions(3) RRT.dt = 0.1 RRT.goal_radius = 0.3 RRT.max_nodes = 5000 RRT.max_solution_time = 5 RRT.dyna_plot = True
from AlexRobotics.dynamic import simple1DOF as RD1 from AlexRobotics.control import DPO as DPO import matplotlib.pyplot as plt """ Define system """ # Define dynamic system pendulum = RD1.Pendulum() m = 0.5 l = 1 g = 9.8 pendulum.setparams(m, g, l) # Define controller cost_function = 'quadratic' ValueIterationAlgo = DPO.ValueIteration1DOF(pendulum, cost_function) path = 'data/' ValueIterationAlgo.first_step() ValueIterationAlgo.load_data(path + cost_function + 'pendulum') ValueIterationAlgo.compute_steps(1) ValueIterationAlgo.save_data(path + cost_function + 'pendulum') # Plot Value Iteration Results ValueIterationAlgo.plot_raw() # Assign Controller ValueIterationAlgo.assign_interpol_controller() """ Simulation and plotting """