Abstract
Identifying kinematic constraints between a robot and its environment can improve autonomous task execution, for example, in Learning from Demonstration. Constraint identification methods in the literature often require specific prior constraint models, geometry or noise estimates, or force measurements. Because such specific prior information or measurements are not always available, we propose a versatile kinematics-only method. We identify constraints using constraint reference frames, which are attached to a robot or ground body and may have zero-velocity constraints along their axes. Given measured kinematics, constraint frames are identified by minimizing a norm on the Cartesian components of the velocities expressed in that frame. Thereby, a minimal representation of the velocities is found, which represent the zero-velocity constraints we aim to find. In simulation experiments, we identified the geometry (position and orientation) of twelve different constraints including articulated contacts, polyhedral contacts, and contour following contacts. Accuracy was found to decrease linearly with sensor noise. In robot experiments, we identified constraint frames in various tasks and used them for task reproduction. Reproduction performance was similar when using our constraint identification method compared to methods from the literature. Our method can be applied to a large variety of robots in environments without prior constraint information, such as in everyday robot settings.
Keywords: constraint identification, physical constraints, constraint frames, contact modeling, robot manipulation, learning from demonstration, imitation learning
1 Introduction
Autonomous robotic manipulation has the potential to improve human lives by alleviating physical effort. Robots may offer advantages over human labor regarding consistency, endurance, strength, accuracy, and/or precision in fields such as healthcare, logistics, exploration, and the manufacturing industry. However, autonomous robots are typically designed for one specific task in one specific environment, hence they lack versatility. Tasks in different environments therefore often require different robots, which may be expensive and impractical.
It may therefore be beneficial to develop robots that are versatile in their task execution, allowing a single robot to deal with a variety of tasks and environments. Manipulation tasks may include pick-and-place tasks (e.g., order picking), contact tasks (e.g., wiping, polishing, contour following, and opening/closing compartments) and tool-use tasks (e.g., hammering and screwing). Common environments may include moveable objects such as tools, as well as (immovable) physical constraints.
Models of the physical environments may assist in versatile task execution. For example, door opening is a common everyday task involving similar articulation mechanisms across most doors. If the interaction mechanisms (e.g., hinges and slides) can be modeled, a robot may apply the same control to all environments that have the same mechanisms, thereby improving robot versatility. However, manually creating such models may be cumbersome due to many possible variations in the environment, such as object positions, orientations, shapes, and dynamics. There is therefore a need for automatic modeling of physical environments (Kroemer et al., 2020).
Automatically modeling physical environments may occur in a Learning from Demonstration (LfD) context (Kroemer et al., 2020). In LfD, robots learn to perform tasks from human demonstrations, for example, by manually guiding a robot, rather than by explicit programming. From the demonstration data, the physical interactions throughout the demonstration may be modelled, which in turn may be used in autonomous task reproduction.
Physical environments typically contain kinematic constraints that restrict movement. In everyday settings numerous constraints may be encountered, including articulated/mechanism contacts, such as prismatic (drawers) and revolute joints (doors), polyhedral contacts such as pin-plane contacts (pen drawing) and plane-plane contact (box sliding), and contour-following contacts (dusting).
Constraint awareness can benefit task execution in several ways. First, tasks can often be simplified when expressed in the constraints (Bruyninckx and De Schutter, 1996). Second, choosing a suitable control method, e.g., position, velocity, force, or impedance control can improve both task performance and stability by keeping undesirable interaction forces low (Conkey and Hermans, 2019; De Schutter et al., 1999). Third, planning to avoid constraints can simplify some tasks because there are fewer state transitions to consider, such as in reaching tasks (Oriolo and Vendittelli, 2009). Alternatively, planning to introduce constraints can simplify some tasks by reducing the free space of the robot, for example, during object alignment (Suomalainen et al., 2021). Fourth, differentiating between constrained states in a task provides meaningful, tractable building blocks, which can improve task planning (Ureche et al., 2015; Jain and Niekum, 2018; Holladay et al., 2021) and facilitate learning (Simonič et al., 2024). Fifth, some constraints are common in many robot tasks and can therefore be a basis for generalization between tasks (Li and Brock, 2022; Li et al., 2023).
Kinematic constraints consist of a (i) constraint class, e.g., a type of joint or contact, and (ii) constraint geometry, e.g., the orientation and position of a rotation axis or surface normal (De Schutter et al., 1999). Identifying constraints from data therefore requires (i) classifying the constraint class and (ii) identifying the constraint geometry, both are the topic of this work.
In this work, we make three assumptions about robot manipulation to limit our scope. First, we assume that robots are rigidly attached to a constrained mechanism or object in contact with the environment, and thus leave grasping and environmental compliance out of our scope. Second, we assume that there is a single maintained contact between a robot and the environment, such as a contact point, line, plane, or other continuous contact area. Third, we assume that all unconstrained degrees of freedom are excited, to prevent ambiguity between true physical constraints that do not allow motion and non-observed motions.
Bruyninckx and De Schutter defined kinematic constraint classes based on contact (Bruyninckx and De Schutter, 1993a; Bruyninckx et al., 1993b). They proposed to identify constraints by two methods: first, based on the absence of mechanical power in the direction of constraints, requiring position and force measurements. Second, based on whether velocities or forces separately fit candidate constraint models. They used both methods in a Kalman filter with a candidate constraint model of a specific class to estimate constraint geometry, such as contact points, axes of rotations, and polyhedral contact normals (De Schutter et al., 1999).
Several authors extended the methods of Bruyninckx and De Schutter, mainly on multi-contact polyhedral contacts (Meeussen et al., 2007; Cabras et al., 2010; Lefebvre et al., 2005). They identify, classify, and segment data containing arbitrary contacts between two uncertain polyhedral or curved objects using pose and wrench measurements. Where previous methods required approximate geometric models of the polyhedra, Slaets et al. identify arbitrary unknown polyhedra at runtime (Slaets et al., 2007). Although polyhedrons are useful to approximate many tasks, these methods are fundamentally limited in modeling rotations.
Alternative methods omit noise models, and fit constraint models of a specific class directly to data, identifying the constraint geometry in the process. Such models are specified manually, and when several candidate models are proposed, the best-fitting model is chosen. For example, several authors identify one of three candidate models (fixed, prismatic, and revolute joints) using kinematic measurements (Sturm et al., 2010; Niekum et al., 2015; Hausman et al., 2015). Subramani et al. identify six candidate models using kinematic measurements (Subramani et al., 2018). They later expand their method with force information and identify eight candidate models (Subramani et al., 2020).
Some methods do not require specific constraint models but use more versatile representations to capture multiple constraints. Sturm et al. fit Gaussian processes in configuration space, but the identified Gaussian process kernel parameters are not straightforward to interpret (Sturm et al., 2011). Mousavi Mohammadi et al. identify “task frames” instead of identifying constraints explicitly (Mousavi Mohammadi et al., 2024). Such frames conveniently describe contact tasks and thereby often align with constraint geometry, but lack constraint classification (Bruyninckx and De Schutter, 1996). They use velocities and/or forces in a multi-step decision process to identify frame properties that result in low or constant velocities and forces with minimal uncertainty. Van der Walt et al. identify constraints from kinematic data by fitting points, lines, planes, and their higher dimensional equivalents in six dimensional linear and angular velocity space, after which they select the best fitting model (Van der Walt et al., 2025).
Because kinematic constraints occur often in robot manipulation tasks, we believe more versatile constraint identification is an important step to advance the applicability of robots in the real world. However, the literature on constraint identification shows two common limitations. First, methods in the literature often require specific prior constraint models and estimates of geometry and noise. In everyday robot settings where many constraints can be encountered, it may be challenging to exhaustively define such models and estimates. Second, various methods require force measurements, which may not be available. This work overcomes both limitations by identifying constraint frames from kinematic data. First, the method can identify a wide variety of constraints without specific prior constraint models, or estimates of geometry or noise. The method is used to identify articulated/mechanism contacts, polyhedral contacts, and contour following contacts. Second, the method only requires kinematic measurements. Therefore, our method can be applied to various robots in everyday settings, without prior information about the environment or task.
The method offers two more useful features. First, the identified constraint frames can be used directly for task reproduction since the constraints are expressed in a task-relevant reference frame. Second, the number of identified parameters is fixed, in contrast to methods that use an increasing number of parameters for each added candidate model.
This paper is organized as follows: Section 2 discusses preliminaries on rigid body kinematics. Section 3 proposes to specify constraints using constraint frames. Section 4 proposes an optimization problem to identify constraint frames from kinematic data. Section 5 evaluates the method on experimental data from simulation and real robot task demonstrations. Section 6 reproduces robot tasks using the identified constraint frames. Section 7 discusses the results and draws conclusions.
2 Preliminaries on kinematics
This section contains preliminaries for rigid bodies kinematics (Lynch and Park, 2017). Motion between two rigid bodies can be represented by the transformation between two reference frames, one frame rigidly attached to each body. Such reference frames have a position and orientation in space, which can change with body motion. The transformation between two reference frames in three-dimensional space can be parameterized by a distance between their positions and a rotation matrix between their orientations. These components can be combined in a homogenous transformation matrix
which represents the pose (orientation and position ) of one frame relative to the other.
The velocity between two rigid bodies can be represented by a twist , which contains an angular velocity and a linear velocity . The twist must be expressed in a reference frame, denoted by a superscript, e.g., for reference frame . If describes the pose of a body frame with respect to a ground frame , the twist of a body with respect to the ground expressed in frame is related to by:
| (1) |
where is the skew-symmetric representation of :
Expressing the twist in a frame other than requires the pose matrix of with respect to the new frame. For example, if and again represent the pose of body frame with respect to the ground frame , the transformation
| (2) |
expresses the twist in frame .
3 Constraint frames
This section introduces a method to specify constraints that result in constrained kinematics. This method is used in Section 4 for the inverse problem: identifying constraints from kinematic data.
3.1 Degrees of freedom
Kinematic constraints limit a robot’s motion. We consider Pfaffian constraints on the end effector twist of a robot with respect to the ground. The form of such constraints is
| (3) |
where defines constraint equations (Lynch and Park, 2017).
We restrict to be coordinate transformations of the form of Equation 2 that transform velocities and/or to one or more axes of some to be determined frame . For example, the -th constraint equation may restrict the -th axis of when expressed in , such that Constraints can similarly be applied to .
We also allow constraints on and to be described from different frames, respectively. We denote the frame for as and for as . Therefore, we consider constraints of the form:
| (4) |
Here, axis of is constrained in , and axis of is constrained in . For either velocity, the number of constraints can be none, one, two, or three. We thus consider bilateral zero-velocity constraints along one or more axes of expressed in and expressed in . Although most contact constraints are unilateral, they can be modeled as bilateral if contact is kept, which we assume in this work.
To specify whether the axes of are constrained according to (4), we use an associated binary degree of freedom vector . Here, indicates the associated axis is constrained and indicates it is unconstrained. The analogous situation applies to with .
By summing the degree of freedom vector , we obtain the physical degrees of freedom of in frame . When adding units, gives a basis for , which represents all possible being either zero, lying on a line, on a plane, or in a volume.
Constraints can be thus defined by specifying and . For example, a revolute joint can be specified by if the first axis of aligns with the rotation axis, and if the position of is on the rotation axis.
3.2 Frame type and geometry
So far, the frame in which to express constraints on , and frame in which to express constraints on , have not been specified. Here, we require the frames to be attached to the ground body or the robot body , similar to Mousavi Mohammadi et al. (2024).
The frame must have its orientation constant in or , and its position constant in or . This results in four frame types denoted by . For example, indicates that the frame’s orientation is constant in ground body and its position is constant in body . Figure 1 visualizes these frame types during motion.
FIGURE 1.

