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

Add tutorial for warehouse_ros(_sqlite) #101

Merged
merged 5 commits into from
Oct 14, 2021

Conversation

gleichdick
Copy link
Contributor

@gleichdick gleichdick commented Aug 4, 2021

Description

As discussed in the maintainer meeting in June,
another plugin for warehouse_ros is expected to be moved into ros-planning. One condition was to extend the tutorials regarding saving and restoring of states.

I wrote the tutorial as if warehouse_ros_sqlite is already part of ros_planning and released.
Any remarks and comments are welcome!

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • Add infos about stored scenes (I dont have any clue about that, never used it)

Undo this change after warehouse_ros_sqlite is moved to ros-planning
@vatanaksoytezer vatanaksoytezer self-requested a review August 6, 2021 19:56
Copy link
Contributor

@v4hn v4hn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much @gleichdick !

When I proposed to add a tutorial for it, I actually assumed you would add a ROS tutorial instead.
Could you also copy&paste the tutorial to https://github.com/ros-planning/moveit_tutorials and adapt the launch file part for ROS?

Currently, two storage plugins (based on
`warehouse_ros <https://github.com/ros-planning/warehouse_ros>`_) are available:

* `warehouse_ros_mongo <https://github.com/ros-planning/warehouse_ros_mongo>`_, which uses MongoDB as backend (default)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it makes sense to highlight this as the default.
If anything most new users of these methods will default to the simpler sqlite backend.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, but then we have to change all the demo files and the templates for the MSA. This would be a breaking change, maybe postpone it to the next distro (H Turtle)?

Copy link
Contributor

@v4hn v4hn Aug 10, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no official MSA for MoveIt2 yet, so we still have all the flexibility there as far as I know. :)
But yes, in MoveIt the config templates mention mongodb in multiple places, so de facto that makes it the default.
However, I would still prefer to remove the (default) part to not bias potential users into thinking mongodb might be better.


To save a start state, drag the green manipulator to the correct position and click "Save Start".
The goal state (orange manipulator) can be saved with the "Save Goal" button.
To restore a state, select it in the list and click on "Set as Start" resp. "Set as Goal".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the user experience is really horrible with this GUI... I just tried to use this for something productive.
But of course reworking the GUI is outside of the scope of this.

doc/persistent_scenes_and_states/move_group.launch.py Outdated Show resolved Hide resolved
## CALL_SUB_TUTORIAL set_config_move_group
## CALL_SUB_TUTORIAL set_config_rviz
## CALL_SUB_TUTORIAL start_mongodb_server
## END_TUTORIAL
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with the current MoveIt launch file code in ROS2 (In my naive opinion it's a horrible and entirely useless pile of crap that does not scale), so I can't review this file at all.

Please review this file @JafarAbdi @henningkayser
Do you really add these whole stacks to each and every tutorial?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All launch files will be simplified once moveit/moveit2#591 is merged. No need to adapt this launch file, though.

@gleichdick
Copy link
Contributor Author

This is the ROS1 version: moveit/moveit_tutorials#658

Copy link
Member

@henningkayser henningkayser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gleichdick Great work, thanks a lot! I tested this, works perfectly for me. I think this is really useful and would even consider using sqlite as new default. There are some minor changes that should be applied before merging.

Could you start another attempt at migrating https://github.com/gleichdick/warehouse_ros_sqlite over to ros-planning? Sorry, that the last attempts weren't responded.

## CALL_SUB_TUTORIAL set_config_move_group
## CALL_SUB_TUTORIAL set_config_rviz
## CALL_SUB_TUTORIAL start_mongodb_server
## END_TUTORIAL
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All launch files will be simplified once moveit/moveit2#591 is merged. No need to adapt this launch file, though.

doc/persistent_scenes_and_states/move_group.launch.py Outdated Show resolved Hide resolved
doc/persistent_scenes_and_states/move_group.launch.py Outdated Show resolved Hide resolved
@gleichdick
Copy link
Contributor Author

Moving the repo finally worked 😁
I added Michael's and your suggestions (also from the ROS1 PR).
The database file is indeed created if it's not found. The mongodb part of the launch file is oviously not needed for sqlite.

@v4hn
Copy link
Contributor

v4hn commented Oct 8, 2021

Moving the repo finally worked 😁

You have no idea how much communication without feedback, policy discussion, struggles for exclusive ownership and frustration was involved to get there. After sufficient escalation and multiple months of waiting it's suddenly easy to get time from four PickNik employees over night to write long discussion mails, review PRs and initiate the repository transfer with you. 😣

A weak thank you to @nbbrooks for getting this done eventually and finally acting according to his level of access.

@nbbrooks
Copy link
Contributor

nbbrooks commented Oct 8, 2021

@gleichdick apologies for the delay, I forgot the blocker for a repo transfer from individual -> organization was on our end. Thank you for the upgrade!

@henningkayser henningkayser merged commit 32bd6c3 into moveit:main Oct 14, 2021
tylerjw pushed a commit that referenced this pull request Nov 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants