-
Notifications
You must be signed in to change notification settings - Fork 581
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
Port Pilz Industrial Motion Planner #452
Conversation
62a2020
to
fe91433
Compare
fe91433
to
e7ed187
Compare
26b7be6
to
1908031
Compare
0ee9d5c
to
ac798fe
Compare
@@ -640,7 +640,7 @@ bool JointModelGroup::canSetStateFromIK(const std::string& tip) const | |||
// remove frame reference, if specified | |||
const std::string& tip_local = tip[0] == '/' ? tip.substr(1) : tip; | |||
const std::string& tip_frame_local = tip_frame[0] == '/' ? tip_frame.substr(1) : tip_frame; | |||
RCLCPP_WARN(LOGGER, "comparing input tip: %s to this groups tip: %s ", tip_local.c_str(), tip_frame_local.c_str()); |
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.
not sure why this was a warning, was spamming everywhere when enabling the tests. I changed it back how it was since MoveIt 1.
struct JointLimits | ||
{ | ||
JointLimits() | ||
: min_position(std::numeric_limits<double>::quiet_NaN()) |
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.
I'm not convinced that nan is a good default, in ROS 1 it was 0. But I left it like this for now to match the WIP PR.
|
||
namespace joint_limits | ||
{ | ||
inline bool declare_parameters(const std::string& joint_name, const rclcpp::Node::SharedPtr& node, |
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.
This API had to be changed from upstream. @destogl what do you think about adding a related change to ros-controls/ros2_control#462?
// NOTE: declareParameters fails (=returns false) if the parameters have already been declared. | ||
// The function should be checked in the if condition below when we disable | ||
// 'NodeOptions::automatically_declare_parameters_from_overrides(true)' | ||
joint_limits_interface::declareParameters(joint_model->getName(), param_namespace, node); |
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.
We should make a decision if we want to enforce declaring parameters everywhere or if we are fine with allowing automatic overrides moving forward.
Codecov Report
@@ Coverage Diff @@
## main #452 +/- ##
==========================================
+ Coverage 56.81% 60.81% +4.00%
==========================================
Files 200 271 +71
Lines 21659 23815 +2156
==========================================
+ Hits 12304 14481 +2177
+ Misses 9355 9334 -21
Continue to review full report at Codecov.
|
clang-tidy doesn't like the copied joint_limits headers and the included ikfast plugin for the PRBT. Both should be ignored. Otherwise, CI seems happy with the current version. |
This pull request is in conflict. Could you fix it @henningkayser? |
be006a5
to
d2d0391
Compare
32f794a
to
32b228a
Compare
Update:
However, I don't think that it makes sense to enable the PRBT in |
32b228a
to
da9dc4b
Compare
Based on @tylerjw's feedback, I switched this back to use PRBT to keep the tests enabled. We still need to migrate to a different robot, but keeping the old setup around is worth it in order to also keep the tests enabled. |
This pull request is in conflict. Could you fix it @henningkayser? |
0a16433
to
1406b10
Compare
cb9acac
to
df3fcb7
Compare
moveit_planners/pilz_industrial_motion_planner/src/move_group_sequence_action.cpp
Outdated
Show resolved
Hide resolved
df3fcb7
to
40176d7
Compare
40176d7
to
def10ba
Compare
@JafarAbdi thanks for your review, all requests are fixed. I already merged the moveit_resources PR and updated the installed repo here as well. IMO, this is ready to get merged if CI succeeds, but please don't squash-merge. |
.github/workflows/ci.yaml
Outdated
@@ -27,6 +27,7 @@ jobs: | |||
CXXFLAGS: "-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-deprecated-copy" | |||
DOCKER_IMAGE: ghcr.io/ros-planning/moveit2:${{ matrix.env.IMAGE }} | |||
UPSTREAM_WORKSPACE: moveit2.repos $(f="moveit2_$(sed 's/-.*$//' <<< "${{ matrix.env.IMAGE }}").repos"; test -r $f && echo $f) | |||
TARGET_WORKSPACE: $TARGET_REPO_PATH github:henningkayser/moveit_resources#pr-port_prbt_packages |
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 you drop this change now that it is merged into moveit_resources?
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.
I thought I just did this... I must have failed to commit it
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.
Should be fixed now. We still need moveit_resources in the target workspace because of the circular dependency (see #885). It's the same issue with MoveIt 1
def10ba
to
bf951ea
Compare
I pushed a small change to fix a clang-tidy warning in one of the tests. |
* Port to rolling * Update source documentation * Port joint and cartesian limit unittests * Fix cartesian and joint limit handling * Port pure gtest based unittests * Update unittest launch files * Add Joint Limits Container and Joint Limits validator unittest * Cleanup and use correct cmake macros * Port launch_testing depended unittests
a06f7b9
to
58c2d05
Compare
* Fix deprecated tf2 includes and conversion functions * Include latest changes to ros2_control joint_limits API * Move joint_limits headers into separate files * Silence warnings about unused variadic macros * Remove dependency to moveit_configs_utils * Fixup dependency and runtime issues in tests * Make all tests pass * Disable failing linters
58c2d05
to
05fa5a2
Compare
Fixes #315
You can test the planner using the PRBT demo.launch.py
Update
(almost)All unit tests are finally succeeding locally for me now (thanks @sjahr for all the restructuring and preparing the launch scripts)Issues (Future work)
Some stuff I encountered while working on this. I'll file issues for these the next days.