ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

scchow's profile - activity

2020-05-03 22:32:11 -0500 received badge  Famous Question (source)
2019-03-11 08:05:47 -0500 received badge  Good Question (source)
2018-11-08 05:54:35 -0500 received badge  Notable Question (source)
2018-10-17 11:11:55 -0500 received badge  Famous Question (source)
2018-08-25 01:39:37 -0500 received badge  Nice Question (source)
2018-08-19 22:03:15 -0500 received badge  Notable Question (source)
2018-08-16 15:37:29 -0500 marked best answer Details of MoveIt! to OMPL Pipeline

I have recently been trying to wrap my head around the pipeline between MoveIt! and OMPL.

Currently, my main issue is that I want to be able to take a state generated by OMPL and map it back to what it means in the context of the planning problem. This help me answer important questions such as "what configurations is the planner sampling?" and "why does one planner perform better/worse than the other?".

As stated in the documentation, "planners in OMPL are abstract; i.e. OMPL has no concept of a robot. Instead, MoveIt! configures OMPL and provides the back-end for OMPL to work with problems in Robotics."

From reading through the OMPL documentation, I understand that OMPL requires at least a StateSpace, StateValidityChecker, and a ControlSpace used in conjunction with the SimpleSetup object to plan.

On the other hand, it seems that MoveIt! generates a motion plan by sending a MotionPlanRequest through a pipeline that converts the problem into a form understandable to the planner. This pipeline is what I am interested in.

My questions are:

  1. How does MoveIt convert a Motion Plan Request to a StateSpace, StateValidityChecker, and Control Space that OMPL needs?

  2. Given that OMPL has no sense of what a robot is, how does MoveIt! abstract the problem down to a form solvable by OMPL?

  3. Is there a way to gain some physical intuition on what the states explored by the planner are? Or are the intermediate plans stuck in a black box with only the solution reported by the planning plugin?

Some approaches I have taken are:

  1. Look through the documentation and the tutorial on MoveIt! and OMPL. But it seems to be more focused on the high level implementation rather than how the interface works/

  2. Look at the source code for the OMPL interface in Moveit!. The code is relatively complex and difficult to navigate, specifically, it is difficult to tell how the adapter plugins and the classes interact. Some guidance in understanding the code structure would also be greatly appreciated.

Thanks for your help!

2018-08-16 03:40:43 -0500 received badge  Enthusiast
2018-08-15 18:02:14 -0500 received badge  Popular Question (source)
2018-08-15 16:23:58 -0500 received badge  Student (source)
2018-08-15 08:43:22 -0500 commented question How to send MoveIt joint control data to actual motor

Sorry, meant that library as an example, as long as you have some sort of controller. Other than rosserial_arduino (sinc

2018-08-15 00:27:00 -0500 received badge  Famous Question (source)
2018-08-14 18:33:03 -0500 commented question How to send MoveIt joint control data to actual motor

You would want an Arduino controller for the motor e.g. https://github.com/samvrit/Rhino. Then write a node that subscri

2018-08-14 18:32:48 -0500 commented question How to send MoveIt joint control data to actual motor

You would want an (Arduino controller for the motor)[https://github.com/samvrit/Rhino]. Then write a node that subscribe

2018-08-14 15:51:15 -0500 edited question Details of MoveIt! to OMPL Pipeline

Details of MoveIt! to OMPL Pipeline I have recently been trying to wrap my head around the pipeline between MoveIt! and

2018-08-14 15:47:00 -0500 asked a question Details of MoveIt! to OMPL Pipeline

Details of MoveIt! to OMPL Pipeline I have recently been trying to wrap my head around the pipeline between MoveIt! and

2018-08-11 23:09:37 -0500 received badge  Popular Question (source)
2018-08-11 20:38:25 -0500 edited question Using State Lattice Motion Planning for Arm Control with MoveIt!

Using State Lattice Motion Planning for Arm Control with MoveIt! I am currently working on implementing and extending Be

2018-08-11 20:38:25 -0500 received badge  Editor (source)
2018-08-03 13:25:33 -0500 marked best answer Different Ways to Implement Custom Planners with MoveIt!

Hello!

I am currently in the process of implementing a custom planner for my robot arm through MoveIt!.

Looking at the documentation and at various forums, there seems to be two approaches.

  1. Install OMPL from source and add your custom planner to OMPL. Then change the corresponding MoveIt! OMPL package to recognize this new planner. [1] [2] [3] [4]
  2. Use the motion planning plugin to directly add a planner to MoveIt! [5] [6]

My questions about implementing these custom planners are:

  1. What are the pros and cons of each approach? Is there any advantage for using OMPL over directly implementing the planner into MoveIt! via a plugin?
  2. Is there any additional tutorial/documentation for the second approach, implementing a planner plugin? It seems to me that the few sources/tutorials about implementing custom planners refer to the OMPL approach. Am I missing other tutorials about creating MoveIt! planning plugins?
  3. Are there alternative approaches that I may have missed?

Thank you for taking the time to read and respond.

Sources

[1] https://web.archive.org/web/201410251...

[2] https://answers.ros.org/question/2962...

[3] https://ompl.kavrakilab.org/newPlanne...

[4] https://groups.google.com/forum/#!top...

[5] https://moveit.ros.org/documentation/...

[6] http://wiki.ros.org/industrial_trajec...

2018-08-03 13:25:33 -0500 received badge  Scholar (source)
2018-07-31 16:27:38 -0500 edited question Using State Lattice Motion Planning for Arm Control with MoveIt!

Using State Lattice Motion Planning for Arm Control with MoveIt! I am currently working on implementing and extending Be

2018-07-31 15:20:59 -0500 asked a question Using State Lattice Motion Planning for Arm Control with MoveIt!

Using State Lattice Motion Planning for Arm Control with MoveIt! I am currently working on implementing and extending Be

2018-07-26 17:07:33 -0500 received badge  Notable Question (source)
2018-07-26 06:33:10 -0500 received badge  Popular Question (source)
2018-07-23 22:47:20 -0500 asked a question Different Ways to Implement Custom Planners with MoveIt!

Different Ways to Implement Custom Planners with MoveIt! Hello! I am currently in the process of implementing a custom

2018-07-23 21:50:27 -0500 received badge  Supporter (source)