-
Notifications
You must be signed in to change notification settings - Fork 2
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
[jog_arm] Changes before porting to ROS2 #8
[jog_arm] Changes before porting to ROS2 #8
Conversation
Thanks for helping in improving MoveIt and open source robotics! |
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.
Overall very reasonable changes
moveit_experimental/moveit_jog_arm/include/moveit_jog_arm/jog_calcs.h
Outdated
Show resolved
Hide resolved
fecdab6
to
8bb6cf6
Compare
e5785d8
to
10de4dc
Compare
Codecov Report
@@ Coverage Diff @@
## p/tylerjw/jog_arm_threading #8 +/- ##
===============================================================
+ Coverage 57.56% 57.92% +0.35%
===============================================================
Files 327 327
Lines 25641 25645 +4
===============================================================
+ Hits 14761 14854 +93
+ Misses 10880 10791 -89
Continue to review full report at Codecov.
|
5a27160
to
fffa81e
Compare
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.
Looks good! I'm going to approve it, assuming you'll make the one change about ROS_LOG_THROTTLE_PERIOD
* update dependencies for python3 in noetic * add one more that rosdep install didn't catch
…_threading [jog_arm] simplify communication between threads
b220d69
to
109b83f
Compare
Re-targeted this to the main moveit repo, see moveit#2151 |
Description
These are changes I wanted to make (in addition to moveit#2103) before starting on porting the jogger to ROS2 because I want these changes there as well.
The changes consist of a lot of minor changes, see list below for details. @tylerjw
const
in functions where applicable, fixing comments, combining if statements and making them flow bettersuddenHalt(Eigen::ArrayXd& delta_theta)
overload. It included comments saying position and velocity controlled robots were handled differently, but this function did not handle them differently (and only setdelta_theta
to all 0 which could be really bad for a position controlled robot). It was only called one place with the Eigen Array, and I replaced the call with asetZero()
there and deleted the function so future users don't use it and accidentally send the robot to 0's.have_nonzero_twist_stamped_
andhave_nonzero_joint_jog_
which were used intermittently in therun()
timer callback but also set in the command subscriber callbacks. Moved them to mutex protected implementation similar to the rest of subscriber callback variablesenforceSRDFAccelVelLimits()
function which was clipping the change in joint angles joint by joint so they fit within the acceleration and velocity limits - but going joint by joint may result in a nonlinear change in the joint angles (inside the enforcing limits function). Instead I go joint by joint and track how much each joint needs to be scaled down to be within limits, then apply the most significant scaling to the entire array. This is a linear operation, and ensures the robot motion after enforcing the limits is a linearly-scaled version of the user request (also scaled by singularity and collision)Checklist