Esempio n. 1
0
        public void TestRandom()
        {
            var         joints = new JointSet("a", "b");
            var         maxAcc = new double?[] { 10, 10 };
            var         maxVel = new double?[] { 50, 10 };
            var         minPos = new double?[] { -10, 0 };
            var         maxPos = new double?[] { 50, 10 };
            JointLimits jl     = new JointLimits(joints, maxVel, maxAcc, minPos, maxPos);

            for (int i = 0; i < 100; ++i)
            {
                var a = JointValues.Random(jl);
                Assert.True(a[0] >= minPos[0]);
                Assert.True(a[1] >= minPos[1]);
                Assert.True(a[0] <= maxPos[0]);
                Assert.True(a[1] <= maxPos[1]);
            }

            Assert.Throws <ArgumentNullException>(() => JointValues.Random(null));
            // assert that there must be a jointlimit for every name in jointset
            maxAcc = new double?[] { 10, 10 };
            maxVel = new double?[] { 50, 10 };
            minPos = new double?[] { null, 0 };
            maxPos = new double?[] { 50, 10 };
            jl     = new JointLimits(joints, maxVel, maxAcc, minPos, maxPos);
            Assert.Throws <ArgumentException>(() => JointValues.Random(jl));
        }
Esempio n. 2
0
 public static JointValues RandomJointValues(JointLimits limits, Random rng = null)
 {
     return(JointValues.Random(limits, rng ?? ThreadSafeRandom.Generator));
 }