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

[JTC] When replacing trajectories in open-loop mode use time of the last command when setting point of trajectory before msg. #780

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

destogl
Copy link
Member

@destogl destogl commented Sep 26, 2023

This PR tackles the issues that happen in open-loop mode where on replacing trajectories the last command is repeated.
The figures below show the results of the output trajectories before and after this functionality. The trajectory that uses the time of the last command as point before trajectory messages gets smoother output.

Functionality right now:
When using current time

Functionality with this PR:
With using previous time with previous command

P.S. The similar thing would be useful for trajectory replacement in closed loop mode, but then we would need to know exactly when the state is read from the hardware. This is just something to think about in the future.

P.P.S. I will add tests too.

@codecov
Copy link

codecov bot commented Sep 26, 2023

Codecov Report

Merging #780 (8fc35dc) into master (232154d) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #780      +/-   ##
==========================================
- Coverage   45.40%   45.34%   -0.07%     
==========================================
  Files          40       40              
  Lines        3649     3654       +5     
  Branches     1723     1727       +4     
==========================================
  Hits         1657     1657              
- Misses        810      813       +3     
- Partials     1182     1184       +2     
Flag Coverage Δ
unittests 45.34% <0.00%> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...jectory_controller/joint_trajectory_controller.hpp 0.00% <ø> (ø)
...ory_controller/src/joint_trajectory_controller.cpp 46.94% <0.00%> (-0.33%) ⬇️

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.

Looks good for me (even more if the mentioned tests are added)
concerning closed-loop mode: I'm not sure if this is necessary, shouldn't the trajectory generator be aware of the current state? But I guess there might be configurations where this could improve something.

@destogl
Copy link
Member Author

destogl commented Oct 3, 2023

concerning closed-loop mode: I'm not sure if this is necessary, shouldn't the trajectory generator be aware of the current state? But I guess there might be configurations where this could improve something.

This is important only when trajectory replacement is done. My comment was along: "if strange behavior happens when replacing trajectories - it might be that the state of is too

@christophfroehlich
Copy link
Contributor

I'm asking myself if it is desirable at all to interpolate from measured state instead of the last command with closed-loop config. but that really depends on the algorithm generating the trajectory

@muritane muritane force-pushed the jtc-smoothen-interplation-in-open-loop branch from 4a85ca0 to 8fc35dc Compare November 13, 2023 16:52
Copy link
Contributor

mergify bot commented Nov 15, 2023

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

henrygerardmoore pushed a commit to henrygerardmoore/ros2_controllers that referenced this pull request Jul 19, 2024
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.

test_no_jump_when_state_tracking_error_not_updated fails

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants