I remember having some hard time getting the collision avoidance solver working correctly. This test was not perfect but I was starting to see the light :).
The solver is using the bearing angle and its time-derivative to detect future potential collisions. Agents vision is discretized to simple cylinders (or spheres I don't remember :) ). This way, it was rather fast to evaluate but was limited to agents only interactions. A second solver has been developed to avoid obstacle (firing some rays and getting intersection with scene geometries), but was not always working as expected. If I should re-do this work, I would use the same solver for agents and obstacle I think...
This was one of the first goal system for CrowdFX (latter I added a follow curve system that was maybe more easy to use).
Characters are directed using several goals. You can define the order of those goals by setting their index.This example also illustrate the feet locking added at run time to avoid unnatural sliding of the original animation (when characters are turning).
A little test I made before Christmas 2012 using Fabric Engine Creation Platform.
The idea was to be able to create some KL code using nodes. A system similar to the Houdini VOP graph but generating KL instead of VEX :)