def __init__(self, **kwargs): Arm.__init__(self, **kwargs) # length of arm links self.l1 = 2.0; self.l2 = 1.2; self.l3 = .7 self.L = np.array([self.l1, self.l2, self.l3]) # mass of links m1=10; m2=m1; m3=m1 # z axis inertia moment of links izz1=100; izz2=izz1; izz3=izz1 # create mass matrices at COM for each link self.M1 = np.zeros((6,6)) self.M2 = np.zeros((6,6)) self.M3 = np.zeros((6,6)) self.M1[0:3,0:3] = np.eye(3)*m1; self.M1[5,5] = izz1 self.M2[0:3,0:3] = np.eye(3)*m2; self.M2[5,5] = izz2 self.M3[0:3,0:3] = np.eye(3)*m3; self.M3[5,5] = izz3 # forcefield as defined in Shademehr 1994 experiment 1 self.B = np.array([[-10.1, -11.2],[-11.2, 11.1]])*5 self.rest_angles = np.array([np.pi/4.0, np.pi/4.0, np.pi/4.0]) # stores information returned from maplesim self.state = np.zeros(7) # maplesim arm simulation self.sim = py3LinkArm.pySim(dt=self.dt) self.sim.reset(self.state) self.update_state()
def __init__(self, **kwargs): Arm.__init__(self, **kwargs) # length of arm links self.l1 = 2.0 self.l2 = 1.2 self.l3 = .7 self.L = np.array([self.l1, self.l2, self.l3]) # mass of links m1 = 10 m2 = m1 m3 = m1 # z axis inertia moment of links izz1 = 100 izz2 = izz1 izz3 = izz1 # create mass matrices at COM for each link self.M1 = np.zeros((6, 6)) self.M2 = np.zeros((6, 6)) self.M3 = np.zeros((6, 6)) self.M1[0:3, 0:3] = np.eye(3) * m1 self.M1[5, 5] = izz1 self.M2[0:3, 0:3] = np.eye(3) * m2 self.M2[5, 5] = izz2 self.M3[0:3, 0:3] = np.eye(3) * m3 self.M3[5, 5] = izz3 # forcefield as defined in Shademehr 1994 experiment 1 self.B = np.array([[-10.1, -11.2], [-11.2, 11.1]]) * 5 self.rest_angles = np.array([np.pi / 4.0, np.pi / 4.0, np.pi / 4.0]) # stores information returned from maplesim self.state = np.zeros(7) # maplesim arm simulation self.sim = py3LinkArm.pySim(dt=self.dt) self.sim.reset(self.state) self.update_state()
def __init__(self, dt=1e-5): # length of arm links self.l1 = 2.0; self.l2 = 1.2; self.l3 = .7 # mass of links m1=100; m2=m1; m3=m1 # z axis inertia moment of links izz1=100; izz2=izz1; izz3=izz1 # create mass matrices at COM for each link self.M1 = np.zeros((6,6)) self.M2 = np.zeros((6,6)) self.M3 = np.zeros((6,6)) self.M1[0:3,0:3] = np.eye(3)*m1; self.M1[5,5] = izz1 self.M2[0:3,0:3] = np.eye(3)*m2; self.M2[5,5] = izz2 self.M3[0:3,0:3] = np.eye(3)*m3; self.M3[5,5] = izz3 # stores information returned from maplesim self.state = np.zeros(7) # maplesim arm simulation self.dt = dt self.sim = py3LinkArm.pySim(dt=dt) self.sim.reset(self.state) self.update_state()