In partnership with Metris UK, in this article we will discuss the utilization of modeling and simulation methods in the development of a revolutionary 7-axis Robot CMM Arm (RCA). An offline virtual model is described, facilitating pre-emptive collision avoidance and assessment of optimal placement of the RCA relative to scan specimens. Workspace accessibility of the RCA is examined under a range of geometrical assumptions and we discuss the effects of arbitrary offsets resulting from manufacturing tolerances. Degeneracy is identified in the number of ways a given pose may be attained and it is demonstrated how a simplified model may be exploited to solve the inverse kinematics problem of finding the “correct” set of joint angles. We demonstrate how the seventh axis may be utilized to avoid obstacles or otherwise awkward poses, giving the unit greater dexterity than traditional CMMs. The results of finite element analysis and static force modeling on the RCA are presented, which provide an estimate of the forces exerted on the internal measurement arm in a range of poses.
The Metris RCA combines the automation capability of traditional CMM methods with the mobility and part accessibility of an articulated arm, resulting in a versatile and powerful tool for coordinate measuring applications with a target accuracy of 100µm.
The RCA, shown in figure 1, utilizes novel, patented technology [1] to accelerate repetitive 3-D inspection tasks. A highly accurate 7-axis articulated measurement arm is housed within a robotized exoskeleton driven by electromotors. A unique mounting system serves as the interface between the Internal Coordinate-measuring Arm (ICA) and the supporting exoskeleton. The movement of the exoskeleton and its effect on the internal arm via the so-called kinematic mounts are the subjects of scrutiny in this article.
Industrial robots are traditionally described as a series of links, the relative positions of which may be manipulated by adjusting joint parameters. The RCA employs only revolute joints, numbered sequentially J1 to J7 from the base; the position and orientation of the end-effector (MMD laser scanner) is therefore completely determined by the rotation of each link about its axis. For a given set of n joint angles we define a vector

where θn represents the angle of the nth joint.
![]() |
Figure 1: The Metris RCA--a 7-axis robot CMM Arm equipped with a Metris MMD laser scanner. Joints (Jn) are numbered sequentially from base to end-effector and directions of their rotations are indicated. It stands 2580mm tall when fully erect and sweeps out a hemisphere of radius 2440mm. |
The pose, P(Θ), represents the position and orientation of the end-effector tool corresponding to the set of specified joint angles. A series of coordinate frame transformations described by 4×4 matrices may be employed to solve this forward kinematics problem.
A commonly used convention for selecting frames of reference in robotics is the Denavit-Hartenberg representation [2] in which a coordinate frame is joined rigidly to each link/joint pair, as shown in figure 2, with associated D-H parameters describing the length, orientation and offset of the joint: d = length; α = twist; a = offset; θ = angle. A homogeneous coordinate transformation is performed to transform from one coordinate system to the next [3].
The general transformation which transforms the (n-1)th coordinate frame to the nth, is the product of four basic transformations, two translations and two rotations about the z and x axes:
![]()
The combined effect of this transformation is described by the matrix

The transformation matrix describing the position and orientation of the nth RCA link is obtained by applying n successive transformations from the base frame to the nth frame via each intermediate link, and is given by
![]()
The form of this transformation matrix is analytically soluble but, in general, is a non-trivial function of 4n variables. The RCA end-effector tool frame is therefore described by 28 D-H parameters, some of which are judiciously chosen so as to be eliminated. In the real world, however, manufacturing processes have accuracy limitations and moving parts may deform or wear over time and so it becomes important to understand how significant the effects of non-zero offsets and joint twists can be.
A geometrical model provides a useful tool for RCA development. By modifying D-H parameters one may simulate the effects of offsets and inaccuracies in each joint and examine their consequences on the RCA performance.
We take as an example a simplified 2-axis arm, mimicking the behaviour of RCA J1 and J2. The base joint we allow to rotate through 360° about the base-frame z-axis while the shoulder joint is restricted to ± 90°, such that the second link cannot drop below the horizontal. If ideal values are chosen for the offset and twist D-H parameters then as θ1and θ2 vary the surface described by the end-effector is a hemispherical shell, shown in figure 3. The radius is equal to the length of link two.
![]() |
Figure 3 : The surface described by the end-effector of an ideal 2-axis arm is a hemispherical shell. |
In the ideal case both links are parallel when θ2 = 0, rendering the choice of θ1 arbitrary. If the second link becomes slightly twisted (α1 = π/2 + ε) then the surface deforms, illustrated in figure 4. The skewed axis is no longer vertical when θ2 = 0, and so the end-effector describes a circle when θ1 varies. The resulting surface is a hemisphere with an inaccessible region.
![]() |
Figure 4: The surface described by the end-effector of a skewed 2-axis arm. |
If an offset is introduced on the second joint (a1 ≠ 0) we observe that the hemispherical shell collapses into two shells, shown in figure 5. The outer shell corresponds to axis two being oriented in the same direction as the offset (yielding a larger radius), the converse is also true.
![]() |
Figure 5: The surface described by the end-effector of a 2-axis arm with an offset second link. |
The two effects described may also be combined, resulting, as one might anticipate, in a split shell with an inaccessible dome, shown in figure 6.
![]() |
Figure 6: The surface described by the end-effector of a skewed 2-axis arm with an offset second link. |
If the simplified 2-axis model is extended to the whole RCA (or simply a traditional 6-axis robot) it is clear that the available workspace for the end-effector is a volume instead of a surface. Pairs of consecutive axes will behave as the simplified example with offsets and skews resulting in “dead zones” – regions within the workspace inaccessible to the end-effector. These regions occur primarily toward the extremes of the parameter space, in particular where consecutive links are collinear. Their effects are small but not negligible. The most significant effect is that the available workspace may be marginally smaller than one might naively assume from the robot geometry – skewed axes will reduce the reach of the arm. However the impact on the end-user is minimal for two reasons. Firstly, the RCA calibration and verification processes identify the D-H parameters of a unit from measured data, resulting in a robot model file which is passed to the controlling software. The RCA motion planner is therefore aware of the twists and offsets and adjusts the motion accordingly to place the end-effector in the desired location. Secondly, the RCA is equipped with a laser scanner and as such is capable of taking data at range whereas a contact probe would be unable to acquire data in a dead zone. As such a laser scanner can acquire data within a dead zone providing a nearby pose is accessible.
Determining the position of the end-effector from a set of joint angles is comparatively straightforward. A more difficult task is to determine the set of joint angles required to attain a desired pose, P*, i.e. find Θ such that
In general there is no closed-form solution to the inverse kinematics problem for 6 or more degrees of freedom. Solutions exist for various special cases, for example if the robot has 3 intersecting axes [2], however this does not apply to the RCA because of its offset joints. We therefore discuss the use of an iterative numerical algorithm to provide the solution.
We define an error vector, d(P1,P2), to be a measure of the difference between two poses, P1 and P2, such that

