MCPcopy Create free account
hub / github.com/TeleHuman/TextOp / _gen_motion

Method _gen_motion

TextOpDeploy/src/textop_ctrl/scripts/rmdar.py:471–507  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

469 self._counter = int(np.floor(absolute_elapsed / self.dt))
470
471 def _gen_motion(self):
472 t0 = time.time()
473
474 future_motion, gen_motion_dict, abs_pose = self.dar_gen_fn(
475 text_embedding=self._text_embedding,
476 history_motion=self.history_motion,
477 abs_pose=self.history_abs_pose)
478
479 t02 = time.time()
480 self.get_logger().debug(
481 f"dar_gen_fn: generate motion in {(t02 - t0) * 1000:.2f} ms")
482
483 self.history_motion = future_motion[:, -self.history_len:, :]
484 self.history_abs_pose = abs_pose
485 for k in self._ref_motion_dict:
486 if isinstance(self._ref_motion_dict[k], torch.Tensor):
487 self._ref_motion_dict[k] = gen_motion_dict[k][:, -self.
488 future_len:]
489 # self.get_logger().debug(f"{k}: {self._ref_motion_dict[k].shape}")
490 # (Pdb) gen_motion_dict['root_trans_offset'].shape
491 # torch.Size([1, 10, 3])
492
493 self._current_block_size = self.future_len
494 self._block_index = self._gen_counter
495 self._gen_counter += self._current_block_size
496 t1 = time.time()
497 self.get_logger().debug(
498 f"Current | self._counter: {self._counter} | self._gen_counter: {self._gen_counter} | self._block_index: {self._block_index}"
499 )
500
501 self.get_logger().debug(
502 f"Generate motion in {(t1 - t0) * 1000:.2f} ms")
503 # Convert motion to message instance immediately after generation
504 self._convert_motion_to_msg_instance()
505 t2 = time.time()
506 self.get_logger().debug(
507 f"Convert motion to message instance in {(t2 - t1) * 1000:.2f} ms")
508
509 def _reset_motion_buffer(self):
510 _reset_block_size = self.gen_len + self.future_len # 18

Callers 2

warmupMethod · 0.95
loopMethod · 0.95

Calls 1

Tested by

no test coverage detected