def update(self, balls, dt): logging.debug('Predicted ball position: %s', pos2string(self.getPos())) pos = self.getPos() if len(balls) > 0: def ball_dist(x): return dist(self.getPos(), entCenter(x)) balls_sorted = sorted(balls, key=ball_dist) best_match = balls_sorted[0] pos = entCenter(best_match) self.Ps.update(pos) self.Vs.update(pos) self.velocity = self.Vs.predict(1. / dt) - pos
def update(self, balls, dt): logging.debug( 'Predicted ball position: %s', pos2string(self.getPos()) ) pos = self.getPos() if len(balls) > 0: def ball_dist(x): return dist( self.getPos(), entCenter(x) ) balls_sorted = sorted( balls, key=ball_dist ) best_match = balls_sorted[0] pos = entCenter(best_match) self.Ps.update(pos) self.Vs.update(pos) self.velocity = self.Vs.predict(1./dt) - pos
def update(self, robots, dt): logging.debug( 'Predicted robot position: %s', pos2string(self.getPos()) ) pos = self.getPos() if len(robots) > 0 and robots[0] is not None: def robot_dist(x): return dist( self.getPos(), entCenter(x) ) robots_sorted = sorted( robots, key=robot_dist ) best_match = robots_sorted[0] pos = entCenter(best_match) if 'orient' in best_match: angle = best_match['orient'] self.orientation[:] = cos(angle), sin(angle) self.Ps.update(pos) self.Vs.update(pos) self.velocity = self.Vs.predict(1./dt) - pos
def update(self, robots, dt): logging.debug('Predicted robot position: %s', pos2string(self.getPos())) pos = self.getPos() if len(robots) > 0 and robots[0] is not None: def robot_dist(x): return dist(self.getPos(), entCenter(x)) robots_sorted = sorted(robots, key=robot_dist) best_match = robots_sorted[0] pos = entCenter(best_match) if 'orient' in best_match: angle = best_match['orient'] self.orientation[:] = cos(angle), sin(angle) self.Ps.update(pos) self.Vs.update(pos) self.velocity = self.Vs.predict(1. / dt) - pos