diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 100fe12e3..543989aad 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,6 +4,6 @@ Please explain the changes you made, including a reference to the related issue ### Checklist - [ ] Tested modified webpage locally using the ``build_locally.sh`` script -- [ ] While waiting for someone to review your request, please consider reviewing [another open pull request](https://github.com/ros-planning/moveit/pulls) to support the maintainers +- [ ] While waiting for someone to review your request, please consider reviewing [another open pull request](https://github.com/moveit/moveit/pulls) to support the maintainers [//]: # "You can expect a response from a maintainer within 7 days. If you haven't heard anything by then, feel free to ping the thread. Thank you!" diff --git a/README.md b/README.md index 035205fc8..666dabc1c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # The MoveIt Website -[![Formatting (pre-commit)](https://github.com/ros-planning/moveit.ros.org/actions/workflows/format.yaml/badge.svg?branch=main)](https://github.com/ros-planning/moveit.ros.org/actions/workflows/format.yaml?query=branch%3Amain) -[![Build Status](https://github.com/ros-planning/moveit.ros.org/actions/workflows/build.yaml/badge.svg?branch=main)](https://github.com/ros-planning/moveit.ros.org/actions/workflows/build.yaml?query=branch%3Amain) +[![Formatting (pre-commit)](https://github.com/moveit/moveit.ros.org/actions/workflows/format.yaml/badge.svg?branch=main)](https://github.com/moveit/moveit.ros.org/actions/workflows/format.yaml?query=branch%3Amain) +[![Build Status](https://github.com/moveit/moveit.ros.org/actions/workflows/build.yaml/badge.svg?branch=main)](https://github.com/moveit/moveit.ros.org/actions/workflows/build.yaml?query=branch%3Amain) The MoveIt website (http://moveit.ros.org/) is hosted on **Github Pages** using Markdown format. Changes to the ``main`` branch become immediately available online. @@ -12,7 +12,7 @@ Please compress images before loading them to the repo, we recommend [https://ti ## YouTube Videos -Please use https://www.youtube-nocookie.com/ instead of https://www.youtube.com/. Explanation [here](https://github.com/ros-planning/moveit.ros.org/issues/232). +Please use https://www.youtube-nocookie.com/ instead of https://www.youtube.com/. Explanation [here](https://github.com/moveit/moveit.ros.org/issues/232). ## Build Locally on Ubuntu diff --git a/_includes/contribution-guide-nav.html b/_includes/contribution-guide-nav.html index 1cec12792..e547a978c 100644 --- a/_includes/contribution-guide-nav.html +++ b/_includes/contribution-guide-nav.html @@ -31,8 +31,8 @@
Open Pull Requests:
- - {% if page.url == "https://github.com/ros-planning/moveit/pulls" %} + + {% if page.url == "https://github.com/moveit/moveit/pulls" %}
@@ -45,8 +45,8 @@
- - {% if page.url == "https://github.com/ros-planning/moveit2/pulls" %} + + {% if page.url == "https://github.com/moveit/moveit2/pulls" %}
diff --git a/_includes/footer.html b/_includes/footer.html index bcbbb4050..82e6efdd1 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -105,7 +105,7 @@

CONTRIBUTE

