Commits on Dec 19, 2012
  1. Moved WITH-DESIGNATORS to cram_plan_library.

    Additionally, made it more flexible:
     * A task tree node is now created.
     * A function is used for creating designators that uses hooks. This
       allows to, for instance, use an already instantiated designator, for
       instance produced by projection.
    committed Dec 19, 2012
  2. Use the result of MONITOR-PROCESS-MODULE instead of PM-EXECUTE.

    This should make high-level plans work with synchronous and asynchronous
    process modules.
    committed Dec 19, 2012
Commits on Dec 18, 2012
  1. Got rid of roslisp-hotpatches.

    The patches are now upstream in roslisp, so the hotpatch file is not
    required anymore.
    committed Dec 18, 2012
Commits on Dec 14, 2012
  1. Revert "Removed call to monitor until we merge in the corresponding b…

    This reverts commit 5298666.
    committed Dec 14, 2012
  2. Moved reference call in AT-LOCATION to the parent task.

    That way, it is possible to handle designator errors without entering
    the debugger.
    committed Dec 14, 2012
  3. Added assertion in at-location.

    committed Dec 14, 2012
  4. Fixed and improved AT-LOCATION.

    It seems like AT-LOCATION still suffered from race conditions. Added a
    lock around anything related to navigation to prevent the reached
    predicate to succeed while the robot is navigating.
    Pulled out the at-location functionality into a function. That way, we
    do not need to recompile everything that uses the macro.
    committed Dec 12, 2012
  5. GET-CACHED-COSTMAP needs to return the same costmap for all equated d…

    Instead of regenerating a separate costmap for each equated designator,
    the function GET-CACHED-COSTMAP needs to return the same costmap. This
    is now solved by using FIRST-DESIG.
    committed Dec 12, 2012
Commits on Dec 10, 2012
  1. Use LOCATION-DESIGNATOR-REACHED instead of perceive-state.

    It seems like the function LOCATION-DESIGNATOR-REACHED behaves
    differently to perceive-state. Use it everywhere in AT-LOCATION to
    prevent location-lost errors.
    committed Dec 10, 2012
  2. Added cram function NAVIGATE to allow for enforcing navigation.

    When using (ACHIEVE `(LOC Robot ?loc)), the robot didn't move if it was
    already standing at a valid solution. This is not what we want in
    committed Dec 10, 2012
  3. Fixed another bug in at-location.

    Since TF callbacks are normally executed in a ROS subscriber thread, we
    cannot simply create a task object. Creating a top-level task doesn't
    work either since we need to inherit task-local variables. The new code
    now uses TV-CLOSURE in a thread to explicitly bind task local variables.
    committed Dec 10, 2012
Commits on Dec 6, 2012
  1. Don't use a thread but a cpl:task for pulsing tf changes.

    This ensures that all task-variable bindings are established correctly.
    committed Dec 6, 2012
  2. Reindent.

    committed Dec 6, 2012
  3. Bugfix in at-location.

    We need to dynamically rebind *tf* in the pulse thread that is executed
    at TF updates. Otherwise, the global tf listener, not a projection local
    one might be bound which causes a lot of errors.
    committed Dec 6, 2012
Commits on Dec 5, 2012
  1. Added support for choosing different sampling functions.

    The generation functions now have a SAMPLING-FUNCTION keyword parameter.
    committed Dec 5, 2012
Commits on Nov 28, 2012
  1. Do not block TF in a long-running callback.

    Pose verification was done in a TF callback. Unfortunately, it could be
    pretty expensive so it was screwing up TF. Instead of executing the
    recalculation in the TF thread, spawn a temporary thread if not already
    committed Nov 28, 2012
Commits on Nov 27, 2012
  1. Fixed a bug in scaling of meshes.

    Instead of outputting face instances, the code was just creating a
    vector of vertex-point lists.
    committed Nov 27, 2012
Commits on Nov 26, 2012
  1. Fixed parsing of scene nodes.

    committed Nov 26, 2012
  2. Refactored parsing of meshes.

    Instead of just merging all mesh points, ignoring their position in the
    scene, we walt the tree of nodes now and generate the overall mesh using
    the transform in the nodes.
    committed Nov 26, 2012
  3. Added aiNode to groveler.

    committed Nov 26, 2012
  4. Added aiMatrix4x4 to groveler.

    committed Nov 26, 2012
Commits on Nov 22, 2012
  1. LOAD-3D-MODEL can deal with multi-mesh files now.

    Instead of just loading one mesh from an assimp file, the resulting mesh
    now contains all meshes made of triangles, merged to one single mesh to
    better support DAE files.
    committed Nov 22, 2012