def forward(self, x, u, t=0, terminal=False): if x.ndimension() == 1: x = x.unsqueeze(0) if u.ndimension() == 1: u = u.unsqueeze(0) cost = DotMap() cost.obs = self.obs_cost(x) if not terminal: cost.act = self.action_cost(u) else: cost.act = 0 l = cost.obs + cost.act cost.l = l return cost