diff --git a/_includes/nav-bar.html b/_includes/nav-bar.html index 8ffb853b8..9027afd93 100644 --- a/_includes/nav-bar.html +++ b/_includes/nav-bar.html @@ -1,6 +1,6 @@
- + ]({{ site.url }}/assets/images/gsoc18/simulation.gif) -Say you are using the Panda robot with MoveIt! and you want to see your plan being executed in Gazebo. First open the `moveit_setup_assistant` and load the [panda_moveit_config](https://github.com/ros-planning/panda_moveit_config) package. Then navigate to the ROS Control screen and add the Follow Joint Controllers for each planning group using the “Auto Add FollowJointsTrajectory Controllers ...” [button]({{ site.url }}/assets/images/gsoc18/control_screen.png). Next navigate to the Simulation screen to generate a Gazebo compatible URDF; the Simulation screen adds the missing inertia and transmission elements required by Gazebo. The Simulation screen also adds the `gazebo_ros_control` plugin to the end of the URDF. +Say you are using the Panda robot with MoveIt! and you want to see your plan being executed in Gazebo. First open the `moveit_setup_assistant` and load the [panda_moveit_config](https://github.com/moveit/panda_moveit_config) package. Then navigate to the ROS Control screen and add the Follow Joint Controllers for each planning group using the “Auto Add FollowJointsTrajectory Controllers ...” [button]({{ site.url }}/assets/images/gsoc18/control_screen.png). Next navigate to the Simulation screen to generate a Gazebo compatible URDF; the Simulation screen adds the missing inertia and transmission elements required by Gazebo. The Simulation screen also adds the `gazebo_ros_control` plugin to the end of the URDF. ### Outcomes The outcomes, successes, and key metrics of improvement: @@ -31,8 +31,8 @@ The outcomes, successes, and key metrics of improvement: Instead of writing many configuration files manually, you can now simulate your motion planning in Rviz along side Gazebo by using a few clicks in the MoveIt! Setup Assistant! ### Useful resources / links -For further reading look at the [GitHub issue of the project](https://github.com/ros-planning/moveit/issues/894) and [MoveIt! Tutorial](http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html). -The GitHub issue for the project is [here](https://github.com/ros-planning/moveit/issues/894) and an overview of the relationship between simulation, hardware, controllers, and transmissions is [here](https://classic.gazebosim.org/tutorials). +For further reading look at the [GitHub issue of the project](https://github.com/moveit/moveit/issues/894) and [MoveIt! Tutorial](http://docs.ros.org/kinetic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.html). +The GitHub issue for the project is [here](https://github.com/moveit/moveit/issues/894) and an overview of the relationship between simulation, hardware, controllers, and transmissions is [here](https://classic.gazebosim.org/tutorials). []({{ site.url }}/assets/images/gsoc18/control_screen.png) diff --git a/_posts/2018-10-25-GSOC-Perception-Pipeline.markdown b/_posts/2018-10-25-GSOC-Perception-Pipeline.markdown index 77326219c..806e79396 100644 --- a/_posts/2018-10-25-GSOC-Perception-Pipeline.markdown +++ b/_posts/2018-10-25-GSOC-Perception-Pipeline.markdown @@ -17,11 +17,11 @@ Submitted by: Ridhwan Luthra, Cluster Innovation Centre Over the summer, Open Source Robotics Foundation (OSRF) and PickNik Robotics teamed up to mentor a Google Summer of Code (GSoC) student, Ridhwan Luthra, while he made meaningful contributions to MoveIt!. Ridhwan worked with Michael ‘v4hn’ Görner and Michael Lautman to produce two new tutorials demonstrating the perception and manipulation capabilities available in MoveIt!. -Ridhwan’s work focused on developing tutorials for [Perception Pipeline with Octomaps](https://ros-planning.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html) as well as the [Pick and Place Pipeline](https://ros-planning.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html). Ridhwan also made significant progress towards generalizing a grasp generation package to incorporate into a grasping tutorial. This work is still continuing outside the scope of GSOC. +Ridhwan’s work focused on developing tutorials for [Perception Pipeline with Octomaps](https://moveit.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html) as well as the [Pick and Place Pipeline](https://moveit.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html). Ridhwan also made significant progress towards generalizing a grasp generation package to incorporate into a grasping tutorial. This work is still continuing outside the scope of GSOC. ### Perception Pipeline with Octomaps -While developing the [perception pipeline tutorial](https://ros-planning.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html), Ridhwan identified and fixed a common race condition that was triggered by the way that MoveIt! was maintaining and updating octomaps. This was accomplished by adding a parameter that allows users to configure the maximum rate at which the octomap is updated. +While developing the [perception pipeline tutorial](https://moveit.github.io/moveit_tutorials/doc/perception_pipeline/perception_pipeline_tutorial.html), Ridhwan identified and fixed a common race condition that was triggered by the way that MoveIt! was maintaining and updating octomaps. This was accomplished by adding a parameter that allows users to configure the maximum rate at which the octomap is updated. The animation below shows MoveIt! using an octomap to perform collision avoidance. @@ -34,7 +34,7 @@ The next item Ridhwan worked on was building a pipeline to detect, segment, and []({{ site.url }}/assets/images/gsoc18/octomap.png) ### Pick and Place Pipeline Tutorial -After finding a collision object, the next task is to pick it up. There was previously no tutorial on how the 'pick and place' pipeline worked, so Ridhwan [created a tutorial](https://ros-planning.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html) to address this gap. +After finding a collision object, the next task is to pick it up. There was previously no tutorial on how the 'pick and place' pipeline worked, so Ridhwan [created a tutorial](https://moveit.github.io/moveit_tutorials/doc/pick_place/pick_place_tutorial.html) to address this gap. The animation below shows a cuboidal object being moved from one table to another using the pick and place pipeline. diff --git a/_posts/2018-10-25-gsoc-motion-planning-support.markdown b/_posts/2018-10-25-gsoc-motion-planning-support.markdown index 4f8c75c75..0b701cafe 100644 --- a/_posts/2018-10-25-gsoc-motion-planning-support.markdown +++ b/_posts/2018-10-25-gsoc-motion-planning-support.markdown @@ -19,9 +19,9 @@ Submitted by: Raghavender Sahdev, York University One of this year's Google Summer of Code Projects (GSoC) was the project, “Adding motion planning support for motion planners in MoveIt!”. This project, with coordination with PickNik Consulting, Open Source Robotics Foundation (OSRF), Dave Coleman, and Mark Moll, has been developed for the purpose of improving and extending the currently existing planners in MoveIt!. An existing concept of planning adapters in MoveIt! was used to have a pipeline of two planners running sequentially to provide robust solutions. -Prior to summer 2018, MoveIt! only had a single stable motion planning library as its core motion planner, i.e. OMPL. As a part of this GSoC project, motion planning support was extended by making other motion planners (CHOMP) more stable and porting STOMP also to be a part of the MoveIt! motion planners family. The MoveIt! part of STOMP was ported from the [ros-industrial/industrial_moveit](https://github.com/ros-industrial/industrial_moveit) repository into the [moveit/motion planners](https://github.com/ros-planning/moveit/tree/kinetic-devel/moveit_planners). Furthermore, the benchmarking package was made to work with other motion planners in addition to OMPL and its [tutorials](https://ros-planning.github.io/moveit_tutorials/doc/benchmarking/benchmarking_tutorial.html) were added. This package provides user the option to visualize quantitatively different parameters (time taken, trajectory length, solved status, etc.) for different motion planners (OMPL, CHOMP, STOMP) in a common environment (with/without obstacles) and make a decision on which planner the user might want to use. +Prior to summer 2018, MoveIt! only had a single stable motion planning library as its core motion planner, i.e. OMPL. As a part of this GSoC project, motion planning support was extended by making other motion planners (CHOMP) more stable and porting STOMP also to be a part of the MoveIt! motion planners family. The MoveIt! part of STOMP was ported from the [ros-industrial/industrial_moveit](https://github.com/ros-industrial/industrial_moveit) repository into the [moveit/motion planners](https://github.com/moveit/moveit/tree/kinetic-devel/moveit_planners). Furthermore, the benchmarking package was made to work with other motion planners in addition to OMPL and its [tutorials](https://moveit.github.io/moveit_tutorials/doc/benchmarking/benchmarking_tutorial.html) were added. This package provides user the option to visualize quantitatively different parameters (time taken, trajectory length, solved status, etc.) for different motion planners (OMPL, CHOMP, STOMP) in a common environment (with/without obstacles) and make a decision on which planner the user might want to use. -The concept of Planning Request Adapters was used to implement the usage of multiple planning algorithms to be used together in MoveIt. This enables the user to use motion planning algorithms in a pipeline to produce better trajectories in different situations. For instance the user could specify a start and a goal location in RViz and then 2 motion planners could be run in a sequence like OMPL followed by CHOMP implying the usage of a CHOMP Optimization planning adapter. So OMPL would produce an initial motion plan which is then used as an initial trajectory guess for CHOMP to further optimize. Likewise, other motion planning pipelines that are possible by using the Planning Request Adapters concept in MoveIt include: (i) CHOMP + STOMP, (ii) OMPL + STOMP; (iii) STOMP + CHOMP; (iv) OMPL + CHOMP. The first 2 of these involve using the STOMP Smoothing Planning Request Adapter and the later two use the CHOMP Optimization Adapter. The way these planning request adapters can be used is straightforward and is documented in the [Planning Request Adapters tutorials page](https://github.com/ros-planning/moveit_tutorials/blob/kinetic-devel/doc/planning_adapters/planning_adapters_tutorial.rst) in [moveit_tutorials](https://github.com/ros-planning/moveit_tutorials) repository. +The concept of Planning Request Adapters was used to implement the usage of multiple planning algorithms to be used together in MoveIt. This enables the user to use motion planning algorithms in a pipeline to produce better trajectories in different situations. For instance the user could specify a start and a goal location in RViz and then 2 motion planners could be run in a sequence like OMPL followed by CHOMP implying the usage of a CHOMP Optimization planning adapter. So OMPL would produce an initial motion plan which is then used as an initial trajectory guess for CHOMP to further optimize. Likewise, other motion planning pipelines that are possible by using the Planning Request Adapters concept in MoveIt include: (i) CHOMP + STOMP, (ii) OMPL + STOMP; (iii) STOMP + CHOMP; (iv) OMPL + CHOMP. The first 2 of these involve using the STOMP Smoothing Planning Request Adapter and the later two use the CHOMP Optimization Adapter. The way these planning request adapters can be used is straightforward and is documented in the [Planning Request Adapters tutorials page](https://github.com/moveit/moveit_tutorials/blob/kinetic-devel/doc/planning_adapters/planning_adapters_tutorial.rst) in [moveit_tutorials](https://github.com/moveit/moveit_tutorials) repository. A video description of different Motion Planners, planning adapters and benchmarking motion planners can be viewed [here](https://youtu.be/I18VnECGTr0). @@ -31,28 +31,28 @@ The project aimed at providing additional support for Motion Planners in MoveIt! In the initial phase of the project, MoveIt! tutorials were followed to get an understanding of the MoveIt! code base and tutorials structure. CHOMP motion planner’s code base was specifically studied and several open Github issues were addressed. The links for the pull requests for CHOMP can be seen below: -- [moveit_tutorials PR#173](https://github.com/ros-planning/moveit_tutorials/pull/173): Addition of CHOMP Tutorials and scripts for testing motion planners with obstacles -- [MoveIt! PR#960](https://github.com/ros-planning/moveit/pull/960): Clean up of CHOMP code and addition of new Trajectory initialization methods for CHOMP -- [MoveIt! PR#987](https://github.com/ros-planning/moveit/pull/987): Addition of Failure Recovery options for CHOMP -- [Panda_moveit_config PR#10](https://github.com/ros-planning/panda_moveit_config/pull/10): Added documentation in tutorial subsection on 3 new parameters in the chomp_planning.yaml file. +- [moveit_tutorials PR#173](https://github.com/moveit/moveit_tutorials/pull/173): Addition of CHOMP Tutorials and scripts for testing motion planners with obstacles +- [MoveIt! PR#960](https://github.com/moveit/moveit/pull/960): Clean up of CHOMP code and addition of new Trajectory initialization methods for CHOMP +- [MoveIt! PR#987](https://github.com/moveit/moveit/pull/987): Addition of Failure Recovery options for CHOMP +- [Panda_moveit_config PR#10](https://github.com/moveit/panda_moveit_config/pull/10): Added documentation in tutorial subsection on 3 new parameters in the chomp_planning.yaml file. []({{ site.url }}/assets/images/gsoc18/chomp_1.png) Figure 1: Motion Plan obtained from CHOMP In the presence of obstacles. Open Github issues looked into / addressed: -- [MoveIt! Issue #305](https://github.com/ros-planning/moveit/issues/305): Chomp not avoiding obstacles -- [MoveIt! Issue #702](https://github.com/ros-planning/moveit/issues/702): Adding official support for CHOMP -- [MoveIt! Issue #822](https://github.com/ros-planning/moveit/issues/822): Goal states violate joint-limits -- [MoveIt! Issue #899](https://github.com/ros-planning/moveit/pull/899): CHOMP fix goal state check +- [MoveIt! Issue #305](https://github.com/moveit/moveit/issues/305): Chomp not avoiding obstacles +- [MoveIt! Issue #702](https://github.com/moveit/moveit/issues/702): Adding official support for CHOMP +- [MoveIt! Issue #822](https://github.com/moveit/moveit/issues/822): Goal states violate joint-limits +- [MoveIt! Issue #899](https://github.com/moveit/moveit/pull/899): CHOMP fix goal state check ### 2. Added support for STOMP in MoveIt! and MoveIt! tutorials In this phase, STOMP support was added to make it work as a core motion planning algorithm in MoveIt! and it was placed alongside other motion planners in MoveIt!. Its tutorials were also added to MoveIt! tutorials repository. The pull requests (PRs) for the same can be viewed below: - [Industrial_moveit PR#76](https://github.com/ros-industrial/industrial_moveit/pull/76): Fixing compilation issue of STOMP and removal of MoveIt! part of STOMP from the ROS-industrial repository -- [MoveIt! PR#965](https://github.com/ros-planning/moveit/pull/965): Porting STOMP motion planner into MoveIt! from Industrial MoveIt! repository -- [Moveit_tutorials PR#185](https://github.com/ros-planning/moveit_tutorials/pull/185): Addition of STOMP Tutorial for STOMP motion planner in MoveIt! tutorials -- [Panda_moveit_config PR#5](https://github.com/ros-planning/panda_moveit_config/pull/5): Addition of STOMP related planning files +- [MoveIt! PR#965](https://github.com/moveit/moveit/pull/965): Porting STOMP motion planner into MoveIt! from Industrial MoveIt! repository +- [Moveit_tutorials PR#185](https://github.com/moveit/moveit_tutorials/pull/185): Addition of STOMP Tutorial for STOMP motion planner in MoveIt! tutorials +- [Panda_moveit_config PR#5](https://github.com/moveit/panda_moveit_config/pull/5): Addition of STOMP related planning files []({{ site.url }}/assets/images/gsoc18/stomp_1.png) Figure 2: Motion Plan obtained from STOMP In the presence of obstacles @@ -83,18 +83,18 @@ Figure 5. Simple Environment (Collision Scene example) with a single obstacle. Figure 6. Complex Environment (Collision Scene example) with multiple obstacles. The Pull Requests for the same can be seen below: -- [Moveit PR#992](https://github.com/ros-planning/moveit/pull/992): Benchmarking different Motion Planners (CHOMP, STOMP, OMPL) -- [Moveit_tutorials PR#195](https://github.com/ros-planning/moveit_tutorials/pull/195): Added content to Benchmarking tutorials to run benchmarking against different motion planners -- [Moveit PR#1012](https://github.com/ros-planning/moveit/pull/1012): Addition of CHOMP Planning Adapter for use as a post-processing algorithm with other motion planners -- [Moveit_tutorials PR#204](https://github.com/ros-planning/moveit_tutorials/pull/204): Added tutorial on using OMPL as a pre-processor for CHOMP -- [Moveit_tutorials PR#220](https://github.com/ros-planning/moveit_tutorials/pull/220): Added a tutorial page for the usage and benefits of using planning adapters with existing motion planners in MoveIt! to produce more robust trajectories under different situations +- [Moveit PR#992](https://github.com/moveit/moveit/pull/992): Benchmarking different Motion Planners (CHOMP, STOMP, OMPL) +- [Moveit_tutorials PR#195](https://github.com/moveit/moveit_tutorials/pull/195): Added content to Benchmarking tutorials to run benchmarking against different motion planners +- [Moveit PR#1012](https://github.com/moveit/moveit/pull/1012): Addition of CHOMP Planning Adapter for use as a post-processing algorithm with other motion planners +- [Moveit_tutorials PR#204](https://github.com/moveit/moveit_tutorials/pull/204): Added tutorial on using OMPL as a pre-processor for CHOMP +- [Moveit_tutorials PR#220](https://github.com/moveit/moveit_tutorials/pull/220): Added a tutorial page for the usage and benefits of using planning adapters with existing motion planners in MoveIt! to produce more robust trajectories under different situations - [Ros_industrial PR#78](https://github.com/ros-industrial/industrial_moveit/pull/78): Addition of the requirements (trajectory initialization) for STOMP Smoothing Adapter tutorial into MoveIt package -- [Moveit PR#1081](https://github.com/ros-planning/moveit/pull/1081): Addition of STOMP Smoothing Adapter for ues as a post-processing algorithm with other motion planners +- [Moveit PR#1081](https://github.com/moveit/moveit/pull/1081): Addition of STOMP Smoothing Adapter for ues as a post-processing algorithm with other motion planners ### Outcomes The outcomes of this GSoC effort were the following: -- CHOMP: [PR#173](https://github.com/ros-planning/moveit_tutorials/pull/173), [PR#960](https://github.com/ros-planning/moveit/pull/960), [PR#987](https://github.com/ros-planning/moveit/pull/987), [PR#10](https://github.com/ros-planning/panda_moveit_config/pull/10). -- STOMP: [PR#76](https://github.com/ros-industrial/industrial_moveit/pull/76), [PR#965](https://github.com/ros-planning/moveit/pull/965), [PR#185](https://github.com/ros-planning/moveit_tutorials/pull/185), [PR#5](https://github.com/ros-planning/panda_moveit_config/pull/5) -- Benchmarking: [PR#992](https://github.com/ros-planning/moveit/pull/992), [PR#195](https://github.com/ros-planning/moveit_tutorials/pull/195) -- Planning Adapters: [PR#1012](https://github.com/ros-planning/moveit/pull/1012), [PR#204](https://github.com/ros-planning/moveit_tutorials/pull/204), [PR#220](https://github.com/ros-planning/moveit_tutorials/pull/220), [PR#1081](https://github.com/ros-planning/moveit/pull/1081), [PR#78](https://github.com/ros-industrial/industrial_moveit/pull/78) +- CHOMP: [PR#173](https://github.com/moveit/moveit_tutorials/pull/173), [PR#960](https://github.com/moveit/moveit/pull/960), [PR#987](https://github.com/moveit/moveit/pull/987), [PR#10](https://github.com/moveit/panda_moveit_config/pull/10). +- STOMP: [PR#76](https://github.com/ros-industrial/industrial_moveit/pull/76), [PR#965](https://github.com/moveit/moveit/pull/965), [PR#185](https://github.com/moveit/moveit_tutorials/pull/185), [PR#5](https://github.com/moveit/panda_moveit_config/pull/5) +- Benchmarking: [PR#992](https://github.com/moveit/moveit/pull/992), [PR#195](https://github.com/moveit/moveit_tutorials/pull/195) +- Planning Adapters: [PR#1012](https://github.com/moveit/moveit/pull/1012), [PR#204](https://github.com/moveit/moveit_tutorials/pull/204), [PR#220](https://github.com/moveit/moveit_tutorials/pull/220), [PR#1081](https://github.com/moveit/moveit/pull/1081), [PR#78](https://github.com/ros-industrial/industrial_moveit/pull/78) diff --git a/_posts/2019-03-08-announcing-the-moveit-1-release.md b/_posts/2019-03-08-announcing-the-moveit-1-release.md index a216f6feb..1508b5df6 100644 --- a/_posts/2019-03-08-announcing-the-moveit-1-release.md +++ b/_posts/2019-03-08-announcing-the-moveit-1-release.md @@ -28,34 +28,34 @@ For a full roadmap of MoveIt versioning, see the [MoveIt 1.0 release plan](https There have been lots of new features being added to MoveIt the past year that we're really excited about. Beyond features, a ton of code cleanup has occurred (clang-tidy, catkin lint) and we have a lot more code coverage. -For more info, see [Migration Notes](https://github.com/ros-planning/moveit/blob/master/MIGRATION.md). +For more info, see [Migration Notes](https://github.com/moveit/moveit/blob/master/MIGRATION.md). Highlights of changes: -* [KDL Inverse Kinematic speedups](https://github.com/ros-planning/moveit/pull/1321) -* [Improved support for Gazebo](https://github.com/ros-planning/moveit/pull/1051) -* [Improved integration with ROS Control](https://github.com/ros-planning/moveit/pull/994) -* [CHOMP planning adapter for optimizing result of other planners](https://github.com/ros-planning/moveit/pull/1012) -* [Interpolation and motion validation consistency with OMPL](https://github.com/ros-planning/moveit/pull/869) -* [Improved quality of Cartesian paths](https://github.com/ros-planning/moveit/pull/1293) -* [Tool to generate constraint approximation databases](https://github.com/ros-planning/moveit/pull/1253) -* [Improved iterative spline parameterization](https://github.com/ros-planning/moveit/pull/1298) -* [IKFast](https://github.com/ros-planning/moveit/pull/1320) and [LMA IK](https://github.com/ros-planning/moveit/pull/1318) improvements -* [FCL shape cache thread-local for speedup](https://github.com/ros-planning/moveit/pull/1316) -* [Iterative cubic spline algorithm](https://github.com/ros-planning/moveit/pull/853) -* [Improved benchmarking](https://github.com/ros-planning/moveit/pull/992) -* [Computation speedups with Eigen::Isometry3d](https://github.com/ros-planning/moveit/pull/1096) -* [Migration to TF2](https://github.com/ros-planning/moveit/pull/830) -* [Improved Python 3 support](https://github.com/ros-planning/moveit/pull/1054) -* [Constrained Cartesian planning using moveit commander](https://github.com/ros-planning/moveit/pull/805) -* [Allow multiple eefs per planning group](https://github.com/ros-planning/moveit/pull/1347) -* [Support for fcl 0.6](https://github.com/ros-planning/moveit/pull/1156) -* [CartesianPath planning check box](https://github.com/ros-planning/moveit/pull/1238) -* [Improved Rviz motion planning plugin](https://github.com/ros-planning/moveit/pull/1198) -* [Add namespace capabilities to moveit_commander](https://github.com/ros-planning/moveit/pull/835) -* [Command line utility tool to print planning scene info](https://github.com/ros-planning/moveit/pull/1239) -* [Remove TinyXML-based API](https://github.com/ros-planning/moveit/pull/1254) -* [Added locale support](https://github.com/ros-planning/moveit/pull/1099) +* [KDL Inverse Kinematic speedups](https://github.com/moveit/moveit/pull/1321) +* [Improved support for Gazebo](https://github.com/moveit/moveit/pull/1051) +* [Improved integration with ROS Control](https://github.com/moveit/moveit/pull/994) +* [CHOMP planning adapter for optimizing result of other planners](https://github.com/moveit/moveit/pull/1012) +* [Interpolation and motion validation consistency with OMPL](https://github.com/moveit/moveit/pull/869) +* [Improved quality of Cartesian paths](https://github.com/moveit/moveit/pull/1293) +* [Tool to generate constraint approximation databases](https://github.com/moveit/moveit/pull/1253) +* [Improved iterative spline parameterization](https://github.com/moveit/moveit/pull/1298) +* [IKFast](https://github.com/moveit/moveit/pull/1320) and [LMA IK](https://github.com/moveit/moveit/pull/1318) improvements +* [FCL shape cache thread-local for speedup](https://github.com/moveit/moveit/pull/1316) +* [Iterative cubic spline algorithm](https://github.com/moveit/moveit/pull/853) +* [Improved benchmarking](https://github.com/moveit/moveit/pull/992) +* [Computation speedups with Eigen::Isometry3d](https://github.com/moveit/moveit/pull/1096) +* [Migration to TF2](https://github.com/moveit/moveit/pull/830) +* [Improved Python 3 support](https://github.com/moveit/moveit/pull/1054) +* [Constrained Cartesian planning using moveit commander](https://github.com/moveit/moveit/pull/805) +* [Allow multiple eefs per planning group](https://github.com/moveit/moveit/pull/1347) +* [Support for fcl 0.6](https://github.com/moveit/moveit/pull/1156) +* [CartesianPath planning check box](https://github.com/moveit/moveit/pull/1238) +* [Improved Rviz motion planning plugin](https://github.com/moveit/moveit/pull/1198) +* [Add namespace capabilities to moveit_commander](https://github.com/moveit/moveit/pull/835) +* [Command line utility tool to print planning scene info](https://github.com/moveit/moveit/pull/1239) +* [Remove TinyXML-based API](https://github.com/moveit/moveit/pull/1254) +* [Added locale support](https://github.com/moveit/moveit/pull/1099) **Thanks to all our contributors!** @@ -70,6 +70,6 @@ See our [2017 montage](https://moveit.ros.org/moveit!/ros/2017/06/20/videoMontag Under [PickNik Consulting](https://picknik.ai/)'s guidance, we're encouraging more people to get involved --  including you! Our third year of [World MoveIt Day](https://moveit.ros.org/moveit!/ros/2018/11/20/wordlmoveitdayreport3.html) had approximately 310 participants from 13 locations around the globe. Together with Open Robotics, PickNik sponsored three Google Summer of Code students to [work on MoveIt](https://moveit.ros.org/moveit!/ros/2018/05/08/google-summer-of-code.html) last summer. -We've also put in a ton of effort making MoveIt easier to use, from the [MoveIt Setup Assistant 2.0](https://moveit.ros.org/moveit!/ros/2018/10/23/gsoc-2018-setup-assistant-v2.html) to [new tutorials using the Franka Emika Panda robot](https://github.com/ros-planning/moveit_tutorials/pull/166). +We've also put in a ton of effort making MoveIt easier to use, from the [MoveIt Setup Assistant 2.0](https://moveit.ros.org/moveit!/ros/2018/10/23/gsoc-2018-setup-assistant-v2.html) to [new tutorials using the Franka Emika Panda robot](https://github.com/moveit/moveit_tutorials/pull/166). We hope MoveIt 1.0 continues to support the worldwide open source robotics effort and the ideals of ROS. diff --git a/_posts/2019-04-12-moveit-descartes.md b/_posts/2019-04-12-moveit-descartes.md index 7ffe6f571..1b8f02e6b 100644 --- a/_posts/2019-04-12-moveit-descartes.md +++ b/_posts/2019-04-12-moveit-descartes.md @@ -14,7 +14,7 @@ categories: --- -[PickNik](http://picknik.ai/) and [Carbon Robotics](https://carbon.ai/) are excited to be releasing a standalone Move Group capability for planning semi-constrained Cartesian paths with [Descartes](https://github.com/ros-industrial-consortium/descartes). This capability is a drop-in replacement for Move Group's [MoveGroupCartesianPathService](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/src/default_capabilities/cartesian_path_service_capability.h) which uses a thin wrapper around Descartes instead of the very simple Cartesian planner in MoveIt Core. +[PickNik](http://picknik.ai/) and [Carbon Robotics](https://carbon.ai/) are excited to be releasing a standalone Move Group capability for planning semi-constrained Cartesian paths with [Descartes](https://github.com/ros-industrial-consortium/descartes). This capability is a drop-in replacement for Move Group's [MoveGroupCartesianPathService](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/src/default_capabilities/cartesian_path_service_capability.h) which uses a thin wrapper around Descartes instead of the very simple Cartesian planner in MoveIt Core. Check it out on [GitHub](https://github.com/PickNikRobotics/descartes_capability)! diff --git a/_posts/2019-06-12-gsoc-2019-collision-detection.md b/_posts/2019-06-12-gsoc-2019-collision-detection.md index 74be1864d..8315c0feb 100644 --- a/_posts/2019-06-12-gsoc-2019-collision-detection.md +++ b/_posts/2019-06-12-gsoc-2019-collision-detection.md @@ -33,7 +33,7 @@ new features like continuous collision detection (CCD). CCD is useful as many st 2. Implement continuous collision detection using Bullet 3. Tutorial on how to implement additional collision checking libraries into MoveIt -To see the progress of this effort this summer, follow along [here](https://github.com/ros-planning/moveit/issues/1427). +To see the progress of this effort this summer, follow along [here](https://github.com/moveit/moveit/issues/1427). []({{ site.url }}/assets/logo/moveit_logo-black.png) @@ -48,5 +48,5 @@ is at the same time powerful and fun. Jens is excited to contribute to such a po robotics experts. Besides coding this summer, he can be found practicing Aikido or hiking in the beautiful Alps. **Useful Links** -* [Main Github issue](https://github.com/ros-planning/moveit/issues/1427) +* [Main Github issue](https://github.com/moveit/moveit/issues/1427) * [MoveIt fork](https://github.com/j-petit/moveit) diff --git a/_posts/2019-08-05-world-moveit-day-2019.md b/_posts/2019-08-05-world-moveit-day-2019.md index 535cefa6f..a94e148a4 100644 --- a/_posts/2019-08-05-world-moveit-day-2019.md +++ b/_posts/2019-08-05-world-moveit-day-2019.md @@ -84,13 +84,13 @@ You can also use a [Docker container](https://moveit.ros.org/install/docker/) fo ### Finding Where You Can Help -Suggested areas for improvement are tracked on the [MoveIt repository](https://github.com/ros-planning/moveit/issues). Find appropriate issues by looking for these labels: +Suggested areas for improvement are tracked on the [MoveIt repository](https://github.com/moveit/moveit/issues). Find appropriate issues by looking for these labels: -- [moveit day candidate](https://github.com/ros-planning/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. +- [moveit day candidate](https://github.com/moveit/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. Make sure to check this before the event This list will grow longer before the event. -- [simple improvements](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates issues can +- [simple improvements](https://github.com/moveit/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates issues can probably be tackled in a few hours. -- [documentation](https://github.com/ros-planning/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, +- [documentation](https://github.com/moveit/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. - no label - of course issues that are not marked can still be worked on during World MoveIt day, though they will likely take longer than one day to complete. @@ -100,7 +100,7 @@ If you would like to help the MoveIt project by tackling an issue, make sure to Feel free to ask further questions in each issue’s comments. -Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/ros-planning/moveit_tutorials/issues). +Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/moveit/moveit_tutorials/issues). Other larger code sprint ideas can be found on [this page](http://moveit.ros.org/documentation/contributing/future_projects/). While they will take longer than a day the ideas might provide a good reference for other things to contribute on WMD. diff --git a/_posts/2019-11-18-moveit-grasps.md b/_posts/2019-11-18-moveit-grasps.md index e314fdb5c..00464d22c 100644 --- a/_posts/2019-11-18-moveit-grasps.md +++ b/_posts/2019-11-18-moveit-grasps.md @@ -16,7 +16,7 @@ categories: [picknik_logo]: /assets/images/blog_posts/moveit_grasps/picknik_logo.png [rapyuta_logo]: /assets/images/blog_posts/moveit_grasps/rapyuta_logo.png -We are pleased to officially announce a major new feature to MoveIt: a default grasping library for manipulation called [MoveIt Grasps](https://github.com/ros-planning/moveit_grasps). This package is the successor to the deprecated moveit_simple_grasps project and was originally developed by Dave Coleman and Andy McEvoy at the University of Colorado Boulder. +We are pleased to officially announce a major new feature to MoveIt: a default grasping library for manipulation called [MoveIt Grasps](https://github.com/moveit/moveit_grasps). This package is the successor to the deprecated moveit_simple_grasps project and was originally developed by Dave Coleman and Andy McEvoy at the University of Colorado Boulder. Over the past year, through a close partnership between [Rapyuta Robotics](https://www.rapyuta-robotics.com) and [PickNik Robotics](https://picknik.ai), the MoveIt Grasps package underwent a significant refactor and is now being released to the open-source community. @@ -33,7 +33,7 @@ Because of Rapyuta's and PickNik's commitment to open source, this package has b **More Info** -* You can find out more about the package [here](https://github.com/ros-planning/moveit_grasps). +* You can find out more about the package [here](https://github.com/moveit/moveit_grasps). |----------------|------------------| diff --git a/_posts/2020-02-18-moveit-2-beta-feature-list.md b/_posts/2020-02-18-moveit-2-beta-feature-list.md index 2f673949b..e92dfbcf2 100644 --- a/_posts/2020-02-18-moveit-2-beta-feature-list.md +++ b/_posts/2020-02-18-moveit-2-beta-feature-list.md @@ -12,7 +12,7 @@ categories: - ROS2 --- -Big news! MoveIt 2 Beta has been launched today thanks to a big effort from the PickNik Robotics' team, Yu Yan (Intel), Robert Haschke and other MoveIt maintainers. This is a big step forward in providing next generation open source robotics. MoveIt 2 will enable many compelling advantages over its predecessor, namely faster, more reactive planning through realtime control of robot arms. The new platform version will enable more reliable robot behaviors, based on industry feedback. +Big news! MoveIt 2 Beta has been launched today thanks to a big effort from the PickNik Robotics' team, Yu Yan (Intel), Robert Haschke and other MoveIt maintainers. This is a big step forward in providing next generation open source robotics. MoveIt 2 will enable many compelling advantages over its predecessor, namely faster, more reactive planning through realtime control of robot arms. The new platform version will enable more reliable robot behaviors, based on industry feedback. ### Feature List diff --git a/_posts/2020-02-25-mtc.md b/_posts/2020-02-25-mtc.md index bc2bdcd1e..eb1b4418a 100644 --- a/_posts/2020-02-25-mtc.md +++ b/_posts/2020-02-25-mtc.md @@ -14,9 +14,9 @@ categories: ### Introduction -Since its introduction at ROSCon 2018 by Robert Haschke and Michael Görner, the MoveIt Task Constructor (MTC) has gained a lot of interest inside the MoveIt community and in industry. We’re happy to announce that MTC is ready for use and we present the official tutorial including a demo application. +Since its introduction at ROSCon 2018 by Robert Haschke and Michael Görner, the MoveIt Task Constructor (MTC) has gained a lot of interest inside the MoveIt community and in industry. We’re happy to announce that MTC is ready for use and we present the official tutorial including a demo application. -The MoveIt Task Constructor (MTC) is a multi-stage planning framework for solving complex motion planning tasks like pick-and-place operations or other object manipulations. With MTC a task is an instance of a high-level planning problem composed of smaller subproblems that are solved by individual stages. These stages are arrangeable components that compute simple steps like moving the robot between two intermediate states or attaching an object to the gripper. Stages can be freely arranged in sequence or in hierarchical order and even allow arbitrary control flows including alternative and fall-back solutions. The MTC package provides a set of primitive default stages which can already be used to integrate a generic pick-and-place pipeline. Check out the new tutorial for more information and an example implementation. +The MoveIt Task Constructor (MTC) is a multi-stage planning framework for solving complex motion planning tasks like pick-and-place operations or other object manipulations. With MTC a task is an instance of a high-level planning problem composed of smaller subproblems that are solved by individual stages. These stages are arrangeable components that compute simple steps like moving the robot between two intermediate states or attaching an object to the gripper. Stages can be freely arranged in sequence or in hierarchical order and even allow arbitrary control flows including alternative and fall-back solutions. The MTC package provides a set of primitive default stages which can already be used to integrate a generic pick-and-place pipeline. Check out the new tutorial for more information and an example implementation. Using MTC for motion planning offers several advantages over conventional approaches. The modular architecture allows for easy replacement and rearrangement of tasks and stages while maintaining a readable and functional implementation. Also, the source code always follows a well-defined structure, which makes components more portable, testable, and reusable. This goes hand-in-hand with better debugging and introspection capabilities. For instance, individual stage solutions can be run and visualized with RViz in using the MTC panel. Lastly, MTC can optimize for the total cost over all stages, finding good solutions in its defined solution graph. @@ -32,7 +32,7 @@ With MTC there is a lot to look out for in the future. Not only will there be mo ### Useful Links -* MoveIt tutorial -* Github repository +* MoveIt tutorial +* Github repository * ICRA 2019 publication * Demonstration Video diff --git a/_posts/2020-04-29-world-moveit-day-2020.md b/_posts/2020-04-29-world-moveit-day-2020.md index 8ee807f88..c6da3301d 100644 --- a/_posts/2020-04-29-world-moveit-day-2020.md +++ b/_posts/2020-04-29-world-moveit-day-2020.md @@ -44,13 +44,13 @@ Join the conversation on **Discord** (a chat client, different from *Discourse*) ### Squash Bugs / Issues -Suggested areas for improvement are tracked on the [MoveIt repository](https://github.com/ros-planning/moveit/issues). Find appropriate issues by looking for these labels: +Suggested areas for improvement are tracked on the [MoveIt repository](https://github.com/moveit/moveit/issues). Find appropriate issues by looking for these labels: -- [moveit day candidate](https://github.com/ros-planning/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. +- [moveit day candidate](https://github.com/moveit/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. Make sure to check this before the event This list will grow longer before the event. -- [simple improvements](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates issues can +- [simple improvements](https://github.com/moveit/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates issues can probably be tackled in a few hours. -- [documentation](https://github.com/ros-planning/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, +- [documentation](https://github.com/moveit/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. - no label - of course issues that are not marked can still be worked on during World MoveIt day, though they will likely take longer than one day to complete. @@ -64,7 +64,7 @@ Feel free to ask further questions in each issue’s comments. Improving our documentation for new and current users is always a goal of WMD! -Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/ros-planning/moveit_tutorials/issues). +Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/moveit/moveit_tutorials/issues). If you have studied an aspect of MoveIt extensively that is not currently documented, please convert your notes into a pull request in the appropriate location. If you’ve started a conversation on the mailing list or other location where a more experienced developer explained a concept, consider converting that answer into a pull request diff --git a/_posts/2020-06-09-moveit2-robotic-application.md b/_posts/2020-06-09-moveit2-robotic-application.md index 097ed6473..7d963d060 100644 --- a/_posts/2020-06-09-moveit2-robotic-application.md +++ b/_posts/2020-06-09-moveit2-robotic-application.md @@ -21,6 +21,6 @@ My ROS2 setup involved building the MoveIt2 repository from source as described The C++ integration was very straight forward and only needed the use of two new classes, MoveItCpp and PlanningComponent. In this architecture, MoveItCpp is used to load the robot model, configure the planning pipeline from ROS2 parameters and initialize defaults; then there's the PlanningComponent class which is associated to a planning group and is used to setup the motion plan request and call the low level planner. Furthermore, the PlanningComponent class has a similar interface to the familiar MoveGroupInterface class from MoveIt; however one of the big changes here is that the methods in the PlanningComponent class aren't just wrappers to various services and actions provided by the [move_group](/documentation/concepts/) node but they instead make direct function calls to the various motion planning capabilities. I think this is a welcomed changed since this architecture will allow creating MoveIt2 planning configuration on the fly that can adapt to varying planning situations that may arise in an application. -On the other hand, the launch/yaml integration wasn't as clean as many ROS2 concepts are still relatively new to me. In order to properly configure MoveIt2, it is necessary to load a URDF file as well as a number of parameters residing in several yaml files into your MoveIt2 application. Fortunately, most of the yaml files generated by the MoveIt Setup Assistant from the original MoveIt can be used with just minor modifications and so I ran the Setup Assistant in ROS1 and generated the needed config files. Furthermore, the ability to assemble ROS2 launch files in python really came in handy here as it allowed me to instantiate a python dictionary from a YAML file and pass its elements as parameters for my ROS2 application. Beyond learning about MoveIt2, going through this exercise showed me how to reuse the same yaml file for initializing parameters in different applications which I thought was a feature that was no longer available in ROS2. +On the other hand, the launch/yaml integration wasn't as clean as many ROS2 concepts are still relatively new to me. In order to properly configure MoveIt2, it is necessary to load a URDF file as well as a number of parameters residing in several yaml files into your MoveIt2 application. Fortunately, most of the yaml files generated by the MoveIt Setup Assistant from the original MoveIt can be used with just minor modifications and so I ran the Setup Assistant in ROS1 and generated the needed config files. Furthermore, the ability to assemble ROS2 launch files in python really came in handy here as it allowed me to instantiate a python dictionary from a YAML file and pass its elements as parameters for my ROS2 application. Beyond learning about MoveIt2, going through this exercise showed me how to reuse the same yaml file for initializing parameters in different applications which I thought was a feature that was no longer available in ROS2. My overall impression of MoveIt2 was very positive and I feel that the architectural changes aren't at all disruptive to existing MoveIt developers and furthermore it'll lead to new interesting ways in which the framework gets used; I sure look forward to the porting of other very useful MoveIt components. The branch of project that integrates MoveIt2 can be found here and below is a short clip of the planning that I was able to do with it. In this application, the robot has to move the camera to three scan position and so MoveIt2 is used to plan collision-free motions to those positions. diff --git a/_posts/2020-08-04-moveit-melodic-release.md b/_posts/2020-08-04-moveit-melodic-release.md index 8ec328df5..d6b520b98 100644 --- a/_posts/2020-08-04-moveit-melodic-release.md +++ b/_posts/2020-08-04-moveit-melodic-release.md @@ -19,10 +19,10 @@ Real-time robot arm control. [So cool, we even got a smile from a famous person ![thank_you_servo](/assets/images/blog_posts/2020_08_01_servo.gif) -[Here is an tutorial for getting started with it. ](https://ros-planning.github.io/moveit_tutorials/doc/realtime_servo/realtime_servo_tutorial.html) +[Here is an tutorial for getting started with it. ](https://moveit.github.io/moveit_tutorials/doc/realtime_servo/realtime_servo_tutorial.html) ### moveit_cpp -There is a new high level API for users who want convenient access to MoveIt's functionality via C++ classes. [Here is the tutorial for using it.](https://ros-planning.github.io/moveit_tutorials/doc/moveit_cpp/moveitcpp_tutorial.html) +There is a new high level API for users who want convenient access to MoveIt's functionality via C++ classes. [Here is the tutorial for using it.](https://moveit.github.io/moveit_tutorials/doc/moveit_cpp/moveitcpp_tutorial.html) ## Additional features * Allow parameterization of input trajectory density of Time Optimal trajectory generation (#2185) diff --git a/_posts/2020-08-26-moveit-calibration.md b/_posts/2020-08-26-moveit-calibration.md index 23ca26ac7..db3b08544 100644 --- a/_posts/2020-08-26-moveit-calibration.md +++ b/_posts/2020-08-26-moveit-calibration.md @@ -28,4 +28,4 @@ For more information on the mathematical methods used in MoveIt Calibration to s We'd like to thank Yu Yan at the Intel Open Source Technology Center for his work developing this new tool in the MoveIt ecosystem. PickNik Robotics has collaborated with Intel in testing and preparing this new functionality for release. -If you have a camera and a robot arm, MoveIt Calibration can help you use them together. For more information, check out [http://github.com/ros-planning/moveit_calibration](http://github.com/ros-planning/moveit_calibration), and the [MoveIt Calibration tutorial](https://github.com/JStech/moveit_tutorials/blob/new-calibration-tutorial/doc/hand_eye_calibration/hand_eye_calibration_tutorial.rst). See it, move it, do it. +If you have a camera and a robot arm, MoveIt Calibration can help you use them together. For more information, check out [http://github.com/moveit/moveit_calibration](http://github.com/moveit/moveit_calibration), and the [MoveIt Calibration tutorial](https://github.com/JStech/moveit_tutorials/blob/new-calibration-tutorial/doc/hand_eye_calibration/hand_eye_calibration_tutorial.rst). See it, move it, do it. diff --git a/_posts/2020-09-04-moveit2-foxy-release.md b/_posts/2020-09-04-moveit2-foxy-release.md index f9d267add..f01c9dd58 100644 --- a/_posts/2020-09-04-moveit2-foxy-release.md +++ b/_posts/2020-09-04-moveit2-foxy-release.md @@ -57,11 +57,11 @@ The following packages have been deprecated from ROS 1 for various reasons: - moveit_ros_control_interface - moveit_controller_manager_example -One other note: in response to the ROS community's migration away from using a 'master' branch in favor of 'main', MoveIt 2 has now adopted our primary development branch being named 'main' as well. +One other note: in response to the ROS community's migration away from using a 'master' branch in favor of 'main', MoveIt 2 has now adopted our primary development branch being named 'main' as well. ## Multi-Platform Support -We are also happy to report that MoveIt 2 now builds on Microsoft Windows (thanks to contributions from the Microsoft Edge Robotics Team) and macOS (thanks to Mark Moll), in addition to many Linux variants. +We are also happy to report that MoveIt 2 now builds on Microsoft Windows (thanks to contributions from the Microsoft Edge Robotics Team) and macOS (thanks to Mark Moll), in addition to many Linux variants. [![](/assets/images/blog_posts/moveit2_foxy/os.png)][1] diff --git a/_posts/2020-09-10-ompl-constrained-planning-gsoc.md b/_posts/2020-09-10-ompl-constrained-planning-gsoc.md index dd7f07caa..7c50433d2 100644 --- a/_posts/2020-09-10-ompl-constrained-planning-gsoc.md +++ b/_posts/2020-09-10-ompl-constrained-planning-gsoc.md @@ -17,14 +17,14 @@ The Open Motion Planning Library (OMPL) is the main library used by MoveIt to pl ## New features -A new option `enforce_constrained_planning` can be set to `true` in [ompl_planning.yaml](https://ros-planning.github.io/moveit_tutorials/doc/ompl_interface/ompl_interface_tutorial.html) to use the new projection-based sampling approach. The [current implementation](https://github.com/ros-planning/moveit/pull/2273) supports box constraints and equality position constraints (planes and lines). A [second pull request](https://github.com/JeroenDM/moveit/pull/6) will add support for orientation constraints in the future. +A new option `enforce_constrained_planning` can be set to `true` in [ompl_planning.yaml](https://moveit.github.io/moveit_tutorials/doc/ompl_interface/ompl_interface_tutorial.html) to use the new projection-based sampling approach. The [current implementation](https://github.com/moveit/moveit/pull/2273) supports box constraints and equality position constraints (planes and lines). A [second pull request](https://github.com/JeroenDM/moveit/pull/6) will add support for orientation constraints in the future. -The most interesting aspect of this new planning approach is shown below. Planning with end-effector constraints sometimes results in large joint space jumps, making the path unusable on a real robot (shown on the left). The new planner solves the same problem without these joint space jumps in the solution (shown on the right). For constraints such as equality position constraints, the existing way to avoid joint space jumps, using the [enforce_joint_model_state_space](https://ros-planning.github.io/moveit_tutorials/doc/ompl_interface/ompl_interface_tutorial.html#enforce-planning-in-joint-space) option, does not work. +The most interesting aspect of this new planning approach is shown below. Planning with end-effector constraints sometimes results in large joint space jumps, making the path unusable on a real robot (shown on the left). The new planner solves the same problem without these joint space jumps in the solution (shown on the right). For constraints such as equality position constraints, the existing way to avoid joint space jumps, using the [enforce_joint_model_state_space](https://moveit.github.io/moveit_tutorials/doc/ompl_interface/ompl_interface_tutorial.html#enforce-planning-in-joint-space) option, does not work. drawing drawing -A [new tutorial](https://github.com/ros-planning/moveit_tutorials/pull/518) explains how to configure and use this new planning option, using simple but instructive examples with the Panda robot. These are implemented using MoveIt’s [Python interface](https://ros-planning.github.io/moveit_tutorials/doc/move_group_python_interface/move_group_python_interface_tutorial.html), making it extremely convenient to try out the new planner and quickly experiment with different planning problems. +A [new tutorial](https://github.com/moveit/moveit_tutorials/pull/518) explains how to configure and use this new planning option, using simple but instructive examples with the Panda robot. These are implemented using MoveIt’s [Python interface](https://moveit.github.io/moveit_tutorials/doc/move_group_python_interface/move_group_python_interface_tutorial.html), making it extremely convenient to try out the new planner and quickly experiment with different planning problems. drawing drawing @@ -34,7 +34,7 @@ These example problems are only the tip of the iceberg. An [external planning pl drawing drawing -The project also improved the existing code in many ways. More than 100 lines of unused code have been removed, the logging statements cleaned up and a surprising [bug](https://github.com/ros-planning/moveit/pull/2239) fixed. See [here](https://gist.github.com/JeroenDM/426e3a7e083049295bbcb660c9a98e63) for a complete list of the pull requests. +The project also improved the existing code in many ways. More than 100 lines of unused code have been removed, the logging statements cleaned up and a surprising [bug](https://github.com/moveit/moveit/pull/2239) fixed. See [here](https://gist.github.com/JeroenDM/426e3a7e083049295bbcb660c9a98e63) for a complete list of the pull requests. ## Limitations @@ -49,4 +49,4 @@ I really enjoyed contributing to MoveIt and learned more about C++ debugging in Thank you, Mark Moll (PickNik), Omid Heidari (Idaho State University), and Felix von Drigalski (OMRON SINIC X) for mentoring me during the project. Also thank you to the MoveIt maintainers for generously spending time reviewing. For my project in particular thank you Michael Görner, Robert Haschke, and Tyler Weaver. -You can find the full log of the project [here](https://github.com/ros-planning/moveit/issues/2092). +You can find the full log of the project [here](https://github.com/moveit/moveit/issues/2092). diff --git a/_posts/2020-09-28-grasp-deep-learning.md b/_posts/2020-09-28-grasp-deep-learning.md index 7afa7afcb..58a14b8e7 100644 --- a/_posts/2020-09-28-grasp-deep-learning.md +++ b/_posts/2020-09-28-grasp-deep-learning.md @@ -35,4 +35,4 @@ The animation below shows the capabilities of deep learning for grasp pose gener | | | | | | -To learn more about how to use GPD and Dex-Net within MoveIt see the [Deep Grasp Tutorial](https://ros-planning.github.io/moveit_tutorials/doc/moveit_deep_grasps/moveit_deep_grasps_tutorial.html) and the [Deep Grasp Demo](https://github.com/PickNikRobotics/deep_grasp_demo). The demo contains detailed instructions for acquiring data by simulating depth sensors and executing motion plans in Gazebo. +To learn more about how to use GPD and Dex-Net within MoveIt see the [Deep Grasp Tutorial](https://moveit.github.io/moveit_tutorials/doc/moveit_deep_grasps/moveit_deep_grasps_tutorial.html) and the [Deep Grasp Demo](https://github.com/PickNikRobotics/deep_grasp_demo). The demo contains detailed instructions for acquiring data by simulating depth sensors and executing motion plans in Gazebo. diff --git a/_posts/2020-09-28-moveit-noetic.md b/_posts/2020-09-28-moveit-noetic.md index befc4c209..5151f435f 100644 --- a/_posts/2020-09-28-moveit-noetic.md +++ b/_posts/2020-09-28-moveit-noetic.md @@ -35,7 +35,7 @@ Default velocity/acceleration scaling factors in Move Group (do not always execu ## What does it take to Migrate to Noetic? -Full migration notes are [available here](https://github.com/ros-planning/moveit/blob/master/MIGRATION.md), but some important changes include: +Full migration notes are [available here](https://github.com/moveit/moveit/blob/master/MIGRATION.md), but some important changes include: - RobotModel no longer overrides empty URDF collision geometry - Planned trajectories are now slow by default - you can set the default yourself. diff --git a/_posts/2020-11-18-bullet-collision.md b/_posts/2020-11-18-bullet-collision.md index 5532eb541..0fdc19a6a 100644 --- a/_posts/2020-11-18-bullet-collision.md +++ b/_posts/2020-11-18-bullet-collision.md @@ -27,13 +27,13 @@ I started with a full fork of Tesseract in the MoveIt workspace. Then, step-by-s This finally led to the decision to restructure major parts of MoveIt's collision checking. To make this change happen, I had to unify all existing collision detectors which included FCL. Furthermore, many changes in the planning scene were necessary which in turn then required changes throughout the codebase because the planning scene is such a central class. -To demonstrate the new collision checking capabilities, I added a [new tutorial](https://ros-planning.github.io/moveit_tutorials/doc/bullet_collision_checker/bullet_collision_checker.html). In an interactive environment, Bullet can be tested with a demo object and the Panda robot. The CCD capabilities are demonstrated in the second part of the tutorial. Try it out yourself! +To demonstrate the new collision checking capabilities, I added a [new tutorial](https://moveit.github.io/moveit_tutorials/doc/bullet_collision_checker/bullet_collision_checker.html). In an interactive environment, Bullet can be tested with a demo object and the Panda robot. The CCD capabilities are demonstrated in the second part of the tutorial. Try it out yourself! -A detailed overview of the work done including discussions is available in the [Github issue](https://github.com/ros-planning/moveit/issues/1427). For a better understanding of the collision detection process, I created several flowcharts shown in the [Developer Concepts page](https://moveit.ros.org/documentation/concepts/developer_concepts/). +A detailed overview of the work done including discussions is available in the [Github issue](https://github.com/moveit/moveit/issues/1427). For a better understanding of the collision detection process, I created several flowcharts shown in the [Developer Concepts page](https://moveit.ros.org/documentation/concepts/developer_concepts/). ## Results and Future Work -Besides the added CCD capabilities, another major contribution of Bullet is increased speed. As collision detection is performed all the time, efficiency gains have a big impact on MoveIt's general performance. In certain scenarios, Bullet outperforms FCL [up to ten times](https://github.com/ros-planning/moveit/issues/1427#issuecomment-514143218). Although Bullet in its current state already delivers performance gains compared to FCL, there is still room for improvement. I summarized possible ideas in [this Github issue](https://github.com/ros-planning/moveit/issues/1646). +Besides the added CCD capabilities, another major contribution of Bullet is increased speed. As collision detection is performed all the time, efficiency gains have a big impact on MoveIt's general performance. In certain scenarios, Bullet outperforms FCL [up to ten times](https://github.com/moveit/moveit/issues/1427#issuecomment-514143218). Although Bullet in its current state already delivers performance gains compared to FCL, there is still room for improvement. I summarized possible ideas in [this Github issue](https://github.com/moveit/moveit/issues/1646). ## Conclusion I had a great time contributing to MoveIt as part of the GSoC 2019. Thanks to my mentors Felix von Drigalski (OMRON SINIC X) and Bryce Willey (Realtime Robotics). I learned a lot about professional software development in a distributed team and look back with pride on the work achieved! diff --git a/_posts/2020-12-17-Pilz-Plugin-for-MoveIt.md b/_posts/2020-12-17-Pilz-Plugin-for-MoveIt.md index 01cd0b54d..cac354d30 100644 --- a/_posts/2020-12-17-Pilz-Plugin-for-MoveIt.md +++ b/_posts/2020-12-17-Pilz-Plugin-for-MoveIt.md @@ -12,7 +12,7 @@ categories: - Pilz - Motion Planner --- -MoveIt’s default planners are really great at finding collision-free paths in complex environments but the resulting motions can be very unpredictable. Sometimes you just want a simple motion for a simple planning problem. The now available [Pilz industrial motion planner](https://ros-planning.github.io/moveit_tutorials/doc/pilz_industrial_motion_planner/pilz_industrial_motion_planner.html) supports solving for circular or linear motions in a rapid and predictable way. Additionally, it supports blending multiple motion segments together with a new MoveIt capability! The MoveIt Maintainers are excited to announce that with this new motion planner MoveIt finally supports basic industrial motions out of the box. The motion planning plug in was presented at the MoveIt Workshop in Macau in November 2019. Designed by Pilz Automation, one of Germany’s leading automation technology companies, this new MoveIt feature is designed to bring more industrial robot functionality to MoveIt. +MoveIt’s default planners are really great at finding collision-free paths in complex environments but the resulting motions can be very unpredictable. Sometimes you just want a simple motion for a simple planning problem. The now available [Pilz industrial motion planner](https://moveit.github.io/moveit_tutorials/doc/pilz_industrial_motion_planner/pilz_industrial_motion_planner.html) supports solving for circular or linear motions in a rapid and predictable way. Additionally, it supports blending multiple motion segments together with a new MoveIt capability! The MoveIt Maintainers are excited to announce that with this new motion planner MoveIt finally supports basic industrial motions out of the box. The motion planning plug in was presented at the MoveIt Workshop in Macau in November 2019. Designed by Pilz Automation, one of Germany’s leading automation technology companies, this new MoveIt feature is designed to bring more industrial robot functionality to MoveIt. “MoveIt is a very powerful tool to control your robots in all sorts of complex shapes. But we think that industrial applications often also demand simple things like just moving in a straight line. So we made a plugin for that.” diff --git a/_posts/2021-01-15-world-moveit-day-2021.md b/_posts/2021-01-15-world-moveit-day-2021.md index ef67be2be..2604420a0 100644 --- a/_posts/2021-01-15-world-moveit-day-2021.md +++ b/_posts/2021-01-15-world-moveit-day-2021.md @@ -15,7 +15,7 @@ categories: # Day of Reminders: -* For those experienced with MoveIt, it's helpful to stress that you should choose your issue ***before*** the event. **Post on the Github issue "I'm claiming this issue for World MoveIt Day". Also if you wish to join a 'Track', [find out more on GitHub](https://github.com/ros-planning/moveit2/issues/363){:target="_blank"}** +* For those experienced with MoveIt, it's helpful to stress that you should choose your issue ***before*** the event. **Post on the Github issue "I'm claiming this issue for World MoveIt Day". Also if you wish to join a 'Track', [find out more on GitHub](https://github.com/moveit/moveit2/issues/363){:target="_blank"}** * Pre-setup ROS, MoveIt, Virtualbox, Docker, LXD, etc * The download and setup time can significantly eat into the day's productivity * The recommended ROS versions are ROS 2 Galactic. @@ -72,7 +72,7 @@ Join the conversation on **Discord** (a chat client, different from *Discourse*) ### Squash Bugs / Issues -Suggested areas for improvement are tracked on the [MoveIt 2 repository](https://github.com/ros-planning/moveit2). Our team of maintainers is working on finding and labeling suggested issues for the event. +Suggested areas for improvement are tracked on the [MoveIt 2 repository](https://github.com/moveit/moveit2). Our team of maintainers is working on finding and labeling suggested issues for the event. If you would like to help the MoveIt project by tackling an issue, make sure to claim the issue by commenting before you start working: @@ -85,7 +85,7 @@ Feel free to ask further questions in each issue’s comments. Improving our documentation for new and current users is always a goal of WMD! - + If you have studied an aspect of MoveIt extensively that is not currently documented, please convert your notes into a pull request in the appropriate location. If you’ve started a conversation on the mailing list or other location where a more experienced developer explained a concept, consider converting that answer into a pull request diff --git a/_posts/2021-04-14-noetic-update.md b/_posts/2021-04-14-noetic-update.md index aeb230bb6..723cb4b15 100644 --- a/_posts/2021-04-14-noetic-update.md +++ b/_posts/2021-04-14-noetic-update.md @@ -13,106 +13,106 @@ categories: - Noetic --- -We are proud to announce a [new release of Noetic](https://github.com/ros-planning/moveit/issues/2593) is on the way. There were 60 separate commits that are new since the last release of MoveIt. Here is a summary of what new changes there are: +We are proud to announce a [new release of Noetic](https://github.com/moveit/moveit/issues/2593) is on the way. There were 60 separate commits that are new since the last release of MoveIt. Here is a summary of what new changes there are: ## Features -* Add utility functions to Python PSI: add/detach objects, apply_planning_scene()[ #2532](https://github.com/ros-planning/moveit/issues/2532) -* Make setToIKSolverFrame accessible again[ #2580](https://github.com/ros-planning/moveit/issues/2580) -* Python bindings for moveit_core[ #2547](https://github.com/ros-planning/moveit/issues/2547) -* add get_active_joint_names[ #2533](https://github.com/ros-planning/moveit/issues/2533) -* Provide a function to set the position of active joints in a JointModelGroup[ #2456](https://github.com/ros-planning/moveit/issues/2456) +* Add utility functions to Python PSI: add/detach objects, apply_planning_scene()[ #2532](https://github.com/moveit/moveit/issues/2532) +* Make setToIKSolverFrame accessible again[ #2580](https://github.com/moveit/moveit/issues/2580) +* Python bindings for moveit_core[ #2547](https://github.com/moveit/moveit/issues/2547) +* add get_active_joint_names[ #2533](https://github.com/moveit/moveit/issues/2533) +* Provide a function to set the position of active joints in a JointModelGroup[ #2456](https://github.com/moveit/moveit/issues/2456) * RobotModelBuilder: Add parameter to specify the joint rotation axis -* RobotModelBuilder: Allow adding end effectors[ #2454](https://github.com/ros-planning/moveit/issues/2454) -* Sanitize CHOMP initialization method parameter[ #2540](https://github.com/ros-planning/moveit/issues/2540) -* Order PlaceLocations by quality during planning[ #2378](https://github.com/ros-planning/moveit/issues/2378) -* Support multiple planning pipelines with MoveGroup via MoveItCpp[ #2127](https://github.com/ros-planning/moveit/issues/2127) -* FixStartStateBounds: Copy attached bodies when adapting the start state[ #2398](https://github.com/ros-planning/moveit/issues/2398) +* RobotModelBuilder: Allow adding end effectors[ #2454](https://github.com/moveit/moveit/issues/2454) +* Sanitize CHOMP initialization method parameter[ #2540](https://github.com/moveit/moveit/issues/2540) +* Order PlaceLocations by quality during planning[ #2378](https://github.com/moveit/moveit/issues/2378) +* Support multiple planning pipelines with MoveGroup via MoveItCpp[ #2127](https://github.com/moveit/moveit/issues/2127) +* FixStartStateBounds: Copy attached bodies when adapting the start state[ #2398](https://github.com/moveit/moveit/issues/2398) * Allow selecting planning pipeline in RViz MotionPlanningDisplay -* Low latency mode[ #2401](https://github.com/ros-planning/moveit/issues/2401) +* Low latency mode[ #2401](https://github.com/moveit/moveit/issues/2401) * Update MSA launch templates for multi-pipeline support -* Add Pilz industrial motion planner[ #1893](https://github.com/ros-planning/moveit/issues/1893) +* Add Pilz industrial motion planner[ #1893](https://github.com/moveit/moveit/issues/1893) ## Testing -* Add test to OMPL interface for StateValidityChecker[ #2247](https://github.com/ros-planning/moveit/issues/2247) -* Add test for PlanningContextManager in ompl interface[ #2248](https://github.com/ros-planning/moveit/issues/2248) -* Enable mesh filter[ #2448](https://github.com/ros-planning/moveit/issues/2448) -* Improve robustness of subframes test[ #2488](https://github.com/ros-planning/moveit/issues/2488) -* Improve robustness of move group interface test[ #2484](https://github.com/ros-planning/moveit/issues/2484) -* Unit Test for ByteString-based ROS msg conversion[ #2362](https://github.com/ros-planning/moveit/issues/2362) +* Add test to OMPL interface for StateValidityChecker[ #2247](https://github.com/moveit/moveit/issues/2247) +* Add test for PlanningContextManager in ompl interface[ #2248](https://github.com/moveit/moveit/issues/2248) +* Enable mesh filter[ #2448](https://github.com/moveit/moveit/issues/2448) +* Improve robustness of subframes test[ #2488](https://github.com/moveit/moveit/issues/2488) +* Improve robustness of move group interface test[ #2484](https://github.com/moveit/moveit/issues/2484) +* Unit Test for ByteString-based ROS msg conversion[ #2362](https://github.com/moveit/moveit/issues/2362) ## Documentation -* Update doxygen comments for distance() and interpolate()[ #2528](https://github.com/ros-planning/moveit/issues/2528) -* Clean up collision-related log statements[ #2480](https://github.com/ros-planning/moveit/issues/2480) -* Fix doxygen documentation for setToIKSolverFrame[ #2461](https://github.com/ros-planning/moveit/issues/2461) -* Update collision-related comments[ #2382 #2388](https://github.com/ros-planning/moveit/issues/2382) -* Fix some typos in comments[ #2466](https://github.com/ros-planning/moveit/issues/2466) -* Add debugging log statement for a common error[ #2509](https://github.com/ros-planning/moveit/issues/2509) +* Update doxygen comments for distance() and interpolate()[ #2528](https://github.com/moveit/moveit/issues/2528) +* Clean up collision-related log statements[ #2480](https://github.com/moveit/moveit/issues/2480) +* Fix doxygen documentation for setToIKSolverFrame[ #2461](https://github.com/moveit/moveit/issues/2461) +* Update collision-related comments[ #2382 #2388](https://github.com/moveit/moveit/issues/2382) +* Fix some typos in comments[ #2466](https://github.com/moveit/moveit/issues/2466) +* Add debugging log statement for a common error[ #2509](https://github.com/moveit/moveit/issues/2509) ## Maintenance -* Replaced eigen+kdl conversions with tf2_eigen + tf2_kdl[ #2472](https://github.com/ros-planning/moveit/issues/2472) +* Replaced eigen+kdl conversions with tf2_eigen + tf2_kdl[ #2472](https://github.com/moveit/moveit/issues/2472) * Delete CollisionRequest min_cost_density -* Changed processing_thread_ spin to use std::make_unique instead of new[ #2412](https://github.com/ros-planning/moveit/issues/2412) -* Python3 compatibility for ikfast’s round_collada_numbers.py[ #2473](https://github.com/ros-planning/moveit/issues/2473) -* Fix scaling factor parameter names[ #2452](https://github.com/ros-planning/moveit/issues/2452) +* Changed processing_thread_ spin to use std::make_unique instead of new[ #2412](https://github.com/moveit/moveit/issues/2412) +* Python3 compatibility for ikfast’s round_collada_numbers.py[ #2473](https://github.com/moveit/moveit/issues/2473) +* Fix scaling factor parameter names[ #2452](https://github.com/moveit/moveit/issues/2452) * Suppress warnings “mesh_use_embedded_materials is ignored” -* Refactor Servo velocity bounds enforcement[ #2471](https://github.com/ros-planning/moveit/issues/2471) -* Cleanup current state handling in servo[ #2372](https://github.com/ros-planning/moveit/issues/2372) -* Change servo namespacing logic[ #2354](https://github.com/ros-planning/moveit/issues/2354) -* MSA launch files: fix indentation[ #2371](https://github.com/ros-planning/moveit/issues/2371) -* pilz planner: add string includes[ #2483](https://github.com/ros-planning/moveit/issues/2483) -* Use kinematics solver timeout if not specified otherwise[ #2489](https://github.com/ros-planning/moveit/issues/2489) -* Upgrade cmake_minimum_required to 3.1[ #2453](https://github.com/ros-planning/moveit/issues/2453) -* Halt Servo command on Pose Tracking stop[ #2501](https://github.com/ros-planning/moveit/issues/2501) +* Refactor Servo velocity bounds enforcement[ #2471](https://github.com/moveit/moveit/issues/2471) +* Cleanup current state handling in servo[ #2372](https://github.com/moveit/moveit/issues/2372) +* Change servo namespacing logic[ #2354](https://github.com/moveit/moveit/issues/2354) +* MSA launch files: fix indentation[ #2371](https://github.com/moveit/moveit/issues/2371) +* pilz planner: add string includes[ #2483](https://github.com/moveit/moveit/issues/2483) +* Use kinematics solver timeout if not specified otherwise[ #2489](https://github.com/moveit/moveit/issues/2489) +* Upgrade cmake_minimum_required to 3.1[ #2453](https://github.com/moveit/moveit/issues/2453) +* Halt Servo command on Pose Tracking stop[ #2501](https://github.com/moveit/moveit/issues/2501) ## Bug Fixes -* Fix logic, improve function comment for clearDiffs()[ #2497](https://github.com/ros-planning/moveit/issues/2497) -* Fix RobotState::dropAccelerations/dropEffort to not drop velocities[ #2478](https://github.com/ros-planning/moveit/issues/2478) -* Fix validation of orientation constraints[ #2434](https://github.com/ros-planning/moveit/issues/2434) -* Fix OrientationConstraint::decide[ #2414](https://github.com/ros-planning/moveit/issues/2414) -* Fix missing isEmpty check in compute_ik service[ #2544](https://github.com/ros-planning/moveit/issues/2544) -* It’s not an error not to define a plugin[ #2521](https://github.com/ros-planning/moveit/issues/2521) -* Fixed flood of errors on startup for mesh_filter[ #2550](https://github.com/ros-planning/moveit/issues/2550) -* PlanExecution: Correctly handle preempt-requested flag[ #2554](https://github.com/ros-planning/moveit/issues/2554) -* thread safety in clear octomap & only update geometry[ #2500](https://github.com/ros-planning/moveit/issues/2500) -* Python interface improvements. Fix [#1966](https://github.com/ros-planning/moveit/issues/1966), add enforceBounds[ #2356](https://github.com/ros-planning/moveit/issues/2356) -* Fix various issues in PlanningScene / MotionPlanning displays[ #2588](https://github.com/ros-planning/moveit/issues/2588) -* Catch exceptions during RobotModel loading in rviz[ #2468](https://github.com/ros-planning/moveit/issues/2468) -* Fix QObject::connect: Cannot queue arguments of type ‘QVector’[ #2392](https://github.com/ros-planning/moveit/issues/2392) -* stop_requested_ flag clearing fix[ #2537](https://github.com/ros-planning/moveit/issues/2537) -* Add missing include[ #2519](https://github.com/ros-planning/moveit/issues/2519) -* Protect paused_ flag, for thread safety[ #2494](https://github.com/ros-planning/moveit/issues/2494) -* Do not break out of loop – need to update low pass filters[ #2496](https://github.com/ros-planning/moveit/issues/2496) -* Fix initial angle error is always 0[ #2464](https://github.com/ros-planning/moveit/issues/2464) -* Add an important sleep in Servo pose tracking[ #2463](https://github.com/ros-planning/moveit/issues/2463) -* Prevent moveit_servo transforms between fixed frames from causing timeout[ #2418](https://github.com/ros-planning/moveit/issues/2418) +* Fix logic, improve function comment for clearDiffs()[ #2497](https://github.com/moveit/moveit/issues/2497) +* Fix RobotState::dropAccelerations/dropEffort to not drop velocities[ #2478](https://github.com/moveit/moveit/issues/2478) +* Fix validation of orientation constraints[ #2434](https://github.com/moveit/moveit/issues/2434) +* Fix OrientationConstraint::decide[ #2414](https://github.com/moveit/moveit/issues/2414) +* Fix missing isEmpty check in compute_ik service[ #2544](https://github.com/moveit/moveit/issues/2544) +* It’s not an error not to define a plugin[ #2521](https://github.com/moveit/moveit/issues/2521) +* Fixed flood of errors on startup for mesh_filter[ #2550](https://github.com/moveit/moveit/issues/2550) +* PlanExecution: Correctly handle preempt-requested flag[ #2554](https://github.com/moveit/moveit/issues/2554) +* thread safety in clear octomap & only update geometry[ #2500](https://github.com/moveit/moveit/issues/2500) +* Python interface improvements. Fix [#1966](https://github.com/moveit/moveit/issues/1966), add enforceBounds[ #2356](https://github.com/moveit/moveit/issues/2356) +* Fix various issues in PlanningScene / MotionPlanning displays[ #2588](https://github.com/moveit/moveit/issues/2588) +* Catch exceptions during RobotModel loading in rviz[ #2468](https://github.com/moveit/moveit/issues/2468) +* Fix QObject::connect: Cannot queue arguments of type ‘QVector’[ #2392](https://github.com/moveit/moveit/issues/2392) +* stop_requested_ flag clearing fix[ #2537](https://github.com/moveit/moveit/issues/2537) +* Add missing include[ #2519](https://github.com/moveit/moveit/issues/2519) +* Protect paused_ flag, for thread safety[ #2494](https://github.com/moveit/moveit/issues/2494) +* Do not break out of loop – need to update low pass filters[ #2496](https://github.com/moveit/moveit/issues/2496) +* Fix initial angle error is always 0[ #2464](https://github.com/moveit/moveit/issues/2464) +* Add an important sleep in Servo pose tracking[ #2463](https://github.com/moveit/moveit/issues/2463) +* Prevent moveit_servo transforms between fixed frames from causing timeout[ #2418](https://github.com/moveit/moveit/issues/2418) * Move timer initialization down to fix potential race condition -* Fix pose tracking race condition[ #2395](https://github.com/ros-planning/moveit/issues/2395) -* Fix servo trajectory point timestamping[ #2375](https://github.com/ros-planning/moveit/issues/2375) -* Fix ordering of windup args to control_toolbox::Pid[ #2370](https://github.com/ros-planning/moveit/issues/2370) -* Fix segfault in MSA[ #2564](https://github.com/ros-planning/moveit/issues/2564) -* Missing RViz and moveit_simple_controller_manager dependencies in MSA template[ #2455](https://github.com/ros-planning/moveit/issues/2455) -* Fix empty sequence in moveit_setup_assistant[ #2406](https://github.com/ros-planning/moveit/issues/2406) -* Add missing dependency on joint_limits_interface[ #2487](https://github.com/ros-planning/moveit/issues/2487) +* Fix pose tracking race condition[ #2395](https://github.com/moveit/moveit/issues/2395) +* Fix servo trajectory point timestamping[ #2375](https://github.com/moveit/moveit/issues/2375) +* Fix ordering of windup args to control_toolbox::Pid[ #2370](https://github.com/moveit/moveit/issues/2370) +* Fix segfault in MSA[ #2564](https://github.com/moveit/moveit/issues/2564) +* Missing RViz and moveit_simple_controller_manager dependencies in MSA template[ #2455](https://github.com/moveit/moveit/issues/2455) +* Fix empty sequence in moveit_setup_assistant[ #2406](https://github.com/moveit/moveit/issues/2406) +* Add missing dependency on joint_limits_interface[ #2487](https://github.com/moveit/moveit/issues/2487) # **Thank You** diff --git a/_posts/2021-05-13-noetic-release.md b/_posts/2021-05-13-noetic-release.md index 1ef698c48..c11b2505b 100644 --- a/_posts/2021-05-13-noetic-release.md +++ b/_posts/2021-05-13-noetic-release.md @@ -22,16 +22,16 @@ We are proud to announce a release of Noetic is on the way. There were 28 separa -* Let users override fake execution type from demo.launch [#2602](https://github.com/ros-planning/moveit/pull/2602) -* Add planning_pipeline_id setting to Python MGI [#2622](https://github.com/ros-planning/moveit/pull/2622) +* Let users override fake execution type from demo.launch [#2602](https://github.com/moveit/moveit/pull/2602) +* Add planning_pipeline_id setting to Python MGI [#2622](https://github.com/moveit/moveit/pull/2622) ## Testing -* Github Actions: Add pre-release job [#2597](https://github.com/ros-planning/moveit/pull/2597) -* Synchronize async interfaces in planning interface tests [#2640](https://github.com/ros-planning/moveit/pull/2640) +* Github Actions: Add pre-release job [#2597](https://github.com/moveit/moveit/pull/2597) +* Synchronize async interfaces in planning interface tests [#2640](https://github.com/moveit/moveit/pull/2640) * Add pre-commit hook for .rst files @@ -39,35 +39,35 @@ We are proud to announce a release of Noetic is on the way. There were 28 separa -* Document solution in ROS_ERROR on failed self-filtering [#2627](https://github.com/ros-planning/moveit/pull/2627) -* Print an error indicating that the planning pipelines are empty before returning. [#2639](https://github.com/ros-planning/moveit/pull/2639) +* Document solution in ROS_ERROR on failed self-filtering [#2627](https://github.com/moveit/moveit/pull/2627) +* Print an error indicating that the planning pipelines are empty before returning. [#2639](https://github.com/moveit/moveit/pull/2639) ## Maintenance -* Simplify logic in Planning Scene Monitor [#2632](https://github.com/ros-planning/moveit/pull/2632) -* Fix pre-release shell syntax [#2635](https://github.com/ros-planning/moveit/pull/2635) -* Fix remove_attached_object API in Python PSI [#2609](https://github.com/ros-planning/moveit/pull/2609) -* Minor fixups in Planning Scene Display [#2618](https://github.com/ros-planning/moveit/pull/2618) -* Set rotation value of cartesian MaxEEFStep by default [#2614](https://github.com/ros-planning/moveit/pull/2614) +* Simplify logic in Planning Scene Monitor [#2632](https://github.com/moveit/moveit/pull/2632) +* Fix pre-release shell syntax [#2635](https://github.com/moveit/moveit/pull/2635) +* Fix remove_attached_object API in Python PSI [#2609](https://github.com/moveit/moveit/pull/2609) +* Minor fixups in Planning Scene Display [#2618](https://github.com/moveit/moveit/pull/2618) +* Set rotation value of cartesian MaxEEFStep by default [#2614](https://github.com/moveit/moveit/pull/2614) ## Bug Fixes -* Fix prerelease test [#2633](https://github.com/ros-planning/moveit/pull/2633) -* Fix pre-release workflow [#2638](https://github.com/ros-planning/moveit/pull/2638) -* Use private NodeHandle instead of child for PlanningPipeline topics [#2652](https://github.com/ros-planning/moveit/pull/2652) -* Lock the octomap/octree while collision checking for thread safety [#2596](https://github.com/ros-planning/moveit/pull/2596) and [#2660](https://github.com/ros-planning/moveit/pull/2660) -* Fix file conflict when upgrading moveit_ros_planning [#2659](https://github.com/ros-planning/moveit/pull/2659) -* Lock the Bullet collision environment, for thread safety [#2598](https://github.com/ros-planning/moveit/pull/2598) -* Avoid joint jump when SuddenHalt() is called in velocity mode [#2594](https://github.com/ros-planning/moveit/pull/2594) -* Fix Pilz Velocity limit error [#2610](https://github.com/ros-planning/moveit/pull/2610) -* Add sphinx-rtd-theme for python docs as a dependency [#2645](https://github.com/ros-planning/moveit/pull/2645) -* Install sympy 0.7.1 from git instead of pypi for ikfast scripts [#2650](https://github.com/ros-planning/moveit/pull/2650) +* Fix prerelease test [#2633](https://github.com/moveit/moveit/pull/2633) +* Fix pre-release workflow [#2638](https://github.com/moveit/moveit/pull/2638) +* Use private NodeHandle instead of child for PlanningPipeline topics [#2652](https://github.com/moveit/moveit/pull/2652) +* Lock the octomap/octree while collision checking for thread safety [#2596](https://github.com/moveit/moveit/pull/2596) and [#2660](https://github.com/moveit/moveit/pull/2660) +* Fix file conflict when upgrading moveit_ros_planning [#2659](https://github.com/moveit/moveit/pull/2659) +* Lock the Bullet collision environment, for thread safety [#2598](https://github.com/moveit/moveit/pull/2598) +* Avoid joint jump when SuddenHalt() is called in velocity mode [#2594](https://github.com/moveit/moveit/pull/2594) +* Fix Pilz Velocity limit error [#2610](https://github.com/moveit/moveit/pull/2610) +* Add sphinx-rtd-theme for python docs as a dependency [#2645](https://github.com/moveit/moveit/pull/2645) +* Install sympy 0.7.1 from git instead of pypi for ikfast scripts [#2650](https://github.com/moveit/moveit/pull/2650) ## Thank You diff --git a/_posts/2021-06-08-moveit-vs-moveit2.md b/_posts/2021-06-08-moveit-vs-moveit2.md index 98c617f45..8e778d769 100644 --- a/_posts/2021-06-08-moveit-vs-moveit2.md +++ b/_posts/2021-06-08-moveit-vs-moveit2.md @@ -63,7 +63,7 @@ With the release of ROS 2 Galactic, we would like to share the new features only MoveIt Task Constructor ✓ - pending + pending Game Controller Integration for Servo @@ -76,8 +76,8 @@ With the release of ROS 2 Galactic, we would like to share the new features only planned - Probabilistically complete Cartesian Planning - Stale Patch + Probabilistically complete Cartesian Planning + Stale Patch ✓ @@ -91,7 +91,7 @@ With the release of ROS 2 Galactic, we would like to share the new features only ✓ - Hybrid Planning (global + local planners) + Hybrid Planning (global + local planners) ✕ pending diff --git a/_posts/2021-07-08-moveit-galactic.md b/_posts/2021-07-08-moveit-galactic.md index 438ddc8cd..4c9fd319f 100644 --- a/_posts/2021-07-08-moveit-galactic.md +++ b/_posts/2021-07-08-moveit-galactic.md @@ -16,16 +16,16 @@ categories: With MoveIt’s latest version bump to 2.2.0 we’ve finally added support for running MoveIt on Galactic and Rolling. Besides bug fixes, this release includes: -* Full sync with MoveIt 1 ([#505](https://github.com/ros-planning/moveit2/pull/505)) - * Use MoveItCpp as MoveGroup context, multi planning pipeline support ([moveit#2127](https://github.com/ros-planning/moveit/issues/2127)) - * Much faster FCL collision distance checks [moveit#2698](https://github.com/ros-planning/moveit/pull/2698) -* Enabled Bullet collision detection ([#473](https://github.com/ros-planning/moveit2/issues/473)) -* Galactic and Rolling Support, enable CI ([#494](https://github.com/ros-planning/moveit2/issues/494)) +* Full sync with MoveIt 1 ([#505](https://github.com/moveit/moveit2/pull/505)) + * Use MoveItCpp as MoveGroup context, multi planning pipeline support ([moveit#2127](https://github.com/moveit/moveit/issues/2127)) + * Much faster FCL collision distance checks [moveit#2698](https://github.com/moveit/moveit/pull/2698) +* Enabled Bullet collision detection ([#473](https://github.com/moveit/moveit2/issues/473)) +* Galactic and Rolling Support, enable CI ([#494](https://github.com/moveit/moveit2/issues/494)) -(see [here](https://github.com/ros-planning/moveit2/commit/43050efd60fdaae7e64299c0d8de71de80c7af71) for full CHANGELOG) +(see [here](https://github.com/moveit/moveit2/commit/43050efd60fdaae7e64299c0d8de71de80c7af71) for full CHANGELOG) -For now, all distros are supported from the [main](https://github.com/ros-planning/moveit2/tree/main) branch. In the future, main will run Rolling, support for older distros - like Foxy now - will be continued in separate maintenance branches. +For now, all distros are supported from the [main](https://github.com/moveit/moveit2/tree/main) branch. In the future, main will run Rolling, support for older distros - like Foxy now - will be continued in separate maintenance branches. The release is currently only available as source install as we are still working on some issues with the build farm. For getting started, check out the [install instructions](https://moveit.ros.org/install-moveit2/source/) and the [tutorials](https://moveit.picknik.ai/). diff --git a/_posts/2021-11-24-sprint-report-2.md b/_posts/2021-11-24-sprint-report-2.md index 2572fbdec..b8c776901 100644 --- a/_posts/2021-11-24-sprint-report-2.md +++ b/_posts/2021-11-24-sprint-report-2.md @@ -34,7 +34,7 @@ These improvements and many more are targeted to be included in our December Gal ### MoveIt Task Constructor on ROS 2 [JafarAbdi](https://github.com/JafarAbdi)'s project to port MTC to ROS 2 is now merged. -You can see his work [here in the PR](https://github.com/ros-planning/moveit_task_constructor/pull/170). +You can see his work [here in the PR](https://github.com/moveit/moveit_task_constructor/pull/170). MTC is now complete ready to be used on ROS 2. ### Infrastructure @@ -60,7 +60,7 @@ There are still many tutorials on the main branch that are not ported yet and ne This sprint [stephanie-eng](https://github.com/stephanie-eng) joined our team and merged her first PR into MoveIt. The PR added descriptions and default values to each of the parameters in moveit_servo. -Here is a link to her PR: [Use ros2 interfaces for parameters in moveit_servo](https://github.com/ros-planning/moveit2/issues/790). +Here is a link to her PR: [Use ros2 interfaces for parameters in moveit_servo](https://github.com/moveit/moveit2/issues/790). ### Syncing changes from MoveIt on ROS 1 diff --git a/_posts/2021-12-17-sprint-report-3.md b/_posts/2021-12-17-sprint-report-3.md index 3679ce21c..bbeeb4e29 100644 --- a/_posts/2021-12-17-sprint-report-3.md +++ b/_posts/2021-12-17-sprint-report-3.md @@ -45,7 +45,7 @@ We look forward to releasing both of these into Galactic and Rolling. The last large missing feature from MoveIt on ROS 2 is the MoveIt Setup Assistant. It is a wizard that assists users in getting their robot working with MoveIt. The primary reason it has been held back as long as it has is we are not net content with the state of configs and launch files in MoveIt on ROS 2. -Meanwhile though [DLu](https://github.com/DLu) has prepared a [draft PR here](https://github.com/ros-planning/moveit2/pull/838) that modularizes MSA in a way that should make it much easier to contribute and develop the various steps of MSA. +Meanwhile though [DLu](https://github.com/DLu) has prepared a [draft PR here](https://github.com/moveit/moveit2/pull/838) that modularizes MSA in a way that should make it much easier to contribute and develop the various steps of MSA. Hopefully, shortly we can finish what he started and get this landed into MoveIt. ### Infrastructure @@ -62,11 +62,11 @@ He was able to decrease not only the CI times for the clang workflow but all wor This sprint [ParthasarathyBana](https://github.com/ParthasarathyBana) joined our team and merged his first PR into MoveIt. The PR added helped make MoveIt follow [modern C++ best practices](https://github.com/cpp-best-practices/cppbestpractices/blob/master/08-Considering_Performance.md#get-rid-of-stdendl) by getting rid of our use of ``std::endl``. -Here is a link to his PR: [Get rid of "std::endl"](https://github.com/ros-planning/moveit2/pull/918). +Here is a link to his PR: [Get rid of "std::endl"](https://github.com/moveit/moveit2/pull/918). ### Good First Issues for Modern C++ Best Practices -[tylerjw](https://github.com/tylerjw) created an [epic in ZenHub](https://github.com/ros-planning/moveit2/issues/840) to moderize MoveIt's use of C++ based on the advice from Jason Turner's github repo [cppbestpractices](https://github.com/cpp-best-practices/cppbestpractices). +[tylerjw](https://github.com/tylerjw) created an [epic in ZenHub](https://github.com/moveit/moveit2/issues/840) to moderize MoveIt's use of C++ based on the advice from Jason Turner's github repo [cppbestpractices](https://github.com/cpp-best-practices/cppbestpractices). This epic contains issues that range from trivial find and replace tasks to ones that are much more nuanced. The exciting part of this is several new contributors have already contributed changes to MoveIt during this sprint. In the past, we tried creating ``good-first-issue`` issues and struggled to find tasks that were both meaningful and well enough defined for new contributors. diff --git a/_posts/2022-03-15-gsoc.md b/_posts/2022-03-15-gsoc.md index 52ceecbcd..0971e976b 100644 --- a/_posts/2022-03-15-gsoc.md +++ b/_posts/2022-03-15-gsoc.md @@ -16,4 +16,4 @@ categories: MoveIt has been accepted again as a mentoring organization for the Google Summer of Code! Details about the program can be found [here](https://summerofcode.withgoogle.com/how-it-works/). Ideas for possible projects are listed [here](/events/2022-google-summer-of-code/). If you are a student who enjoys working on MoveIt, this is your chance. At a minimum, you should have experience with ROS. Ideally, you have also worked with MoveIt before. Almost all projects require experience with programming in C++. -Now is the time to discuss your interest in a particular project on [Discourse](https://discourse.ros.org/c/moveit) or, when appropriate, on [Github](https://github.com/ros-planning/moveit.ros.org). I highly recommend to engage with the MoveIt community on Discourse *before* submitting an application. Make sure to look at [our tips for successful GSoC applications](/events/2022-google-summer-of-code/#tips-for-writing-a-successful-google-summer-of-code-application-for-moveit). +Now is the time to discuss your interest in a particular project on [Discourse](https://discourse.ros.org/c/moveit) or, when appropriate, on [Github](https://github.com/moveit/moveit.ros.org). I highly recommend to engage with the MoveIt community on Discourse *before* submitting an application. Make sure to look at [our tips for successful GSoC applications](/events/2022-google-summer-of-code/#tips-for-writing-a-successful-google-summer-of-code-application-for-moveit). diff --git a/_posts/2022-06-02-MoveIt-Humble.md b/_posts/2022-06-02-MoveIt-Humble.md index 6d27847c6..e05071ba9 100644 --- a/_posts/2022-06-02-MoveIt-Humble.md +++ b/_posts/2022-06-02-MoveIt-Humble.md @@ -21,11 +21,11 @@ We’re excited to announce that MoveIt has just been released for ROS 2 Humble, **What’s new?** \ The Humble release provides all the latest features and improvements: -* [Hybrid Planning](https://github.com/ros-planning/moveit2/issues/433): use a (slower) global motion planner with a (faster) local motion planner to enable a robot to solve different tasks online and in dynamic environments -* [TOTG](https://github.com/ros-planning/moveit2/pull/1218): now default parameterization method -* [Ruckig](https://github.com/ros-planning/moveit2/pull/571): improved time parameterization and jerk smoothing that allows for nonzero initial/final conditions -* [MoveIt Setup Assistant](https://github.com/ros-planning/moveit2/pull/1254): the entry point for using MoveIt, now for ROS 2 (still in feature branch) -* [MoveIt Config Utilities](https://github.com/ros-planning/moveit2/pull/591): simplify loading parameters +* [Hybrid Planning](https://github.com/moveit/moveit2/issues/433): use a (slower) global motion planner with a (faster) local motion planner to enable a robot to solve different tasks online and in dynamic environments +* [TOTG](https://github.com/moveit/moveit2/pull/1218): now default parameterization method +* [Ruckig](https://github.com/moveit/moveit2/pull/571): improved time parameterization and jerk smoothing that allows for nonzero initial/final conditions +* [MoveIt Setup Assistant](https://github.com/moveit/moveit2/pull/1254): the entry point for using MoveIt, now for ROS 2 (still in feature branch) +* [MoveIt Config Utilities](https://github.com/moveit/moveit2/pull/591): simplify loading parameters * Lots of new ROS 2 drivers for arms ([Universal Robotics](https://discourse.ros.org/t/universal-robots-ros-2-driver-release/25461) and more announced soon) Everyone who has done new LTS releases in the past probably knows that this can be a very time-consuming and error-prone endeavor. But since the latest MoveIt version 2.5 was cut from Rolling, we actually had a flawless transition to Humble without any issues whatsoever. This shows that the prior time investment for keeping up with Rolling actually pays off. @@ -49,9 +49,9 @@ _[PickNik and Fraunhofer IPA have applied MoveIt 2](https://picknik.ai/hybrid-pl **What’s next?** -There is much more to come in the not too distant future. The main focus will be on two things: making MoveIt easier to use, and supporting more intuitive and advanced trajectories. Support for OMPL’s orientation constraints is[ finally being completed](https://github.com/ros-planning/moveit2/pull/1273), and we’re determined to investigate solutions for [more intuitive motions by default](https://github.com/ros-planning/moveit2/issues/1200). Stay tuned for new planner features, IK solvers and reworked interfaces. +There is much more to come in the not too distant future. The main focus will be on two things: making MoveIt easier to use, and supporting more intuitive and advanced trajectories. Support for OMPL’s orientation constraints is[ finally being completed](https://github.com/moveit/moveit2/pull/1273), and we’re determined to investigate solutions for [more intuitive motions by default](https://github.com/moveit/moveit2/issues/1200). Stay tuned for new planner features, IK solvers and reworked interfaces. -[Our two GSoC students](https://moveit.ros.org/events/moveit/mentor/google/2022/05/20/2022-google-summer-of-code-students.html) have already started working on much-anticipated features:[ Python support](https://github.com/ros-planning/moveit2/issues/1279) and [multi-arm trajectory execution](https://github.com/ros-planning/moveit/pull/2810). PickNik Robotics summer interns are improving how BioIK is integrated into MoveIt as well as finalizing admittance control in ros2_control & MoveIt. +[Our two GSoC students](https://moveit.ros.org/events/moveit/mentor/google/2022/05/20/2022-google-summer-of-code-students.html) have already started working on much-anticipated features:[ Python support](https://github.com/moveit/moveit2/issues/1279) and [multi-arm trajectory execution](https://github.com/moveit/moveit/pull/2810). PickNik Robotics summer interns are improving how BioIK is integrated into MoveIt as well as finalizing admittance control in ros2_control & MoveIt. ### Thanks to our Maintainers and Contributors diff --git a/_posts/2022-07-18-moveit-2-5-2.md b/_posts/2022-07-18-moveit-2-5-2.md index 212382358..0b2e36387 100644 --- a/_posts/2022-07-18-moveit-2-5-2.md +++ b/_posts/2022-07-18-moveit-2-5-2.md @@ -20,13 +20,13 @@ categories: We are excited to announce our release for Rolling and Humble, version 2.5.2. With MoveIt’s latest version bumping to 2.5.2, we’ve finally added support for the long-awaited MoveIt Setup Assistant on Humble and Rolling. Besides bug fixes, to sum up the new 86 separate commits, this release includes: -* Full sync with MoveIt 1 ([moveit2#1402](https://github.com/ros-planning/moveit2/pull/1402)): MoveIt 2 now includes all the latest bug fixes MoveIt 1 has. -* Port MoveIt Setup Assistant ([moveit2#1254](https://github.com/ros-planning/moveit2/pull/1254)): Featuring a full rewrite using pluginlib, MSA is now more modular than ever and ready to setup your custom ROS 2 robots! -* Remove most of the boost usage ([moveit2#1372](https://github.com/ros-planning/moveit2/pull/1372) and [moveit2#1331](https://github.com/ros-planning/moveit2/pull/1331)): A big step towards removing boost dependency and use equivalents from the standard library -* Remove unnecessary rclcpp headers ([moveit2#1333](https://github.com/ros-planning/moveit2/pull/1333)): A huge improvement on the compile time -* Port OMPL Constraints ([moveit2#1273](https://github.com/ros-planning/moveit2/pull/1273)): Also featuring a new [how-to tutorial](https://moveit.picknik.ai/main/doc/how_to_guides/using_ompl_constrained_planning/ompl_constrained_planning.html)! +* Full sync with MoveIt 1 ([moveit2#1402](https://github.com/moveit/moveit2/pull/1402)): MoveIt 2 now includes all the latest bug fixes MoveIt 1 has. +* Port MoveIt Setup Assistant ([moveit2#1254](https://github.com/moveit/moveit2/pull/1254)): Featuring a full rewrite using pluginlib, MSA is now more modular than ever and ready to setup your custom ROS 2 robots! +* Remove most of the boost usage ([moveit2#1372](https://github.com/moveit/moveit2/pull/1372) and [moveit2#1331](https://github.com/moveit/moveit2/pull/1331)): A big step towards removing boost dependency and use equivalents from the standard library +* Remove unnecessary rclcpp headers ([moveit2#1333](https://github.com/moveit/moveit2/pull/1333)): A huge improvement on the compile time +* Port OMPL Constraints ([moveit2#1273](https://github.com/moveit/moveit2/pull/1273)): Also featuring a new [how-to tutorial](https://moveit.picknik.ai/main/doc/how_to_guides/using_ompl_constrained_planning/ompl_constrained_planning.html)! -Checkout [here](https://github.com/ros-planning/moveit2/commit/e0312fb3f460340f5753194e181a41b2c9c4d080) for full CHANGELOG +Checkout [here](https://github.com/moveit/moveit2/commit/e0312fb3f460340f5753194e181a41b2c9c4d080) for full CHANGELOG ### Thanks to our Maintainers and Contributors diff --git a/_posts/2022-07-22-servo-kinematics.md b/_posts/2022-07-22-servo-kinematics.md index 7b9b55a5b..efc149004 100644 --- a/_posts/2022-07-22-servo-kinematics.md +++ b/_posts/2022-07-22-servo-kinematics.md @@ -29,10 +29,10 @@ Given the modularity of a plugin architecture, MoveIt can be agnostic to exactly MoveIt comes packaged with a few kinematics plugins: -* [Cached IK Kinematics Plugin](https://github.com/ros-planning/moveit2/tree/humble/moveit_kinematics/cached_ik_kinematics_plugin): Use a persistent cache to speed up similar inverse kinematics calculations -* [IKFast](https://github.com/ros-planning/moveit2/tree/humble/moveit_kinematics/ikfast_kinematics_plugin): automatically analyze any complex kinematic chain for common patterns that allow for an analytic solution -* [KDL](https://github.com/ros-planning/moveit2/tree/humble/moveit_kinematics/kdl_kinematics_plugin), [LMA](https://github.com/ros-planning/moveit2/tree/humble/moveit_kinematics/lma_kinematics_plugin): Wrappers around the numerical inverse kinematics solver provided by Orocos -* [SRV](https://github.com/ros-planning/moveit2/tree/humble/moveit_kinematics/srv_kinematics_plugin): A client for querying for IK solutions from a ROS service. +* [Cached IK Kinematics Plugin](https://github.com/moveit/moveit2/tree/humble/moveit_kinematics/cached_ik_kinematics_plugin): Use a persistent cache to speed up similar inverse kinematics calculations +* [IKFast](https://github.com/moveit/moveit2/tree/humble/moveit_kinematics/ikfast_kinematics_plugin): automatically analyze any complex kinematic chain for common patterns that allow for an analytic solution +* [KDL](https://github.com/moveit/moveit2/tree/humble/moveit_kinematics/kdl_kinematics_plugin), [LMA](https://github.com/moveit/moveit2/tree/humble/moveit_kinematics/lma_kinematics_plugin): Wrappers around the numerical inverse kinematics solver provided by Orocos +* [SRV](https://github.com/moveit/moveit2/tree/humble/moveit_kinematics/srv_kinematics_plugin): A client for querying for IK solutions from a ROS service. Another popular inverse kinematics plugin, external to MoveIt, is [bio_ik](https://github.com/PickNikRobotics/bio_ik), which was recently ported to ROS 2. This plugin provides the ability to specify cost functions that can prioritize certain solutions to the inverse kinematics problem, as well as provide custom position & orientation constraints. diff --git a/_posts/2023-02-15-parallel-planning-with-MoveIt-2.md b/_posts/2023-02-15-parallel-planning-with-MoveIt-2.md index 1a9996d23..46d1cd7a0 100644 --- a/_posts/2023-02-15-parallel-planning-with-MoveIt-2.md +++ b/_posts/2023-02-15-parallel-planning-with-MoveIt-2.md @@ -15,7 +15,7 @@ categories: MoveIt 2 has a new planning interface that enables the use of multiple motion planning algorithms in parallel to solve a planning problem. From all produced solutions, the best one is chosen based on a user-defined solution selection callback. With this interface, the planning algorithm selection is simplified and it is possible to use fallback planners in case a preferred planner occasionally fails. This blog post introduces the new feature in detail and the newly added [parallel planning tutorial](https://moveit.picknik.ai/main/doc/how_to_guides/parallel_planning/parallel_planning_tutorial.html) explains how it can be used. ### Motivation -Robotic motion planning is hard: One of the biggest challenges is the careful selection of a planning algorithm to find a path in a high-dimensional space that satisfies a set of constraints. A good planning algorithm should be fast, compute high-quality paths, and abort planning within a reasonable time if no solution exists. MoveIt 2 currently supports multiple planning libraries: [OMPL](https://ompl.kavrakilab.org/), [CHOMP](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/chomp), [STOMP](https://github.com/ros-planning/stomp_moveit), and [PILZ](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/pilz_industrial_motion_planner). +Robotic motion planning is hard: One of the biggest challenges is the careful selection of a planning algorithm to find a path in a high-dimensional space that satisfies a set of constraints. A good planning algorithm should be fast, compute high-quality paths, and abort planning within a reasonable time if no solution exists. MoveIt 2 currently supports multiple planning libraries: [OMPL](https://ompl.kavrakilab.org/), [CHOMP](https://github.com/moveit/moveit2/tree/main/moveit_planners/chomp), [STOMP](https://github.com/moveit/stomp_moveit), and [PILZ](https://github.com/moveit/moveit2/tree/main/moveit_planners/pilz_industrial_motion_planner). Each of these libraries has strengths and weaknesses as summarized in Table 1. @@ -76,7 +76,7 @@ Each of these libraries has strengths and weaknesses as summarized in Table 1. Choosing the most suitable library for a specific planning problem is challenging. Often, a motion planning stack does not only have to solve a single problem type but a broad variety of problems, ranging from free space motions to navigating through a cluttered environment. None of the planning libraries is a jack of all trades. How do you choose the best planning algorithm for a group of diverse and possibly unknown planning problems? To address this question, we developed a new interface for [moveit_cpp](https://moveit.picknik.ai/main/doc/examples/moveit_cpp/moveitcpp_tutorial.html) to enable using multiple planning algorithms in parallel. It allows for defining a stopping criterion for choosing the best result from all generated solutions. Users don’t have to select the right algorithm for a planning problem anymore, they can simply let them all run and compete with each other. All that is needed is a stopping criterion (1) that captures the right balance between planner speed and optimality and a selection criterion (2) that defines what is considered the best solution. ## Implementation -The parallel planning interface for MoveIt 2 is an enhancement of the existing moveit_cpp interface. The currently used single-pipeline interface can be seen in Figure 1. The [MotionPlanRequest](https://github.com/ros-planning/moveit_msgs/blob/ros2/msg/MotionPlanRequest.msg) contains a definition of the planning problem and the selected planning pipeline. The planning pipeline computes a motion plan response that contains the solution. +The parallel planning interface for MoveIt 2 is an enhancement of the existing moveit_cpp interface. The currently used single-pipeline interface can be seen in Figure 1. The [MotionPlanRequest](https://github.com/moveit/moveit_msgs/blob/ros2/msg/MotionPlanRequest.msg) contains a definition of the planning problem and the selected planning pipeline. The planning pipeline computes a motion plan response that contains the solution. Parallel Planning

Figure 1: Default moveit_cpp single pipeline setup

@@ -86,7 +86,7 @@ The new parallel planning interface is built around the existing architecture. F Parallel Planning

Figure 2: Parallel planning moveit_cpp setup

-Instead of selecting an individual planning pipeline, a selected set of planning pipelines is used. The planning problem is solved independently multiple times in different parallel planning pipelines. All created [MotionPlanResponses](https://github.com/ros-planning/moveit_msgs/blob/ros2/msg/MotionPlanResponse.msg) are collected in a thread-safe data storage. Once a stopping criterion is met, the existing MotionPlanResponses are forwarded to a solution selection function which then chooses the best solution. The solution selection function can be either defined by the user or a default implementation can be used. +Instead of selecting an individual planning pipeline, a selected set of planning pipelines is used. The planning problem is solved independently multiple times in different parallel planning pipelines. All created [MotionPlanResponses](https://github.com/moveit/moveit_msgs/blob/ros2/msg/MotionPlanResponse.msg) are collected in a thread-safe data storage. Once a stopping criterion is met, the existing MotionPlanResponses are forwarded to a solution selection function which then chooses the best solution. The solution selection function can be either defined by the user or a default implementation can be used. Which solution is considered the best highly depends on the planning problem. Possible quality criteria are for example planning time, execution time, path length, clearance from collision objects, or trajectory smoothness. In addition to a customizable solution selection function, the new interface offers the option to define a stopping criterion for the parallel running pipelines. If the available solutions are likely to contain the best solution before all pipelines are finished, there is no point in waiting for the remaining planners. Figure 3 visualizes the additional infrastructure that enables aborting planning pipelines once a stopping criterion is met. @@ -320,4 +320,4 @@ If you’re interested in using MoveIt’s parallel planning interface, get star ## Further information * [Tutorial](https://moveit.picknik.ai/main/doc/how_to_guides/parallel_planning/parallel_planning_tutorial.html) -* [Source code](https://github.com/ros-planning/moveit2/blob/0b4ae5a00c82509d904a6d6ef4f307c21d342c76/moveit_ros/planning/moveit_cpp/src/planning_component.cpp#L230) +* [Source code](https://github.com/moveit/moveit2/blob/0b4ae5a00c82509d904a6d6ef4f307c21d342c76/moveit_ros/planning/moveit_cpp/src/planning_component.cpp#L230) diff --git a/_posts/2023-04-25-gsoc-moveit2-python-bindings.md b/_posts/2023-04-25-gsoc-moveit2-python-bindings.md index 0524b3e72..86f544b45 100644 --- a/_posts/2023-04-25-gsoc-moveit2-python-bindings.md +++ b/_posts/2023-04-25-gsoc-moveit2-python-bindings.md @@ -19,7 +19,7 @@ A new Python library for MoveIt is now available in ROS 2 Rolling. The new Pytho **Python Library Features** -The Python library can be found under the folder [moveit_py](https://github.com/ros-planning/moveit2/tree/main/moveit_py) in the MoveIt 2 repository root directory. An outline of the codebase structure is provided within the package [``README.md``](https://github.com/ros-planning/moveit2/blob/main/moveit_py/README.md), below we provide a high-level overview of the structure of the Python library, +The Python library can be found under the folder [moveit_py](https://github.com/moveit/moveit2/tree/main/moveit_py) in the MoveIt 2 repository root directory. An outline of the codebase structure is provided within the package [``README.md``](https://github.com/moveit/moveit2/blob/main/moveit_py/README.md), below we provide a high-level overview of the structure of the Python library, * A ``core`` module that provides Python bindings for packages available in ``moveit_core`` * collision_detection @@ -53,8 +53,8 @@ There are many additional features, enhancements and tutorials that can be made * Establish feature parity with existing C++ API * enhancements - * [Migrate docstrings to header files](https://github.com/ros-planning/moveit2/issues/1945) - * [Create custom typeCaster for ``Eigen::Isometry3d``](https://github.com/ros-planning/moveit2/issues/1886) + * [Migrate docstrings to header files](https://github.com/moveit/moveit2/issues/1945) + * [Create custom typeCaster for ``Eigen::Isometry3d``](https://github.com/moveit/moveit2/issues/1886) * tutorials * Real-world data collection for imitation learning diff --git a/_posts/2023-05-19-optimization-based-planning-with-stomp.md b/_posts/2023-05-19-optimization-based-planning-with-stomp.md index b855aad5f..30a72e728 100644 --- a/_posts/2023-05-19-optimization-based-planning-with-stomp.md +++ b/_posts/2023-05-19-optimization-based-planning-with-stomp.md @@ -28,7 +28,7 @@ The downsides to other planning approaches is the comparably long planning time For very difficult planning problems, an OMPL planner can be used for pre-solving feasible paths which subsequently are smoothed and optimized using STOMP’s smoothing adapter plugin. Alternatively, incorporating other planners which complement STOMP's behavior via Parallel Planning allows you to get the best of both worlds. -The new [STOMP planning plugin](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/stomp) package provides [STOMP planner](https://github.com/ros-industrial/stomp) support for MoveIt 2. +The new [STOMP planning plugin](https://github.com/moveit/moveit2/tree/main/moveit_planners/stomp) package provides [STOMP planner](https://github.com/ros-industrial/stomp) support for MoveIt 2. It is a completely new implementation and not a migrated version of ROS 1’s [stomp_ros](https://github.com/ros-industrial/stomp_ros), since also the STOMP planner library has been reimplemented. The package comes with the a planner plugin that allows running STOMP with MoveGroup or MoveItCpp, and a smoothing adapter for post-processing pre-solved trajectories. @@ -42,10 +42,10 @@ Thanks go to [Matej Vargovcik](https://github.com/afrixs), [Robert Haschke](http **Update:** May 22nd, 2023 - [Discourse comment](https://discourse.ros.org/t/optimization-based-planning-with-stomp/31488/4) -There are several improvements, which I should've better described in this post. The GIF animation is in real-time. I've created it using the [example executable](https://github.com/ros-planning/stomp_moveit/blob/main/src/stomp_moveit_example.cpp) in the development repo, however on an older version that didn't include the constraint planning example yet. You should be able to reproduce the results using RViz and the planning scene updater. +There are several improvements, which I should've better described in this post. The GIF animation is in real-time. I've created it using the [example executable](https://github.com/moveit/stomp_moveit/blob/main/src/stomp_moveit_example.cpp) in the development repo, however on an older version that didn't include the constraint planning example yet. You should be able to reproduce the results using RViz and the planning scene updater. **Function-based API** -stomp_ros had a [plugin-based interface for implementing cost functions](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/include/stomp_moveit/cost_functions/stomp_cost_function.h) which was very clunky and I never really saw a lot of extensions based on it. The new interface uses [generic functions for costs, noise, filtering](https://github.com/ros-planning/moveit2/blob/main/moveit_planners/stomp/include/stomp_moveit/stomp_moveit_task.hpp#L65) etc which are MoveIt-agnostic and which make it much easier to inject any kind of implementation with much less code. Compare the new [collision cost function](https://github.com/ros-planning/moveit2/blob/main/moveit_planners/stomp/include/stomp_moveit/cost_functions.hpp#L168) with the old plugin implementation ([header](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/include/stomp_moveit/cost_functions/collision_check.h), [source](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/src/cost_functions/collision_check.cpp)) for an example. The implementation of collision checks, noise generation, smoothing, filtering does pretty much the same. +stomp_ros had a [plugin-based interface for implementing cost functions](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/include/stomp_moveit/cost_functions/stomp_cost_function.h) which was very clunky and I never really saw a lot of extensions based on it. The new interface uses [generic functions for costs, noise, filtering](https://github.com/moveit/moveit2/blob/main/moveit_planners/stomp/include/stomp_moveit/stomp_moveit_task.hpp#L65) etc which are MoveIt-agnostic and which make it much easier to inject any kind of implementation with much less code. Compare the new [collision cost function](https://github.com/moveit/moveit2/blob/main/moveit_planners/stomp/include/stomp_moveit/cost_functions.hpp#L168) with the old plugin implementation ([header](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/include/stomp_moveit/cost_functions/collision_check.h), [source](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/src/cost_functions/collision_check.cpp)) for an example. The implementation of collision checks, noise generation, smoothing, filtering does pretty much the same. Side note: We are working on exposing generic cost functions via MoveIt's plugin API so that the same kind of cost objectives can be used with STOMP and with OMPL's optimizing planners. @@ -53,13 +53,13 @@ Side note: We are working on exposing generic cost functions via MoveIt's plugin The new implementation comes with full support for planning and smoothing with path constraints which wasn't implemented for the ROS 1 plugin. Solving with constraints can have a huge drag on performance, however this feature could be particularly useful for post-processing trajectories solved with [OMPL's consrained planner](https://moveit.picknik.ai/main/doc/how_to_guides/using_ompl_constrained_planning/ompl_constrained_planning.html). **Parameters** -Parameters are declared and documented [using the generate_parameter_library interface](https://github.com/ros-planning/moveit2/blob/main/moveit_planners/stomp/res/stomp_moveit.yaml). +Parameters are declared and documented [using the generate_parameter_library interface](https://github.com/moveit/moveit2/blob/main/moveit_planners/stomp/res/stomp_moveit.yaml). **Performance** I haven't performed an extensive side-by-side benchmark yet, but overall the new implementation and default parameters appear to perform better. The implementation of noise generation, collision check and smoothing are fairly optimized. The curious parameter *exponentiated_cost_sensitivity* now defaults to 0.5 instead of 10 which seems to make the planner converge in a more robust way. Interestingly, I have never seen this parameter exposed in MoveIt 1 configs even though it was defined in the plugin, so I wouldn't be surprised if not a lot of people have ever heard of it (I just ran into this param while implementing the new version). **TODO's** -* Visualization is still somewhat minimal. The gif is generated with MVT which is not supported in the main repo. There is still a simple [path publisher](https://github.com/ros-planning/moveit2/blob/main/moveit_planners/stomp/res/stomp_moveit.yaml#L60) that can be used for visualizing the candidate. +* Visualization is still somewhat minimal. The gif is generated with MVT which is not supported in the main repo. There is still a simple [path publisher](https://github.com/moveit/moveit2/blob/main/moveit_planners/stomp/res/stomp_moveit.yaml#L60) that can be used for visualizing the candidate. * The new implementation doesn't have a cost for the [obstacle distance gradient](https://github.com/ros-industrial/stomp_ros/blob/melodic-devel/stomp_moveit/include/stomp_moveit/cost_functions/obstacle_distance_gradient.h), we are working on a replacement as part of the MoveIt cost-function API extension. * STOMP is still not very easy to tune and some parameters like *stdddev* for noise generation are not exposed, yet. In general, we would like to implement more "smart decision making" for setting these parameters based on the planning request and try to focus on good performance by default. It's possible, that some parameters (like *num_waypoints*) will be set automatically in the future while still allowing to enforce an override. diff --git a/_posts/2023-05-31-balancing-stability-and-development.md b/_posts/2023-05-31-balancing-stability-and-development.md index ff80086e3..36a56cafc 100644 --- a/_posts/2023-05-31-balancing-stability-and-development.md +++ b/_posts/2023-05-31-balancing-stability-and-development.md @@ -12,7 +12,7 @@ categories: - ROS --- -> [This was originally posted as a GitHub discussion here.](https://github.com/orgs/ros-planning/discussions/2190) +> [This was originally posted as a GitHub discussion here.](https://github.com/orgs/moveit/discussions/2190) It has become apparent that there needs to be more clarity about how MoveIt and ROS balance the need for stability and development. This is more complex because our dependencies attempt to strike a balance and sometimes take different approaches. @@ -43,7 +43,7 @@ MoveIt releases into the stable versions of ROS (currently Humble and Iron) and ## Main branch supports more than one ROS release This leaves us in a tough spot when working with clients using MoveIt on their projects. PickNik's clients drive new feature development with their cutting-edge applications. They also contribute bug fixes upstream that are discovered when working on their projects. As many of these improvements would cause ABI breaks they cannot be released into the stable ROS releases. -At the same time, many of these clients desire to use a stable (sometimes even the LTS) version of ROS in their projects to reduce the time we spend adapting to upstream changes in ROS. For this reason, we use compile time features to make the `main` branch of MoveIt compatible with the latest LTS, any non-LTS since the latest LTS, and ROS Rolling. Currently, the `main` branch of MoveIt supports Humble, Iron, and Rolling. Here is a code example of how we achieve this (from [move_group_interface.cpp#L89-L102](https://github.com/ros-planning/moveit2/blob/243b0b2ccac156a75bcd158eefa86c8acf409110/moveit_ros/planning_interface/move_group_interface/src/move_group_interface.cpp#L89-L102)): +At the same time, many of these clients desire to use a stable (sometimes even the LTS) version of ROS in their projects to reduce the time we spend adapting to upstream changes in ROS. For this reason, we use compile time features to make the `main` branch of MoveIt compatible with the latest LTS, any non-LTS since the latest LTS, and ROS Rolling. Currently, the `main` branch of MoveIt supports Humble, Iron, and Rolling. Here is a code example of how we achieve this (from [move_group_interface.cpp#L89-L102](https://github.com/moveit/moveit2/blob/243b0b2ccac156a75bcd158eefa86c8acf409110/moveit_ros/planning_interface/move_group_interface/src/move_group_interface.cpp#L89-L102)): ```cpp diff --git a/_posts/2023-11-21-GSoC-2023-MoveIt-Servo-and-IK-Benchmarking.md b/_posts/2023-11-21-GSoC-2023-MoveIt-Servo-and-IK-Benchmarking.md index 4b8b6e481..cf8b72ad0 100644 --- a/_posts/2023-11-21-GSoC-2023-MoveIt-Servo-and-IK-Benchmarking.md +++ b/_posts/2023-11-21-GSoC-2023-MoveIt-Servo-and-IK-Benchmarking.md @@ -29,7 +29,7 @@ For those unfamiliar, MoveIt Servo is one of the many packages in MoveIt, and yo Project 1: MoveIt Servo Refactor -While MoveIt Servo has been around for a while, and has already been used in various academic and commercial projects, we were excited to have Ibrahim do a [complete refactor of the code](https://github.com/ros-planning/moveit2/pull/2224) for two main reasons: +While MoveIt Servo has been around for a while, and has already been used in various academic and commercial projects, we were excited to have Ibrahim do a [complete refactor of the code](https://github.com/moveit/moveit2/pull/2224) for two main reasons: 1. The ROS parameters for MoveIt Servo are now easier to define, validate, and tune at runtime. This was made possible by using the [generate_parameter_library](https://github.com/PickNikRobotics/generate_parameter_library) package which we are moving towards using consistently in the MoveIt 2 code base. You can learn more about this in [Tyler Weaver’s ROSCon 2023 talk](https://vimeo.com/879001499/558ba81bef). @@ -75,7 +75,7 @@ This was motivated by our work with NASA Johnson Space Center, which deals with ## Project 2: IK Benchmarking -This work was done by [Mohamed Raessa](https://github.com/Robotawi), advised by [me](https://github.com/sea-bass) and [Stephanie Eng](https://github.com/stephanie-eng). Mohamed had previously worked with MoveIt Servo for this PhD thesis, and prior to starting the main project he had already developed a few MoveIt tutorials, including a [ROS 2 port of the MoveIt Setup Assistant tutorial](https://github.com/ros-planning/moveit2_tutorials/pull/647). However, Mohamed was looking forward to getting more familiar with inverse kinematics (IK) solvers in MoveIt and contributing to open-source software in a bigger capacity. +This work was done by [Mohamed Raessa](https://github.com/Robotawi), advised by [me](https://github.com/sea-bass) and [Stephanie Eng](https://github.com/stephanie-eng). Mohamed had previously worked with MoveIt Servo for this PhD thesis, and prior to starting the main project he had already developed a few MoveIt tutorials, including a [ROS 2 port of the MoveIt Setup Assistant tutorial](https://github.com/moveit/moveit2_tutorials/pull/647). However, Mohamed was looking forward to getting more familiar with inverse kinematics (IK) solvers in MoveIt and contributing to open-source software in a bigger capacity. While this project originally started with a focus on our new [pick_ik](https://github.com/PickNikRobotics/pick_ik) solver, including a [new tutorial](https://moveit.picknik.ai/main/doc/how_to_guides/pick_ik/pick_ik_tutorial.html), by far the most requested information with each new IK solver we released was: how well does it perform? And it was challenging for us to provide quantitative answers. To drill down into this question: diff --git a/_posts/2024-03-25-MoveIt-Planning-Pipeline-Refactoring.md b/_posts/2024-03-25-MoveIt-Planning-Pipeline-Refactoring.md index bf501ea4b..2f990031c 100644 --- a/_posts/2024-03-25-MoveIt-Planning-Pipeline-Refactoring.md +++ b/_posts/2024-03-25-MoveIt-Planning-Pipeline-Refactoring.md @@ -17,7 +17,7 @@ categories: *“Motion planning is the problem of finding a robot motion from a start state to a goal state that avoids obstacles in the environment and satisfies other constraints”* ([Lynch, K. M., & Park, F. C. (2017)](https://hades.mech.northwestern.edu/index.php/Modern_Robotics)). Such a planning problem can be encoded as constraints and optimization objectives. In many cases, the solution is a trajectory (a timed sequence of robot states) that a robot can execute. The classical approach to solving motion planning problems uses a sequence of algorithms, for example, Path planning -> Path Optimization -> Trajectory Generation. -A generic implementation of such a planning pipeline is one of the core components of MoveIt. Data structures to encode planning problems ([MotionPlanRequest](https://github.com/ros-planning/moveit_msgs/blob/ros2/msg/MotionPlanRequest.msg)) and solutions ([MotionPlanResponse](https://github.com/ros-planning/moveit_msgs/blob/ros2/msg/MotionPlanResponse.msg)) are provided, and it is possible to create custom pipelines by choosing from various algorithms in MoveIt. These algorithms are implemented as plugins so that you can specify a planning pipeline at runtime and make it easy to integrate your implementations. Since no planning algorithm is a jack of all trades, it is important to be able to define and swap pipelines. Take for example, a [bin picking application](https://youtu.be/4bpiLJjUDzU), where a planning pipeline with a Cartesian planner is useful to plan grasp and retreat motions and a planning pipeline with a sampling-based planner could be used to quickly find collision free motions to get the picked object to the drop position. +A generic implementation of such a planning pipeline is one of the core components of MoveIt. Data structures to encode planning problems ([MotionPlanRequest](https://github.com/moveit/moveit_msgs/blob/ros2/msg/MotionPlanRequest.msg)) and solutions ([MotionPlanResponse](https://github.com/moveit/moveit_msgs/blob/ros2/msg/MotionPlanResponse.msg)) are provided, and it is possible to create custom pipelines by choosing from various algorithms in MoveIt. These algorithms are implemented as plugins so that you can specify a planning pipeline at runtime and make it easy to integrate your implementations. Since no planning algorithm is a jack of all trades, it is important to be able to define and swap pipelines. Take for example, a [bin picking application](https://youtu.be/4bpiLJjUDzU), where a planning pipeline with a Cartesian planner is useful to plan grasp and retreat motions and a planning pipeline with a sampling-based planner could be used to quickly find collision free motions to get the picked object to the drop position.

However, the planning pipeline implementation in MoveIt had some shortcomings:

@@ -25,7 +25,7 @@ A generic implementation of such a planning pipeline is one of the core componen - It was not possible to chain planner algorithms. - No clear separation and naming of pre-processing, planning and post-processing algorithms. -This is why we decided to refactor the planning pipeline to address the problems above (tracked by [moveit2#2408](https://github.com/ros-planning/moveit2/issues/2408)). This blog post describes these changes in detail. +This is why we decided to refactor the planning pipeline to address the problems above (tracked by [moveit2#2408](https://github.com/moveit/moveit2/issues/2408)). This blog post describes these changes in detail. ### Refactoring Steps diff --git a/about/distribution/index.markdown b/about/distribution/index.markdown index 3e6c20978..57567e752 100644 --- a/about/distribution/index.markdown +++ b/about/distribution/index.markdown @@ -44,7 +44,7 @@ title: Distribution - + diff --git a/about/index.markdown b/about/index.markdown index 745213b37..3ebe4afee 100644 --- a/about/index.markdown +++ b/about/index.markdown @@ -21,7 +21,7 @@ title: About

The primary governance of MoveIt takes place during the public monthly maintainer meetings through majority vote. The meetings are also now known as the ROS 2 Manipulation Working Group. - For more information see the full maintainer policy as well as the CODEOWNERS file. + For more information see the full maintainer policy as well as the CODEOWNERS file.

Organizational leadership, outreach, publicity, and additional maintenance is led by PickNik Robotics. @@ -413,7 +413,7 @@ title: About

-

MoveIt's first commit was October 2011. MoveIt was initially developed at Willow Garage by Sachin Chitta, Ioan Sucan, Gil E. Jones, Acorn Pooley, Suat Gedikli, and Dave Hershberger and we thank Willow Garage for its support of the MoveIt project. We would also like to thank SRI International for its support of the MoveIt project between October 2013 and June 2015. Since then, PickNik has been leading the support of the MoveIt project.

+

MoveIt's first commit was October 2011. MoveIt was initially developed at Willow Garage by Sachin Chitta, Ioan Sucan, Gil E. Jones, Acorn Pooley, Suat Gedikli, and Dave Hershberger and we thank Willow Garage for its support of the MoveIt project. We would also like to thank SRI International for its support of the MoveIt project between October 2013 and June 2015. Since then, PickNik has been leading the support of the MoveIt project.

We gratefully acknowledge the early contributions of the following people to MoveIt and associated packages that MoveIt uses:

  • diff --git a/about/maintainer_policy/index.markdown b/about/maintainer_policy/index.markdown index 3226e7953..85a151b69 100644 --- a/about/maintainer_policy/index.markdown +++ b/about/maintainer_policy/index.markdown @@ -78,19 +78,9 @@ Their past contributions should be acknowledged and appreciated, and they will c For maintainers specifically, we will also remove their repo commit access and change them to just Github Triage access. For Core Contributors, their Github access can remain the same. -## ROS-Planning Github Org Policy +## MoveIt Github Org Policy -In the [ros-planning](https://github.com/ros-planning/) Github organization, there are essentially two projects co-located there: - - - MoveIt - - Navigation - -These projects are run entirely by different teams, maintainer policies, etc. -Write access between these two projects is isolated via usage of different Github Org Teams. -In addition, MoveIt has a secondary Github team for non-write access. The ros-planning org currently has four total teams: - - - Navigation Maintainers - - Has write access to all navigation-related packages +We have three organization teams to organize work: - MoveIt Admin - Has write access to all MoveIt-related packages & admin access to all repos settings - MoveIt Maintainers diff --git a/documentation/applications/index.markdown b/documentation/applications/index.markdown index e24d1d1a3..450833698 100644 --- a/documentation/applications/index.markdown +++ b/documentation/applications/index.markdown @@ -13,7 +13,7 @@ There are many diverse application examples of what you can use MoveIt for. The ## MoveIt Example Apps -Some advanced MoveIt applications with full robotic setups can be found in [moveit_example_apps](https://github.com/ros-planning/moveit_example_apps). If you have an awesome application using MoveIt, and you would like to share it with others, consider contributing it to this project with a tutorial detailing how to build and launch your application. +Some advanced MoveIt applications with full robotic setups can be found in [moveit_example_apps](https://github.com/moveit/moveit_example_apps). If you have an awesome application using MoveIt, and you would like to share it with others, consider contributing it to this project with a tutorial detailing how to build and launch your application. ## MoveIt Pro diff --git a/documentation/concepts/index.markdown b/documentation/concepts/index.markdown index 241289d9c..6fabf1b9e 100644 --- a/documentation/concepts/index.markdown +++ b/documentation/concepts/index.markdown @@ -177,7 +177,7 @@ MoveIt uses a plugin infrastructure, especially targeted towards allowing users ### **IKFast Plugin** -Often, users may choose to implement their own kinematics solvers, e.g. the PR2 has its own kinematics solvers. A popular approach to implementing such a solver is using the [IKFast package](https://ros-planning.github.io/moveit_tutorials/doc/ikfast/ikfast_tutorial.html) to generate the C++ code needed to work with your particular robot. +Often, users may choose to implement their own kinematics solvers, e.g. the PR2 has its own kinematics solvers. A popular approach to implementing such a solver is using the [IKFast package](https://moveit.github.io/moveit_tutorials/doc/ikfast/ikfast_tutorial.html) to generate the C++ code needed to work with your particular robot. --- diff --git a/documentation/contributing/code/index.markdown b/documentation/contributing/code/index.markdown index 1412d438e..4f87219d0 100644 --- a/documentation/contributing/code/index.markdown +++ b/documentation/contributing/code/index.markdown @@ -60,7 +60,7 @@ In addition MoveIt has some extra style preferences: ## Shared Ptrs - - For creating ``shared_ptr`` of any object, use MoveIt's standard [macro](https://github.com/ros-planning/moveit/blob/master/moveit_core/macros/include/moveit/macros/class_forward.h) ``MOVEIT_CLASS_FORWARD(ClassName)`` before the class declaration, and add the include ``#include ``. This will create two typedefs of shared pointers - ``Ptr`` and ``ConstPtr`` using either ``boost`` or ``std``. + - For creating ``shared_ptr`` of any object, use MoveIt's standard [macro](https://github.com/moveit/moveit/blob/master/moveit_core/macros/include/moveit/macros/class_forward.h) ``MOVEIT_CLASS_FORWARD(ClassName)`` before the class declaration, and add the include ``#include ``. This will create two typedefs of shared pointers - ``Ptr`` and ``ConstPtr`` using either ``boost`` or ``std``. ## CMakeLists.txt @@ -95,7 +95,7 @@ You can run **clang-format** in several ways. To install on Ubuntu simply run: sudo apt install clang-format -clang-format requires a configuration file in the root of your catkin workspace. The MoveIt repo contains this file [here](https://github.com/ros-planning/moveit/blob/master/.clang-format). +clang-format requires a configuration file in the root of your catkin workspace. The MoveIt repo contains this file [here](https://github.com/moveit/moveit/blob/master/.clang-format). ### Command Line @@ -155,7 +155,7 @@ more modern, more readable, and less prone to common bugs. You can install clang-tidy and other clang related tools with `sudo apt install clang-tidy clang-tools` -Similarly to clang-format, clang-tidy uses the configuration file [``.clang-tidy``](https://github.com/ros-planning/moveit/blob/master/.clang-tidy) that is found first when traversing the source folder hierarchy upwards. The MoveIt repo provides this file [here](https://github.com/ros-planning/moveit/blob/master/.clang-tidy). +Similarly to clang-format, clang-tidy uses the configuration file [``.clang-tidy``](https://github.com/moveit/moveit/blob/master/.clang-tidy) that is found first when traversing the source folder hierarchy upwards. The MoveIt repo provides this file [here](https://github.com/moveit/moveit/blob/master/.clang-tidy). Unlike clang-format, clang-tidy needs to know the exact compiler options used to build your project. diff --git a/documentation/contributing/continuous_integration/index.markdown b/documentation/contributing/continuous_integration/index.markdown index 681ff3386..a55ba048c 100644 --- a/documentation/contributing/continuous_integration/index.markdown +++ b/documentation/contributing/continuous_integration/index.markdown @@ -40,7 +40,7 @@ MoveIt uses the [industrial_ci](https://github.com/ros-industrial/industrial_ci) To setup your environment for running the CI workflows locally follow [these instructions from industrial_ci's documentation](https://github.com/ros-industrial/industrial_ci/blob/master/doc/index.rst#run-industrial-ci-on-local-host) -Industrial CI is configured using environment variables. These can be found by expanding the top of the industrial_ci step in the CI job you'd like to replicate. If you use [one of the CI jobs](https://github.com/ros-planning/moveit2/actions/workflows/ci.yaml) as an example you'll see something like this at the top of the industrial_ci step dropdown: +Industrial CI is configured using environment variables. These can be found by expanding the top of the industrial_ci step in the CI job you'd like to replicate. If you use [one of the CI jobs](https://github.com/moveit/moveit2/actions/workflows/ci.yaml) as an example you'll see something like this at the top of the industrial_ci step dropdown: ``` Run ros-industrial/industrial_ci@master diff --git a/documentation/contributing/future_projects/index.markdown b/documentation/contributing/future_projects/index.markdown index 3f387e792..dbc238c60 100644 --- a/documentation/contributing/future_projects/index.markdown +++ b/documentation/contributing/future_projects/index.markdown @@ -16,7 +16,7 @@ title: Future Projects
    This page lists potential projects that would greatly benefit the MoveIt project. This is by no means an exhaustive list, but is meant to serve as a discussion starting point for code sprints and other efforts. -If you would like to contribute to these efforts, have a look at the related Github issues and ask for clarifications on [Github](https://github.com/ros-planning/moveit/issues) or [Discord](https://discord.gg/vqwEXwYU3N). +If you would like to contribute to these efforts, have a look at the related Github issues and ask for clarifications on [Github](https://github.com/moveit/moveit/issues) or [Discord](https://discord.gg/vqwEXwYU3N). Feel free to contact [PickNik Robotics](https://picknik.ai/connect/) for further information or sponsorship opportunities. @@ -58,7 +58,7 @@ Feel free to contact [PickNik Robotics](https://picknik.ai/connect/) for further - Does the next position in a trajectory collide with another robot arm? - What are the next positions of the other currently active robot arms? -- **Related Github issues**: [2287](https://github.com/ros-planning/moveit/issues/2287) +- **Related Github issues**: [2287](https://github.com/moveit/moveit/issues/2287) ## Grasp Pose Generation @@ -66,9 +66,9 @@ Feel free to contact [PickNik Robotics](https://picknik.ai/connect/) for further - **Programming skills**: C++, Python - **Difficulty**: Medium - **Potential mentors**: Mark Moll -- **Description**: Improve grasp pose synthesis within MoveIt and the MoveIt Task constructor. Current grasp synthesis algorithms pair deep neural networks and sampling point clouds, see [GPD](https://github.com/atenpas/gpd) and [Dex-Net](https://berkeleyautomation.github.io/dex-net/). An initial effort using the previous grasping methods includes a [demo](https://github.com/PickNikRobotics/deep_grasp_demo) and a [tutorial](https://ros-planning.github.io/moveit_tutorials/doc/moveit_deep_grasps/moveit_deep_grasps_tutorial.html). Further work is required to harden this implementation, see [PR 196](https://github.com/ros-planning/moveit_task_constructor/pull/196). +- **Description**: Improve grasp pose synthesis within MoveIt and the MoveIt Task constructor. Current grasp synthesis algorithms pair deep neural networks and sampling point clouds, see [GPD](https://github.com/atenpas/gpd) and [Dex-Net](https://berkeleyautomation.github.io/dex-net/). An initial effort using the previous grasping methods includes a [demo](https://github.com/PickNikRobotics/deep_grasp_demo) and a [tutorial](https://moveit.github.io/moveit_tutorials/doc/moveit_deep_grasps/moveit_deep_grasps_tutorial.html). Further work is required to harden this implementation, see [PR 196](https://github.com/moveit/moveit_task_constructor/pull/196). -- **Related Github issues**: [188](https://github.com/ros-planning/moveit_task_constructor/issues/188) +- **Related Github issues**: [188](https://github.com/moveit/moveit_task_constructor/issues/188) ## Tutorial for multiple robot arms @@ -78,7 +78,7 @@ Feel free to contact [PickNik Robotics](https://picknik.ai/connect/) for further - **Potential mentors**: - - **Description**: While there are some ROS Answers posts and examples floating around, there is no definitive resource on how to set up multiple robot (arms) with MoveIt. The goal of this project is to write a tutorial that should become the reference. This project is a good preparation for the one above. -- **Related Github issues**: [465](https://github.com/ros-planning/moveit_tutorials/issues/465) +- **Related Github issues**: [465](https://github.com/moveit/moveit_tutorials/issues/465) ## Scene graph support @@ -89,7 +89,7 @@ Feel free to contact [PickNik Robotics](https://picknik.ai/connect/) for further - **Description**: The planning scene in MoveIt is currently represented as a flat list of transforms from the origin. In this project, the planning scene should be extended with a scene graph or kinematic tree, so that it allows e.g. picking up a tray or rack with other items in/on it, or the dynamic attachment or removal of a hand to a robot arm. As a blueprint for the implementation, it is worth looking at [Tesseract](https://github.com/ros-industrial-consortium/tesseract) (forked from MoveIt) and [TMKit](https://github.com/kavrakilab/tmkit.git) (no ROS support). -- **Related Github issues**: [202](https://github.com/ros-planning/moveit/issues/202), [202](https://github.com/ros-planning/moveit/issues/202) +- **Related Github issues**: [202](https://github.com/moveit/moveit/issues/202), [202](https://github.com/moveit/moveit/issues/202) ## Creation of a Benchmark Suite for Evaluating MoveIt Performance @@ -102,7 +102,7 @@ For this, we need to identify and implement standard tasks at varying levels of - Moving to a goal position in uncluttered space - Picking and placing items from/in cluttered shelves - Following paths with orientation constraints -- **Related Github issues**: [2124](https://github.com/ros-planning/moveit/issues/2124) +- **Related Github issues**: [2124](https://github.com/moveit/moveit/issues/2124) ## MoveIt 2 Tutorials @@ -118,7 +118,7 @@ For this, we need to identify and implement standard tasks at varying levels of - **Programming skills**: C++ - **Difficulty**: Medium - **Potential mentors**: Andy Zelenak, Robert Haschke -- **Description**: Utilize low-level controller switching (position/velocity/force-torque) during execution of MoveIt plans. Remove the deprecated [ROSControlInterface plugin](https://github.com/ros-planning/moveit/tree/master/moveit_plugins/moveit_ros_control_interface). Improve the ability to trigger other events during trajectory execution. +- **Description**: Utilize low-level controller switching (position/velocity/force-torque) during execution of MoveIt plans. Remove the deprecated [ROSControlInterface plugin](https://github.com/moveit/moveit/tree/master/moveit_plugins/moveit_ros_control_interface). Improve the ability to trigger other events during trajectory execution. ## Port Inverse Kinematic Solver Libraries to MoveIt 2 @@ -158,10 +158,10 @@ For this, we need to identify and implement standard tasks at varying levels of - **Description**: The default cartesian planner in MoveIt is naive and has enormous room for improvement. Improvements to the Cartesian planner could include: - Integration with [OMPL's constrained planning capabilities](http://ompl.kavrakilab.org/constrainedPlanning.html). (Constrained planning can be thought of as a generalized notion of Cartesian planning.) This requires translating end effector constraints into a callback constraint function that can be passed to OMPL. Using the Jacobian, it should be possible to create an analytic derivative of this constraint function, which can be used to speed up constrained planning. - - Moving the Cartesian planner out of [RobotState](https://github.com/ros-planning/moveit/blob/0ba091ce1faf6e11896fd0d06bea8234cf642ca3/moveit_core/robot_state/include/moveit/robot_state/robot_state.h#L1129) and into a more appropriate location eg: [moveit_planners](https://github.com/ros-planning/moveit/tree/master/moveit_planners). + - Moving the Cartesian planner out of [RobotState](https://github.com/moveit/moveit/blob/0ba091ce1faf6e11896fd0d06bea8234cf642ca3/moveit_core/robot_state/include/moveit/robot_state/robot_state.h#L1129) and into a more appropriate location eg: [moveit_planners](https://github.com/moveit/moveit/tree/master/moveit_planners). - Integration with [Descartes](https://github.com/ros-industrial-consortium/descartes). - - Fix the long standing [orientation constraint joint flip bug](https://github.com/ros-planning/moveit/issues/562) in free-space planning. -- **Related Github issues**: [2092](https://github.com/ros-planning/moveit/issues/2092) + - Fix the long standing [orientation constraint joint flip bug](https://github.com/moveit/moveit/issues/562) in free-space planning. +- **Related Github issues**: [2092](https://github.com/moveit/moveit/issues/2092) ## Improve Warehouse Support @@ -173,7 +173,7 @@ For this, we need to identify and implement standard tasks at varying levels of - Implementation of a warehouse-plugin that works with a standard database system that is supported in major Linux distributions - Create tutorials and example code that demonstrates how to use the warehouse interface -- **Related Github issues**: [123](https://github.com/ros-planning/moveit/issues/123) +- **Related Github issues**: [123](https://github.com/moveit/moveit/issues/123) ## MoveIt-OMPL Planning Interface @@ -183,7 +183,7 @@ For this, we need to identify and implement standard tasks at varying levels of - **Potential mentors**: Mark Moll - **Description**: Currently, MoveIt supports the OMPL planning library via a C++ based binding system in the package `ompl_interface`. This should be deprecated in favor of a plugin-based system, that eases configuration of different planners within OMPL. In effect, the plugin allows new planning algorithms derived from the abstract Planner API in OMPL to be loaded via a yaml file. It also allows users to easily create new planning configurations for existing planning algorithms in OMPL via such a yaml. Most of the work for this is already done and has been used extensively in the latest versions. This is a great project for someone who wants to better understand the connection between MoveIt And OMPL. - - More information can be found [here](https://github.com/ros-planning/moveit/issues/117) + - More information can be found [here](https://github.com/moveit/moveit/issues/117) - The new system needs to be documented in tutorials - It would be nice if, as a proof of concept, some additional basic planning algorithms could be implemented as a plugin. Ideally, this would include at least one algorithm that is not sampling-based, just to demonstrate that this can be done --> @@ -194,4 +194,4 @@ For this, we need to identify and implement standard tasks at varying levels of - **Programming skills**: C++ - **Difficulty**: Medium - **Potential mentors**: Mark Moll, David Lu!! -- **Description**: The goal is to provide a standard way for integrating mobile base into move group that typically handles arms. While there's a non-standard way to incorporate holonomic drive that requires modifying your robot model ([example](https://groups.google.com/forum/#%21searchin/moveit-users/virtual$20base/moveit-users/G7vG7r23YzI/vpMUoa1hza4J)), customizing your robot package for such a common functionality is not ideal at all. We also extend to cover non-holonomic drive robots. [This is an FAQ](https://github.com/ros-planning/moveit/issues/375) among MoveIt users. Some initial work for this is currently underway for the Hello Robot Stretch platform, but more work is needed to generalize to other types of mobile bases. +- **Description**: The goal is to provide a standard way for integrating mobile base into move group that typically handles arms. While there's a non-standard way to incorporate holonomic drive that requires modifying your robot model ([example](https://groups.google.com/forum/#%21searchin/moveit-users/virtual$20base/moveit-users/G7vG7r23YzI/vpMUoa1hza4J)), customizing your robot package for such a common functionality is not ideal at all. We also extend to cover non-holonomic drive robots. [This is an FAQ](https://github.com/moveit/moveit/issues/375) among MoveIt users. Some initial work for this is currently underway for the Hello Robot Stretch platform, but more work is needed to generalize to other types of mobile bases. diff --git a/documentation/contributing/index.markdown b/documentation/contributing/index.markdown index d729296a3..1da869a41 100644 --- a/documentation/contributing/index.markdown +++ b/documentation/contributing/index.markdown @@ -31,7 +31,7 @@ title: Contributing

    We're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open-source software! 💝

    - Tackle Your First Issue + Tackle Your First Issue
@@ -58,19 +58,19 @@ title: Contributing

You can edit the contents directly through the Github website or by using ``git clone`` to edit it locally on your computer. Enhancing documentation makes you a hero among heroes.😻

- IMPROVE THE MOVEIT TUTORIALS + IMPROVE THE MOVEIT TUTORIALS
@@ -91,8 +91,8 @@ title: Contributing

Report and Fix Bugs

- As an ever improving software project, there's bound to be growing pains and issues arising. Check out currently open issues that need solving and take a stab at improving MoveIt. For reporting bugs, checkout the MoveIt Support page. + As an ever improving software project, there's bound to be growing pains and issues arising. Check out currently open issues that need solving and take a stab at improving MoveIt. For reporting bugs, checkout the MoveIt Support page.

- TACKLE OPEN ISSUES + TACKLE OPEN ISSUES
diff --git a/documentation/contributing/releases/index.markdown b/documentation/contributing/releases/index.markdown index 81cda17ed..0f3feaa1c 100644 --- a/documentation/contributing/releases/index.markdown +++ b/documentation/contributing/releases/index.markdown @@ -17,14 +17,14 @@ Releases for MoveIt are planned using the ZenHub Roadmap. You can follow our [d ## Permissions -The maintainer handling the release must have write access to both devel repos (e.g. [github.com/ros-planning/moveit](https://github.com/ros-planning/moveit)) as well as release repos (e.g. [github.com/ros-gbp/moveit-release](https://github.com/ros-gbp/moveit-release)). The release repo access is managed via the Github Team [moveit-maintainers](https://github.com/orgs/ros-gbp/teams/moveit-maintainers/members). +The maintainer handling the release must have write access to both devel repos (e.g. [github.com/moveit/moveit](https://github.com/moveit/moveit)) as well as release repos (e.g. [github.com/ros-gbp/moveit-release](https://github.com/ros-gbp/moveit-release)). The release repo access is managed via the Github Team [moveit-maintainers](https://github.com/orgs/ros-gbp/teams/moveit-maintainers/members). ## Steps 1. Create an issue to track the status of the upcoming release. This issue should include a list of the changes since the last release so maintainers can determine which ones should be backported into the release branch. Do this for each repo that will be released with references to the issue in the main repo. To generate the list of changes use the `review-for-backport` branch. The `reviewed-for-backport` branch exists as a marker in the commit history for `master`, marking the last commit that was considered for backporting. Run `git cherry -v master reviewed-for-backport | grep '^+'` to generate a list of all commits between `reviewed-for-backport` and the current `master` branch that have not been merged in `release-branch` (without modifications). Backports should be pull-requests and reviewed separately, though possibly bundled. 1. Run ROS buildfarm prerelease test for **all** supported Ubuntu distributions in [REP-0003](http://www.ros.org/reps/rep-0003.html). * You can see [here](http://wiki.ros.org/bloom/Tutorials/PrereleaseTest) for the general instruction of prerelease test. If you're done for the setup already and just want to refer to command examples, see [here](http://wiki.ros.org/regression_tests#Running_prerelease_test). - * As long as REP-0003 supports, we must test even EOLed Ubuntu distros (e.g. Saucy for ROS Indigo was retired in 2014 but REP-0003 still supports it and there's no way as of December 2016 to skip it. See [moveit/#100](https://github.com/ros-planning/moveit/issues/100#issuecomment-268826497) as a previous example). + * As long as REP-0003 supports, we must test even EOLed Ubuntu distros (e.g. Saucy for ROS Indigo was retired in 2014 but REP-0003 still supports it and there's no way as of December 2016 to skip it. See [moveit/#100](https://github.com/moveit/moveit/issues/100#issuecomment-268826497) as a previous example). * Example commands: Default for Kinetic-Xenial where the `HEAD` at the moveit repo is what we want to release, and Kinetic-Wily (basically the same except for the Ubuntu distro type): @@ -45,7 +45,7 @@ The maintainer handling the release must have write access to both devel repos ( emacs `find . -iname CHANGELOG.rst` (Edit each file. Emacs forever, but replace it if necessary :/) git add `find . -iname CHANGELOG.rst` (Stage all changelogs) ``` -1. Figure out the correct next version number (see the version policy section below) and utilize the command `catkin_prepare_release` that adapts the version numbers in all package.xml and changelog files, creates a new tag, and eventually pushes to the remote repo (you can check at [github.com/ros-planning/moveit/releases](https://github.com/ros-planning/moveit/releases)). Example command: +1. Figure out the correct next version number (see the version policy section below) and utilize the command `catkin_prepare_release` that adapts the version numbers in all package.xml and changelog files, creates a new tag, and eventually pushes to the remote repo (you can check at [github.com/moveit/moveit/releases](https://github.com/moveit/moveit/releases)). Example command: ``` (Assuming you're at the same directory as before.) @@ -73,7 +73,7 @@ The maintainer handling the release must have write access to both devel repos ( find . -iname package.xml -exec \ sed -i "s#.*#x.y.z#g" {} \; ``` -1. Write release notes on moveit.ros.org (e.g. [1](https://github.com/ros-planning/moveit.ros.org/pull/115), [2](https://github.com/ros-planning/moveit.ros.org/pull/110)). Send it to [Discourse MoveIt category](https://discourse.ros.org/c/moveit). +1. Write release notes on moveit.ros.org (e.g. [1](https://github.com/moveit/moveit.ros.org/pull/115), [2](https://github.com/moveit/moveit.ros.org/pull/110)). Send it to [Discourse MoveIt category](https://discourse.ros.org/c/moveit). 1. Forward the `reviewed-for-backport` branch to `: git checkout reviewed-for-backport; git merge --ff-only `. ### Release Versioning Policy @@ -88,7 +88,7 @@ The maintainer handling the release must have write access to both devel repos ( * Melodic 1.0.x (melodic-devel) * Noetic 1.1.x (noetic-devel) * As of May 2020 we decided to bump the release version right after preparing a release, such that - the `HEAD` of a development branch will already indicate the _next_ upcoming release version. See [rational](https://github.com/ros-planning/moveit/issues/2036). + the `HEAD` of a development branch will already indicate the _next_ upcoming release version. See [rational](https://github.com/moveit/moveit/issues/2036). * See also: [discussion for the best practice for versioning](https://discourse.ros.org/t/maintainer-best-practices-handling-changes-through-ros-releases/771) on Discourse. ### Release Issue Template diff --git a/documentation/contributing/roadmap/index.markdown b/documentation/contributing/roadmap/index.markdown index 1a31d1045..9a0345dd5 100644 --- a/documentation/contributing/roadmap/index.markdown +++ b/documentation/contributing/roadmap/index.markdown @@ -52,7 +52,7 @@ title: MoveIt Roadmap

Hybrid Planning

- Issue: #433 + Issue: #433

@@ -77,7 +77,7 @@ title: MoveIt Roadmap

Port MoveIt Task Constructor to ROS 2

- Issue: #170 + Issue: #170

@@ -102,7 +102,7 @@ title: MoveIt Roadmap

Port Pilz Industrial Motion Planner to ROS 2

- Issue: #315 + Issue: #315

@@ -124,8 +124,8 @@ title: MoveIt Roadmap

OMPL Orientation Constraints

- Issue: #348 - PRs: #550, #1273 + Issue: #348 + PRs: #550, #1273

@@ -144,8 +144,8 @@ title: MoveIt Roadmap

MoveIt Config Redesign - Migrate MSA to ROS 2

- Issue: #313 - PR: #1254 + Issue: #313 + PR: #1254

@@ -170,8 +170,8 @@ title: MoveIt Roadmap

Cartesian Interpolation with optimization-based IK

- Issue: #1370 - PRs: #1386, #1434 + Issue: #1370 + PRs: #1386, #1434

@@ -196,8 +196,8 @@ title: MoveIt Roadmap

Support Chainable Admittance Controllers

- Issue: #1371 - PR: #1482 + Issue: #1371 + PR: #1482

@@ -218,7 +218,7 @@ title: MoveIt Roadmap

Remove outdated & unused code

- Issue: #1038 + Issue: #1038

@@ -239,8 +239,8 @@ title: MoveIt Roadmap

Cost-optimized planning with STOMP

- Issue: #1603 - Repo: ros-planning/stomp_moveit + Issue: #1603 + Repo: moveit/stomp_moveit

@@ -259,8 +259,8 @@ title: MoveIt Roadmap

Better path quality when planning with MoveItCpp

- Issue: #1200 - PR: #1420 + Issue: #1200 + PR: #1420

@@ -280,8 +280,8 @@ title: MoveIt Roadmap

GSoC: Create Python bindings for MoveIt 2

- Issue: #1279 - PR: #1546 + Issue: #1279 + PR: #1546

@@ -300,8 +300,8 @@ title: MoveIt Roadmap

GSoC: Simultaneous Trajectory Execution

- Issue: #3156 - PR: #3243 + Issue: #3156 + PR: #3243

@@ -320,7 +320,7 @@ title: MoveIt Roadmap

Make ROS 2 parameters more dynamic and easier to use

- Issue: #1403 + Issue: #1403

@@ -345,8 +345,8 @@ title: MoveIt Roadmap

Support HPP-FCL as collision checker

- Issue: #1435 - PR: #1521 + Issue: #1435 + PR: #1521

@@ -365,7 +365,7 @@ title: MoveIt Roadmap

Add ability to attach and detach end-effector links

- Issue: #208 + Issue: #208

diff --git a/documentation/contributing/syncing_backporting/index.markdown b/documentation/contributing/syncing_backporting/index.markdown index e445c2d07..f7a1ddaf2 100644 --- a/documentation/contributing/syncing_backporting/index.markdown +++ b/documentation/contributing/syncing_backporting/index.markdown @@ -25,9 +25,9 @@ Below are step-by-step guides that should help maintainers to perform a proper s Let's assume `origin` is the git remote for MoveIt 2 and `moveit1` the one for MoveIt 1, like below (using SSH works just the same, of course): -**origin:** https://github.com/ros-planning/moveit2.git +**origin:** https://github.com/moveit/moveit2.git -**moveit1:** https://github.com/ros-planning/moveit.git +**moveit1:** https://github.com/moveit/moveit.git @@ -58,7 +58,7 @@ You should be able to verify the merge commit hash of the last sync by searching git log --oneline | grep $LAST_SYNC_COMMIT ``` -It should print a merge commit message similar to `"Merge https://github.com/ros-planning/moveit/commit/"`. +It should print a merge commit message similar to `"Merge https://github.com/moveit/moveit/commit/"`. If you don't find a matching commit message the last maintainer didn't follow this guide. In that case you can try searching for the merge commit by only filtering for the first couple digits of the hash. @@ -103,7 +103,7 @@ You can filter this diff by files or directories if needed. Please use this message style so that it's easier to find old sync commits later on. ``` -git merge --message="Merge https://github.com/ros-planning/moveit/commit/${NEW_SYNC_COMMIT}" $NEW_SYNC_COMMIT +git merge --message="Merge https://github.com/moveit/moveit/commit/${NEW_SYNC_COMMIT}" $NEW_SYNC_COMMIT ``` diff --git a/documentation/faqs/index.markdown b/documentation/faqs/index.markdown index 6fbf46e22..58bb31c30 100644 --- a/documentation/faqs/index.markdown +++ b/documentation/faqs/index.markdown @@ -19,7 +19,7 @@ _I'm totally new, how do I get started?_ _What version of MoveIt should I use?_ - * For most developers, we recommend building the [master](https://github.com/ros-planning/moveit) branch from source. + * For most developers, we recommend building the [master](https://github.com/moveit/moveit) branch from source. * If you are a beginner, installing the Noetic LTS release from Debian is the easiest and fastest. * You can also use a [Docker container](/install/docker/) for a virtual setup. @@ -36,7 +36,7 @@ _What kind of computer do I need?_ _Where is the source code?_ - * See the cute Octocat at the top right corner of this webpage. Or just go to [MoveIt's Github](https://github.com/ros-planning/moveit). + * See the cute Octocat at the top right corner of this webpage. Or just go to [MoveIt's Github](https://github.com/moveit/moveit). _How do I create a pull request?_ @@ -89,7 +89,7 @@ _What is the difference between MoveIt and ROS-Industrial?_ _I have a fix for a bug in the MoveIt tutorials. What should I do?_ - * The MoveIt tutorials are hosted on [this Github repo](https://github.com/ros-planning/moveit_tutorials). + * The MoveIt tutorials are hosted on [this Github repo](https://github.com/moveit/moveit_tutorials). * To improve the tutorials, fork that package on Github, make the corrections, and create a pull request. _I have a found a bug in MoveIt itself. What should I do?_ @@ -100,7 +100,7 @@ _I have a found a bug in MoveIt itself. What should I do?_ _I would like to add a new robot to the list of robots using MoveIt. What should I do?_ - * Create a pull request to [moveit.ros.org's Github repo](https://github.com/ros-planning/moveit.ros.org) or email [PickNik Robotics](http://picknik.ai/connect) for additional assitance. + * Create a pull request to [moveit.ros.org's Github repo](https://github.com/moveit/moveit.ros.org) or email [PickNik Robotics](http://picknik.ai/connect) for additional assitance. _What robots does MoveIt support?_ diff --git a/documentation/plugins/index.markdown b/documentation/plugins/index.markdown index dfb77ebd8..209a5457b 100644 --- a/documentation/plugins/index.markdown +++ b/documentation/plugins/index.markdown @@ -37,7 +37,7 @@ Deprecated: ### Usage -By implementing the [move_group_capability.h](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_capability.h) interface it is possible to realize functionalities that are executed frequently. Each capability has access to the [move group context](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_context.h) including e.g. obstacle for collision avoidance. +By implementing the [move_group_capability.h](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_capability.h) interface it is possible to realize functionalities that are executed frequently. Each capability has access to the [move group context](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_context.h) including e.g. obstacle for collision avoidance. ### Field of Application @@ -45,13 +45,13 @@ Plugins of this type usually create communication functionality in form of a ros ### Interface Description -The interface is defined in the [move_group_capability.h](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_capability.h). It mainly consists of an initialize function which has to be overwritten. +The interface is defined in the [move_group_capability.h](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/include/moveit/move_group/move_group_capability.h). It mainly consists of an initialize function which has to be overwritten. ### Concrete Implementation -Moveit offers a number of [default capabilities](https://github.com/ros-planning/moveit/tree/master/moveit_ros/move_group/src/default_capabilities). A description of these can be found [here](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/default_capabilities_plugin_description.xml). +Moveit offers a number of [default capabilities](https://github.com/moveit/moveit/tree/master/moveit_ros/move_group/src/default_capabilities). A description of these can be found [here](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/default_capabilities_plugin_description.xml). -An example for a specific plugin is the [cartesian_path_service_capability](https://github.com/ros-planning/moveit/blob/master/moveit_ros/move_group/src/default_capabilities/cartesian_path_service_capability.cpp). This particular plugin can be used to compute a cartesian path. The implementation of the initialized function is shown below. In the example the plugin advertises a topic containing information about the trajectory and a service for computing a new trajectory. +An example for a specific plugin is the [cartesian_path_service_capability](https://github.com/moveit/moveit/blob/master/moveit_ros/move_group/src/default_capabilities/cartesian_path_service_capability.cpp). This particular plugin can be used to compute a cartesian path. The implementation of the initialized function is shown below. In the example the plugin advertises a topic containing information about the trajectory and a service for computing a new trajectory. ``` void move_group::MoveGroupCartesianPathService::initialize() @@ -75,18 +75,18 @@ The KinematicsBase interface enables you, to: ### Interface Description -The well documented interface is located [here](https://github.com/ros-planning/moveit/blob/3464e3d27bd8655aa6187ca5d3a031a4f72663e2/moveit_core/kinematics_base/include/moveit/kinematics_base/kinematics_base.h). +The well documented interface is located [here](https://github.com/moveit/moveit/blob/3464e3d27bd8655aa6187ca5d3a031a4f72663e2/moveit_core/kinematics_base/include/moveit/kinematics_base/kinematics_base.h). ### Concrete Implementations Examples for implementations of the KinematicsBase are - the KDL plugin: - [header](https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/include/moveit/kdl_kinematics_plugin/kdl_kinematics_plugin.h), - [cpp](https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/src/kdl_kinematics_plugin.cpp) + [header](https://github.com/moveit/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/include/moveit/kdl_kinematics_plugin/kdl_kinematics_plugin.h), + [cpp](https://github.com/moveit/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/src/kdl_kinematics_plugin.cpp) - the SrvKinematicsPlugin: - [header](https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/include/moveit/srv_kinematics_plugin/srv_kinematics_plugin.h), - [cpp](https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/src/srv_kinematics_plugin.cpp) + [header](https://github.com/moveit/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/include/moveit/srv_kinematics_plugin/srv_kinematics_plugin.h), + [cpp](https://github.com/moveit/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/src/srv_kinematics_plugin.cpp) *** @@ -100,11 +100,11 @@ Base class for MoveIt planners. By implementing it you can hook your own planner ### Interface Description -The interface is defined in [planning_interface.h](https://github.com/ros-planning/moveit/blob/master/moveit_core/planning_interface/include/moveit/planning_interface/planning_interface.h). +The interface is defined in [planning_interface.h](https://github.com/moveit/moveit/blob/master/moveit_core/planning_interface/include/moveit/planning_interface/planning_interface.h). ### Concrete Implementation -MoveIt's default implementation of this interface is the [OMPL Planner](https://github.com/ros-planning/moveit/blob/master/moveit_planners/ompl/ompl_interface/src/ompl_planner_manager.cpp). +MoveIt's default implementation of this interface is the [OMPL Planner](https://github.com/moveit/moveit/blob/master/moveit_planners/ompl/ompl_interface/src/ompl_planner_manager.cpp). @@ -130,11 +130,11 @@ resulting motion plan as generated by the planner. By default the following adap ### Interface Description -The interface is located [here](https://github.com/ros-planning/moveit/blob/master/moveit_core/planning_request_adapter/include/moveit/planning_request_adapter/planning_request_adapter.h). +The interface is located [here](https://github.com/moveit/moveit/blob/master/moveit_core/planning_request_adapter/include/moveit/planning_request_adapter/planning_request_adapter.h). ### Concrete Implementation -The planning request adapters are currently specified in ``ompl_planning_pipeline.launch`` generated for each robot. Examples for implementations of the PlanningRequestAdapters can all be found in this [moveit_ros_planning folder](https://github.com/ros-planning/moveit/tree/master/moveit_ros/planning/planning_request_adapter_plugins/src) +The planning request adapters are currently specified in ``ompl_planning_pipeline.launch`` generated for each robot. Examples for implementations of the PlanningRequestAdapters can all be found in this [moveit_ros_planning folder](https://github.com/moveit/moveit/tree/master/moveit_ros/planning/planning_request_adapter_plugins/src) *** @@ -152,8 +152,8 @@ A controller can be active or inactive. This means that MoveIt could activate th ### Concrete Implementation -The interfaces are defined in [controller_manager.h](https://github.com/ros-planning/moveit/blob/master/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h). -A concrete implementation can be found here: [moveit_simple_controller_manager](https://github.com/ros-planning/moveit/blob/master/moveit_plugins/moveit_simple_controller_manager/include/moveit_simple_controller_manager/action_based_controller_handle.h) +The interfaces are defined in [controller_manager.h](https://github.com/moveit/moveit/blob/master/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h). +A concrete implementation can be found here: [moveit_simple_controller_manager](https://github.com/moveit/moveit/blob/master/moveit_plugins/moveit_simple_controller_manager/include/moveit_simple_controller_manager/action_based_controller_handle.h) controller_manager.launch could be look like this: @@ -175,7 +175,7 @@ where the controllers are defined in the 'controllers.yaml'. ### Usage -By implementing the [ControllerHandle.h](https://github.com/ros-planning/moveit/blob/4ac0c7432d335f57aab6836cbcaaac3fccf4b6f9/moveit_plugins/moveit_ros_control_interface/include/moveit_ros_control_interface/ControllerHandle.h) interface it is possible to offer allocations of handlers for action based controllers. The controller handler are based on the class [MoveItControllerHandle](https://github.com/ros-planning/moveit/blob/master/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h). These handlers communicate with the controller in order to e.g. send trajectories. +By implementing the [ControllerHandle.h](https://github.com/moveit/moveit/blob/4ac0c7432d335f57aab6836cbcaaac3fccf4b6f9/moveit_plugins/moveit_ros_control_interface/include/moveit_ros_control_interface/ControllerHandle.h) interface it is possible to offer allocations of handlers for action based controllers. The controller handler are based on the class [MoveItControllerHandle](https://github.com/moveit/moveit/blob/master/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h). These handlers communicate with the controller in order to e.g. send trajectories. ### Field of Application @@ -183,11 +183,11 @@ TODO ### Interface Description -The interface is defined in [ControllerHandle.h](https://github.com/ros-planning/moveit/blob/4ac0c7432d335f57aab6836cbcaaac3fccf4b6f9/moveit_plugins/moveit_ros_control_interface/include/moveit_ros_control_interface/ControllerHandle.h). +The interface is defined in [ControllerHandle.h](https://github.com/moveit/moveit/blob/4ac0c7432d335f57aab6836cbcaaac3fccf4b6f9/moveit_plugins/moveit_ros_control_interface/include/moveit_ros_control_interface/ControllerHandle.h). ### Concrete Implementation -An examplary implementation of this interface is the [joint_trajectory_controller_plugin.cpp](https://github.com/ros-planning/moveit/blob/master/moveit_plugins/moveit_ros_control_interface/src/joint_trajectory_controller_plugin.cpp). This is also currently the only implementation available. +An examplary implementation of this interface is the [joint_trajectory_controller_plugin.cpp](https://github.com/moveit/moveit/blob/master/moveit_plugins/moveit_ros_control_interface/src/joint_trajectory_controller_plugin.cpp). This is also currently the only implementation available. *** @@ -195,7 +195,7 @@ An examplary implementation of this interface is the [joint_trajectory_controlle *moveit_sensor_manager::MoveItSensorManager* -This plugin is used to integrate sensores into the planning process. Defined in: [sensor_manager.h](https://github.com/ros-planning/moveit/blob/master/moveit_core/sensor_manager/include/moveit/sensor_manager/sensor_manager.h) +This plugin is used to integrate sensores into the planning process. Defined in: [sensor_manager.h](https://github.com/moveit/moveit/blob/master/moveit_core/sensor_manager/include/moveit/sensor_manager/sensor_manager.h) ### Usage @@ -266,7 +266,7 @@ If you want to use a customized collision detection algorithm for self-collision ### Interface Description -The interface is defined in the [collision_plugin.h](https://github.com/ros-planning/moveit/blob/master/moveit_core/collision_detection/include/moveit/collision_detection/collision_plugin.h). It mainly consists of an initialize function which has to be overwritten. +The interface is defined in the [collision_plugin.h](https://github.com/moveit/moveit/blob/master/moveit_core/collision_detection/include/moveit/collision_detection/collision_plugin.h). It mainly consists of an initialize function which has to be overwritten. ### Concrete Implementation NO IMPLEMENTATIONS AVAILABLE @@ -302,4 +302,4 @@ Deprecated! ### Info Old base class for MoveIt planners which has been removed in commit daa9fd2062df65e713e6c40570b2f7dceafed178. Was replaced by PlannerManager. -This class can still be found in use by outdated code, for example [SBPLMetaPlanner](https://github.com/ros-planning/moveit/blob/master/moveit_planners/sbpl/ros/sbpl_interface_ros/src/sbpl_meta_plugin.cpp) and [ChompPlanner](https://github.com/ros-planning/moveit/blob/master/moveit_planners/chomp/chomp_interface/src/chomp_plugin.cpp). +This class can still be found in use by outdated code, for example [SBPLMetaPlanner](https://github.com/moveit/moveit/blob/master/moveit_planners/sbpl/ros/sbpl_interface_ros/src/sbpl_meta_plugin.cpp) and [ChompPlanner](https://github.com/moveit/moveit/blob/master/moveit_planners/chomp/chomp_interface/src/chomp_plugin.cpp). diff --git a/documentation/related_projects/index.markdown b/documentation/related_projects/index.markdown index 0cbe35dab..3e7000ac1 100644 --- a/documentation/related_projects/index.markdown +++ b/documentation/related_projects/index.markdown @@ -9,7 +9,7 @@ title: Related Projects # MoveIt Related Projects -MoveIt is designed to be easily extensible as separate plugins or projects. Below is a list of related projects that have been aligned with the MoveIt framework, in alphabetical order of project names. This is by no means exhaustive. Please create pull-requests in the repository [moveit.ros.org](https://github.com/ros-planning/moveit.ros.org) to **add** other projects to this list. Or if not sure about the relevance, please post on the [ROS Discourse category](https://discourse.ros.org/c/moveit). +MoveIt is designed to be easily extensible as separate plugins or projects. Below is a list of related projects that have been aligned with the MoveIt framework, in alphabetical order of project names. This is by no means exhaustive. Please create pull-requests in the repository [moveit.ros.org](https://github.com/moveit/moveit.ros.org) to **add** other projects to this list. Or if not sure about the relevance, please post on the [ROS Discourse category](https://discourse.ros.org/c/moveit). ## Cartesian Path Planner Plug-In for MoveIt! diff --git a/documentation/source-code-api/index.markdown b/documentation/source-code-api/index.markdown index f45dc3bfe..0e39b01b1 100644 --- a/documentation/source-code-api/index.markdown +++ b/documentation/source-code-api/index.markdown @@ -13,9 +13,9 @@ MoveIt is open source and released under the [BSD License v3](https://opensource # Source Code -MoveIt code is hosted on GitHub in the [ros-planning organization](http://github.com/ros-planning) in the following repos: +MoveIt code is hosted on GitHub in the [moveit organization](http://github.com/moveit) in the following repos: -- [moveit](https://github.com/ros-planning/moveit) - Main repo of MoveIt, contains the following packages: +- [moveit](https://github.com/moveit/moveit) - Main repo of MoveIt, contains the following packages: - moveit - Metapackage - moveit_core - Core functionality including RobotModel, RobotState, collision checking - moveit_ros_planning - planning components, execution manager, plugin loaders @@ -35,34 +35,34 @@ MoveIt code is hosted on GitHub in the [ros-planning organization](http://github - moveit_plugins - plugins for controller managers - chomp_motion_planner - Gradient Optimization Techniques for Efficient Motion Planning - chomp_interface - adapter for using CHOMP with MoveIt -- [moveit2](https://github.com/ros-planning/moveit2) - The beta version of MoveIt for ROS 2 -- [moveit_msgs](https://github.com/ros-planning/moveit_msgs) - ROS messages -- [moveit_task_constructor](https://github.com/ros-planning/moveit_task_constructor) - An approach to hierarchical, multi-stage manipulation planning -- [moveit_grasps](https://github.com/ros-planning/moveit_grasps) - A geometric-based grasp generation library for manipulation -- [moveit_visual_tools](https://github.com/ros-planning/moveit_visual_tools) - display and debugging data in Rviz -- [moveit_resources](https://github.com/ros-planning/moveit_resources) - large file assets such as testing robots -- [moveit_calibration](https://github.com/ros-planning/moveit_calibration) - hand-eye calibration routines with GUI -- [moveit_advanced](https://github.com/ros-planning/moveit_advanced) - Experimental advanced capabilities -- [moveit_ci](https://github.com/ros-planning/moveit_ci) - script to run with Travis for continuous integration +- [moveit2](https://github.com/moveit/moveit2) - The beta version of MoveIt for ROS 2 +- [moveit_msgs](https://github.com/moveit/moveit_msgs) - ROS messages +- [moveit_task_constructor](https://github.com/moveit/moveit_task_constructor) - An approach to hierarchical, multi-stage manipulation planning +- [moveit_grasps](https://github.com/moveit/moveit_grasps) - A geometric-based grasp generation library for manipulation +- [moveit_visual_tools](https://github.com/moveit/moveit_visual_tools) - display and debugging data in Rviz +- [moveit_resources](https://github.com/moveit/moveit_resources) - large file assets such as testing robots +- [moveit_calibration](https://github.com/moveit/moveit_calibration) - hand-eye calibration routines with GUI +- [moveit_advanced](https://github.com/moveit/moveit_advanced) - Experimental advanced capabilities +- [moveit_ci](https://github.com/moveit/moveit_ci) - script to run with Travis for continuous integration - [rqt_moveit](https://github.com/ros-visualization/rqt_moveit/) - Plugin for the GUI framework of ROS, RQT -- [srdfdom](https://github.com/ros-planning/srdfdom) - Semantic Robot Description Format used exclusively by MoveIt +- [srdfdom](https://github.com/moveit/srdfdom) - Semantic Robot Description Format used exclusively by MoveIt -Dependencies maintained by the ros-planning MoveIt team: +Dependencies maintained by the MoveIt team: -- [warehouse_ros](https://github.com/ros-planning/warehouse_ros) - Abstract interface for persisting ROS message data -- [random_numbers](https://github.com/ros-planning/random_numbers) - package for generating random numbers +- [warehouse_ros](https://github.com/moveit/warehouse_ros) - Abstract interface for persisting ROS message data +- [random_numbers](https://github.com/moveit/random_numbers) - package for generating random numbers The following repos are where documentation can be found: -- [moveit.ros.org](https://github.com/ros-planning/moveit.ros.org) - this main website -- [moveit_tutorials](https://github.com/ros-planning/moveit_tutorials) - step by step examples for learning MoveIt -- [moveit_example_apps](https://github.com/ros-planning/moveit_example_apps) - sandbox of example high level application code +- [moveit.ros.org](https://github.com/moveit/moveit.ros.org) - this main website +- [moveit_tutorials](https://github.com/moveit/moveit_tutorials) - step by step examples for learning MoveIt +- [moveit_example_apps](https://github.com/moveit/moveit_example_apps) - sandbox of example high level application code # Code Health -We use [Travis](https://travis-ci.org/ros-planning/) continuous integration combined with the [moveit_ci](https://github.com/ros-planning/moveit_ci) for testing pull requests and overall code health. Travis status badges should be visible on the README.md of every MoveIt repository. +We use [Travis](https://travis-ci.org/moveit/) continuous integration combined with the [moveit_ci](https://github.com/moveit/moveit_ci) for testing pull requests and overall code health. Travis status badges should be visible on the README.md of every MoveIt repository. To see an overview of the activity for MoveIt check our [Open HUB Project Summary](https://www.openhub.net/p/moveit/analyses/latest/languages_summary). @@ -72,7 +72,7 @@ To see an overview of the activity for MoveIt check our [Open HUB Project Summar - [MoveItCpp class](http://docs.ros.org/en/noetic/api/moveit_ros_planning/html/classmoveit__cpp_1_1MoveItCpp.html) - the main new, faster C++ interface to MoveIt. - [MoveGroupInterface class](http://docs.ros.org/noetic/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1MoveGroupInterface.html) - the main C++ interface to the _move_group_node_. - `MoveGroupInterface` is the successor to the `MoveGroup` class from previous releases, which is [now deprecated](https://github.com/ros-planning/moveit/issues/37). + `MoveGroupInterface` is the successor to the `MoveGroup` class from previous releases, which is [now deprecated](https://github.com/moveit/moveit/issues/37). - [PlanningSceneInterface class](http://docs.ros.org/noetic/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1PlanningSceneInterface.html) - a C++ interface to the planning scene - [MoveIt commander](http://docs.ros.org/noetic/api/moveit_commander/html/index.html) - documentation for the MoveIt commander. diff --git a/events/2022-google-summer-of-code/index.markdown b/events/2022-google-summer-of-code/index.markdown index bb7d8d9ef..ad22f3623 100644 --- a/events/2022-google-summer-of-code/index.markdown +++ b/events/2022-google-summer-of-code/index.markdown @@ -8,7 +8,7 @@ title: 2022 Google Summer of Code --- # 2022 Google Summer of Code -MoveIt is planning to participate again in the [Google Summer of Code](https://summerofcode.withgoogle.com). Below is a tentative list of project ideas. If you have your own project idea, feel free to create a pull request on the [repository for this page](https://github.com/ros-planning/moveit.ros.org). Unlike previous years, there are now two different project sizes. Medium projects are 175 hours, while large projects are 350 hours. See the [Google Summer of Code FAQ](https://developers.google.com/open-source/gsoc/faq) for details. +MoveIt is planning to participate again in the [Google Summer of Code](https://summerofcode.withgoogle.com). Below is a tentative list of project ideas. If you have your own project idea, feel free to create a pull request on the [repository for this page](https://github.com/moveit/moveit.ros.org). Unlike previous years, there are now two different project sizes. Medium projects are 175 hours, while large projects are 350 hours. See the [Google Summer of Code FAQ](https://developers.google.com/open-source/gsoc/faq) for details. For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@picknik.ai) (**but make sure to read the [tips at the bottom of this page first](#tips-for-writing-a-successful-google-summer-of-code-application-for-moveit)**). @@ -42,7 +42,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni * Does the next position in a trajectory collide with another robot arm? * What are the next positions of the other currently active robot arms? - Much of the preliminary work is done in [this PR](https://github.com/ros-planning/moveit/pull/2810). + Much of the preliminary work is done in [this PR](https://github.com/moveit/moveit/pull/2810). * Expected outcome: MoveIt is capable of supporting simultaneous motion with two arms. * Project size: large (350 hours) * Difficulty: hard @@ -51,7 +51,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Add ability to attach/detach end-effector links -* Add functionality to MoveIt to programmatically attach and detach grippers from a manipulator. See [this issue](https://github.com/ros-planning/moveit2/issues/208) for a more detailed discussion. +* Add functionality to MoveIt to programmatically attach and detach grippers from a manipulator. See [this issue](https://github.com/moveit/moveit2/issues/208) for a more detailed discussion. * Expected outcome: End-effector tooling can be swapped programmatically. * Project size: large (350 hours) * Difficulty: hard @@ -69,7 +69,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Refactor Calculations and add Tests -* MoveIt contains many routines that mix actions that produce different results depending on when or how many times they are run and pure calculations where the output is always the same with the same inputs. Because of the mixing of types of code MoveIt is larger than it needs to be with a significant amount of redundant logic. Secondly, MoveIt is less robust than it could be because it is very difficult to test those routines and the test base fails to consider many of the side effects. For this project, the contributor will refactor calculations (pure functions) out of code that has side-affects (depends on when or how many times it is run) and will write tests for that code in isolation. This will make MoveIt more robust, easier to maintain, and easier to use. See [this issue](https://github.com/ros-planning/moveit2/issues/1082) for more discussion. Doing this project will develop skills in functional programming, code refactoring, and software architecture. +* MoveIt contains many routines that mix actions that produce different results depending on when or how many times they are run and pure calculations where the output is always the same with the same inputs. Because of the mixing of types of code MoveIt is larger than it needs to be with a significant amount of redundant logic. Secondly, MoveIt is less robust than it could be because it is very difficult to test those routines and the test base fails to consider many of the side effects. For this project, the contributor will refactor calculations (pure functions) out of code that has side-affects (depends on when or how many times it is run) and will write tests for that code in isolation. This will make MoveIt more robust, easier to maintain, and easier to use. See [this issue](https://github.com/moveit/moveit2/issues/1082) for more discussion. Doing this project will develop skills in functional programming, code refactoring, and software architecture. * Expected outcome: Core parts of MoveIt are refactored to use pure functions. * Project size: medium (175 hours) * Difficulty: hard @@ -78,7 +78,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Bullet collision checking integration -* Bullet support is partially done, but more work is needed. [A memory leak issue](https://github.com/ros-planning/moveit_task_constructor/issues/232#issuecomment-774249206) was identified that needs to be fixed. Support for continuous collision checking would be nice. Related pull requests include [PR 2897](https://github.com/ros-planning/moveit/pull/2897) and [PR 2838](https://github.com/ros-planning/moveit/pull/2838). +* Bullet support is partially done, but more work is needed. [A memory leak issue](https://github.com/moveit/moveit_task_constructor/issues/232#issuecomment-774249206) was identified that needs to be fixed. Support for continuous collision checking would be nice. Related pull requests include [PR 2897](https://github.com/moveit/moveit/pull/2897) and [PR 2838](https://github.com/moveit/moveit/pull/2838). * Project size: medium (175 hours) * Expected outcome: Continuous collision checking is supported and the memory leak is eliminated. * Difficulty: hard diff --git a/events/2023-google-summer-of-code/index.markdown b/events/2023-google-summer-of-code/index.markdown index c62495bfb..b1627c4a8 100644 --- a/events/2023-google-summer-of-code/index.markdown +++ b/events/2023-google-summer-of-code/index.markdown @@ -8,7 +8,7 @@ title: 2023 Google Summer of Code --- # 2023 Google Summer of Code -MoveIt is planning to participate again in the [Google Summer of Code](https://summerofcode.withgoogle.com). Below is a tentative list of project ideas. If you have your own project idea, feel free to create a pull request on the [repository for this page](https://github.com/ros-planning/moveit.ros.org). Unlike previous years, there are now two different project sizes. Medium projects are 175 hours, while large projects are 350 hours. See the [Google Summer of Code FAQ](https://developers.google.com/open-source/gsoc/faq) for details. +MoveIt is planning to participate again in the [Google Summer of Code](https://summerofcode.withgoogle.com). Below is a tentative list of project ideas. If you have your own project idea, feel free to create a pull request on the [repository for this page](https://github.com/moveit/moveit.ros.org). Unlike previous years, there are now two different project sizes. Medium projects are 175 hours, while large projects are 350 hours. See the [Google Summer of Code FAQ](https://developers.google.com/open-source/gsoc/faq) for details. For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@picknik.ai) (**but make sure to read the [tips at the bottom of this page first](#tips-for-writing-a-successful-google-summer-of-code-application-for-moveit)**). @@ -16,7 +16,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Add ability to attach/detach end-effector links [MoveIt 2] -* Add functionality to MoveIt to programmatically attach and detach grippers from a manipulator. See [this issue](https://github.com/ros-planning/moveit2/issues/208) for a more detailed discussion. +* Add functionality to MoveIt to programmatically attach and detach grippers from a manipulator. See [this issue](https://github.com/moveit/moveit2/issues/208) for a more detailed discussion. * Expected outcome: End-effector tooling can be swapped programmatically. * Project size: large (350 hours) * Difficulty: hard @@ -25,7 +25,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Refactor Calculations and add Tests [MoveIt 2] -* MoveIt contains many routines that mix actions that produce different results depending on when or how many times they are run and pure calculations where the output is always the same with the same inputs. Because of the mixing of types of code MoveIt is larger than it needs to be with a significant amount of redundant logic. Secondly, MoveIt is less robust than it could be because it is very difficult to test those routines and the test base fails to consider many of the side effects. For this project, the contributor will refactor calculations (pure functions) out of code that has side-affects (depends on when or how many times it is run) and will write tests for that code in isolation. This will make MoveIt more robust, easier to maintain, and easier to use. See [this issue](https://github.com/ros-planning/moveit2/issues/1082) for more discussion. Doing this project will develop skills in functional programming, code refactoring, and software architecture. +* MoveIt contains many routines that mix actions that produce different results depending on when or how many times they are run and pure calculations where the output is always the same with the same inputs. Because of the mixing of types of code MoveIt is larger than it needs to be with a significant amount of redundant logic. Secondly, MoveIt is less robust than it could be because it is very difficult to test those routines and the test base fails to consider many of the side effects. For this project, the contributor will refactor calculations (pure functions) out of code that has side-affects (depends on when or how many times it is run) and will write tests for that code in isolation. This will make MoveIt more robust, easier to maintain, and easier to use. See [this issue](https://github.com/moveit/moveit2/issues/1082) for more discussion. Doing this project will develop skills in functional programming, code refactoring, and software architecture. * Expected outcome: Core parts of MoveIt are refactored to use pure functions. * Project size: medium (175 hours) * Difficulty: hard @@ -67,7 +67,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni * Required tasks for this project: * Implement official benchmarks against other IK solvers compatible with MoveIt 2 (e.g., KDL, BioIK, TRAC-IK) to compare planning time, success rate, and other metrics related to solution quality. This will involve finishing the TRAC-IK ROS 2 port to work as a MoveIt 2 plugin. * Improve documentation, including a comparison of `pick_ik` and BioIK features. - * Add an official `pick_ik` tutorial to the [MoveIt 2 Tutorials repo](https://github.com/ros-planning/moveit2_tutorials) + * Add an official `pick_ik` tutorial to the [MoveIt 2 Tutorials repo](https://github.com/moveit/moveit2_tutorials) * Additional tasks to explore: * Implement additional cost functions to establish and exceed feature parity with BioIK, such as gaze objectives, collision checking, etc. * Use a generic nonlinear optimization package, such as [NLopt](https://nlopt.readthedocs.io/en/latest/), which is used by the [TRAC-IK](https://traclabs.com/projects/trac-ik/) tool, as an alternative to the numeric gradient solver. @@ -79,11 +79,11 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Update OMPL and ompl_interface [MoveIt 2] -* The Open Motion Planning Library (OMPL) provides the default planning pipeline for MoveIt. It is a library that contains many sampling-based planning algorithms (like PRM and RRT), but is starting to show its age (development started in 2010!). This project is focused on modernizing OMPL, adopting more idiomatic C++17 patterns and avoiding things like using raw pointers and type casting. There are also many OMPL features that are not well supported within MoveIt's [`ompl_interface`](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/ompl/ompl_interface) just yet. Finally, there are features in the [`ompl_interface`](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/ompl/ompl_interface) that seem generally useful and could be abstracted out of this. +* The Open Motion Planning Library (OMPL) provides the default planning pipeline for MoveIt. It is a library that contains many sampling-based planning algorithms (like PRM and RRT), but is starting to show its age (development started in 2010!). This project is focused on modernizing OMPL, adopting more idiomatic C++17 patterns and avoiding things like using raw pointers and type casting. There are also many OMPL features that are not well supported within MoveIt's [`ompl_interface`](https://github.com/moveit/moveit2/tree/main/moveit_planners/ompl/ompl_interface) just yet. Finally, there are features in the [`ompl_interface`](https://github.com/moveit/moveit2/tree/main/moveit_planners/ompl/ompl_interface) that seem generally useful and could be abstracted out of this. * Possible tasks (you are not required to do all of this; your application should make clear which parts you want to focus on): * Use `clang-tidy` to identify areas of improvement in OMPL. Remove raw pointer usage in the most commonly used parts. Eliminate ambiguity in the API about the lifetime of objects. - * Make constrained motion planning work more generally. See, e.g., this [work-in-progress PR](https://github.com/ros-planning/moveit2/pull/1946) for a specific (but very important) use case. - * Generalize things in [`ompl_interface`](https://github.com/ros-planning/moveit2/tree/main/moveit_planners/ompl/ompl_interface) and move them to `moveit_core`. + * Make constrained motion planning work more generally. See, e.g., this [work-in-progress PR](https://github.com/moveit/moveit2/pull/1946) for a specific (but very important) use case. + * Generalize things in [`ompl_interface`](https://github.com/moveit/moveit2/tree/main/moveit_planners/ompl/ompl_interface) and move them to `moveit_core`. * Project size: Large (350 hours) * Difficulty: hard * Preferred skills: MoveIt 2, OMPL, C++, good understanding of algorithms @@ -91,7 +91,7 @@ For general MoveIt GSoC questions you can contact [Mark Moll](mailto:mark@pickni ### Bullet collision checking integration [MoveIt 1/2] -* Bullet support is partially done, but more work is needed. [A memory leak issue](https://github.com/ros-planning/moveit_task_constructor/issues/232#issuecomment-774249206) was identified that needs to be fixed. Support for continuous collision checking would be nice. Related pull requests include [PR 2897](https://github.com/ros-planning/moveit/pull/2897) and [PR 2838](https://github.com/ros-planning/moveit/pull/2838). +* Bullet support is partially done, but more work is needed. [A memory leak issue](https://github.com/moveit/moveit_task_constructor/issues/232#issuecomment-774249206) was identified that needs to be fixed. Support for continuous collision checking would be nice. Related pull requests include [PR 2897](https://github.com/moveit/moveit/pull/2897) and [PR 2838](https://github.com/moveit/moveit/pull/2838). * Project size: medium (175 hours) * Expected outcome: Continuous collision checking is supported and the memory leak is eliminated. * Difficulty: hard diff --git a/events/2024-google-summer-of-code/index.markdown b/events/2024-google-summer-of-code/index.markdown index 798676de7..db56d800a 100644 --- a/events/2024-google-summer-of-code/index.markdown +++ b/events/2024-google-summer-of-code/index.markdown @@ -10,7 +10,7 @@ title: 2024 Google Summer of Code MoveIt is planning to participate again in the [Google Summer of Code](https://summerofcode.withgoogle.com). Below is a tentative list of project ideas, the content and scope is still being discussed and updated. -If you have your own project idea, please file a [MoveIt GitHub issue](https://github.com/ros-planning/moveit2/issues) using the "gsoc" label to get the ball rolling. +If you have your own project idea, please file a [MoveIt GitHub issue](https://github.com/moveit/moveit2/issues) using the "gsoc" label to get the ball rolling. More information about the MoveIt GSoC project applications [tips at the bottom of this page](#tips-for-writing-a-successful-google-summer-of-code-application-for-moveit). @@ -33,7 +33,7 @@ Integrate alternative collision checking backends like [HPP-FCL](https://github. Experiment with new use cases like continuous collision detection or online collision avoidance. Some example ideas include: - - Support HPP-FCL as collision checking backend in MoveIt (see [#1435](https://github.com/ros-planning/moveit2/issues/1435), [#3167](https://github.com/ros-planning/moveit/pull/3167), [#1521](https://github.com/ros-planning/moveit2/pull/1521)) + - Support HPP-FCL as collision checking backend in MoveIt (see [#1435](https://github.com/moveit/moveit2/issues/1435), [#3167](https://github.com/moveit/moveit/pull/3167), [#1521](https://github.com/moveit/moveit2/pull/1521)) - Update or reimplement MoveIt’s discrete SDF approach, apply with Servo or STOMP - Implement a sphere-based or convex mesh decomposition of the robot geometry for accelerated collision checking diff --git a/events/world-moveit-day-2017/index.markdown b/events/world-moveit-day-2017/index.markdown index af732b090..878d04c4f 100644 --- a/events/world-moveit-day-2017/index.markdown +++ b/events/world-moveit-day-2017/index.markdown @@ -81,17 +81,17 @@ We recommend the Kinetic LTS branch/release. The Lunar release is simply a copy Suggested areas for improvement are tracked on the new unified moveit repo via several labels: -- [moveit day candidate](https://github.com/ros-planning/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. This list will grow longer before the event. -- [simple improvements](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in a few hours. -- [documentation](https://github.com/ros-planning/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. -- [assigned](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. +- [moveit day candidate](https://github.com/moveit/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. This list will grow longer before the event. +- [simple improvements](https://github.com/moveit/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in a few hours. +- [documentation](https://github.com/moveit/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. +- [assigned](https://github.com/moveit/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. - **no label** - of course issues that are not marked can still be worked on during World MoveIt day, though they will likely take longer than one day to complete. If you would like to help the MoveIt project by tackling an issue, claim the issue by commenting "I'll work on this" and a maintainer will then hopefully add the label "assigned". Feel free to ask further questions in each issue's comments. If you have ideas and improvements for the project, please add your own issues to the tracker, using the appropriate labels where applicable. It's fine if you want to then claim them for yourself. -Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/ros-planning/moveit_tutorials/issues). +Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/moveit/moveit_tutorials/issues). Other larger code sprint ideas can be found [on this page](http://moveit.ros.org/documentation/contributing/future_projects/). While they will take longer than a day the ideas might provide a good reference for other things to contribute on WMD. diff --git a/events/world-moveit-day-2018/index.markdown b/events/world-moveit-day-2018/index.markdown index 2e8f3e083..10840f069 100644 --- a/events/world-moveit-day-2018/index.markdown +++ b/events/world-moveit-day-2018/index.markdown @@ -68,17 +68,17 @@ For your convenience, a VirtualBox image for ROS Kinetic on Ubuntu 16.04 is avai Suggested areas for improvement are tracked on MoveIt's GitHub repo via several labels: -- [moveit day candidate](https://github.com/ros-planning/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. This list will grow longer before the event. -- [simple improvements](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in a few hours, depending on your background. -- [documentation](https://github.com/ros-planning/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. -- [assigned](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. +- [moveit day candidate](https://github.com/moveit/moveit/labels/moveit%20day%20candidate) labels issues as possible entry points for participants in the event. This list will grow longer before the event. +- [simple improvements](https://github.com/moveit/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in a few hours, depending on your background. +- [documentation](https://github.com/moveit/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. +- [assigned](https://github.com/moveit/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. - **no label** - of course issues that are not marked can still be worked on during World MoveIt day, though they will likely take longer than one day to complete. If you would like to help the MoveIt project by tackling an issue, claim the issue by commenting "I'll work on this" and a maintainer will add the label "assigned". Feel free to ask further questions in each issue's comments. The developers will aim to reply to WMD-related questions before the event begins. If you have ideas and improvements for the project, please add your own issues to the tracker, using the appropriate labels where applicable. It's fine if you want to then claim them for yourself. -Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/ros-planning/moveit_tutorials/issues). +Further needs for documentation and tutorials improvement can be found directly on the [moveit_tutorials issue tracker](https://github.com/moveit/moveit_tutorials/issues). Other larger code sprint ideas can be found [on this page](http://moveit.ros.org/documentation/contributing/future_projects/). While they will take longer than a day the ideas might provide a good reference for other things to contribute on WMD. diff --git a/events/world-moveit-day-2022/index.md b/events/world-moveit-day-2022/index.md index d86196a67..c86986a63 100644 --- a/events/world-moveit-day-2022/index.md +++ b/events/world-moveit-day-2022/index.md @@ -38,7 +38,7 @@ You may also join the conversation on **Discord** (a chat client, different from ## How To Get Involved * For those experienced with MoveIt, it's best to choose your issue ***before*** the event. **Post on the Github issue "I'm claiming this issue for World MoveIt Day".** -* You may also join a 'Track' and work in a team, **[find out more on GitHub](https://github.com/ros-planning/moveit2/issues/1219){:target="_blank"}**. Each track is lead by a maintainer who can help you get up-to-speed with MoveIt, and to find work that fits your skill level. +* You may also join a 'Track' and work in a team, **[find out more on GitHub](https://github.com/moveit/moveit2/issues/1219){:target="_blank"}**. Each track is lead by a maintainer who can help you get up-to-speed with MoveIt, and to find work that fits your skill level. * The download and setup time can significantly eat into the day's productivity, so pre-setup ROS, MoveIt, Virtualbox, Docker, LXD depending on your workflow * The recommended ROS versions is ROS 2 Rolling Jammy. * Please try to install MoveIt 2 the day before and try a basic tutorial. Keep notes on anything that did not work or was not clear. Addressing those issues is perfect for World MoveIt Day. If you cannot fix it yourself, then you can create a new issue (and use the WMD tag). @@ -48,7 +48,7 @@ You may also join the conversation on **Discord** (a chat client, different from ### Squash Bugs / Issues -Suggested areas for improvement are tracked on the [MoveIt 2 repository](https://github.com/ros-planning/moveit2). Our team of maintainers is working on finding and labeling suggested issues for the event. +Suggested areas for improvement are tracked on the [MoveIt 2 repository](https://github.com/moveit/moveit2). Our team of maintainers is working on finding and labeling suggested issues for the event. If you would like to help the MoveIt project by tackling an issue, make sure to claim the issue by commenting before you start working: @@ -61,7 +61,7 @@ Feel free to ask further questions in each issue’s comments. Improving our documentation for new and current users is always a goal of WMD! - + If you have studied an aspect of MoveIt extensively that is not currently documented, please convert your notes into a pull request in the appropriate location. If you’ve started a conversation on the mailing list or other location where a more experienced developer explained a concept, consider converting that answer into a pull request diff --git a/events/world-moveit-day/index.markdown b/events/world-moveit-day/index.markdown index a5d4b2881..611229375 100644 --- a/events/world-moveit-day/index.markdown +++ b/events/world-moveit-day/index.markdown @@ -59,9 +59,9 @@ If you are a beginner, we recommend the stable Indigo branch/release. The PR2, M Suggested areas for improvement will be tracked on the new unified moveit repo via several labels that are ideal for World MoveIt Day: -- [simple improvements](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in less than a few hours. -- [documentation](https://github.com/ros-planning/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. -- [assigned](https://github.com/ros-planning/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. +- [simple improvements](https://github.com/moveit/moveit/issues?q=is%3Aopen+-label%3Aassigned+label%3A%22simple+improvements%22) indicates the issue can probably be tackled in less than a few hours. +- [documentation](https://github.com/moveit/moveit/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3Adocumentation%20-label%3Aassigned%20) suggests new tutorials, changes to the website, etc. +- [assigned](https://github.com/moveit/moveit/issues?q=is%3Aopen+is%3Aissue+label%3Aassigned) aids developers to find issues that are not already being worked on. - **no label** - even issues that are not marked as "simple" can be worked on for World MoveIt day, though they will likely take longer than one day to compelete If you would like to help the MoveIt project by tackling an issue, claim the issue by commenting "I'll work on this" and a maintainer will then hopefully add the label "assigned". Feel free to ask further questions in each issue's comments. diff --git a/index.markdown b/index.markdown index 5a9ed9ca9..dae817ea1 100644 --- a/index.markdown +++ b/index.markdown @@ -60,7 +60,7 @@ redirect_from: '/moveit/'
@@ -273,7 +273,7 @@ redirect_from: '/moveit/'

Rolling 2.7

- View branch + View branch

@@ -288,7 +288,7 @@ redirect_from: '/moveit/'

Iron 2.7

- View branch + View branch

@@ -303,7 +303,7 @@ redirect_from: '/moveit/'

Humble 2.5 LTS

- View branch + View branch

@@ -318,7 +318,7 @@ redirect_from: '/moveit/'

Galactic 2.3

- View branch + View branch

@@ -333,7 +333,7 @@ redirect_from: '/moveit/'

Foxy 2.2 LTS

- View branch + View branch

@@ -348,7 +348,7 @@ redirect_from: '/moveit/'

Noetic 1.1 LTS

- View branch + View branch

diff --git a/install-moveit2/source-windows/index.markdown b/install-moveit2/source-windows/index.markdown index 57dabfc0e..454b85127 100644 --- a/install-moveit2/source-windows/index.markdown +++ b/install-moveit2/source-windows/index.markdown @@ -31,7 +31,7 @@ Create a colcon workspace: Download the humble branch of the moveit2 repository. The required dependencies to build moveit2 are included in `ros-humble-desktop`. - git clone https://github.com/ros-planning/moveit2.git -b humble + git clone https://github.com/moveit/moveit2.git -b humble ## Build MoveIt diff --git a/install-moveit2/source/index.markdown b/install-moveit2/source/index.markdown index a6303b4ec..e77322374 100644 --- a/install-moveit2/source/index.markdown +++ b/install-moveit2/source/index.markdown @@ -17,7 +17,7 @@ MoveIt is mainly supported on Linux, and the following build instructions suppor - Ubuntu 22.04 / ROS 2 Iron Irwini (Recommended Stable) - Ubuntu 22.04 / ROS 2 Rolling Ridley (Continuously Updated. Use this to access latest features.) -In the future, we would like to expand our source build instructions to more OS's, please contribute instruction write-ups to [this repo](https://github.com/ros-planning/moveit.ros.org). +In the future, we would like to expand our source build instructions to more OS's, please contribute instruction write-ups to [this repo](https://github.com/moveit/moveit.ros.org). These instructions assume you are running on Ubuntu 22.04 (Humble, Iron, Rolling) @@ -27,7 +27,7 @@ These instructions assume you are running on Ubuntu 22.04 (Humble, Iron, Rolling Install ROS 2 [Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html), [Iron](https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html), or [Rolling](https://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html) following the installation instructions. -We recommend Humble for stable latest LTS distribution needs, Iron for latest stable release, and Rolling for contributing to MoveIt 2. Currently the [main branch](https://github.com/ros-planning/moveit2) supports Rolling, Iron, and Humble. However, since it's used for latest development, the main branch is unstable. For stable versions, please use the distro branches [humble](https://github.com/ros-planning/moveit2/tree/humble), or [iron](https://github.com/ros-planning/moveit2/tree/iron). +We recommend Humble for stable latest LTS distribution needs, Iron for latest stable release, and Rolling for contributing to MoveIt 2. Currently the [main branch](https://github.com/moveit/moveit2) supports Rolling, Iron, and Humble. However, since it's used for latest development, the main branch is unstable. For stable versions, please use the distro branches [humble](https://github.com/moveit/moveit2/tree/humble), or [iron](https://github.com/moveit/moveit2/tree/iron). MoveIt2 source installation requires various other tools apart from what is already mentioned in the ROS2 install docs. @@ -72,13 +72,13 @@ Download the repository and install any dependencies. Issue the relevant command ### Humble, Iron -stable - git clone https://github.com/ros-planning/moveit2.git -b $ROS_DISTRO + git clone https://github.com/moveit/moveit2.git -b $ROS_DISTRO for repo in moveit2/moveit2.repos $(f="moveit2/moveit2_$ROS_DISTRO.repos"; test -r $f && echo $f); do vcs import < "$repo"; done rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y ### Rolling, Iron, Humble -unstable - git clone https://github.com/ros-planning/moveit2.git -b main + git clone https://github.com/moveit/moveit2.git -b main for repo in moveit2/moveit2.repos $(f="moveit2/moveit2_$ROS_DISTRO.repos"; test -r $f && echo $f); do vcs import < "$repo"; done rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y diff --git a/install/deprecated/index.markdown b/install/deprecated/index.markdown index 881a4f2ad..648d07217 100644 --- a/install/deprecated/index.markdown +++ b/install/deprecated/index.markdown @@ -34,7 +34,7 @@ Now follow the steps for your particular ROS version.

STEP 2: Download the source code

-
May 2027
MoveIt 1 NoeticMoveIt 1 Noetic October 13th, 2020 MoveIt 1 Noetic May 2025
source /opt/ros/hydro/setup.bash
mkdir moveit
cd moveit
mkdir src
cd src/
wstool init .
wstool merge https://raw.github.com/ros-planning/moveit_docs/hydro-devel/moveit.rosinstall
wstool update
cd ..
+
source /opt/ros/hydro/setup.bash
mkdir moveit
cd moveit
mkdir src
cd src/
wstool init .
wstool merge https://raw.github.com/moveit/moveit_docs/hydro-devel/moveit.rosinstall
wstool update
cd ..

STEP 3: Make sure MoveIt dependencies are installed

rosdep install --from-paths src --ignore-src --rosdistro hydro -y

diff --git a/install/docker/index.markdown b/install/docker/index.markdown index fd29294d1..d12a5498f 100644 --- a/install/docker/index.markdown +++ b/install/docker/index.markdown @@ -50,7 +50,7 @@ title: MoveIt 1 Docker Install
curl -o gui-docker \
- https://raw.githubusercontent.com/ros-planning/moveit/master/.docker/gui-docker && \
+ https://raw.githubusercontent.com/moveit/moveit/master/.docker/gui-docker && \
chmod +x gui-docker
@@ -80,7 +80,7 @@ title: MoveIt 1 Docker Install

Start planning in Rviz with:

- + MoveIt Getting Started Tutorial diff --git a/install/index.markdown b/install/index.markdown index 5df343490..f4fdb1640 100644 --- a/install/index.markdown +++ b/install/index.markdown @@ -104,7 +104,7 @@ title: MoveIt 1 Binary Install

Start planning in Rviz with:

-
+ MoveIt Getting Started Tutorial @@ -234,8 +234,8 @@ title: MoveIt 1 Binary Install mkdir c:\moveit_ws\src
cd c:\moveit_ws\src
- git clone https://github.com/ros-planning/moveit_tutorials.git -b melodic-devel
- git clone https://github.com/ros-planning/panda_moveit_config.git -b melodic-devel
+ git clone https://github.com/moveit/moveit_tutorials.git -b melodic-devel
+ git clone https://github.com/moveit/panda_moveit_config.git -b melodic-devel
git clone https://github.com/frankaemika/franka_ros-release -b release/kinetic/franka_description
cd c:\moveit_ws
catkin_make @@ -250,7 +250,7 @@ title: MoveIt 1 Binary Install

MoveIt Quickstart in RViz

Now you are ready to start planning in Rviz with:

-
+ MoveIt Getting Started Tutorial diff --git a/install/source/dependencies/index.markdown b/install/source/dependencies/index.markdown index 6e72228ae..e58a87e47 100644 --- a/install/source/dependencies/index.markdown +++ b/install/source/dependencies/index.markdown @@ -47,8 +47,8 @@ You'll next need to add two packages to your catkin workspace. The jade-devel br ``` cd ~/ws_moveit/src -wstool set -yu warehouse_ros_mongo --git https://github.com/ros-planning/warehouse_ros_mongo.git -v jade-devel -wstool set -yu warehouse_ros --git https://github.com/ros-planning/warehouse_ros.git -v jade-devel +wstool set -yu warehouse_ros_mongo --git https://github.com/moveit/warehouse_ros_mongo.git -v jade-devel +wstool set -yu warehouse_ros --git https://github.com/moveit/warehouse_ros.git -v jade-devel ``` Now you should be able to build using regular ``catkin build`` diff --git a/install/source/index.markdown b/install/source/index.markdown index 85ef866b8..425dc8876 100644 --- a/install/source/index.markdown +++ b/install/source/index.markdown @@ -15,7 +15,7 @@ title: MoveIt 1 Source Build - Linux
  • Ubuntu 18.04 / ROS Melodic
  • Ubuntu 16.04 / ROS Kinetic (no longer officially supported)
  • -

    We would like to expand our source build instructions to more operating systems, please contribute!

    +

    We would like to expand our source build instructions to more operating systems, please contribute!

    Prerequisites

    Install @@ -62,7 +62,7 @@ title: MoveIt 1 Source Build - Linux @@ -135,7 +135,7 @@ title: Robots

    PR2

    Willow Garage

    - View package + View package
    @@ -146,7 +146,7 @@ title: Robots

    Atlas

    Boston Dynamics

    - View package + View package
    @@ -157,7 +157,7 @@ title: Robots

    Baxter Research Robot

    Rethink Robotics

    - View package + View package
    diff --git a/support/index.markdown b/support/index.markdown index 237c9f0a9..8c89e463d 100644 --- a/support/index.markdown +++ b/support/index.markdown @@ -45,7 +45,7 @@ title: Support Ask questions at answers.ros.org, the official question forum of ROS and MoveIt, if you haven’t found similar questions.
  • - Post issues to the main moveit code repository. Our Github Issue Templates offer guidelines on creating high quality issues. Note we are volunteers and have limited resources. We are much more inclined to give advice on helping you fix your own bugs ;-) + Post issues to the main moveit code repository. Our Github Issue Templates offer guidelines on creating high quality issues. Note we are volunteers and have limited resources. We are much more inclined to give advice on helping you fix your own bugs ;-)
  • Join the MoveIt Discord channel to view or post questions @@ -58,13 +58,13 @@ title: Support

    Post issues and share improvements for the web documentation to the appropriate Github repo:

    Change Logs and Migration Notes

    @@ -73,7 +73,7 @@ title: Support Change logs are available directly from the corresponding ROS wiki page for MoveIt.
  • - New release migration notes are available in the root of the MoveIt code repository under MIGRATION.md + New release migration notes are available in the root of the MoveIt code repository under MIGRATION.md