To date, we have talked about constructing artificial potential functions on simple two-dimensional configuration spaces, which are easy to visualize. However, we know that robots come in different shapes and sizes and that we could easily have configuration spaces with four, five, six, or more degrees of freedom. Where it may not be so clear how one should go about building appropriate potential functions. One approach that can be used to generalize this idea of potential fields to robots with multiple degrees of freedom is to think in terms of a set of control points that are distributed over the surface of the robot. For each of these control points, we can construct a potential field which guides it away from the obstacles in the work space and towards its final goal. We can do this by considering the distance between each point and the workspace obstacles, as we discussed earlier. Furthermore, we can typically compute the position of each of these control points as a function of the configuration space coordinates, denoted by the vector x. We can then construct an aggregate potential function by computing the sum of these individual potential functions. This can be thought of as a function of the configuration space coordinates x. We can then apply the control scheme by computing the gradient of this function with respect to this configuration space coordinates. This gradient then provides information about how to move the robot towards the goal and away from obstacles. In this animation, we've included a set of control points shown in blue, which could be used to evaluate the kind of potential field that we are describing here. One way to visualize what's happening is to imagine that each of these control points is outfitted with a proximity sensor which it can use to detect the range to nearby obstacles. The artificial potential field uses this information to push each of these control points away from obstacles while guiding them towards their desired goals. The effect of all of these pushes and pulls is arrogated in the artificial potential field and the gradient information is used to decide how to move locally.