Skip to main content
This section draws heavily on chapter 2, Configuration Space, of Kevin Lynch and Frank Park, Modern Robotics: Mechanics, Planning, and Control (Cambridge University Press, 2017). You can download the chapter as a PDF. A robot consists of bodies called links, which are connected by joints. Actuators, such as electric motors, apply forces or torques that move the links. An end-effector, such as a gripper or hand, is usually attached to one link for grasping and manipulating objects. A robot’s configuration specifies the positions of all points in its mechanisms. Consider a coin lying heads up on a table. Such an object is a planar rigid body. A spatial rigid body can move anywhere in three-dimensional space. Three real numbers, also called coordinates, describe the coin’s configuration. Two coordinates (x,y)(x,y) locate a chosen point on the coin, and one coordinate (θθ) specifies its orientation. If the coin may also lie tails up, the visible face is part of its configuration. This value belongs to the discrete set {heads,tails}\{\text{heads}, \text{tails}\} rather than a continuous range of real numbers. Configuration of a coin on a flat surface. You can place the coin anywhere on the table, which gives two degrees of freedom for the (x,y)(x,y) coordinates. The point alone does not fix the coin’s configuration. If the chosen point is Abraham Lincoln’s eye, for example, the coin can still rotate through 360 degrees. The angle θ\theta describes this additional degree of freedom. The number of degrees of freedom (dof) of a robot is the smallest number of real-valued coordinates needed to represent its configuration. The discrete choice of face adds no degree of freedom. The coin has f=3f=3 degrees of freedom. Its current configuration is one point in the space of all its possible configurations, called the configuration space (C-space). Lift the coin off the table and let it move anywhere in space. Choose three points AA, BB and CC on its rim. Point AA can be anywhere, so it takes three coordinates. Once AA is held, BB keeps its distance to AA and lies on a sphere centered at AA, which adds two coordinates. Once AA and BB are held, CC keeps its distance to both. It lies on a sphere centered at AA and on a sphere centered at BB, and the two spheres meet in a circle. One angle places CC on that circle. The coin in space has 3+2+1=63 + 2 + 1 = 6 degrees of freedom. The coin first moves freely, and AA traces its path. With AA held, BB stays on a sphere about AA. With AA and BB held, the camera turns so that the line ABAB runs across the screen. The sphere about AA (red) and the sphere about BB (blue) meet in the yellow circle, and the coin turns about ABAB while CC runs around that circle. The coin then lies flat on a table. AA moves in the plane, which takes two coordinates. With AA held, BB stays on a circle about AA, which adds one. With AA and BB held, the circle about AA (red) and the circle about BB (blue) meet in only two points. Flipping the coin from heads to tails moves CC from one point to the other, so CC adds a choice but no coordinate. The coin on the table has 2+1=32 + 1 = 3 degrees of freedom. A large drone, treated as a single rigid body for navigation, has six degrees of freedom: three Cartesian coordinates and three angles. Heading, pitch and roll rotations of an aircraft relative to a North-East-Down reference frame Pitch, yaw (heading), and roll describe rotations about the principal axes of a drone located at point p=(x,y,z)T\mathbf p = (x,y,z)^T. Figure by the Motion Imagery Standards Board, public domain. The coordinates used for the drone are one possible configuration representation. Other representations have other strengths. Six degrees of freedom are enough for navigation. For kinematic or dynamic analysis you must also count the moving parts, such as the flaps, because they affect the motion. A robot generally consists of several rigid bodies whose motions are constrained by its mechanical structure. Its degrees of freedom are given by dof=(freedoms of the bodies)−(independent constraints)\mathrm{dof} = \text{(freedoms of the bodies)} - \text{(independent constraints)} Joints constrain the motion of rigid bodies and reduce their total degrees of freedom. Revolute, prismatic, helical, cylindrical, universal and spherical joints. The revolute joint (R), also called a hinge joint, allows rotation about the joint axis. The hinges of a door are revolute joints. The prismatic joint (P), also called a sliding or linear joint, allows translation along the joint axis. A sliding door moves on one. The helical joint (H), also called a screw joint, allows simultaneous rotation and translation about a screw axis. Revolute, prismatic and helical joints each have one degree of freedom. Some joints have multiple degrees of freedom. The cylindrical joint (C) has two degrees of freedom. It allows independent translation and rotation about one fixed joint axis. The universal joint (U) is another two-degree-of-freedom joint. It consists of two revolute joints with orthogonal axes. The spherical joint (S), also called a ball-and-socket joint, has three degrees of freedom. Your shoulder works like one. The following table gives the dof of each joint when it connects planar or spatial rigid bodies. Grübler’s rule gives the degrees of freedom of a robot: dof=m(N−1−J)+∑i=1Jfi\mathrm{dof} = m \left( N - 1 - J \right) + \sum_{i=1}^{J} f_i where m=3m = 3 for planar mechanisms and m=6m = 6 for spatial mechanisms, NN is the number of links (including the ground link), JJ is the number of joints, and fif_i is the number of degrees of freedom of joint ii. The formula assumes that the constraints imposed by the joints are independent. When they are dependent, as can occur in closed chains, the formula gives only a lower bound on the degrees of freedom.

Example: the human arm

How many degrees of freedom does your arm have? Count from your torso to your palm. Keep the center of your shoulder fixed and exclude your fingers. Human arm with its shoulder, elbow, and wrist joints marked. The arm as a chain of four links: torso, upper arm, forearm and palm. Each joint of the arm corresponds to a type in the table above: The four links give N=4N = 4, and the three joints give J=3J = 3. The joint freedoms sum to 3+2+2=73 + 2 + 2 = 7. Grübler’s rule with m=6m = 6 gives dof=6(4−1−3)+7=7.\mathrm{dof} = 6 \left( 4 - 1 - 3 \right) + 7 = 7 .

