-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WorldAngularVelocityCmd and WorldLinearVelocityCmd are ignored by Physics system #2266
Comments
I suspect we should warn users if two plugins are setting On a related note, what happens if we set LinearVelocity* then try to apply a force? Or for instance the user sets a linear velocity and then tries to apply a force (it may be nice to support his at some point as it could clean up some of our tests)? |
Let's discuss whether we should be encouraging the use of |
We currently use JointPositionReset and JointVelocityReset to change joint states for a single timestep; so I suppose we could do the same with |
My two cents: I recently started contributing to a project that uses ros2_control + Gazebo/gz, and the use of control/cmd naming for operations that are actually fiddling with the physics engine in a way that has no direct relation in the real world has been indeed a major source of confusion (see also https://discord.com/channels/1077825543698927656/1080763334384697430/1196933980252029099). So I am super in favor of using fyi @AleTarsi @pattacini |
Desired behavior
Currently the
AngularVelocityCmd
andLinearVelocityCmd
components can be added to a model or link to set body-fixed velocity components (see Physics.cc:2406-2608. Components are also defined for WorldAngularVelocityCmd and WorldLinearVelocityCmd, but the Physics system ignores these components.The Physics system should use these components so that velocities can be set in the world frame as an alternative to a body-fixed frame.
Alternatives considered
Implementation suggestion
This does raise a question what to do if an entity has both a
*VelocityCmd
and aWorld*VelocityCmd
set; which one should be honored? Or should neither be honored?I would suggest defining an order of precedence, perhaps preferring the body-fixed components since they were the first to be supported by the Physics system.
Additional context
The text was updated successfully, but these errors were encountered: