コード例 #1
0
        public Texture() : base("texture", false)
        {
            wFilename         = "";
            FilenameAttribute = new URDFAttribute("filename", true, null);

            Attributes.Add(FilenameAttribute);
        }
コード例 #2
0
        /// <summary>
        /// Axis is similar to Origin in that its attribute is stored as a double array.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="dictionary"></param>
        public override void SetElementFromData(List <string> context, StringDictionary dictionary)
        {
            string        typeName       = GetType().Name;
            List <string> updatedContext = new List <string>(context)
            {
                typeName
            };

            double[] xyz = new double[3];

            string contextString = string.Join(".", updatedContext) + ".xyz";

            for (int i = 0; i < xyz.Length; i++)
            {
                string lookupString = contextString + "." + "xyz"[i];
                if (!dictionary.ContainsKey(lookupString))
                {
                    logger.Info("CSV file does not contain column for " + lookupString);
                    continue;
                }

                object value = URDFAttribute.GetValueFromString(dictionary[lookupString]);
                if (value != null && value.GetType() == typeof(double))
                {
                    xyz[i] = (double)value;
                }
            }

            XYZAttribute.Value = xyz;
        }
コード例 #3
0
        public Joint() : base("joint", false)
        {
            Origin = new Origin("Joint", false);
            Parent = new ParentLink();
            Child  = new ChildLink();
            Axis   = new Axis();

            Limit       = new Limit();
            Calibration = new Calibration();
            Dynamics    = new Dynamics();
            Safety      = new SafetyController();
            Mimic       = new Mimic();

            NameAttribute = new URDFAttribute("name", true, "");
            TypeAttribute = new URDFAttribute("type", true, "");

            Attributes.Add(NameAttribute);
            Attributes.Add(TypeAttribute);

            ChildElements.Add(Origin);
            ChildElements.Add(Parent);
            ChildElements.Add(Child);
            ChildElements.Add(Axis);

            ChildElements.Add(Limit);
            ChildElements.Add(Calibration);
            ChildElements.Add(Dynamics);
            ChildElements.Add(Safety);
            ChildElements.Add(Mimic);
        }
コード例 #4
0
 public Calibration() : base("calibration", false)
 {
     RisingAttribute  = new URDFAttribute("rising", false, null);
     FallingAttribute = new URDFAttribute("falling", false, null);
     Attributes.Add(RisingAttribute);
     Attributes.Add(FallingAttribute);
 }
コード例 #5
0
        public Robot() : base("robot", true)
        {
            BaseLink      = new Link(null);
            NameAttribute = new URDFAttribute("name", true, "");

            ChildElements.Add(BaseLink);
            Attributes.Add(NameAttribute);
        }
コード例 #6
0
        public Dynamics() : base("dynamics", false)
        {
            DampingAttribute  = new URDFAttribute("damping", false, null);
            FrictionAttribute = new URDFAttribute("friction", false, null);

            Attributes.Add(DampingAttribute);
            Attributes.Add(FrictionAttribute);
        }
コード例 #7
0
        public Material() : base("material", false)
        {
            Color         = new Color();
            Texture       = new Texture();
            NameAttribute = new URDFAttribute("name", true, "");

            Attributes.Add(NameAttribute);
            ChildElements.Add(Color);
            ChildElements.Add(Texture);
        }
コード例 #8
0
        public Origin(string csvContext, bool isRequired) : base("origin", isRequired)
        {
            isCustomized = false;

            XYZAttribute = new URDFAttribute("xyz", true, new double[] { 0, 0, 0 });
            RPYAttribute = new URDFAttribute("rpy", true, new double[] { 0, 0, 0 });

            Attributes.Add(XYZAttribute);
            Attributes.Add(RPYAttribute);
        }
コード例 #9
0
        public Limit() : base("limit", false)
        {
            EffortAttribute   = new URDFAttribute("effort", true, null);
            VelocityAttribute = new URDFAttribute("velocity", true, null);
            LowerAttribute    = new URDFAttribute("lower", false, null);
            UpperAttribute    = new URDFAttribute("upper", false, null);

            Attributes.Add(LowerAttribute);
            Attributes.Add(UpperAttribute);
            Attributes.Add(EffortAttribute);
            Attributes.Add(VelocityAttribute);
        }
コード例 #10
0
        public SafetyController() : base("safety_controller", false)
        {
            SoftUpperAttribute = new URDFAttribute("soft_upper", false, null);
            SoftLowerAttribute = new URDFAttribute("soft_lower", false, null);
            KPositionAttribute = new URDFAttribute("k_position", false, null);
            KVelocityAttribute = new URDFAttribute("k_velocity", true, 0.0);

            Attributes.Add(SoftUpperAttribute);
            Attributes.Add(SoftLowerAttribute);
            Attributes.Add(KPositionAttribute);
            Attributes.Add(KVelocityAttribute);
        }
コード例 #11
0
        public Inertia() : base("inertia", false)
        {
            IxxAttribute = new URDFAttribute("ixx", true, 0.0);
            IxyAttribute = new URDFAttribute("ixy", true, 0.0);
            IxzAttribute = new URDFAttribute("ixz", true, 0.0);
            IyyAttribute = new URDFAttribute("iyy", true, 0.0);
            IyzAttribute = new URDFAttribute("iyz", true, 0.0);
            IzzAttribute = new URDFAttribute("izz", true, 0.0);

            Attributes.Add(IxxAttribute);
            Attributes.Add(IxyAttribute);
            Attributes.Add(IxzAttribute);
            Attributes.Add(IyyAttribute);
            Attributes.Add(IyzAttribute);
            Attributes.Add(IzzAttribute);
        }
コード例 #12
0
        public Link() : base("link", true)
        {
            Parent          = null;
            Children        = new List <Link>();
            SWComponents    = new List <Component2>();
            SWComponentPIDs = new List <byte[]>();
            NameAttribute   = new URDFAttribute("name", true, "");

            Inertial  = new Inertial();
            Visual    = new Visual();
            Collision = new Collision();
            Joint     = new Joint();

            isFixedFrame = false;

            Attributes.Add(NameAttribute);
            ChildElements.Add(Inertial);
            ChildElements.Add(Visual);
            ChildElements.Add(Collision);
            ChildElements.Add(Joint);
        }
コード例 #13
0
        public Color() : base("color", false)
        {
            RGBAAttribute = new URDFAttribute("rgba", true, new double[] { 1, 1, 1, 1 });

            Attributes.Add(RGBAAttribute);
        }
コード例 #14
0
        public Axis() : base("axis", false)
        {
            XYZAttribute = new URDFAttribute("xyz", true, new double[] { 0, 0, 0 });

            Attributes.Add(XYZAttribute);
        }
コード例 #15
0
        public Mass() : base("mass", false)
        {
            ValueAttribute = new URDFAttribute("value", true, 0.0);

            Attributes.Add(ValueAttribute);
        }
コード例 #16
0
 public ChildLink() : base("child", true)
 {
     NameAttribute = new URDFAttribute("link", true, "");
     Attributes.Add(NameAttribute);
 }
コード例 #17
0
        public Mesh() : base("mesh", false)
        {
            FilenameAttribute = new URDFAttribute("filename", true, null);

            Attributes.Add(FilenameAttribute);
        }
コード例 #18
0
 public ParentLink() : base("parent", true)
 {
     NameAttribute = new URDFAttribute("link", true, "");
     Attributes.Add(NameAttribute);
 }