Ejemplo n.º 1
0
class HexapodBody(object):
    def __init__(self, parent_ref, config):
        irot, itrans = config.getInitialPose()
        self.ref = ReferenceFrame(Vector3(itrans),
                                  Quaternion.from_eulers(irot), parent_ref)
        self.legs = []

    def getLegSegments(self, config, lobj):
        legargs = config.getLegSegmentConfig(lobj.getId())

        segs = []
        prevSeg = lobj

        for args in legargs:
            prevSeg = HexapodLegSegment(prevSeg, *args)
            segs.append(prevSeg)
        return segs

    # Returns -1 if left side, 1 otherwise.
    def getLegDirection(self, leg):
        if "left" in leg.getId():
            return -1
        else:
            return 1

    def setRotation(self, rot):
        self.ref.setRotation(rot)

    def setTranslation(self, trans):
        self.ref.setTranslation(trans)
Ejemplo n.º 2
0
class HexapodBody(object):
    def __init__(self, parent_ref, config):
        irot, itrans = config.getInitialPose();
        self.ref = ReferenceFrame(Vector3(itrans), Quaternion.from_eulers(irot), parent_ref);
        self.legs = [];

    def getLegSegments(self, config, lobj):
        legargs = config.getLegSegmentConfig(lobj.getId())
            
        segs = [];
        prevSeg = lobj;

        for args in legargs:
            prevSeg = HexapodLegSegment(prevSeg, *args);
            segs.append(prevSeg);
        return segs;
        
    # Returns -1 if left side, 1 otherwise.
    def getLegDirection(self, leg):
        if "left" in leg.getId():
            return -1;
        else:
            return 1;
            
    def setRotation(self, rot):
        self.ref.setRotation(rot);
    def setTranslation(self, trans):
        self.ref.setTranslation(trans);