From: Zachary K. <za...@ri...> - 2021-08-04 16:34:08
|
Additionally, if you are looking to find a path that is optimal with respect to the distance traveled by the end-effector, you could implement your own optimization objective (take a look at the tutorial here <http://ompl.kavrakilab.org/optimizationObjectivesTutorial.html>, for C++, and this demo <http://ompl.kavrakilab.org/OptimalPlanning_8py_source.html> for Python) which would give the distance traveled by the end-effector in the workspace. Zak On 8/4/21 10:40 AM, Mark Moll wrote: > Hi Adam, > > Expanding on Jonathan just wrote, you can combine his idea with the > type of local optimization that is typically done in a post processing > stage. There is a PathSimplifier::findBetterGoal > <https://github.com/ompl/ompl/blob/main/src/ompl/geometric/PathSimplifier.h#L219> method > that gets called by PathSimplifier::simplify to find a better IK > solution that can be directed to the rest of the path. Here, “better” > means the overall path cost (not just the cost of a state) as defined > by the optimization objective (which is path length by default). For > this to work, you need a goal of a type derived from > GoalSampleableRegion > <http://ompl.kavrakilab.org/classompl_1_1base_1_1GoalSampleableRegion.html>. > The derived class GoalLazySamples might be a good start; all you need > is a functor that returns IK solutions. > > Re. constrained planning, that often assumes the constraints apply to > the whole path, not just the goal state, so this might not be what you > want. (Side note: although it’s often convenient to reason > lower-dimensional constraint manifolds, the ProjectedStateSpace > <http://ompl.kavrakilab.org/classompl_1_1base_1_1ProjectedStateSpace.html> does > /not/ assume the set of constraint-satisfying configurations is a > manifold or low-dimensional). > > Best, > > Mark > > > >> On Aug 4, 2021, at 7:31 AM, Jonathan Gammell <ga...@ro... >> <mailto:ga...@ro...>> wrote: >> >> Hi Adam, >> >> This is not a complete solution, but an engineering solution to your >> problem would be to generate a sufficient number of goal arm >> configurations and then use a planning algorithm capable of solving >> single-start, multiple-goal problems to find the optimal path to that >> discrete set of goals. >> >> I don't know all the algorithms that would be appropriate, but I do >> know that BIT* (and similar algorithms, like AIT*) can handle >> multiple goals (and also multiple starts). >> >> Hope that helps, >> Jon >> >> On 04/08/2021 14:32, omp...@li... >> <mailto:omp...@li...> wrote: >>> Send ompl-users mailing list submissions to >>> omp...@li... >>> <mailto:omp...@li...> >>> >>> To subscribe or unsubscribe via the World Wide Web, visit >>> https://lists.sourceforge.net/lists/listinfo/ompl-users >>> or, via email, send a message with subject or body 'help' to >>> omp...@li... >>> >>> You can reach the person managing the list at >>> omp...@li... >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of ompl-users digest..." >>> >>> >>> Today's Topics: >>> >>> 1. Workspace Planning (Adam Fishman) >>> >>> >>> ---------------------------------------------------------------------- >>> >>> Message: 1 >>> Date: Tue, 3 Aug 2021 11:44:10 -0700 >>> From: Adam Fishman <afi...@cs...> >>> To: omp...@li... >>> Subject: [ompl-users] Workspace Planning >>> Message-ID: <949...@cs...> >>> Content-Type: text/plain; charset="utf-8" >>> >>> Hi all, >>> >>> I am trying to do optimal workspace planning with OMPL for a robotic >>> manipulator, but I haven?t found many resources on how to do this. >>> FWIW I am using the direct Python bindings for OMPL due to my system >>> constraints (I can?t use ROS for my task). >>> >>> The simplest way to do it seems to be to use IK to get a target >>> configuration and then to use something like BIT* to plan. The issue >>> with this, however, is that the IK solution may not itself be >>> optimal. That is, the optimal path to one IK solution may be shorter >>> than the optimal path to another. And, finding the ideal IK solution >>> seems to be a planning problem itself. >>> >>> I?ve been looking into Constrained Planning, but the workspace is >>> not exactly a zero-volume constraint manifold, so I?m not sure how >>> to fit this into the framework. >>> >>> I imagine this is a problem that?s been explored extensively, but >>> I?m not sure how to proceed. Does anyone have suggestions? >>> >>> Thanks a lot, >>> Adam Fishman >>> He/Him >>> fishbotics.com <http://fishbotics.com/> >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> >>> ------------------------------ >>> >>> >>> >>> ------------------------------ >>> >>> Subject: Digest Footer >>> >>> _______________________________________________ >>> ompl-users mailing list >>> omp...@li... >>> https://lists.sourceforge.net/lists/listinfo/ompl-users >>> >>> >>> ------------------------------ >>> >>> End of ompl-users Digest, Vol 108, Issue 1 >>> ****************************************** >> >> -- >> Jonathan Gammell, Ph.D. >> >> Departmental Lecturer in Robotics >> Estimation, Search, and Planning (ESP) Research Group >> Oxford Robotics Institute (ORI) >> Department of Engineering Science >> University of Oxford >> office: +44 1865 613082 >> skype: jdgammell >> https://robotic-esp.com/gammell <https://robotic-esp.com/gammell> >> https://twitter.com/robotic_esp >> >> >> >> _______________________________________________ >> ompl-users mailing list >> omp...@li... >> https://lists.sourceforge.net/lists/listinfo/ompl-users > > > > _______________________________________________ > ompl-users mailing list > omp...@li... > https://lists.sourceforge.net/lists/listinfo/ompl-users |