Skip to content
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

Robot still saggs if interfaces are not claimed #250

Open
christophfroehlich opened this issue Dec 31, 2023 · 0 comments
Open

Robot still saggs if interfaces are not claimed #250

christophfroehlich opened this issue Dec 31, 2023 · 0 comments

Comments

@christophfroehlich
Copy link
Contributor

christophfroehlich commented Dec 31, 2023

Since #177 the joints without claimed interfaces are set to have zero velocity. I'm still not exactly sure if this really solves an issue, because IMHO it does not work but breaks other configurations (passive joints were already fixed; but joints without active controller might be expected to fall down, e.g. with effort interface: fix proposed with #251 ):

  • ros2 launch ros2_control_demo_example_9 rrbot_gazebo_classic.launch.py gui:=true
  • Change the gravity to be horizontal in gazebo UI
  • The robot moves
zero_velocity.mp4

If this is an important usecase, we should save the position at time of initialization or perform_command_mode_switch (if a controller was deactivated later) and set also the position to that value, not only the velocity to zero (similar to #213)

} else if (this->dataPtr->is_joint_actuated_[j]) {
// Fallback case is a velocity command of zero (only for actuated joints)
this->dataPtr->sim_joints_[j]->SetVelocity(0, 0.0);
}

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

No branches or pull requests

1 participant