Beispiel #1
0
        /// <summary>
        /// Get the joints list of Cylindical Robot
        /// </summary>
        /// <param name="l1">z offset</param>
        /// <param name="l2">z offset</param>
        /// <param name="l3">radius offset</param>
        /// <returns></returns>
        public static List <IJoint> GetCylindical(double l1, double l2, double l3)
        {
            RotationJoint phi = new RotationJoint
            {
                Length        = l1,
                TransformAxis = TransformType.RotateZ
            };

            TranslationJoint h = new TranslationJoint
            {
                Length        = l2,
                TransformAxis = TransformType.AxisZ
            };

            // Just assume the initial state of this joint is pointing to Y axis
            TranslationJoint r = new TranslationJoint
            {
                Length        = l3,
                TransformAxis = TransformType.AxisY
            };

            List <IJoint> joints = new List <IJoint>
            {
                phi,
                h,
                r
            };

            return(joints);
        }
Beispiel #2
0
        /// <summary>
        /// Get a configuration of Spherical robot
        /// </summary>
        /// <param name="l1"></param>
        /// <param name="l2"></param>
        /// <param name="l3"></param>
        /// <returns></returns>
        public static List <IJoint> GetSpherical(double l1, double l2, double l3)
        {
            RotationJoint phi = new RotationJoint
            {
                Length        = l1,
                TransformAxis = TransformType.RotateZ
            };

            RotationJoint theta = new RotationJoint
            {
                Length        = l2,
                TransformAxis = TransformType.RotateX
            };

            TranslationJoint r = new TranslationJoint
            {
                Length        = l3,
                TransformAxis = TransformType.AxisZ
            };

            return(new List <IJoint>
            {
                phi,
                theta,
                r
            });
        }
Beispiel #3
0
        /// <summary>
        /// Get the joints of the cartesian
        /// </summary>
        /// <param name="lx">basic length of x axis offset</param>
        /// <param name="ly">basic length of y axis offset</param>
        /// <param name="lz">basic length of z axis offset</param>
        /// <returns>joints list</returns>
        public static List <IJoint> GetCartesian(double lx, double ly, double lz)
        {
            TranslationJoint sx = new TranslationJoint
            {
                Length        = lx,
                TransformAxis = TransformType.AxisX
            };

            TranslationJoint sy = new TranslationJoint
            {
                Length        = ly,
                TransformAxis = TransformType.AxisY
            };

            TranslationJoint sz = new TranslationJoint
            {
                Length        = lz,
                TransformAxis = TransformType.AxisZ
            };

            List <IJoint> joints = new List <IJoint>
            {
                sx,
                sy,
                sz
            };

            return(joints);
        }