-
Notifications
You must be signed in to change notification settings - Fork 414
[JTC] Configurable joint positon error normalization behavior #491
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
[JTC] Configurable joint positon error normalization behavior #491
Conversation
joint_trajectory_controller/src/joint_trajectory_controller_parameters.yaml
Show resolved
Hide resolved
joint_trajectory_controller/test/test_trajectory_controller.cpp
Outdated
Show resolved
Hide resolved
| EXPECT_NEAR(points[0][1], state_msg->desired.positions[1], allowed_delta); | ||
| EXPECT_NEAR(points[0][2], state_msg->desired.positions[2], 3 * allowed_delta); | ||
|
|
||
| // no normalization of position error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this here be normalized?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments were misleading, maybe it's clearer now
|
This pull request is in conflict. Could you fix it @christophfroehlich? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
Codecov Report
@@ Coverage Diff @@
## master #491 +/- ##
==========================================
- Coverage 35.78% 32.48% -3.31%
==========================================
Files 189 7 -182
Lines 17570 665 -16905
Branches 11592 357 -11235
==========================================
- Hits 6287 216 -6071
+ Misses 994 157 -837
+ Partials 10289 292 -9997
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
@Mergifyio backport humble |
❌ Command disallowed due to command restrictions in the Mergify configuration.
|
|
@Mergifyio backport humble |
✅ Backports have been created
|
* Use the same variables for state feedback and PID loop * Make joint_error normalization configurable * Activate test for only velocity controller * Allow ff_velocity_scale=0 without deprecated warning * Add test for setpoint due to normalized position error * Update comments in test Co-authored-by: Bence Magyar <[email protected]> (cherry picked from commit 67e5d4d)
…579) * Use the same variables for state feedback and PID loop * Make joint_error normalization configurable * Activate test for only velocity controller * Allow ff_velocity_scale=0 without deprecated warning * Add test for setpoint due to normalized position error * Update comments in test Co-authored-by: Bence Magyar <[email protected]> (cherry picked from commit 67e5d4d) Co-authored-by: Christoph Fröhlich <[email protected]>
This PR addresses an optional configuration if the position error used as input for the PID controller should be normalized between -pi/pi or not (the latter is the default).
This normalization is useful if endless rotary joints are controlled, where always the shortest relative distance is of interest. But if linear joints or limited rotary joints are used, it might be very dangerous.
I'm open for suggestions to a better naming of the parameter, and if it should be situated below the gain-structure or in a separate one.