Skip to content

Conversation

pascal-roth
Copy link
Contributor

Adds a new perceptive actor-critic class, that can define CNN layers for every 2D observation term.

Example usage shown in IsaacLab isaac-sim/IsaacLab#3467

Copy link
Collaborator

@ClemensSchwarke ClemensSchwarke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @pascal-roth, very cool, thanks a lot! One nit: would you be fine with calling the new module actor_critic_perceptive to match the actor_critic_recurrent naming?

from rsl_rl.utils import resolve_nn_activation


class CNN(nn.Sequential):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a small description of the architecture here, similar to the mlp?

"""Multi-layer perceptron.

The MLP network is a sequence of linear layers and activation functions. The
last layer is a linear layer that outputs the desired dimension unless the
last activation function is specified.

It provides additional conveniences:

- If the hidden dimensions have a value of ``-1``, the dimension is inferred
  from the input dimension.
- If the output dimension is a tuple, the output is reshaped to the desired
  shape.

"""

print(f"Critic MLP: {self.critic}")

# Action noise
self.noise_std_type = noise_std_type
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to add the state-dependent action noise that is now part of the actor critic module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants