-
Notifications
You must be signed in to change notification settings - Fork 195
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 "Move Group Python Interface" tutorial #3
Comments
Blocked by #59 |
Hello, I'd like to port this Tutorial. |
Hello. When trying to launch this tutorial and the
Is this error because the ROS2 version incompatibility? Is there any way to be able to run with ROS2? Thanks in advance. |
Hey Nikorose, yes it need to be ported from moveit1 to moveit2 which include porting from ROS to ROS2. |
Thank you for the info! |
@JonatasVT Do you have any sample to transform those scripts into the ROS2 environment? Especially from catkin to colcon. Thank you |
@nikorose87 |
Hello @JonatasVT, Great to hear that you are interested in porting to tutorial. Unfortunately the Python Interface that this tutorial uses is not ported to ROS2. See https://github.com/ros-planning/moveit2/tree/main/moveit_commander being COLCON_IGNOREd. This needs to be ported before the tutorial to expose the move_group interface through python. moveit_commander uses bunch of other Python interfaces that hasn't been ported as well under moveit_ros. If you are willing to contribute to port Python interfaces please let me know and at least I (or a maintainer) can help guiding you on what needs to be ported to get this done. |
@vatanaksoytezer Is there an ETA or an issue tracking when the python interfaces will be ported? |
moveit/moveit2#314 is the relevant issue for porting python bindings. As far as I know there is no work in progress right now, so no ETAs. |
Hi @vatanaksoytezer, am I understanding this correct that Moveit2 can - at least for now- not be used with the python movegroup interface? Are there any alternatives for easily setting target poses etc. through python? Thanks in advance for your reply! |
@tlpss that is correct. We don't have any official way of interfacing with MoveIt 2 through Python as of now, though the C++ interface should be fairly straightforward and robust to use. On another note, technically speaking you can always interface with MoveIt 2 through services and topics by using any language or interface you would like (command line, cpp, python). But this might take more effort than just using C++ interfaces. |
@vatanaksoytezer Thanks for your reply! I understand that we could indeed directly connect to the topics/services, but that is slightly less convenient as you already mentioned. Is there by any chance a roadmap for the python interface? |
So the situation is same as above comment of mine:
|
* Test docker (#3) * renamed cartesian limits file (#472) * Tutorial dockerfiles (#463) Build and push docker images for tutorials * fixed clang complaints * removed dockerhub pushes * successfully ran htmlproofer * removed chomp tutorial commits * removed accidental commits * Update CMakeLists.txt * renamed mtc tutorial cpp file * updated cmakelists * updated cmakelists * removed vscode * refactored docker * skipping base image * added conditions on building base image * added conditions on building base image * added conditions on building base image * ran pre commit * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * resolved comments * updated location to check for changes * test change to dockerfile * test change to dockerfile * test change to dockerfile * updated scripts to run only when dockerfile changes * fixed syntax * chaged to ros base image * chaged to ros base image * update * removed ccache and change repo names * removed ccache and change repo names Co-authored-by: Henry Moore <[email protected]> Co-authored-by: Robert Haschke <[email protected]> * Docker debug (#2) * Tutorial dockerfiles (#463) Build and push docker images for tutorials * fixed clang complaints * removed dockerhub pushes * successfully ran htmlproofer * removed chomp tutorial commits * removed accidental commits * Update CMakeLists.txt * renamed mtc tutorial cpp file * updated cmakelists * updated cmakelists * removed vscode * refactored docker * skipping base image * added conditions on building base image * added conditions on building base image * added conditions on building base image * ran pre commit * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * resolved comments * updated location to check for changes * test change to dockerfile * test change to dockerfile * test change to dockerfile * updated scripts to run only when dockerfile changes * fixed syntax * got it building * building dockerfiles of tutorials * added pick container * pushing to new pc * changed to multi-stage * updated dockerfile * rebased * continued rebasing * continued rebasing * continued rebasing * continued rebasing * continued rebasing * merged online edit * continued rebasing * pre commit * modified dockerfile * added ccache to path * merging * merging * successfully ran htmlproofer * removed chomp tutorial commits * removed accidental commits * Update CMakeLists.txt * renamed mtc tutorial cpp file * updated cmakelists * updated cmakelists * removed vscode * merging * merging * ran pre commit * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * resolved comments * test change to dockerfile * test change to dockerfile * test change to dockerfile * merging * changed dockerfile * changed dockerfile * changed dockerfile * changed dockerfile * changed dockerfile Co-authored-by: Robert Haschke <[email protected]> * changed naming for ros-planning * fixed conflict resolution artifsct Co-authored-by: Henry Moore <[email protected]> Co-authored-by: Robert Haschke <[email protected]>
* renamed cartesian limits file (#472) * Tutorial dockerfiles (#463) Build and push docker images for tutorials * fixed clang complaints * removed dockerhub pushes * successfully ran htmlproofer * removed chomp tutorial commits * removed accidental commits * Update CMakeLists.txt * renamed mtc tutorial cpp file * updated cmakelists * updated cmakelists * removed vscode * refactored docker * skipping base image * added conditions on building base image * added conditions on building base image * added conditions on building base image * ran pre commit * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * resolved comments * updated location to check for changes * test change to dockerfile * test change to dockerfile * test change to dockerfile * updated scripts to run only when dockerfile changes * fixed syntax * chaged to ros base image * chaged to ros base image * update * removed ccache and change repo names * removed ccache and change repo names Co-authored-by: Henry Moore <[email protected]> Co-authored-by: Robert Haschke <[email protected]>
* renamed cartesian limits file (#472) * Tutorial dockerfiles (#463) Build and push docker images for tutorials * fixed clang complaints * removed dockerhub pushes * successfully ran htmlproofer * removed chomp tutorial commits * removed accidental commits * Update CMakeLists.txt * renamed mtc tutorial cpp file * updated cmakelists * updated cmakelists * removed vscode * refactored docker * skipping base image * added conditions on building base image * added conditions on building base image * added conditions on building base image * ran pre commit * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * Update .docker/Dockerfile Co-authored-by: Robert Haschke <[email protected]> * resolved comments * updated location to check for changes * test change to dockerfile * test change to dockerfile * test change to dockerfile * updated scripts to run only when dockerfile changes * fixed syntax * chaged to ros base image * chaged to ros base image * update * removed ccache and change repo names * removed ccache and change repo names Co-authored-by: Henry Moore <[email protected]> Co-authored-by: Robert Haschke <[email protected]>
@peterdavidfagan we can call this done by you, right? |
During my GSoC project we discussed ensuring that the Python bindings I create become mature enough to provide most/all the functionality of MoveIt Commander and hence become the Python interface for MoveIt 2. There are still features that need to be added to the new bindings, in particular from the MoveIt Commander tutorials I need to add Cartesian path planning. Given the issue is about porting the Move Group Python Interface tutorial, I would say that yes this is supposed to be addressed by the new Python bindings and their corresponding tutorials. If you want to mark this as done, I'll follow up with a new issue for adding cartesian path planning to the new Python Interface. |
@peterdavidfagan: would porting this tutorial also require moveit_py to wrap the moveit::planning_interface::MoveGroupInterface? My current understanding is that if a node wants to use MoveItPy it must have all the moveit-related parameters set on it whereas the MoveGroupInterface uses an already configured and running /move_group node. |
Hi @m-elwin, If you have particular functionalities you need that aren't already in Irrespective of the above, it should be possible to launch the |
Hi @peterdavidfagan, thanks for the quick reply and offer to help. I'm also happy to help as well. The overall missing functionality that I would want (and believe is generally needed) is the ability to use
The above workflow matches that of the ROS 1 version of the tutorial this issue refers to and the Your First C++ MoveIt Project ROS 2 tutorial but I do not know how to achieve an equivalent workflow with It's not so much a difference of what can be accomplished with MoveIt from python (which I think |
Hi @m-elwin,
Managing robot configuration/parameters can be painful, there is now a nice guide explaining some of the parameters used by MoveIt here. In general, somewhere the parameters need to be configured, I think this is somewhat separate to the
Thanks so much, still looking forward to improving and adding further features to the Python API, your feedback is welcomed.
This is very true, I am considering creating a video tutorial for |
Thanks @peterdavidfagan,
I think that makes sense. I guess what I'm trying to figure out is how the C++ Here's an example of what I mean in more detail:
My initial thought was that the best way to achieve this "configurationless" functionality is to wrap MoveGroupInterface (from the |
Hi @m-elwin, Thanks for following up on this. The parameters are passed to the The same pattern is used to pass parameters to the Both interfaces use the same method of passing parameters to a node via the launch file, as a result, you could instead launch a |
Fixed by #810 |
Port tutorial to ROS2.
The text was updated successfully, but these errors were encountered: