-
dtc103 authored
# Description Since I wanted to use Isaac Lab for training a Unitree Go2, I played around with the examples to get used to the framework. While playing around, I got the following error message: ``` reward = torch.sum(body_vel.norm(dim=-1) * contacts, dim=1) RuntimeError: The size of tensor a (19) must match the size of tensor b (4) at non-singleton dimension 1 ``` The reward term was added as follows: ``` sliding_feet = RewTerm( func=mdp.feet_slide, params={"sensor_cfg": SceneEntityCfg("contact_forces", body_names=".*foot")}, weight=0.1 ) ``` After some code investigation, I found out, that inside the feet_slide function, the body velocities are queried as "asset.data.body_lin_vel_w[:, asset_cfg.body_ids, :2]". This would return the velocity of all body parts, since asset_cfg.body_ids contains the ids of all body parts. Therefore we need to change the line to "body_vel = asset.data.body_lin_vel_w[:, sensor_cfg.body_ids, :2]" since we only want the velocity of the body parts that contain the force sensors. This means we have to change `asset_cfg.body_ids` to `sensor_cfg.body_ids` inside the tensor call Doing this leads to the successful running of the simulation without failure. No additional dependencies are necessary for this fix. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the CONTRIBUTORS.md or my name already exists there