personalrobotics / or_trajopt

OpenRAVE plugin to expose TrajOpt code as an OpenRAVE planner
BSD 3-Clause "New" or "Revised" License
2 stars 3 forks source link

PlanToEndEffectorPose fails the standard PrPy test #13

Closed mkoval closed 8 years ago

mkoval commented 8 years ago

In https://github.com/personalrobotics/prpy/pull/213, @lgw903 reported that or_trajopt fails the standard test_PlanToEndEffectorPose_GoalIsFeasible_FindsSolution test in PrPy:

Traceback (most recent call last):
  File "/home/mkoval/herb-ws/src/prpy/tests/planning/methods/PlanToEndEffectorPose.py", line 16, in test_PlanToEndEffectorPose_GoalIsFeasible_FindsSolution
    path = self.planner.PlanToEndEffectorPose(self.robot, goal_ik)
  File "/home/mkoval/herb-ws/src/prpy/src/prpy/planning/base.py", line 153, in __call__
    return call_planner()
  File "/home/mkoval/herb-ws/src/prpy/src/prpy/planning/base.py", line 133, in call_planner
    *args, **kw_args)
  File "/home/mkoval/herb-ws/src/or_trajopt/src/or_trajopt/planning.py", line 380, in PlanToEndEffectorPose
    return self._PlanToIK(robot, pose, **kwargs)
  File "/home/mkoval/herb-ws/src/or_trajopt/src/or_trajopt/planning.py", line 460, in _PlanToIK
    return self._Plan(robot, request, **kwargs)
  File "/home/mkoval/herb-ws/src/or_trajopt/src/or_trajopt/planning.py", line 286, in _Plan
    raise PlanningError("Result was in collision.")
PlanningError: Result was in collision.

It's possible that the optimizer got stuck in a local minimum that was in collision. However, I would be surprised if this was the case - this is a very easy problem.

@psigen Could you look into this? Is it possible that we're not handling goal sets correctly?

psigen commented 8 years ago

This was due to an offset in the local tool transform which is resolved by https://github.com/personalrobotics/or_trajopt/pull/16.