def __init__(self, bodies, ctrl, *args, **kargs): MultiTask.__init__(self, *args, **kargs) self._bodies = bodies self._ctrl = ctrl com_args = [ctrl.zmp_ctrl, ctrl.cdof, 1, 0, True, "CoM"] if len(bodies): self._subtask.append( CoMTask(bodies, *com_args) ) else: self._subtask.append( LQPCoMTask(*com_args) ) self._subtask.append( ctrl.l_foot_task ) self._subtask.append( ctrl.r_foot_task )
def update(self, rstate, dt): MultiTask.update(self, rstate, dt) self._ctrl.update(rstate, dt)
def init(self, world, LQP_ctrl): MultiTask.init(self, world, LQP_ctrl) self._ctrl.init(world, LQP_ctrl)
import traceback from task import build_tasks_from_file, MultiTask from util import get_logger from argparse import ArgumentParser logger = get_logger(__name__) arg_parser = ArgumentParser() # arg_parser.add_argument('-d', '--device', # type=int, default=0, help='GPU index') # arg_parser.add_argument('-t', '--thread', # type=int, default=5, help='Thread number') arg_parser.add_argument('-c', '--config', help='Configuration file') args = arg_parser.parse_args() # torch.cuda.set_device(args.device) # torch.set_num_threads(args.thread) config_file = args.config tasks, conf, _ = build_tasks_from_file(config_file, options=None) multitask = MultiTask(tasks, eval_freq=conf.training.eval_freq) try: for step in range(1, conf.training.max_step + 1): multitask.step() except Exception: traceback.print_exc()