where e1,2,3 are displacement errors and e4,5,6 are rotational errors in x, y and z respectively. The components of the error vector are used to define a set of residuals
![]()
where wn are arbitrary weightings which can be tuned. The solution to the inverse kinematics becomes an optimisation problem in which we aim to minimise the “difference” between the target and trial poses, d(P*,P(Θ)). This is achieved by minimizing the sum of the squares of the residuals i.e.

which is easily soluble by many standard optimization algorithms. However the astute reader will notice that a target pose does not uniquely determine Θ; even for the ideal 2-axis model one obtains the same end-effector position for (θ1 , θ2) and (θ1 + π ,- θ2). The inverse kinematics problem for a 7-axis robot has an infinite number of solutions, which is a doubled-edged sword. The existence of multiple solutions is excellent for the dexterity for RCA because it means that obstacles to one solution can very often be negotiated by relying on an alternative configuration; however for the sake of repeatability under Computer Numerical Control (CNC) it is essential to define a method to isolate the preferred solution.
A 6-axis robot has, in general, 8 real solutions to the inverse kinematics problem [4] and so the preferred approach is to make one of the RCA axes redundant. Fixing J3 reduces the system to a 6-axis problem, the solutions to which are categorized in Table 1.
By way of example, Figure 7 demonstrates the inverse kinematics solution multiplicity.
![]() |
Figure 7: Demonstration of inverse kinematics solution multiplicity. Two different choices for J4 correspond to the same pose – the so-called “Elbow out” configuration (left) and “Elbow in” (right). |
The three RCA conditions give rise to 23 = 8 configurations and the user is, in principle, free to choose their preferred solution. There is no guarantee that the iterative optimization algorithm will converge to the desired solution. A heuristic approach would be to reject undesired solutions and repeat the optimization process with a new, randomly determined set of trial joint angles, Θtrial. However this is computationally inefficient and a more robust alternative is sought.
The inverse kinematics of a 6-axis robot can be solved analytically in certain special cases, for example when the last three axes all intersect one may employ Pieper’s Solution [5]. This solution applies to the majority of modern industrial robots but, due to its offset joints, the RCA does not satisfy the condition on axes 5, 6, and 7. However we may approximate the RCA to such a system and choose the analytic solution corresponding to the desired RCA configuration as the initial trial value for the numerical optimization algorithm.
Pieper’s Solution splits the problem in half, using the orientation of the end-effector and the Z-Y-Z Euler angle solution [2] to determine the angles of joints 5, 6 and 7 while joints values 1, 2 and 4 are determined by the position of the intersection of the three axes at the wrist.
In approximately 80 percent of cases Pieper’s Solution is a sufficiently close starting guess that the algorithm converges to the desired RCA solution. The heuristic approach is employed in cases where Pieper’s Solution fails to converge to the required configuration.
The packaging model is primarily a tool to facilitate running test cases and assessing the feasibility of applications. The model is controlled through joint angles (forward kinematics) allowing full manipulation of the arm in an identical manner to the physical RCA. The primary applications of the packaging model are specimen validation and determining the optimal positioning of parts relative to the RCA.
Scanning large specimens, such as a car chassis, will require the RCA to reach numerous difficult positions. Without optimal placement of the part relative to the RCA, repositioning of either the specimen or the measurement system may be necessary. Figure 8 demonstrates the accessible workspace for a linear scan with the RCA unit and the optimal region for specimen location. Within the white circle (radius 1300 mm) the RCA obstructs itself, making long linear sweeps impossible, although short sweeps and individual point scans are still possible. Within the blue circle (radius 2440 mm) there are no inherent obstructions and linear scans are permitted. The longest possible linear scan path is a chord of the blue circle, tangent to the white zone--the length of which is 4130 mm.
To ensure a part is suitable for scanning with the RCA the packaging model can be used as a validation tool; provided there exists a compatible CAD file for the proposed scan specimen.

Figure 8 : Optimal scan specimen location is within the blue region. Mobility is limited within the white circle due to the length of RCA links and self-collision. Scanning is impossible outside the annulus and the maximum scan length is available at a height of 463mm--the height of the base link.
By creating an assembly of the packaging model and the scan specimen within SolidWorks the user can assess the compatibility of the part in terms of its size, shape, and complexity.
The SolidWorks packaging model is a static positioning tool. Poses are selected for viewing by entering discrete joint values; the unit cannot be driven from one pose to the next in any automated fashion. This functionality is provided by Catia, a CAD package which supports moving parts. Motion between poses can be analyzed, testing for collisions between the RCA and the scan specimen. Collisions may be avoided by supplying “way points” (specific poses the RCA should visit on route to its destination) or by programming moves in “joint space” (actively manipulating the joint values as opposed to fitting a path between poses).
We have thus far concentrated on movement of the RCA--the driven exoskeleton--but what is important for a metrology unit is the behavior of the internal measurement arm--the ICA. The ICA moves inside the RCA, held in place by three kinematic mounts which provide both support and the contact forces necessary to move the arm within its exoskeleton. Figure 9 demonstrates an early RCA prototype, showing the approximate positioning of the kinematic mounts which surround axes 3, 5, and 7.
![]() |
Figure 9 : Schematic of the RCA and ICA units, demonstrating placement of kinematic mounts and associated contact forces, Cn. Adapted from [1]. |
Throughout development of the RCA product the design and placement of the kinematic mounts have changed considerably, owing in part to the results of Finite Element Analysis (FEA) tests and a compliance model describing the static forces acting on the ICA.
Early in the product development it was discovered that the repeatability (and hence system accuracy) was considerably less than expected in certain poses. A Finite Element Analysis, shown in Figure 10, confirms that in some configurations the ICA is subject to extreme constraining forces, causing it to distort.
![]() |
Figure 10 : Sample FEA output demonstrating bending of the ICA in a specific pose. The effect has been exaggerated for illustrative purposes. |
By considering the static forces acting on each ICA link it is possible to determine the contact forces, Cn, supplied by the kinematic mounts. Taking moments about three axes and resolving forces in three directions for each of six ICA joints yields a set of 36 equations. These equations may be solved simultaneously to determine the internal reactions at the hinges as well as the six contact forces in terms of the known weights of each ICA link. Results of the compliance model, a sample of which is included in Table 2, are in close agreement with those obtained from FEA.
The results of geometric modelling have a number of implications. Applying Pieper’s Solution to the RCA provides a computationally efficient shortcut to the desired solution to the inverse kinematics problem, thereby improving the performance of the route planning software. The accessible workspace map provides a useful tool for the end-user to determine the feasibility of a candidate scan specimen and identify its optimal location within the RCA workspace. This maximizes the dexterity of the unit and minimizes the amount of time spent moving the part and/or robot.
The knowledge of the inflated constraining forces has shaped the design and placement of the kinematic mounts significantly. Recent prototypes include clearance, permitting a little lateral movement under pressure rather than remaining rigid and causing deformation of the ICA.
In general a system should have a number of constraints equal to the number of degrees of freedom; the most recent kinematic mounts satisfy this condition by requiring that each constrained axis is required to pass through a fixed point but is otherwise free to rotate and slide longitudinally. These upgrades have led to a marked improvement in system accuracy in the last six months.
The authors wish to thank the UK Technology Strategy Board for backing the collaboration between Metris UK and the University of Warwick on the RCA project.
[1] Crampton, S.J. “CMM Arm with Exoskeleton”, US Patent 7395606 (2008).
[2]Craig, J.J. “Introduction to Robotics - Mechanics and Control: 3rd Edition”, Prentice Hall (2005).
[3] Choset, H. et al. “Principles of Robot Motion - Theory, Algorithms and Implementation”, MIT Press (2005).
[4] Murray, R.M. et al. “A Mathematical Introduction to Robotic Manipulation”, CRC Press (2000).
[5] Pieper, D. and Roth, B. “The Kinematics of Manipulators Under Computer Control”, Proceedings of the Second International Congress on Theory of Machines and Mechanisms, vol. 2 (1969).
J.A. Thornby, A. Attridge, T. Johnson, R.S. MacKay, R.J. Sanders, C. Stott, M.A.Williams, K.W.Young