Hello Ioan,
Thank you for your fast reply, I was able to generate my first
successful motion!
(See inline below for some comments.)
I started defining a position constraint only, which seemed to me the
thing that I need.
Then I found out that this does not even attempt planning because no
viable Constraints Sampler is found as the planar joint is not
bounded. Then I added the constraints on the planar joint.
>
> You mention lower in the message that the workspace is set, so that is
> probably ok.
>
>
>>
>> Then I do planning with
>>
>> req.group_name = "base";
>> ompl_interface::OMPLInterface ompl(rmodel);
>> planning_interface::MotionPlanResponse res;
>> bool bres = ompl.solve(ps, req, res);
>>
> This looks fine.
> How is your planning scene initialized?
> Is the allowed collision matrix loaded?
I am not sure if I have such a thing. It should be in the SRDF but in
the sample SRDF for PR2 there is only one disallowed collision.
To make things easier I removed everything from the URDF/SRDF except
base_link and base_bellow_link. (see below) Now the robot looks
different ;) but there are fewer possibilities to do something wrong.
>
>
>> The result is
>>
>> [ INFO] [1369990588.870046380]: No planner specified. Using default.
>> Debug: base: Solving the planning problem once...
>> [ WARN] [1369990588.872574339]: Skipping invalid start state (invalid
>> state)
>> [ERROR] [1369990588.872668316]: Motion planning start tree could not
>> be initialized!
>> [ INFO] [1369990588.872707961]: No solution found after 0.002420 seconds
>> [ WARN] [1369990588.879718332]: Goal sampling thread never did any work.
>> Debug: There were 0 valid motions and 0 invalid motions.
>> [ INFO] [1369990588.879921334]: Unable to solve the planning problem
>>
>> * How can I find out why my start state is invalid? I removed all
>> scene geometries so collisions with the scene cannot be the reason.
>> Also I set the workspace to a very large area.
>
> If you have things running from source, I hack
> ompl_interface/src/detail/state_validity_checker.cpp and set verbose to
> true.
>
> I suspect the problem you are having is that a joint is slightly out of
> bounds.
I deinstalled my ubuntu moveit packages and built from source.
I followed
http://moveit.ros.org/wiki/index.php/Groovy/Installation
Until it worked I had to fix the following:
* moveit_resources was not contained in the moveit.rosinstall package,
so i manually cloned it into a workspace
* moveit_resources gave the following error
-- +++ processing catkin package: 'moveit_resources'
-- ==> add_subdirectory(moveit_resources)
CMake Error at /opt/ros/groovy/share/catkin/cmake/catkin_package.cmake:314
(message):
catkin_package() include dir
'/home/ps/_nobackup/builddirs/moveit_src/build/moveit_resources/include' is
neither an absolute directory nor exists relative to
'/home/ps/_nobackup/builddirs/moveit_src/src/moveit_resources'
Call Stack (most recent call first):
/opt/ros/groovy/share/catkin/cmake/catkin_package.cmake:98 (_catkin_package)
moveit_resources/CMakeLists.txt:6 (catkin_package)
I could solve the problem with "mkdir build/moveit_resources/include"
but it seems like a bug to me.
The result of setting verbose = true is the message
Found a contact between 'base_link' (type 'Robot link') and
'base_bellow_link' (type 'Robot link'), which constitutes a collision.
Contact information is not stored.
I defined that these collisions shall not be checked in the SRDF.
Now I can find plans!
Best,
Peter