def playAnimations(self, duration): # separate random number for each arm for arm in self.arm_movements.values(): r = random.random() fps = False if duration < 2 and r < arm['probabilities'][0]: animation, fps = self.pickAnimation(arm, duration) if 2 <= duration < 4 and r < arm['probabilities'][1]: animation, fps = self.pickAnimation(arm, duration) if 4 <= duration and r < arm['probabilities'][2]: animation, fps = self.pickAnimation(arm, duration) if fps: self.play.publish(PlayAnimation(animation, fps))
def cont(self, run_time): # Publish expression message after some delay once node is started if (not self.shown) and (run_time > self.start_time + 0.05): self.shown = True self.runner.topics['kfanimation'].publish( PlayAnimation(self.data['animation'], int(self.data['fps'])))