Constraint frame identification following a two-dimensional task demonstration, e.g., by a human guiding the robot. The behavior of the constraint frame types is shown at two instants (solid and dashed) during a demonstration of robot body with respect to ground body . Frames and are rigidly attached to their respective bodies. Frames and have constant orientation in one body, but constant position in the other. Only the transformations between ground and body are measured (black), and the method identifies the unknown (gray) constraint between the tool and ground. In this example, the optimal frame is at tip of the tool, because the linear velocities along one of its axes are always zero, which is not the case for velocities expressed in the other frames. In practice, the method performs a continuous optimization in three-dimensional space to find the frame position and orientation, and also identifies the angular velocity constraint frame.
Because the frames’ orientations and positions are constant in either one of the bodies, they can be parameterized by a constant rotation matrix and position vector . For example, denotes the constant rotation matrix between and a frame on body (Figure 1).
For the frame , only two types of constraint frames have to be considered because is independent of the position of the frame it is expressed in, that is and . Therefore, the dependence on frame position can be omitted. The two frame types are , which are parameterized solely by a constant rotation matrix . Because frames do not have a position, they are shown at convenient positions in figures.
3.3 Applied constraint frames
In summary, degrees of freedom and specify whether axes are constrained; types and specify what the frames are attached to; and , , and specify the geometry of the constraints. The combination of degrees of freedom and frame types can be considered the class of a constraint. Table 1 summarizes these properties and the constant parameters that specify them. Figure 2 and Table 2 show twelve (not exhaustive) example constraints that can be specified using this method.
TABLE 1.
Parameters of the proposed method.
| Velocity | Constraint frame | |||
|---|---|---|---|---|
| DOF | Type | Geometry | ||
| Binary |
|
Rot. matrix | Pos. vector | |
| (angular) | ||||
| (linear) | ||||
FIGURE 2.
Visualization of twelve (not exhaustive) constraints that can be captured by the method. Each constraint (A–L) is described in Table 2. The left-hand figures are planar, where the rotation axis (y-axis) is normal to the plane. Colors (Table 2) indicate the linear velocity constraint frame type . For conciseness, angular velocity constraint frames overlap exactly with the linear velocity constraint frames , such that . If a frame at the second time instance (dashed) is not shown, it is the same as the first. The linear velocity degrees of freedom are marked along the frame axes by an arrowhead (unconstrained) or no arrowhead (constrained). The unconstrained angular velocity degrees of freedom are marked by a rotational vector.
TABLE 2.
Parameters of the example constraints of Figure 2.
| Figure 2 label | Constraint name | Constraint frame | |||
|---|---|---|---|---|---|
| DOF | Type | Geometry | |||
| A | Revolute joint | ||||
| B | Prismatic joint | ||||
| C | Cylinder joint | ||||
| D | Plane-plane contact | ||||
| E | Planar contour following | ||||
| F | Planar contour rolling | ||||
| G | Cart on a curved surface | ||||
| H | Contour rolling | ||||
| I | Planar pin-plane contact | ||||
| J | Planar plane-pin contact | ||||
| K | Pin-plane contact | ||||
| L | Plane-pin contact | ||||
“ ” means that entry is not uniquely defined.
The presented method does not uniquely define constraints for three reasons. First, the ordering of the axes is undefined. For example, and define the same constraint as and . Second, the positive or negative directions of the axes are irrelevant because we consider bilateral constraints. Therefore, the basis vectors in can have either sign. Third, (parts of) are always free to choose, as shown in Table 2.
In addition, two types of redundancies can occur depending on the constraint. First, (parts of) the frame positions may be free to choose. For example, the frame of a cylinder joint (Figure 2C) may lie anywhere on its rotation axis. Second, multiple frame types may lead to the same constraints. For example, any of the four frame types of can be used to specify a revolute joint (Figure 2A).
For simplicity, we consider angular velocity constraints where either type leads to the same constraint, i.e., when .
4 Constraint frame identification
Section 3 introduced a method to specify constraints that result in constrained kinematics. This section considers the inverse problem: identifying constraints from constrained kinematic data. Constraint identification is first defined as an optimization problem for angular velocity , followed by a second optimization problem for linear velocity .
Section 3 specified constraints on through a constraint frame with a degree of freedom vector . The inverse problem, given measured , is to find some that results in some . To resolve this ambiguity, we aim to find the in which has the minimum number of degrees of freedom and thus the maximum number of constraints. Thus, we define our constraint frame identification as:
| (5) |
Thereby, a minimal representation of is found by expressing it as .
Measuring at samples yields a matrix with rows , columns , and entries . If the constraint condition of Equation 4 holds for an axis , then should hold for all samples . To assess the velocity magnitude in measurement data we use the scaled -norm, or root mean square (RMS), over all samples of an axis :
as defined by the scaled -norm with :
for a signal with samples (Bullen, 2003).
With noiseless measurements, the constraint condition (Equation 4) can then be tested by if and if . When noise is present however, noise is added to the zero-velocity constraint and the constraint condition (Equation 4) becomes
assuming normally distributed noise with variance . Therefore, the norm is not bounded from below by , but by the noise variance , which is the RMS of a normally distributed discrete signal with zero mean. Because , evaluating will always lead to , and an optimization of Equation 5 has no gradient.
Instead of minimizing over , we minimize directly as a continuous measure of a signal’s degree of freedom. We aim to find a frame in which the variance of each of the axes in are minimized. The values in are bounded from below by if constraints are present, but are larger otherwise. Because we are interested in finding those constraints, we prefer finding small individual values in rather than larger values.
Therefore, we use a -norm over the three axes of :
but with , for which the minimization is more sensitive to small individual values in in contrast to . Some values of yield special simplified expressions (Bullen, 2003). For example, yields the mean of , which is equally sensitive to all values in regardless of size. The limit yields the minimum of , which is only sensitive to the smallest value in . Here we use , which yields the following simplified expression:
also known as the geometric mean (Bullen, 2003). This results in a quasinorm, because not all conditions for a norm are satisfied. By substituting the -norms (RMS) and -quasinorm (geometric mean) into one entry-wise -quasinorm, we obtain
| (6) |
Section 3 proposed two options for , both parameterized by constant , and thus two optimization problems. The measurement matrix can be expressed in frame using the coordinate transformation of Equation 2, yielding
| (7) |
where the first optimization uses and the second optimization uses .
This method can also be applied to linear velocity , with a measured matrix :
Section 3 proposed four options for , all parameterized by constant and , and thus four optimization problems. The measured can be expressed in frame using the coordinate transformation of Equation 2, yielding
| (8) |
where , , are given in Table 3, depending on which of the four frame types they are expressed in.
TABLE 3.
Kinematic variables to transform (Equation 8).
| from (2) | from (2) | ||
|---|---|---|---|
Because the ground-truth constraint frame types and will not be known beforehand, both optimizations of Equation 7 and all four of Equation 8 must be done. Then, and can be classified by choosing the type with the lowest minimized quasinorm. Furthermore, the binary degrees of freedom vectors can be classified by thresholding .
The inputs to the method are twists containing in and in , and poses containing and . The outputs are one set of the constraint frame parameters of Table 1: degrees of freedom, type, and geometry.
5 Evaluation
To evaluate the identification method, we simulated kinematic data for all twelve constraints of Figure 2 and gathered experimental robot data for five constraints. For the simulation experiments we used prior knowledge of the constraint frame types and , to test how identification accuracy is affected by noise added to the poses , and consequently twists . For the robot experiments we used no prior knowledge of the frame type. We classified the constraint frame types and identified the constraint geometry, with real-life noise.
5.1 Simulation experiments
For the simulation experiments, we first generated constrained end effector poses using Python 3.11 and NumPy 1.26. The velocities were and where is element-wise multiplication and is the sample time. Therefore, if and specify that an axis is constrained, the velocity along that axis will be zero. Different and then result in all constraints of Figure 2. The end effector twist was calculated using the transformation of Equation 2.
Poses were obtained using the discrete-time version of Equation 1 for constant between samples (Lynch and Park, 2017):
| (9) |
Discrete time ran for with sample time , an example is shown in Figure 3A. To mimic real world experiments, we introduced noise to . Normally distributed noise with standard deviation was added to the position in .
FIGURE 3.
(A) Constraint frame identification of a plane-plane constraint (Figure 2D) in simulation experiments. (B) Constraint frame identification of a revolute joint (Figure 2A) in robot experiments. (C) Reproduction of motion in a prismatic joint (Figure 2B) by applying force along the identified free axis of the constraint frame containing error , the reaction forces are due to the real-world constraint. The setup in (B,C) can be configured to constrain specific axes. Measured end effector poses are shown as black dots with red-green-blue axes. Errors in the identified constraint frame geometry are shown enlarged in red with respect to the purple ground-truth geometry: perpendicular axis in (A), rotation axis in (B), and translation axis in (C).
Normally distributed noise with standard deviation was added to the rotation vector representation of in , related by . We assumed that the noise on position and rotation components were the result of one noise source with standard deviation , such that and . Therefore, varying affects both position and rotation components in the noisy poses . The three-times larger effect of on was estimated by measuring noise on the robot pose in standstill.
5.2 Robot experiments
To test the method on real-world data, a Franka Research 3 (Franka Robotics, Munich, Germany) was used to collect constrained end effector poses , an example is shown in Figure 3B. The experimenter physically moved the end effector through space in low-impedance guiding mode, which is part of the robot’s default control options, while the end effector was bolted to a constrained mechanical setup. While interacting with a user in the guiding mode, the robot complied with the Franka safety considerations. These consist of limits on all motor positions, velocities, accelerations, jerks, torques, and torque derivatives. The robot stops upon violation of these limits.
Poses of five constraints (Figures 2A, B, D, I, K) were collected over ten trials per constraint for at . The experimenter attempted to track the poses of the simulations.
5.3 Error metrics for evaluation
Section 3.3 noted that the geometric parameters , , and may contain redundancies depending on the constraints. Therefore, the error metrics reflect this.
Section 3.3 and Table 2 noted that and either have none or one unique basis vector in and none or one in . If there are no unique basis vectors, the error is irrelevant. If there is one unique basis vector , the error metric is the angle between the ground-truth basis vector and the estimated basis vector . Angle was wrapped at , as the positive and negative axes are irrelevant. For the error metric of , the Euclidian distance from the ground truth was used. Only the unique components of , as shown in Table 2, were used.
The ground truth constraint frame geometries were , with for simulation, and for robot experiments.
5.4 Implementation
Given experimental poses , noisy twists were computed from Equation 9 by solving for . The optimizations of Equation 7 and Equation 8 were implemented in Python using NumPy and the SciPy 1.10 dual annealing global optimization algorithm with 100 maximum iterations and default settings otherwise (Xiang et al., 2013). Our code is available online 1 .
The rotation matrices , were parameterized by their rotation vector representations and bounded to . The bounds on were . Initial guesses were randomized. For the simulation data, optimizations were done with added noise spaced exponentially at 10 values. For the robot data, optimizations were done with no added noise . One optimization of Equation 7 or Equation 8 for a single frame type took approximately on an Intel Core i5-6600 CPU with 8 GB RAM.
5.5 Simulation experiment results
The geometric errors ( , , ) relate to noise ( ) with approximately unit slope (Figure 4) for all constraints except for I, J, K, and L, whose errors ( , ) are constant with increasing noise. Constraints with fewer degrees of freedom are generally identified more accurately.
FIGURE 4.
Sensitivities of the geometric identification errors ( , , ) to noise ( ) in simulation experiments for all constraints of Figure 2.
5.6 Robot experiment results
Identifying constraint frames in demonstrations resulted in several candidate frame types (left, Table 4), each having associated degrees of freedom (middle, Table 4) and geometry (right, Table 4).
TABLE 4.
Identified constraint frames of robot demonstrations.
| Figure 2 label | Min. norm | Degrees of freedom* | Geometry error* | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Min. norm | |||||||||
| A | 863.7 .7 | ‡ | |||||||
| B | |||||||||
| 256.5 | ‡ | ||||||||
| D | 958.2 | ||||||||
| 156.4 | 185.7 | ||||||||
| I | 786.5 | ||||||||
| 93.9 | ‡ | ||||||||
| K | 260.2 | 430.8 | 716.1 | ||||||
| 68.3 | 99.4 | ||||||||
* In frame type with lowest minimized norm (bold). Italic: corresponds to ground-truth free axis. ‡Error used in reproduction (Figure 5).
Section 4 noted that optimal frame types may be classified as the one with the lowest norms of Equation 7 or Equation 8. For constraints where any frame type is valid, norms are expected to be similar between frame types. This holds for all and in A, but not for in B, D which have lowest norm in . For constraints where only one frame type is valid ( in I, K) the norms of the ground truth types are approximately half those of the other types. Therefore, frame types were classified correctly by the frame with the lowest minimized norm.
After classifying the optimal frame type, the associated degrees of freedom and geometry can be evaluated (middle, right, Table 4). If any threshold between is applied to all , and any between to all , the degrees of freedom of all five constraints (Table 2) are classified correctly. Suitable thresholds may be chosen at the midpoint of these ranges: for and 37 for . These midpoint thresholds are at least 5 standard deviations away from the means of and . The errors of the identified geometry are within , and .
6 Application to robot task reproduction
This section illustrates how robot tasks can be reproduced using control expressed in the identified constraint frames of Section 4, and how their identification errors ( , , ) may influence task performance. The Franka robot reproduced three straightforward endstop-to-endstop tasks involving constraints A, B, and I enforced by the mechanical setup from Section 5.2. An experiment is visualized in Figure 3C. We collected five trials for each task at a sample time and clipped each trial to .
6.1 Reproduction control
To reproduce the tasks, we used simple control based on the identified constraint frames from the experiments of Table 4, thereby illustrating simple LfD. We sent desired motor torques to the Franka torque controller based on constant desired wrenches (moments and forces ) expressed in the identified constraint frames. The torques and wrenches are related by , where is the robot pose-dependent Jacobian (Lynch and Park, 2017).
Desired motor torques were sent to the robot using Robotic Operating System (ROS, version Noetic Ninjemys) from Ubuntu 20.04 with the franka_ros package. During operation, the user and bystanders were outside the workspace of the robot, and the user monitored the task reproduction with the robot’s emergency stop in hand.
Desired wrenches were set to constant values ( and ) along the free axes of the identified constraint frames, and to zero ( and ) along the constrained axes. Therefore, the control for constrained task A applied a pure moment using the identified . The control for constrained task B applied a pure force using the identified . The control for constrained task I applied a moment and a force using the identified , , and , but for this experiment we set to isolate the effect of .
6.2 Effects of identification accuracy
During constrained task reproduction there will be reaction wrenches along the constrained axes, which we consider undesirable in these experiments. Such reaction wrenches can be caused by, among other factors, the control applying wrenches based on imperfect constraint identification. Therefore, we compared the reaction wrenches in case the constraint frames used in the controller contain no errors ( ), identification errors from methods in the literature that use prior knowledge (De Schutter et al., 1999; Niekum et al., 2015), and identification errors from our method without prior knowledge of the constraint (Table 4).
From the measured interaction wrenches ( and ) we determined the reaction wrenches (moments and forces ) along the ground-truth constrained axes (Figure 2), and determined their peak magnitudes and with . Thereby, we obtain a metric of how constraint identification accuracy influences undesirable reaction wrenches in task reproduction. The results are shown in Figure 5. Larger identification errors (i.e., from our method) were expected to cause larger reaction wrenches, but this is not necessarily the case. In all reproductions, the physical endstops of the setup were reached.
FIGURE 5.
The peak magnitude reaction wrenches ( , ) and their means and standard deviations over five reproductions of the tasks containing constraints (A–C). Colors represent the source of the errors in the constraint frame used in the control.
7 Discussion and conclusion
This work identifies constraints from kinematic data using constraint frames, consisting of a frame type that determines what body the frame is attached to, geometry that determines the orientation and position, and the degrees of freedom of velocities in that frame. First, frame geometries are identified by minimizing a norm on velocities in all frame types. Second, the optimal frame type is classified as the one with the lowest norm. Third, the degrees of freedom can be classified by thresholding the velocities in that frame.
7.1 Advantages
The method does not require force measurements, and can therefore be applied to any system that measures positions and orientations of constrained objects or manipulators. Examples include other (mobile) robotic arms with different kinematic chains, humanoid robots, and mobile robots constrained by their environments. Besides robotics, the method may also be applied to motion tracking systems, for example, to monitor human movement or estimate human joints (Ancillao et al., 2022). While impedance control was used to collect pose data and reproduce tasks, the constraint identification itself does not depend on force measurements. Because force measurements can improve identification accuracy it is the topic of future work (De Schutter et al., 1999; Subramani et al., 2020). Moreover, correct kinematics-based constraint identification requires that all true degrees of freedom are excited. Otherwise, there is no discernible difference between, e.g., a prismatic joint constraint and unconstrained but straight line translation, which will have the same apparent degrees of freedom.
The method requires no specific prior constraint models, nor estimates of geometry. Hence, there is no need to manually estimate or define constraints, which may be challenging to do exhaustively for all constraints that can be encountered in everyday settings. The method can identify a wide variety of constraints, of which twelve common examples were shown. However, many more can be identified by enumerating over all possibilities, including constraints where the angular and linear velocity frames are not orthogonal.
The method identifies a fixed number of intuitive parameters (Table 1). Methods that fit specific constraint models must identify and choose from multiple candidate models, each with their own parameters. Therefore, our method may be more efficient when many different constraints must be considered, such as in everyday settings.
Our identified constraint frames can be directly interpreted as “task frames” from the literature since both frames conveniently describe contact tasks (Bruyninckx and De Schutter, 1996; Mousavi Mohammadi et al., 2024). Although recent work on task frame identification by Mousavi Mohammadi et al. (2024) also has the above advantages, in this work we also classify constraints by discerning the degrees of freedom associated with our frames. Although we reproduced simple tasks, such frames can also be used to reproduce more complicated contact tasks with hybrid position and force control applied to the task frame axes (Conkey and Hermans, 2019; Ureche et al., 2015). Alternatively, impedance controller stiffness may be varied based on the identified constraints.
7.2 Limitations and future work
In this work, we applied our method to a window of kinematic data which we assume contains a single constraint. In future work, we will investigate how our method can be applied to data containing sequential constraints. Furthermore, we only considered single-contact constraints which can be modeled using a single constraint frame. Multiple-contact constraints, such as the two ends of a stick contacting separate planes, cannot be fully modeled using a single instance of the current method, since only one of the two contact points will be identified. However, a second instance of our method may identify a second contact point, if the second solution is (forced to be) distinct. Therefore, multiple contacts may be identified with multiple instances of our method, which is the topic of future work.
We defined constraint identification as a minimization problem and applied a general global-local optimization method. Improvements in accuracy and time efficiency may be achieved in several ways: by more efficient optimizer implementations, by choosing a different optimization method suited for our specific problem, or by tuning the optimization parameters. Furthermore, prior information may be useful for initialization. For example, a vision system may be used to identify a tool tip as prior information on constraint geometry.
Identifying constraint geometry does not require any parameter choice, but classifying the degrees of freedom requires two thresholds on RMS velocities, which can be chosen heuristically or empirically. Heuristically, thresholds may be chosen based on prior information, such as expected noise and expected velocities, which may differ between applications and measurement systems. If such prior information is available, classification may perform as expected without the need for threshold tuning. Empirically, thresholds may be chosen following demonstrations with known ground-truth constraints (Section 5). If such demonstrations are available and representative of future tasks, no explicit prior information about noise and velocities are needed, which may be more convenient depending on the application.
Geometric identification errors were found to scale linearly with noise in simulation experiments, and the exact scaling varies with the underlying constraints. Errors in robot experiments were larger than those in simulation experiments, which may be due to unmodeled factors such as structural compliance. Classification of the ground-truth constraint frame type was successful in all robot experiments. An analysis of factors that influence identification and classification performance is outside the scope of this work, such as the constraint, the optimizer, the relative direction and magnitude of motion, and the sample size.
Constraint identification methods in the literature report geometric identification accuracies using different metrics. In our method, we report the geometric parameter errors between points, lines, and planes. Methods that use similar metrics report similar errors: within 1–7.5 mm and 0.5–5 deg for point-on-plane contacts, prismatic, and revolute joints (De Schutter et al., 1999; Sturm et al., 2011; Mousavi Mohammadi et al., 2024). Other methods report the fitness between observations and their candidate constraint models (Sturm et al., 2011; Subramani et al., 2018; Subramani et al., 2020; van der Walt et al., 2025). Of such methods, the most accurate report sub-millimeter mean fit errors (Subramani et al., 2018). While such sub-millimeter mean model fit errors are not directly comparable to geometric parameter errors, they may correspond to sub-millimeter geometric errors.
While our method may be more versatile, it may yield larger geometric identification errors than methods that fit specific constraint models to data. Regardless, such larger errors (e.g., 5 mm instead of 0.5 mm) did not lead to substantially larger reaction wrenches in simple reproduction experiments with the default Franka controller (Section 6). Furthermore, similar errors have been shown to lead to acceptable performance in more complicated tasks in related work (Mousavi Mohammadi et al., 2024). The obtained accuracy may therefore be sufficient for such tasks, and other factors may have a greater effect on task performance, such as the task definition, environment, robot, controller, and definition of success. For example, control methods that are designed for compliant contact, such as impedance control, may be more robust to misidentified constraint geometry than non-compliant control. We aim to apply such compliant control methods to reproduce constrained tasks through LfD in future work.
7.3 Conclusion
This work identified constraint frames in robot tasks without prior knowledge of the constraints or tasks and without force measurements. Automatically modeling such robot-environment interactions, for example, in the context of Learning from Demonstration, may support versatile autonomous robot applications.
Acknowledgments
The authors would like to thank Arvid Q.L. Keemink and Gwenn Englebienne for their insight into sparse optimization. This work has previously appeared as a preprint (Overbeek et al., 2025).
Funding Statement
The author(s) declare that financial support was received for the research and/or publication of this article. This research was funded by the Dutch Ministry of Education, Culture, and Science through the Sectorplan Bèta en Techniek.
Footnotes
Data availability statement
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.
Author contributions
AO: Conceptualization, Data curation, Formal Analysis, Investigation, Methodology, Project administration, Software, Supervision, Validation, Visualization, Writing – original draft, Writing – review and editing. DD: Supervision, Writing – review and editing. HvdK: Funding acquisition, Resources, Supervision, Writing – review and editing. MV: Conceptualization, Methodology, Project administration, Resources, Supervision, Writing – review and editing.
Conflict of interest
The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.
Generative AI statement
The author(s) declare that no Generative AI was used in the creation of this manuscript.
Publisher’s note
All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.
References
- Ancillao A., Verduyn A., Vochten M., Aertbeliën E., De Schutter J. (2022). A novel procedure for knee flexion angle estimation based on functionally defined coordinate systems and independent of the marker landmarks. Int. J. Environ. Res. Public Health 20, 500. 10.3390/ijerph20010500 [DOI] [PMC free article] [PubMed] [Google Scholar]
- Bruyninckx H., De Schutter J. (1993a). Kinematic models of rigid body interactions for compliant motion tasks in the presence of uncertainties. Proc. IEEE Int. Conf. Robotics Automation 1, 1007–1012. 10.1109/ROBOT.1993.292107 [DOI] [Google Scholar]
- Bruyninckx H., De Schutter J. (1996). Specification of force-controlled actions in the “task frame formalism”-a synthesis. IEEE Trans. robotics automation 12, 581–589. 10.1109/70.508440 [DOI] [Google Scholar]
- Bruyninckx H., De Schutter J., Dutre S. (1993b). The “reciprocity” and “consistency” based approaches to uncertainty identification for compliant motions. Proc. IEEE Int. Conf. Robotics Automation 1, 349–354. 10.1109/ROBOT.1993.292006 [DOI] [Google Scholar]
- Bullen P. S. (2003). Handbook of means and their inequalities. Netherlands, Dordrecht: Springer. [Google Scholar]
- Cabras S., Castellanos M. E., Staffetti E. (2010). Contact-state classification in human-demonstrated robot compliant motion tasks using the boosting algorithm. IEEE Trans. Syst. Man, Cybern. Part B Cybern. 40, 1372–1386. 10.1109/TSMCB.2009.2038492 [DOI] [PubMed] [Google Scholar]
- Conkey A., Hermans T. (2019). Learning task constraints from demonstration for hybrid force/position control. IEEE-RAS Int. Conf. Humanoid Robots 2019-Octob, 162–169. 10.1109/Humanoids43949.2019.9035013 [DOI] [Google Scholar]
- de Schutter J., Bruyninckx H., Dutré S., de Geeter J., Katupitiya J., Demey S., et al. (1999). Estimating first-order geometric parameters and monitoring contact transitions during force-controlled compliant motion. Int. J. Robotics Res. 18, 1161–1184. 10.1177/02783649922067780 [DOI] [Google Scholar]
- Hausman K., Niekum S., Osentoski S., Sukhatme G. S. (2015). “Active articulation model estimation through interactive perception,” in 2015 IEEE international conference on robotics and automation (ICRA). Presented at the 2015 (IEEE International Conference on Robotics and Automation ICRA; ), 3305–3312. 10.1109/ICRA.2015.7139655 [DOI] [Google Scholar]
- Holladay R., Lozano-Pérez T., Rodriguez A. (2021). Planning for multi-stage forceful manipulation. arXiv, 6556–6562. 10.1109/icra48506.2021.9561233 [DOI] [Google Scholar]
- Jain A., Niekum S. (2018). “Efficient hierarchical robot motion planning under uncertainty and hybrid dynamics,” in Proceedings of the 2nd conference on robot learning. Presented at the conference on robot learning (PMLR; ), 757–766. [Google Scholar]
- Kroemer O., Niekum S., Konidaris G., (2020). A review of robot learning for manipulation: challenges, representations, and algorithms. arXiv:1907.03146. [Google Scholar]
- Lefebvre T., Bruyninckx H., Schutter J. D. (2005). Online statistical model recognition and State estimation for autonomous compliant motion. IEEE Trans. Syst. Man, Cybern. Part C Appl. Rev. 35, 16–29. 10.1109/TSMCC.2004.840053 [DOI] [Google Scholar]
- Li X., Baum M., Brock O. (2023). “Augmentation enables one-shot generalization in learning from demonstration for contact-rich manipulation,” in 2023 IEEE/RSJ international conference on intelligent robots and systems (IROS). Presented at the 2023 (IEEE/RSJ International Conference on Intelligent Robots and Systems IROS; ), 3656–3663. 10.1109/IROS55552.2023.10341625 [DOI] [Google Scholar]
- Li X., Brock O. (2022). Learning from demonstration based on environmental constraints. IEEE Robotics Automation Lett. 7, 10938–10945. 10.1109/LRA.2022.3196096 [DOI] [Google Scholar]
- Lynch K. M., Park F. C. (2017). Modern robotics: mechanics, planning, and control. Cambridge University Press. [Google Scholar]
- Meeussen W., Rutgeerts J., Gadeyne K., Bruyninckx H., De Schutter J. (2007). Contact-state segmentation using particle filters for programming by human demonstration in compliant-motion tasks. IEEE Trans. Robotics 23, 218–231. 10.1109/tro.2007.892227 [DOI] [Google Scholar]
- Mousavi Mohammadi S. A., Vochten M., Aertbeliën E., De Schutter J. (2024). Automatic extraction of a task frame from human demonstrations for controlling robotic contact tasks. arXiv. 10.48550/arXiv.2404.01900 [DOI] [Google Scholar]
- Niekum S., Osentoski S., Atkeson C. G., Barto A. G. (2015). Online Bayesian changepoint detection for articulated motion models. Proc. - IEEE Int. Conf. Robotics Automation 2015-June, 1468–1475. 10.1109/ICRA.2015.7139383 [DOI] [Google Scholar]
- Oriolo G., Vendittelli M. (2009). “A control-based approach to task-constrained motion planning,” in 2009 IEEE/RSJ international conference on intelligent robots and systems. Presented at the 2009 IEEE/RSJ international conference on intelligent robots and systems, 297–302. 10.1109/IROS.2009.5354287 [DOI] [Google Scholar]
- Overbeek A. H. G., Dresscher D., Van der Kooij H., Vlutters M. (2025). Versatile kinematics-based constraint identification applied to robot task reproduction. Preprint. Available online at: https://research.utwente.nl/en/publications/versatile-kinematics-based-constraint-identification-applied-to-r (Accessed May 31, 2025).
- Simonič M., Ude A., Nemec B. (2024). Hierarchical learning of robotic contact policies. Robotics Computer-Integrated Manuf. 86, 102657. 10.1016/j.rcim.2023.102657 [DOI] [Google Scholar]
- Slaets P., Lefebvre T., Rutgeerts J., Bruyninckx H., De Schutter J. (2007). Incremental building of a polyhedral feature model for programming by human demonstration of force-controlled tasks. IEEE Trans. Robotics 23, 20–33. 10.1109/TRO.2006.886830 [DOI] [Google Scholar]
- Sturm J., Jain A., Stachniss C., Kemp C. C., Burgard W. (2010). “Operating articulated objects based on experience,” in 2010 IEEE/RSJ international conference on intelligent robots and systems. Presented at the 2010 IEEE/RSJ international conference on intelligent robots and systems, Taipei, Taiwan, 2739–2744. 10.1109/IROS.2010.5653813 [DOI] [Google Scholar]
- Sturm J., Stachniss C., Burgard W. (2011). A probabilistic framework for learning kinematic models of articulated objects. J. Artif. Intell. Res. 41, 477–526. 10.1613/jair.3229 [DOI] [Google Scholar]
- Subramani G., Hagenow M., Gleicher M., Zinn M. (2020). A method for constraint inference using pose and wrench measurements. arXiv. 10.48550/arXiv.2010.15916 [DOI] [Google Scholar]
- Subramani G., Zinn M., Gleicher M. (2018). “Inferring geometric constraints in human demonstrations,” in Proceedings of the 2nd conference on robot learning. Presented at the conference on robot learning (Zürich, Switzerland: PMLR; ), 223–236. [Google Scholar]
- Suomalainen M., Abu-Dakka F. J., Kyrki V. (2021). Imitation learning-based framework for learning 6-D linear compliant motions. Auton. Robot. 45, 389–405. 10.1007/s10514-021-09971-y [DOI] [Google Scholar]
- Ureche A. L. P., Umezawa K., Nakamura Y., Billard A. (2015). Task parameterization using continuous constraints extracted from human demonstrations. IEEE Trans. Robotics 31, 1458–1471. 10.1109/TRO.2015.2495003 [DOI] [Google Scholar]
- Van der Walt C., Stramigioli S., Dresscher D. (2025). Mechanical constraint identification in model-mediated teleoperation. IEEE Robotics Automation Lett. 10, 5777–5782. 10.1109/LRA.2025.3560893 [DOI] [Google Scholar]
- Xiang Y., Gubian S., Suomela B., Hoeng J. (2013). Generalized simulated annealing for global optimization: the GenSA package. R J. 5 (1), 13–29. 10.32614/RJ-2013-002 [DOI] [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Data Availability Statement
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.




