Ejemplo n.º 1
0
    def __init__(self):

        # create the base
        links = [
            PrismaticDH(alpha=-pi / 2, qlim=[-1, 1]),
            PrismaticDH(theta=-pi / 2, alpha=pi / 2, qlim=[-1, 1])
        ]

        # stick the Puma on top
        puma = models.DH.Puma560()
        links.extend(puma.links)

        super().__init__(links,
                         name="P8",
                         keywords=('mobile', 'redundant'),
                         base=SE3.Ry(pi / 2))

        self.addconfiguration("qz", np.zeros((8, )))
Ejemplo n.º 2
0
    def __init__(self):
        deg = pi/180

        L = [RevoluteDH(d=0.387, a=0.325, qlim=[-50*deg, 50*deg]),
             RevoluteDH(a=0.275, alpha=pi, qlim=[-88*deg, 88*deg]),
             PrismaticDH(qlim=[0, 0.210]),
             RevoluteDH()]

        super(Cobra600, self).__init__(L, name='Cobra600', manufacturer='Adept')

        self._qz = [0, 0, 0, 0]
Ejemplo n.º 3
0
    def __init__(self):
        deg = pi / 180

        L = [
            RevoluteDH(d=0.387, a=0.325, qlim=[-50 * deg, 50 * deg]),
            RevoluteDH(a=0.275, alpha=pi, qlim=[-88 * deg, 88 * deg]),
            PrismaticDH(qlim=[0, 0.210]),
            RevoluteDH()
        ]

        super().__init__(L, name='Cobra600', manufacturer='Adept')

        # zero angles, L shaped pose
        self.addconfiguration("qz", np.array([0, 0, 0, 0]))
Ejemplo n.º 4
0
    def __init__(self):

        deg = pi / 180
        inch = 0.0254

        L0 = RevoluteDH(
            d=0.412,  # link length (Dennavit-Hartenberg notation)
            a=0,  # link offset (Dennavit-Hartenberg notation)
            alpha=-pi / 2,  # link twist (Dennavit-Hartenberg notation)
            # inertia tensor of link with respect to
            # center of mass I = [L_xx, L_yy, L_zz,
            # L_xy, L_yz, L_xz]
            I=[0.276, 0.255, 0.071, 0, 0, 0],
            # distance of ith origin to center of mass [x,y,z]
            # in link reference frame
            r=[0, 0.0175, -0.1105],
            m=9.29,  # mass of link
            Jm=0.953,  # actuator inertia
            G=1,  # gear ratio
            qlim=[-170 * deg, 170 * deg])  # minimum and maximum joint angle

        L1 = RevoluteDH(d=0.154,
                        a=0.,
                        alpha=pi / 2,
                        I=[0.108, 0.018, 0.100, 0, 0, 0],
                        r=[0, -1.054, 0],
                        m=5.01,
                        Jm=2.193,
                        G=1,
                        qlim=[-170 * deg, 170 * deg])

        L2 = PrismaticDH(theta=-pi / 2,
                         a=0.0203,
                         alpha=0,
                         I=[2.51, 2.51, 0.006, 0, 0, 0],
                         r=[0, 0, -6.447],
                         m=4.25,
                         Jm=0.782,
                         G=1,
                         qlim=[12 * inch, (12 + 38) * inch])

        L3 = RevoluteDH(d=0,
                        a=0,
                        alpha=-pi / 2,
                        I=[0.002, 0.001, 0.001, 0, 0, 0],
                        r=[0, 0.092, -0.054],
                        m=1.08,
                        Jm=0.106,
                        G=1,
                        qlim=[-170 * deg, 170 * deg])

        L4 = RevoluteDH(d=0,
                        a=0,
                        alpha=pi / 2,
                        I=[0.003, 0.0004, 0, 0, 0, 0],
                        r=[0, 0.566, 0.003],
                        m=0.630,
                        Jm=0.097,
                        G=1,
                        qlim=[-90 * deg, 90 * deg])

        L5 = RevoluteDH(d=0,
                        a=0,
                        alpha=0,
                        I=[0.013, 0.013, 0.0003, 0, 0, 0],
                        r=[0, 0, 1.554],
                        m=0.51,
                        Jm=0.020,
                        G=1,
                        qlim=[-170 * deg, 170 * deg])

        L = [L0, L1, L2, L3, L4, L5]

        super().__init__(L,
                         name="Stanford arm",
                         manufacturer="Victor Scheinman",
                         keywords=('dynamics', ))

        # zero angles, L shaped pose
        self.addconfiguration("qz", np.array([0, 0, 0, 0, 0, 0]))