def __init__(self, ax, global_map, particle_list, target_particles=300, draw_max=2000, resample_period=10): self.ax = ax self.draw_max = draw_max self.global_map = global_map self.particle_list = particle_list mcl.draw_map_state(global_map, particle_list, ax=self.ax, draw_max=self.draw_max) self.i = 1 self.target_particles = target_particles self.resample_period = resample_period
def update(self, message): if self.i % self.resample_period == 0:# Resample and plot state self.particle_list = mcl.mcl_update(self.particle_list, message, resample=True, target_particles=self.target_particles) # Update plt.cla() mcl.draw_map_state(self.global_map, self.particle_list, self.ax, draw_max=self.draw_max) #print(pd.Series([p.weight for p in self.particle_list]).describe()) else: # Just update particle weights / locations - do not resample self.particle_list = mcl.mcl_update(self.particle_list, message, target_particles=self.target_particles) # Update self.i += 1
def update(self, message): if self.i % self.resample_period == 0: # Resample and plot state self.particle_list = mcl.mcl_update( self.particle_list, message, resample=True, target_particles=self.target_particles) # Update plt.cla() mcl.draw_map_state(self.global_map, self.particle_list, self.ax, draw_max=self.draw_max) #print(pd.Series([p.weight for p in self.particle_list]).describe()) else: # Just update particle weights / locations - do not resample self.particle_list = mcl.mcl_update( self.particle_list, message, target_particles=self.target_particles) # Update self.i += 1