docs: def update(self):
          """ Compute the sin(t) where t is the elapsed time since the primitive has been started. """
          pos = self._amp * numpy.sin(self._freq * 2.0 * numpy.pi * self.elapsed_time +
                                      self._phase * numpy.pi / 180.0) + self._offset
  
          for m in self.motor_list:
              m.goal_position = pos