For an architectural roof skin project the goal was to expose more of glazing under a solar panel in areas where there was less sunlight to collect.
A braitenberg vehicle simulation seems appropriate as we can steer them away from areas of higher solar exposure by having the sensors read in a bitmap of solar radiance per panel.
However, the result of a pure vehicle simulation is highly uncontrolled and not a viable design option for aesthetic and fabrication constraints. So by adding agent forces such as seek and particle forces such as attract we can help ensure the vehicles remain in a consistent heading and to end up at their starting positions.