示例#1
0
    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()
示例#2
0
    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()
示例#3
0
文件: arm.py 项目: liuyepku/blog
    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()