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
Remove plan_with_sensing #1142
Remove plan_with_sensing #1142
Conversation
a4a5d53
to
617955b
Compare
Codecov Report
@@ Coverage Diff @@
## main #1142 +/- ##
==========================================
- Coverage 61.56% 61.55% -0.01%
==========================================
Files 274 274
Lines 24982 24982
==========================================
- Hits 15377 15374 -3
- Misses 9605 9608 +3
Continue to review full report at Codecov.
|
plan with sensing is an advanced feature to deal with noisy octomap data by pointing a mobile camera at potential collisions. I absolutely agree that the ROS implementation is not ideal and reworking it would be great, but the policy to just throw away functionality because your non-academical robots (without movable camera) do not need them (for now) is a big minus from my side. 👎 |
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.
Please reconsider
I think the feature provides a very narrow use case in a somewhat complicated way. You're right, it's an example of advanced behavior, but does it really need to be a default feature that we have to support with MoveIt? IMO, it could really use some re-implementation, but even with that, I think it would much better fit into a tutorial or examples package rather than the main code base. No-one is using this realistically, and just because many years of development effort have been spent on this feature (I doubt it), it doesn't mean that it has to stay in the main code base forever. |
I have tried to use it once for a client and it didn't work at all, I also spent some time trying to debug and fix it until I gave up |
If you want to remove a feature because it is broken / badly implemented, then provide a more general (and thus more useful) framework that can implement the same functionality (e.g. behavior-tree controlled planning&execution?) instead:
- plan trajectory
- the generated plan is too close to collision bodies/the octomap
- extract points of highest cost
- direct a movable camera sensor at the location and wait for planning scene updates
- try to plan again with the updated scene
The whole logic is currently implemented to also integrate with the old PickPlace pipeline and thus can handle multi-trajectory manipulation plans.
We do not yet have an alternative system that can do that anywhere else.
I perfectly agree to remove unused *code* as described in most points of the meta-issue, but not *functionality* - even if possibly broken.
I simply oppose removing features from the code-base without providing an alternative way to achieve the same thing. That's plain regression.
I have tried to use it once for a client and it didn't work at all, I also spent some time trying to debug and fix it until I gave up
If you believe it is broken add an issue for a tutorial/test that demonstrates it can work (and possibly fix it). Your description literally describes the state of most of the MoveIt codebase back in 2016 when we started to get things up and running again. And a lot more works again by now.
|
Another vote from me towards removing this functionality. |
This pull request is in conflict. Could you fix it @stephanie-eng? |
@v4hn have you given this any more thought yet? Doesn't it seem like the functionality here could be replicated with hybrid planning? |
Sorry for not replying here for so long. I do think that in theory this is possible to implement with the hybrid planner so go ahead and remove the old code here. |
@stephanie-eng do you mind resolving the conflicts here when you have time so we can get this merged? |
617955b
to
4682959
Compare
(cherry picked from commit ad9fb46)
Description
Remove unused plan_with_sensing code as mentioned on #1038