Configuration space topology

Consider a point moving on the surface of a sphere. Its C-space is two-dimensional because two coordinates, latitude and longitude, describe its configuration. A point moving on a plane also has a two-dimensional C-space, with coordinates (x,y)(x, y). The two spaces have different shapes. The plane extends forever, while the sphere wraps around. An oval-shaped American football wraps around like a sphere. You can obtain its shape by stretching a sphere in one direction. Topology describes the sense in which the surfaces of a small sphere, a large sphere and a football have the same kind of shape, while a plane has a different shape. The figure shows several example topologies. Examples of C-space topologies. In the figure, S2S^2 is the two-dimensional surface of a sphere in three-dimensional space. The C-space of a rigid body in the plane is R2×S1\mathbb{R}^2 \times S^1. The coordinates (x,y)(x, y) form R2\mathbb{R}^2, and the angle θ\theta forms S1S^1. The C-space of a 2R robot arm is S1×S1=T2S^1 \times S^1 = T^2, where TnT^n is the nn-dimensional surface of a torus in an (n+1)(n+1)-dimensional space. The product S1×S1×⋯×S1S^1 \times S^1 \times \cdots \times S^1 (with nn copies of S1S^1) equals TnT^n, not SnS^n. For example, a sphere S2S^2 is not topologically equivalent to a torus T2T^2. The topology of a space is a property of the space itself. It does not depend on the coordinates used to represent its points. You can represent a point on a circle by the angle θ\theta from a chosen zero angle. You can instead place the origin of a reference frame at the circle’s center and use two coordinates (x,y)(x, y) subject to the constraint x2+y2=1x^2 + y^2 = 1. The choice of coordinates does not change the space.

C-space representation

A choice of nn coordinates for an nn-dimensional space is an explicit parametrization of the space. For a point on a sphere, the familiar choice is the pair used for navigation on Earth:
  • Latitude (ϕ): angle from the equator (−90° at South Pole to +90° at North Pole)
  • Longitude (λ): angle around the equator (from −180° to +180°)
This coordinate system works well except at the poles. Suppose you are close to the North Pole (ϕ ≈ 90°) and take a small step eastward. Your latitude ϕ changes little, but your longitude λ may change greatly. It may even jump from +180° to −180° after a small move. A singularity occurs when a small physical motion causes a large coordinate change. The sphere remains smooth and uniform, so the singularity belongs to the chosen representation. Such singularities cause problems when computing velocities. Coordinate rates such as ϕ˙\dot\phi and λ˙\dot\lambda can grow very large or diverge near the poles even when the actual speed in three-dimensional space is constant. The point PP illustrates the coordinates. Longitude λ\lambda runs around the equator from the prime meridian, while latitude ϕ\phi runs from the equator toward a pole. A point then moves at constant speed along a great circle that passes 6° from the North Pole. During this pass, it crosses half the longitude range on the latitude-longitude chart, and ∣λ˙∣|\dot\lambda| rises sharply. The view from above explains this behavior. A small circle around the pole crosses every longitude, while the chart’s entire top edge ϕ=90∘\phi = 90^\circ represents the pole itself. The video below shows the same kind of singularity on a robot arm.
You can avoid such singularities with an implicit representation. This representation treats an nn-dimensional space as embedded in a Euclidean space of more than nn dimensions. For example, a two-dimensional unit sphere is a surface embedded in three-dimensional Euclidean space. An implicit representation uses the coordinates of the higher-dimensional space, such as (x,y,z)(x, y, z), with constraints that reduce the number of degrees of freedom. For the unit sphere, the constraint equation is: x2+y2+z2=1x^2 + y^2 + z^2 = 1 An implicit representation uses more numbers than there are degrees of freedom, but it has no singularities. Rotation matrices are the main example in this chapter. A rotation matrix describes an orientation in space with nine numbers subject to six constraints. It also acts on vectors as a linear operator, so you can work with it using matrix algebra. A rigid body’s configuration space also has an algebraic structure. Its elements are motions that you can compose and invert. Lie groups and tangent spaces develops this structure.

Task space

The task space is a space in which you can express the robot’s task naturally. Consider incremental sheet forming, shown below. A metal sheet is clamped in a frame. The robot pushes a tool with a spherical tip into the sheet and follows a path that gradually forms the part. The path of the tip’s center determines the formed surface. Rotation of the tool about that center does not change the surface. The task space is therefore R3\mathbb{R}^3, the position (x,y,z)(x, y, z) of the tip. If the part is formed in layers of constant depth, each layer is a contour in a plane. The task space of one layer is R2\mathbb{R}^2. If the tool must tilt so that its shank does not hit the wall of a deep part, its direction becomes part of the task. The task space is then R3×S2\mathbb{R}^3 \times S^2. You choose the task space when describing the task, and it does not depend on the robot. A 6-dof arm performing a task in R3\mathbb{R}^3 has three degrees of freedom left. You can use them for other purposes, such as avoiding singularities or the clamping frame. A robot arm pressing a tool into a clamped metal sheet. Incremental sheet forming.

Workspace

The workspace specifies the end-effector configurations that the robot can reach. The robot’s structure primarily determines its workspace, independently of the task.

References

Lynch and Park, Modern Robotics: Mechanics, Planning, and Control (2017)
Found an error on this page? Report an issue.