def get_controller(controller_name): """ Gets the correct controller from controllers.py Parameters ---------- controller_name : string Returns ------- :obj:`Controller` """ if controller_name == 'workspace': # YOUR CODE HERE Kp = vec(0, 0, 0, 0, 0, 0) Kv = vec(.5, .5, .5, 2, 2, 2) controller = PDWorkspaceVelocityController(limb, kin, Kp, Kv) elif controller_name == 'jointspace': # YOUR CODE HERE Kp = vec(5, 10, 2.5, 7.5, 1.5, 4, 3) Kv = vec(0.4, 1.6, 0.2, 1.2, .12, .32, .24) controller = PDJointVelocityController(limb, kin, Kp, Kv) elif controller_name == 'torque': # YOUR CODE HERE Kp = None Kv = None controller = PDJointTorqueController(limb, kin, Kp, Kv) elif controller_name == 'open_loop': controller = FeedforwardJointVelocityController(limb, kin) else: raise ValueError('Controller {} not recognized'.format(controller_name)) return controller
def get_controller(controller_name, limb, kin): """ Gets the correct controller from controllers.py Parameters ---------- controller_name : string Returns ------- :obj:`Controller` """ if controller_name == 'workspace': # YOUR CODE HERE Kp = None Kv = None controller = WorkspaceVelocityController(limb, kin, Kp, Kv) elif controller_name == 'jointspace': # YOUR CODE HERE Kp = None Kv = None controller = PDJointVelocityController(limb, kin, Kp, Kv) elif controller_name == 'torque': # YOUR CODE HERE Kp = None Kv = None controller = PDJointTorqueController(limb, kin, Kp, Kv) elif controller_name == 'open_loop': controller = FeedforwardJointVelocityController(limb, kin) else: raise ValueError( 'Controller {} not recognized'.format(controller_name)) return controller
def get_controller(controller_name): """ Gets the correct controller from controllers.py Parameters ---------- controller_name : string Returns ------- :obj:`Controller` """ if controller_name == 'workspace': # YOUR CODE HERE Kp = np.array([0.7, 0.5, 0.7, 0.7, 0.7, 0.7]) Kv = np.ones(7) * 0.01 Kv = np.zeros(6) controller = PDWorkspaceVelocityController(limb, kin, Kp, Kv) elif controller_name == 'jointspace': # YOUR CODE HERE Kp = np.array([0.5, 0.65, 0.65, 0.65, 0.1, 0.1, 0.65]) Kv = np.ones(7) * 0.01 controller = PDJointVelocityController(limb, kin, Kp, Kv) elif controller_name == 'torque': Kp = np.array([100, 100, 100, 100, 100, 100, 100]) * 1.5 Kv = np.array([25, 25, 25, 25, 25, 25, 25]) * 0.75 controller = PDJointTorqueController(limb, kin, Kp, Kv) elif controller_name == 'open_loop': controller = FeedforwardJointVelocityController(limb, kin) else: raise ValueError( 'Controller {} not recognized'.format(controller_name)) return controller
def get_controller(controller_name): """ Gets the correct controller from controllers.py Parameters ---------- controller_name : string Returns ------- :obj:`Controller` """ if controller_name == 'workspace': # YOUR CODE HERE # start pos: [0.5839751304446147, 0.629241775857017, 0.4323214883062389] Kp = [1., 0.7, 1., 0., 0., 0.] Kv = [0., 0., 0., 0., 0., 0.] controller = PDWorkspaceVelocityController(limb, kin, Kp, Kv) elif controller_name == 'jointspace': # YOUR CODE HERE Kp = [0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.05] Kv = [0., 0., 0., 0., 0., 0., 0.] controller = PDJointVelocityController(limb, kin, Kp, Kv) elif controller_name == 'torque': # YOUR CODE HERE Kp = [20., 20., 20., 10., 10., 10., 5.] Kv = [5., 3., 5., 3., 1., 1., 1.] controller = PDJointTorqueController(limb, kin, Kp, Kv) elif controller_name == 'open_loop': controller = FeedforwardJointVelocityController(limb, kin) else: raise ValueError( 'Controller {} not recognized'.format(controller_name)) return controller
def get_controller(controller_name): """ Gets the correct controller from controllers.py Parameters ---------- controller_name : string Returns ------- :obj:`Controller` """ if controller_name == 'workspace': # YOUR CODE HERE # limb and kin get set in call to main kp_ind = .1 kv_ind = 0 Kp = np.array([kp_ind, kp_ind, kp_ind, kp_ind, kp_ind, kp_ind]) #1 Kv = np.array([kv_ind, kv_ind, kv_ind, kv_ind, kv_ind, kv_ind]) controller = PDWorkspaceVelocityController(limb, kin, Kp, Kv) elif controller_name == 'jointspace': # YOUR CODE HERE Kp = np.array([1, 1, 1, 1, 1, 1, 1]) Kv = np.array([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) controller = PDJointVelocityController(limb, kin, Kp, Kv) elif controller_name == 'torque': # YOUR CODE HERE kp_ind = 15 Kp = np.array([30, 30, kp_ind, kp_ind, kp_ind, 10, 10]) Kv = np.array([3, 1, 1, 1, 1, 1, 1]) controller = PDJointTorqueController(limb, kin, Kp, Kv) elif controller_name == 'open_loop': controller = FeedforwardJointVelocityController(limb, kin) else: raise ValueError( 'Controller {} not recognized'.format(controller_name)) return controller