def __init__(self, R=HM.HybridTwoLinkManipulator()):
        """ """

        RminComputedTorqueController.__init__(self, R)

        self.lam = 1  # Sliding surface slope
        self.D = 1  # Discontinuous gain
        self.nab = 0.1  # min convergence rate
    def __init__(self, R=HM.HybridTwoLinkManipulator(), R_index=0):
        """ """

        CTC.ComputedTorqueController.__init__(self, R)

        self.R_index = R_index  # Fixed gear ratio index

        # Integral action with dist observer (beta)
        self.dist_obs_active = False
        self.obs = OBS.DistObserver(R)
        self.obs.ishybrid = True
    def __init__(self, R=HM.HybridTwoLinkManipulator(), R_index=0):
        """ """

        CTC.ComputedTorqueController.__init__(self, R)

        self.R_index = R_index  # Fixed gear ratio index

        # Slding Params
        self.lam = 1  # Sliding surface slope
        self.D = 1  # Discontinuous gain
        self.nab = 0.1  # min convergence rate

        # Integral action with dist observer (beta)
        self.dist_obs_active = False
        self.obs = OBS.DistObserver(R)
        self.obs.ishybrid = True
    def __init__(self, R=HM.HybridTwoLinkManipulator()):
        """ """

        CTC.ComputedTorqueController.__init__(self, R)

        self.n_gears = 4

        self.hysteresis = False
        self.hys_level = 1
        self.last_gear_i = 0  # Default gear
        self.min_delay = -10000  # default is not constraint
        self.last_shift_t = -1

        # Integral action with dist observer (beta)
        self.dist_obs_active = False
        self.obs = OBS.DistObserver(R)
    def __init__( self , R = HM.HybridTwoLinkManipulator() ):
        """ """
        
        RCTC.RminSlidingModeController.__init__( self , R  )
        
        
        self.FixCtl = RCTC.RfixSlidingModeController( R )
        

        # Assign Rollout Controller to Simulation Model
        self.R.ctl = self.FixCtl.ctl
        
        # Rollout Params
        self.horizon = 1
        self.sim_dt  = 0.02
        self.sim_n   =  self.horizon / self.sim_dt + 1
        
        # Domain check in simulation?
        self.domain_check     = True
        self.domain_fail_cost = 1
# -*- coding: utf-8 -*-
"""
Created on Sun Mar  6 15:27:04 2016

@author: alex
"""

from AlexRobotics.dynamic import Hybrid_Manipulator as HM
from AlexRobotics.planning import RandomTree as RPRT
from AlexRobotics.control import RminComputedTorque as RminCTC

import numpy as np
import matplotlib.pyplot as plt

R = HM.HybridTwoLinkManipulator()

R.ubar = np.array([0, 0, 3])

x_start = np.array([3, 0, 0, 0])
x_goal = np.array([0, 0, 0, 0])

RRT = RPRT.RRT(R, x_start)

T = 5
#
RRT.U = np.array([[T, 0, 0], [0, 0, 0], [-T, 0, 0], [0, T, 0], [0, -T, 0],
                  [T, T, 0], [-T, -T, 0], [-T, T, 0], [T, -T, 0], [T, 0, 1],
                  [0, 0, 1], [-T, 0, 1], [0, T, 1], [0, -T, 1], [T, T, 1],
                  [-T, -T, 1], [-T, T, 1], [T, -T, 1], [T, 0, 2], [0, 0, 2],
                  [-T, 0, 2], [0, T, 2], [0, -T, 2], [T, T, 2], [-T, -T, 2],
                  [-T, T, 2], [T, -T, 2], [T, 0, 3], [0, 0, 3], [-T, 0, 3],
Esempio n. 7
0
# -*- coding: utf-8 -*-
"""
Created on Sun Mar  6 15:27:04 2016

@author: alex
"""

from AlexRobotics.dynamic  import Hybrid_Manipulator   as HM
from AlexRobotics.planning import RandomTree           as RPRT
from AlexRobotics.control  import RminComputedTorque   as RminCTC

import numpy as np
import matplotlib.pyplot as plt

R  =  HM.HybridOneLinkManipulator()


# Assign controller
Ctl                = RminCTC.RminSlidingModeController( R )
#Ctl                = RminCTC.RminComputedTorqueController( R )
#Ctl               = RminCTC.RfixSlidingModeController( R , 1 )
R.ctl              = Ctl.ctl


Ctl.n_gears       = 2
Ctl.w0            = 1.0
Ctl.lam           = 1.0
Ctl.nab           = 1.0
Ctl.D             = 0

Ctl.hysteresis    = True
# -*- coding: utf-8 -*-
"""
Created on Sun Mar  6 15:27:04 2016

@author: alex
"""

from AlexRobotics.dynamic  import Hybrid_Manipulator     as HM
from AlexRobotics.planning import RandomTree             as RPRT
from AlexRobotics.control  import RminComputedTorque     as RminCTC
from AlexRobotics.control  import RolloutComputedTorque  as RollCTC

import numpy as np
import matplotlib.pyplot as plt

R_ctl  =  HM.HybridTwoLinkManipulator() # Controller model
R      =  HM.HybridTwoLinkManipulator() # Simulator


# Assign controller
Rollout     = RollCTC.RolloutSlidingModeController( R_ctl )

Rollout.goal         = np.array([0,0,0,0])
Rollout.FixCtl.lam   = 1.0
Rollout.FixCtl.D     = 2.0
Rollout.FixCtl.nab   = 1.0
Rollout.n_gears      = 4
Rollout.hysteresis   = True
Rollout.min_delay    = 0.5
Rollout.horizon      = 0.5
Esempio n. 9
0
name_traj     = 'data/3D_sol_'+ test_name +'.npy'


###################################
# Issues with non-blocking figures

if not(plt.isinteractive()):
    print 'Terminal Mode'
    terminal = True
    plt.ion()
else:
    terminal = False
    print 'Spyder Mode'

####################################
R  =  HM.HybridThreeLinkManipulator()

R.x_ub[0] = np.pi
R.x_ub[1] = np.pi
R.x_ub[2] = np.pi
R.x_lb[0] = - np.pi
R.x_lb[1] = - np.pi
R.x_lb[2] = - np.pi

R.ubar = np.array([0,0,0,0])

x_start = np.array([0,0,1.5,0,0,0])
x_goal  = np.array([-3,0,-1.5,0,0,0])

RRT = RPRT.RRT( R , x_start )