Genesis icon indicating copy to clipboard operation
Genesis copied to clipboard

[Feature]: Implement a `set_base_links_vel` `set_base_links_ang`method in the `RigidEntity` class

Open junsu-kim-diden opened this issue 3 months ago • 3 comments

What feature or enhancement are you proposing?

Implementation of a set_base_links_vel() method in the RigidEntity class that allows direct setting of both linear velocity (vel) and angular velocity (ang) for the base link of rigid entities in a single method call.

Motivation

As a robotics researcher using Genesis for simulation environments, I need to directly set and reset the base velocities of my robot entities to initialize scenarios with specific starting conditions and reset environments between episodes.

Potential Benefit

This feature enables efficient environment resets, precise initial velocity setup for external force experiments, and significantly improves training workflows and experimental reproducibility in Genesis simulations.

What is the expected outcome of the implementation work?

  • [ ] set_base_links_vel() method implemented in RigidEntity class

Additional information

No response

junsu-kim-diden avatar Sep 22 '25 14:09 junsu-kim-diden

I want this too. I don't see a way to do this in genesis

rsamf avatar Sep 23 '25 22:09 rsamf

I don't think this method while be implemented anytime soon because it is ill-defined. An entity may have multiple root joints (we support kinematic forest for entities, not just kinematic tree). Because of this, what are you supposed to do for the velocity? Setting the same velocity for all of them? This seems wrong. Another approach could be to raise an exception for entities not having exact one free root joint, otherwise set the velocity of this specific joint.

duburcqa avatar Sep 24 '25 07:09 duburcqa

@duburcqa I'd like to at least have a set_links_lin_vel() so that I can randomly set the velocity of 1 or more links at random intervals. This purpose is for reinforcement learning for robust locomotion.

rsamf avatar Sep 25 '25 21:09 rsamf