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

Add Saturation Joint Limiter that uses clamping method #971

Merged
merged 75 commits into from
Jul 4, 2024

Conversation

destogl
Copy link
Member

@destogl destogl commented Mar 16, 2023

Add basic interface for joint limiting plugins and simple joint limiter that can always be used and it is installed per default.

destogl and others added 5 commits March 7, 2023 18:42
- Added initial structures for joint-limit plugins.
- Correct ruckig name and make tests to work.
- Rename the joint_limits package
- Comment and author cleanup
- Base class does not require libary.
- Delete extra layer of abstraction since not all plugins require a vector of smoothing objects.
- Restore simple_joint_limiter to a working state
- Implement init() and enforce()
- Return of joint_limits package.
- Move Ruckig limiter to package joint_limits_enforcement_plugins and make it working.
Debug and optimize Rucking JointLimiter.
…r) (#6)

* Merge error handling possilibity on read and write.

* Ros2 control extensions rolling joint limits plugins (#5)

* Added initial structures for joint-limit plugins.

* Move Ruckig limiter to package joint_limits_enforcement_plugins and make it working.

Co-authored-by: AndyZe <zelenak@picknik.ai>

* Add option to automatically update parameters after getting them from parameter server.

* Modify simple joint limiting plugin (same as changes to moveit2 filter)

* Add backward_ros dependency for crash stack trace

* Check for required inputs in simple joint limiter

* Change services history QOS to 'keep all' so client req are not dropped

* Add missing on 'pluginlib' dependency explicitly.

* Update ControllerParameters structure to support custom prefix and use in filters.

* Update messge.

* Change controller param changed msg log level to info instead of error

---------

Co-authored-by: Denis Štogl <destogl@users.noreply.github.com>
Co-authored-by: AndyZe <zelenak@picknik.ai>
Co-authored-by: bijoua <bijou.abraham@technipfmc.com>
Co-authored-by: bijoua29 <73511637+bijoua29@users.noreply.github.com>
@mergify
Copy link
Contributor

mergify bot commented Mar 16, 2023

This pull request is in conflict. Could you fix it @destogl?

@mergify
Copy link
Contributor

mergify bot commented Mar 16, 2023

This pull request is in conflict. Could you fix it @destogl?

Copy link
Contributor

@AndyZe AndyZe left a comment

Choose a reason for hiding this comment

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

Out of review time for now, will prob come back to finish.

joint_limits_interface/package.xml Outdated Show resolved Hide resolved
joint_limits_interface/CMakeLists.txt Outdated Show resolved Hide resolved
joint_limits/src/joint_limiter_interface.cpp Outdated Show resolved Hide resolved
joint_limits/joint_limiters.xml Outdated Show resolved Hide resolved
joint_limits/package.xml Outdated Show resolved Hide resolved
joint_limits/src/joint_limiter_interface.cpp Outdated Show resolved Hide resolved
joint_limits/src/joint_limiter_interface.cpp Outdated Show resolved Hide resolved
joint_limits/src/simple_joint_limiter.cpp Outdated Show resolved Hide resolved
@destogl
Copy link
Member Author

destogl commented Mar 23, 2023

@destogl please consider this comment: #977 (review)

@mergify
Copy link
Contributor

mergify bot commented Apr 2, 2023

This pull request is in conflict. Could you fix it @destogl?

Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

mergify bot commented Feb 12, 2024

This pull request is in conflict. Could you fix it @destogl?

Copy link
Contributor

mergify bot commented Apr 29, 2024

This pull request is in conflict. Could you fix it @destogl?

muritane added a commit to StoglRobotics-forks/ros2_control that referenced this pull request Jun 13, 2024
Comment on lines +17 to +21
#include "joint_limits/joint_limiter_interface.hpp"

namespace joint_limits
{
} // namespace joint_limits
Copy link
Member

Choose a reason for hiding this comment

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

missing code!

Copy link
Member Author

Choose a reason for hiding this comment

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

I will test this one more time and explain way.

Copy link
Member Author

Choose a reason for hiding this comment

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

OK, we are required to have this .cppfile as this is a base interface for pluginlib. I have added the full implementation to .hpp because of templated class, as the exact methods are generated on the compile time.

bmagyar
bmagyar previously approved these changes Jul 3, 2024
@saikishor
Copy link
Member

Hey @bmagyar @destogl

The PR #1526 also has the changes from this PR and rebased and all. Should we aim to get that merged, so we can have the limiters in ResourceManager?

@destogl
Copy link
Member Author

destogl commented Jul 4, 2024

Merging as agreed in WG Meeting yesterday.

@destogl destogl merged commit bb85eae into ros-controls:master Jul 4, 2024
18 of 21 checks passed
@destogl destogl deleted the add-simple-joint-limiter branch July 4, 2024 08:15
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.

9 participants