From: Mark M. <mm...@ri...> - 2019-09-24 20:17:43
|
Hi Tobias, Going with MoveIt from the start might have been easier, but what you have done should definitely be possible. It sounds like you have a way to: - map a RealVectorStateSpace::StateType to a robot configuration and - check whether the configuration is in collision (with itself or the environment) If you used the SimpleSetup class (recommended), then by default the path is simplified afterwards, which, among other things, performs short-cutting. If the straight-line path (in configuration space) between start and goal is valid, then a path with just the start and goal is exactly the expected result. You can call PathGeometric::interpolate() to create a path with more waypoints. If the straight-line path is not valid, then something is still going wrong. You could call the state validator for all the states along an interpolated path to see if states that are in collision are correctly detected as such. Best, Mark > On Sep 24, 2019, at 12:32 PM, Tobias B. <tob...@gm...> wrote: > > Hi there > > I'm trying to plan for a 6DOF industrial robot and I'm using bare-metal > ompl for planning, bullet for collision detection and OpenSceneGraph for > drawing. > So far I've loaded the collision meshes, chained them together using OSG > and drawn them. After applying the joint angles to OSG I'm calling into > OSG to get the matrices for the meshes and set them in bullet and draw > the debug collision volumes. I have also implemented a keyboard handler > in OSG so I can rotate every joint by ±1° and check (with the current > states) if there's a collision against another object (or with itself) > in the scene by pressing a button. All of that works pretty good. > > Now I want to plan a motion from one state to another. I've used the > example from the "Optimal Planning" tutorial but with a > RealVectorStateSpace(6), I've implemented isValid() to check each state > if there's a collision and return true if there is none. Most of the > time the results I'm getting are two states, the start and goal state as > a result and no states in between. > > Am I on the wrong path completely? Sadly there are, to my knowlege, no > tutorials or demos on how to handle a 6DOF industrial robot. There's > only suggestions to use MoveIt. > > What do I need to do? > Do I need forward/inverse kinematics? Currently OSG is handling the > forward kinematics and I don't think I need inverse kinematics because I > want to plan in joint space > Is geometric planning the wrong way? Better use control? > > I'm pretty stuck here and hope someone can shed some light > > Cheers, > > Tobias > > P.S.: I've tried a number of (geometric) planners, with the same result, > more or less > > > > _______________________________________________ > ompl-users mailing list > omp...@li... > https://lists.sourceforge.net/lists/listinfo/ompl-users |