• dtc103's avatar
    Fixes body IDs selection when computing `feet_slide` reward for locomotion-velocity task (#1277) · 6bc4d0a0
    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
    6bc4d0a0
CONTRIBUTORS.md 1.42 KB