-
Notifications
You must be signed in to change notification settings - Fork 567
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add command queue to servo to account for latency (#2594)
* add command queue to servo to account for latency * run pre-commit * fix unsigned compare * Update moveit_ros/moveit_servo/config/servo_parameters.yaml Fix wording Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * Update moveit_ros/moveit_servo/src/servo.cpp Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * Update moveit_ros/moveit_servo/src/servo.cpp Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * add comments and change variable names * add checks to determine what state information should be published Signed-off-by: Paul Gesel <paulgesel@gmail.com> * change latency parameter name Signed-off-by: Paul Gesel <paulgesel@gmail.com> * factor command queue out of servo instance Signed-off-by: Paul Gesel <paulgesel@gmail.com> * update demos Signed-off-by: Paul Gesel <paulgesel@gmail.com> * needs clean up but working well * deal with duplicate timestamps for sim * add acceleration limiting smoothing * add timeout check in filter Signed-off-by: Paul Gesel <paulgesel@gmail.com> * factor out robot state from servo call Signed-off-by: Paul Gesel <paulgesel@gmail.com> * update comments in smoothing pluin Signed-off-by: Paul Gesel <paulgesel@gmail.com> * fix tests Signed-off-by: Paul Gesel <paulgesel@gmail.com> * change velocity calculation to make interpolation not overshoot Signed-off-by: Paul Gesel <paulgesel@gmail.com> * Update moveit_ros/moveit_servo/config/panda_simulated_config.yaml Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * Update moveit_ros/moveit_servo/config/servo_parameters.yaml Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * Update moveit_ros/moveit_servo/demos/cpp_interface/demo_joint_jog.cpp Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> * fix time calculation Signed-off-by: Paul Gesel <paulgesel@gmail.com> * add check to ensure time interval is positive Signed-off-by: Paul Gesel <paulgesel@gmail.com> * simplify demos Signed-off-by: Paul Gesel <paulgesel@gmail.com> * wait for first robot state before starting servo loop Signed-off-by: Paul Gesel <paulgesel@gmail.com> * add comments to acceleration filter Signed-off-by: Paul Gesel <paulgesel@gmail.com> * fix wait time units * fix logic bug in smoothHalt and remove stopping point from trajectory message. Still some overshoot. Signed-off-by: Paul Gesel <paulgesel@gmail.com> * add acceleration limit to servo Signed-off-by: Paul Gesel <paulgesel@gmail.com> * remove acceleration filter Signed-off-by: Paul Gesel <paulgesel@gmail.com> * remove other filter files from moveit_core Signed-off-by: Paul Gesel <paulgesel@gmail.com> * add doc string and basic clean up * refactor getRobotState to utils and add a test Signed-off-by: Paul Gesel <paulgesel@gmail.com> * make some things const and fix comments Signed-off-by: Paul Gesel <paulgesel@gmail.com> * use joint_limts params to get robot acceleration limits Signed-off-by: Paul Gesel <paulgesel@gmail.com> * update demo config and set velocities in demos Signed-off-by: Paul Gesel <paulgesel@gmail.com> * fix acceleration calculation Signed-off-by: Paul Gesel <paulgesel@gmail.com> * apply collision_velocity_scale_ in smooth hault, add comments, and rename variables Signed-off-by: Paul Gesel <paulgesel@gmail.com> * use bounds on scaling factors in [0... 1] Signed-off-by: Paul Gesel <paulgesel@gmail.com> * remove joint_acceleration parameter Signed-off-by: Paul Gesel <paulgesel@gmail.com> * add test for jointLimitAccelerationScaling Signed-off-by: Paul Gesel <paulgesel@gmail.com> * refactor velocity and acceleration scaling into common function Signed-off-by: Paul Gesel <paulgesel@gmail.com> * general clean up, add comments, fix parameters, set timestamp in updateSlidingWindow, etc. Signed-off-by: Paul Gesel <paulgesel@gmail.com> * Update moveit_ros/moveit_servo/config/panda_simulated_config.yaml Co-authored-by: AndyZe <andyz@utexas.edu> * Update moveit_ros/moveit_servo/src/servo.cpp Co-authored-by: AndyZe <andyz@utexas.edu> * remove override_acceleration_scaling_factor Signed-off-by: Paul Gesel <paulgesel@gmail.com> * fix variable name Signed-off-by: Paul Gesel <paulgesel@gmail.com> * enable use_smoothing in demos Signed-off-by: Paul Gesel <paulgesel@gmail.com> * Update moveit_ros/moveit_servo/config/panda_simulated_config.yaml Co-authored-by: AndyZe <andyz@utexas.edu> * add current state to command queue if it is empty. This is needed since the time stamp is set in the updateSlidingWindow function now. Signed-off-by: Paul Gesel <paulgesel@gmail.com> * remove acceleration smoothing Signed-off-by: Paul Gesel <paulgesel@gmail.com> * revert jointLimitVelocityScalingFactor refactor Signed-off-by: Paul Gesel <paulgesel@gmail.com> * 1) fix spelling 2) add comments 3) make sure rolling_window always has current state if no command generated 4) fix smooth hault: stop command was not generated if smoothing disabled 5) call resetSmoothing when there are no commands Signed-off-by: Paul Gesel <paulgesel@gmail.com> --------- Signed-off-by: Paul Gesel <paulgesel@gmail.com> Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> Co-authored-by: AndyZe <andyz@utexas.edu>
- Loading branch information
1 parent
74ba730
commit 0d2d070
Showing
19 changed files
with
468 additions
and
184 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.