コード例 #1
0
	def test_sum(self):
		num = 10
		p = pf.generateRandomParticles(num)
		measurement = p[np.random.randint(0, len(p)-1)].senseNoiseUltrasonic()
		weight = pf.weight(p, measurement)
		cumsum = np.array(weight).cumsum()[num-1]
		self.assertWithinx(cumsum, 1.0, 0.000000001)
コード例 #2
0
	def test_zeroPos(self):
		num = 10
		robot = pf.Robot()
		robot.setPose(0.0001,0.001,1,1,1,1)
		p = [robot for i in range(num)]
		measurement = robot.senseUltrasonic()
		weight = pf.weight(p, measurement)
		self.assertEqual([float('%.8f' % i) for i in weight], [(1.0/num) for i in range(num)])
コード例 #3
0
	def test_weighting(self):
		num = 5
		r = pf.Robot()
		p = pf.generateRandomParticles(num) + [r]
		for i in p:
			print(i)
		measurement = r.senseNoiseUltrasonic()
		weight = pf.weight(p, measurement)
		print(weight)
		self.assertAismaxinList(weight[5], weight)