Esempio n. 1
0
    public override void SetJointValue(HomogenousTransformation transformation, HomogenousTransformation nextTransformation, Link link, double q)
    {
        Vector p = nextTransformation.GetPosition();

        RootObject.transform.localPosition = p.ToVector3();
        RotationMatrix R = nextTransformation.GetRotation();

        RootObject.transform.localRotation = R.ToUnityMatrix().rotation;
    }
Esempio n. 2
0
        public HomogenousTransformation GetTransformation(double q)
        {
            if (lastQ == q)
            {
                return(lastHT);
            }

            HomogenousTransformation HT;

            if (Type == JointType.Revolute)
            {
                HT = new HomogenousTransformation(new RotationMatrix(q, axe), offset);
            }
            else
            {
                HT = new HomogenousTransformation(new RotationMatrix(Matrix.Eye(3).matrix), offset + q * linearMotionDirection);
            }

            lastHT = HT;
            return(HT);
        }
 public virtual void SetJointValue(HomogenousTransformation transformation, HomogenousTransformation nextTransformation, Link link, double q)
 {
 }
Esempio n. 4
0
 public override void SetJointValue(HomogenousTransformation transformation, HomogenousTransformation nextTransformation, Link link, double q)
 {
     RootObject.transform.localPosition  = transformation.GetPosition().ToVector3();
     RootObject.transform.localRotation  = transformation.GetRotation().ToUnityMatrix().rotation;
     LinearJoint.transform.localPosition = (link.offset + link.linearMotionDirection * q).ToVector3() / RootObject.transform.localScale.x;
 }
Esempio n. 5
0
 public Robot()
 {
     T_I0 = new HomogenousTransformation(Matrix.Eye(4));
 }