Next Article in Journal
Recognition of Impact Load on Connecting-Shaft Rotor System Based on Motor Current Signal Analysis
Previous Article in Journal
DeployFusion: A Deployable Monocular 3D Object Detection with Multi-Sensor Information Fusion in BEV for Edge Devices
Previous Article in Special Issue
Recognition of Chinese Electronic Medical Records for Rehabilitation Robots: Information Fusion Classification Strategy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Leveraging Environmental Contact and Sensor Feedback for Precision in Robotic Manipulation

1
Department of Automatics, Biocybernetics and Robotics, Jožef Stefan Institute, Jamova cesta 39, 1000 Ljubljana, Slovenia
2
Jožef Stefan International Postgraduate School, Jamova cesta 39, 1000 Ljubljana, Slovenia
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(21), 7006; https://doi.org/10.3390/s24217006 (registering DOI)
Submission received: 27 September 2024 / Revised: 22 October 2024 / Accepted: 29 October 2024 / Published: 31 October 2024
(This article belongs to the Special Issue Dynamics and Control System Design for Robot Manipulation)

Abstract

:
This paper investigates methods that leverage physical contact between a robot’s structure and its environment to enhance task performance, with a primary emphasis on improving precision. Two main approaches are examined: solving the inverse kinematics problem and employing quadratic programming, which offers computational efficiency by utilizing forward kinematics. Additionally, geometrical methods are explored to simplify robot assembly and reduce the complexity of control calculations. These approaches are implemented on a physical robotic platform and evaluated in real-time applications to assess their effectiveness. Through experimental evaluation, this study aims to understand how environmental contact can be utilized to enhance performance across various conditions, offering valuable insights for practical applications in robotics.

1. Introduction

Industrial robots are widely recognized for their exceptional repeatability and precision, essential attributes in many manufacturing and production environments [1]. However, the rise of collaborative robots (cobots) has shifted the focus toward prioritizing safety in human–robot interaction [2,3,4]. Although cobots are engineered for safe, close-quarters collaboration with humans [5], this emphasis on safety can sometimes come at the cost of precision, particularly in tasks requiring intricate and dynamic movements [6,7]. Maintaining high accuracy becomes even more challenging when cobots are required to perform precise dynamic actions, as their inherent mechanical joint stiffness—stemming from their structural design—can limit the robot’s ability to achieve the desired motion accuracy [7].
To address this limitation, we propose a novel solution that leverages physical contact to enhance precision. Drawing inspiration from human behavior [8,9], where individuals often stabilize their hands against a surface during tasks requiring fine motor control [10], we recognize that this technique is commonly used in everyday activities like writing or assembling objects to improve accuracy. Additionally, studies show that children frequently stabilize their forearms when learning new motor skills, highlighting the role of physical stabilization in achieving precision [11]. This principle is equally critical in specialized tasks, such as pipetting in laboratories or performing delicate surgical procedures, where even minor deviations can lead to significant consequences. Our approach applies this concept by positioning the robot to intentionally contact a stable surface during operation, reducing the effects of joint stiffness and mechanical inaccuracies, thereby significantly enhancing precision in dynamic tasks. By integrating this approach, cobots can achieve a balance between safety and precision, expanding their utility in scenarios where both attributes are equally important. The implementation of this strategy could revolutionize how cobots are used in various industries, enhancing their versatility and efficiency in tasks that require both collaborative safety and high precision.
Leaning on a surface introduces a multi-task problem for robotic mechanisms [12], requiring the robot to handle multiple objectives simultaneously. We first explore methods that enable robots to perform such tasks in parallel. For example, one task may involve the robot’s end effector following a designated trajectory, while the second task requires the robot to maintain contact with a surface, applying a predefined force. Before examining the methods that enable this kind of multi-task execution, it is essential to note that all tasks can be described within two distinct operational spaces.
The paper is organized as follows. In Section 2, we provide the background and explore methods for solving inverse kinematics as well as the optimization approach. Section 4 presents the experimental validation of the different methods. Finally, a critical review and conclusions are discussed in Section 5.

2. Review of Methods

To establish a foundation for our contributions and elucidate the distinctions in our approach, we begin by revisiting the fundamental concepts of joint space and task space. This review serves to emphasize the critical differences between these spaces and to provide essential context for explaining the methodology and its advancements. By reaffirming these core principles, we aim to demonstrate how the proposed approach not only builds upon but also extends current techniques in robotic control.
The first space, referred to as joint space, is represented as q = [ q 0 , q 1 , , q N 1 ] , where N denotes the number of joints in the mechanism. Joint space uniquely defines the configuration of the robotic mechanism. The task for the robotic mechanism, however, is described in the task space, which provides an alternative representation of the robot’s behavior. Typically, task space is defined in Cartesian coordinates; however, it can be arbitrarily defined in other coordinate systems depending on the task requirements. Task space is represented as x = [ x 1 , x 2 , , x M ] , where M denotes the number of degrees of freedom (DOF) required for the task. Given that N > M , the task space description has redundancy, allowing for multiple joint configurations to achieve the same task. These two spaces are mathematically related through the forward kinematics Equation [13]
x = p ( q ) .
The forward kinematic equation can be expressed as a non-linear function p . By differentiating this equation, an expression is obtained that describes how changes in the configuration of the robotic mechanism affect the task space. This relationship is captured by the following equation
x ˙ = J q ˙ ,
where J ( q ) represents the Jacobian matrix, which relates the velocity in joint space q ˙ to the velocity in task space x ˙ . The Jacobian provides a linear approximation of how the task space variables change in response to small changes in the joint space configuration. This equation is critical for controlling the mechanism, as it allows for direct manipulation of the task space through joint space adjustments.
For the effective control of the robotic mechanism along a desired trajectory in task space, it is essential to compute the necessary changes in joint configuration that correspond to specific task space movements. This leads to the consideration of the inverse kinematic equation, which forms the foundation for solving the problem of determining joint space adjustments to achieve the desired task space behavior. The inverse kinematics formulation is given as follows:
q ˙ = J * x ˙ .
In this context, J * represents a generalized inverse operator, typically employed to address the non-invertibility of the Jacobian matrix to address redundancy [14]. As a consequence of the redundancy inherent in such robotic systems, there exist numerous methods for controlling the robot. These control strategies can be broadly classified into two categories, as follows:
  • Methods for solving inverse kinematics;
  • Methods based on optimization approach.

2.1. Methods for Solving Inverse Kinematics

The first approach focuses on methods that solve Equation (2). The primary distinction between these methods lies in how they compute an approximation for the inverse of the Jacobian matrix J . Initially, different approaches for calculating the inverse of the Jacobian matrix J will be examined. Following this, methods for controlling the robot mechanism based on these approximations will be explored.
In the context of redundant manipulators, the Moore–Penrose pseudo-inverse is employed for its capability to manage rank-deficient matrices. It is particularly useful when solving Equation (2), which can be interpreted as finding a solution that minimizes the distance J q ˙ x ˙ . If the Jacobian matrix J undergoes Singular Value Decomposition (SVD) as
J = U Σ V T = i = 1 n σ i u i v i T ,
then the solution to the minimization problem min J q ˙ x ˙ can be derived using the pseudo-inverse, and is given by
J + x ˙ = V Σ + U T x ˙ = i = 1 n v i 1 σ i u i T x ˙ .
As discussed in [15], Equation (5) reveals that the pseudo-inverse operator introduces discontinuities near singular configurations of the robot. This implies that the Jacobian Pseudo-inverse (JP) algorithm tends to produce large q ˙ values when the system approaches singularity. A useful metric for determining proximity to a singular value is the condition number, defined as
κ ( J ) = σ 1 σ n , where σ 1 > > σ n > 0 , and as σ n 0 .
The condition number κ ( J ) approaches infinity as σ n 0 , indicating that the Jacobian Pseudo-inverse (JP) algorithm produces large q ˙ values when the system is under high conditioning [16]. This behavior is particularly problematic near singular configurations, where the smallest singular value σ n becomes very small, leading to numerical instability in the control of the manipulator.
In contrast, the Jacobian Transpose (JT) algorithm can avoid the large gains associated with the JP method, as noted in [17], but the underlying conditioning issue persists. Consequently, both the JP and JT approaches are vulnerable to high condition numbers, which can result in numerical instability and excessively large joint velocity magnitudes, particularly as the manipulator nears singular configurations.
Additionally, reducing the global gain is not an effective strategy, as it uniformly decreases the gain in all directions, including those in which the robot should move efficiently. To address the issue of excessive gains, Selective Damping (SD) has been proposed as a solution [18]. This method targets specific directions, thereby mitigating the problem of large joint velocities. However, while SD effectively manages gain-related issues, it does not fully resolve problems related to singularities, such as the loss of rank in the Jacobian matrix and the occurrence of algorithmic singularities in robotic manipulators.
To mitigate the effects of singularities, several alternative algorithms have been proposed. One such method is Jacobian Damping (JD) [19], where a small diagonal term λ is added when computing the pseudo-inverse of the Jacobian matrix. This approach increases all singular values, helping to avoid the singularity problem. However, it also decreases the overall accuracy of the solution due to the uniform increase in singular values.
Another method, the Filtered Jacobian algorithm (JF) [20], introduces a damping term λ that varies depending on the proximity of the robot to a singularity. This approach allows for more adaptive control of the robot near singular configurations. Both the JD and JF algorithms reduce the conditioning of the system, thereby avoiding singularities, but this comes at the cost of significant precision loss, particularly when the robot operates near singular values [16].
The Error Damping (ED) approach [21] involves dynamically adjusting the damping factor of the pseudo-inverse based on the norm of the current error. This strategy helps to mitigate large joint velocity gains when the target is far from the current position, ensuring smoother control. However, this method proves less effective near singularities, as the error norm does not serve as an adequate damping factor in those situations. Consequently, while ED can be beneficial for general control, it does not fully address the issues posed by singular configurations in robotic manipulators.
To improve the Error Damping (ED) method, the IED algorithm [22] introduces a diagonal matrix Ω = diag ( ω 1 , , ω n ) , which adjusts the damping effect more effectively, particularly near singularities. This enhancement ensures better control of the manipulator by modulating the damping based on both the error and system configuration.
In addition, the paper [16] proposes a novel algorithm that filters the Jacobian matrix by selectively modifying its singular values. This approach generates an alternative pseudo-inverse that consistently maintains full rank and ensures a bounded condition number. By doing so, the algorithm improves stability and accuracy, even in the presence of singularities, while avoiding the excessive joint velocity gains associated with conventional pseudo-inverse methods.
The review of methods can be seen in Table 1.
Table 2 summarizes the key advantages and disadvantages of various Jacobian-based inverse kinematics methods for controlling redundant manipulators. Each method offers distinct trade-offs in terms of stability, precision, and handling of singular configurations.
Focusing on the control problem, one of the possible approaches is the Jacobian Weighting (JW) algorithm [24], where a weight matrix W is applied in joint space. This enables prioritization of specific joints for task completion, allowing the controller to assign higher importance to joints nearing their operational limits. When a joint approaches or exceeds its limit, Joint Clamping (JC) [25] can be used to restrict or block the joint’s movement to prevent constraint violations.
Additionally, tasks and their associated Jacobian matrices can be combined using the Augmented Jacobian (JA) method. This concept of task-space augmentation was independently introduced by Sciavicco and Siciliano [26,27,28] and by Egeland [29]. The JA method allows multiple tasks to be incorporated into a single Jacobian representation, enhancing control flexibility. Furthermore, by incorporating task-specific weighting factors into the JA framework, we obtain the Weighted Augmented Jacobian (WJA) method [30].
Another approach, the Gradient Projection (GP) method [31], utilizes the robot’s redundancy to solve secondary tasks by projecting them into the null space of the primary task. This is achieved through the kernel projection operator N = I J + J . By applying this operator, the inverse kinematics Equation (3) is modified to:
q ˙ = J * x ˙ + N q 0 ,
where q 0 represents a secondary task. This formulation allows the secondary task to be performed without interfering with the primary task, leveraging the robot’s redundancy for more efficient control.
When dealing with multiple tasks, the Task Priority (TP) strategy [32] can be applied. In this approach, the highest-priority task is addressed first, while lower-priority tasks are executed in a manner that does not interfere with the completion of the higher-priority tasks. These lower-priority tasks are projected into the null space of the higher-priority tasks, ensuring that they do not conflict with the primary objective.
One challenge with this strategy, as highlighted in [16,23], is that the pseudo-inverse operator is not continuous, which can lead to abrupt changes in the control behavior. To address this, the authors proposed a method to make the pseudo-inverse operator continuous, resulting in a new strategy called Continuous Task Priority (CTP). This modification ensures smoother task execution by maintaining continuity in the control solution across different task priorities.
The review of methods can be seen in Table 3.

2.2. Optimization Approach

The traditional Jacobian-based approach can be computationally expensive in certain scenarios [33]. In this section, an alternative method will be explored, which controls robots without directly computing the inverse kinematics. The key concept behind the optimization approach is the formulation of an objective function that is minimized subject to a set of constraints. This method allows for more flexible control, particularly in complex tasks where inverse kinematics may not be efficient or easily solvable.
However, in the context of an optimization problem, it is typically challenging to make definitive statements about the existence or nature of the solution. Nevertheless, by framing the problem as a convex optimization program, convex optimization theory provides tools to determine both the existence and uniqueness of a solution, given certain conditions [34]. This approach ensures that, under convexity, the solution is not only feasible but also optimal and unique, offering a more structured framework for solving control problems in robotics.
The optimization approach offers a versatile framework for addressing various objectives in robotic control. It allows for minimizing least-square joint velocities [35], maximizing joint range availability [36], and avoiding singularities [37,38]. Recent studies have expanded these applications to include more complex scenarios, such as optimizing energy efficiency [39], improving compliance in human–robot interaction [40], and reducing human fatigue through optimized robot trajectories [41].
This method is also valuable for torque optimization [42] and solving multi-task problems [43], where competing objectives need to be balanced. In recent years, researchers have applied optimization techniques to ensure safe navigation in dynamic environments through real-time trajectory adjustments [44], expanding the method’s applicability to more advanced autonomous systems. Additionally, the approach has proven effective for obstacle avoidance [32,45] and has been enhanced with predictive models to improve planning in uncertain environments [46].
However, before applying this theory, it is essential to introduce a few key definitions to establish the necessary foundation.
Definition 1. 
A set A R n is affine, if for every x , y A and every λ R holds:
( 1 λ ) x + λ y A .
Definition 2. 
A set A R n is convex, if for every x , y A and every λ [ 0 , 1 ] holds:
( 1 λ ) x + λ y A .
From Definitions 1 and 2, it follows that every affine set is also a convex set. The next step is to examine the conditions under which a function is convex and when it is affine.
Definition 3. 
Function f : U V is affine if it holds:
f ( ( 1 λ ) x + λ y ) = ( 1 λ ) f ( x ) + λ f ( y ) ,
for every x , y U and λ R .
Definition 4. 
Function f : D R n R is convex if its domain D is convex set and it holds:
f ( ( 1 λ ) x + λ y ) ( 1 λ ) f ( x ) + λ f ( y ) ,
for every x , y D and λ [ 0 , 1 ] .
In general, optimization problems can be formulated as:
minimize f 0 ( x ) subject to : f i ( x ) < = 0 , i = 1 , , m h j ( x ) = 0 , j = 1 , , p .
In this formulation, f 0 ( x ) represents the objective function, while the functions f i ( x ) for i = 1 , , m and h j ( x ) for j = 1 , , p are the inequality and equality constraints, respectively. These constraints can represent various physical and operational limitations, such as joint rate bounds, joint angle limits, joint acceleration constraints, and other task-specific requirements.
For the optimization program from (12) to qualify as a convex program, the objective function f 0 and the constraint functions f 1 , , f m must be convex functions, while the equality constraint functions h 1 , , h p must be affine functions. This ensures that the problem remains tractable and can be efficiently solved using convex optimization techniques.
Convex optimization programs have several useful properties, which can be formally described by the following theorems:
Theorem 1. 
In a convex optimization problem as defined in (12), every local minimum is also a global minimum.
Proof. 
The proof is provided in [47], page 87. □
Theorem 2. 
Consider the convex optimization problem (12). Suppose that f 0 is strictly convex on the feasible set F . If an optimal solution exists, then it is unique.
Proof. 
Suppose there exist two distinct optimal solutions, x and y ( x y ). This implies that for every z F , the following holds:
f ( x ) = f ( y ) f ( z ) .
Now, let z = 1 2 ( x + y ) . Since the set F is convex, it follows that z F . Given that f 0 ( x ) is strictly convex, we have:
f ( z ) = f 1 2 x + 1 2 y < 1 2 f ( x ) + 1 2 f ( y ) = f ( x ) .
This leads to a contradiction, which proves the uniqueness of the solution. □
Theorem 3. 
In a convex optimization problem (12), if f 0 is continuously differentiable, then x is an optimal solution if and only if x is feasible and satisfies the following condition:
f 0 ( x ) T ( y x ) 0 ,
for all y F .
Proof. 
The proof is detailed in [34], page 139, under Section 4.2.3: “An optimality criterion for differentiable f 0 . □
The result of Theorem 3 implies that, for a convex optimization problem of the form
minimize f 0 ( x ) subject to : A x = b ,
where f 0 is continuously differentiable convex function and A R p × n , b R p . Then, the x * is an optimal solution if and only if, there exists v * R p , that it holds
A x * = b and f 0 ( x * ) + A T v * = 0 .
The vector v originates from Lagrange dual theory, which will not be detailed here but is thoroughly explained in [34].
For example, consider an optimization problem of the form where P 0 :
minimize 1 2 x T P x + q T x subject to : A x = b ,
where A R p × n and b R p . Let assume that rank r ( A ) = p < n . Then, it follows from Equation (17) that x * R n is the optimal solution if and only if there exists v * R p such that the following is true:
A x * = b and P x * + q + A T v * = 0 .
This implies that the optimal solution can be obtained by solving a system of n + p linear equations of the form
P A T A 0 x * v * = q b ,
for n + p parameters. The system (20) can result in three different cases:
  • If the matrix is invertible, a unique solution for x * is obtained.
  • If the matrix is singular but the system is solvable, any solution is considered optimal.
  • If the system is not solvable, the optimization problem is either unbounded or infeasible.
The following statements are known to be equivalent:
  • The matrix P A T A 0 is non-singular.
  • A x = 0 , x 0 x T P x > 0 .
  • P + A T A 0 .
In summary, the outcome of the optimization problem is determined by the selection of the matrix P . By choosing P to be positive definite, the program ensures a unique optimal solution, provided a feasible solution exists. This choice guarantees that the problem is well-posed, preventing issues such as singularity or non-uniqueness in the solution.
Optimization approaches provide significant advantages by offering a wide range of methods for solving problems, either analytically or through iterative techniques. For unconstrained convex optimization problems, two widely used methods are the gradient descent method and Newton’s method
The gradient method is a versatile tool for iteratively approaching a minimum. Starting from the current approximation x ( k ) , it selects a direction vector Δ x ( k ) R n and updates the next approximation according to
x ( k + 1 ) = x ( k ) + t ( k ) Δ x ( k ) ,
where t ( k ) 0 represents the step size. The goal is to reduce the value of the objective function f at each iteration, ensuring that f ( x ( k + 1 ) ) < f ( x ( k ) ) . The choice of t ( k ) determines the specific variant of the method, with common strategies including exact line search or backtracking line search techniques [34,48].
Newton’s method takes a more advanced approach to optimization compared to gradient-based methods. If the function f is quadratic, the optimal solution can be determined by updating the current point x using the Newton step Δ x n t , where
Δ x n t = 2 f ( x ) 1 f ( x ) .
In regions near the current approximation x, the function f can be closely approximated by a quadratic function f ^ , and the minimum of f ^ determines the next approximation. As the solution approaches the optimal point x * (where f ( x ) 0 ), f ^ becomes a more accurate representation of f. Additional details on this method can be found in the literature [34,49].
For optimization problems with linear constraints or inequalities, interior-point methods provide effective solutions, as detailed in [34]. Popular variants include interior-point barrier methods and primal-dual interior-point methods, each tailored to specific problem structures.
Additionally, AI-based methods such as genetic algorithms [50,51] and neural networks, as discussed in [52], offer alternative approaches for solving optimization challenges, particularly in complex domains like robotic manipulator modeling and control.

3. Exploiting Leaning on Surface for Accurate End-Effector Motion

In robotic manipulation, executing complex tasks often requires the ability to manage multiple objectives simultaneously. One such scenario is the interaction of a robot with external surfaces, where both stability and dynamic motion are critical. By leaning the robot mechanism onto a stable surface, the system can leverage the external force for enhanced stability, allowing for more efficient execution of secondary tasks, such as dynamic end-effector motion. This two-task approach is not only relevant for practical applications but also challenges the robot’s ability to control both contact forces and motion.
Previous sections reviewed various optimization and control methods, including task-priority strategies, which are well-suited for handling multi-task problems. In this context, the concept of surface leaning can be framed as a specific instance of a two-task control problem, where force control and dynamic motion must be managed concurrently. This paper explores the application of these control strategies to achieve desired outcomes in such scenarios.
The concept involves the robot leaning against a surface while maintaining a desired force, F d , and simultaneously performing dynamic motion with its end effector. Either task can be prioritized depending on the specific application. This concept is illustrated in Figure 1.
To illustrate the first task, we simplified the scenario without loss of generality. In this case, the objective is for the robot mechanism to exert a force on an object using the segment between the second and third joints. Consequently, this task is exclusively related to the control of the first and second joints, with the corresponding Jacobian matrix taking the following form
J f = 1 0 0 0 0 0 0 0 1 0 0 0 0 0 .
It is crucial to emphasize that the Jacobian matrix in this scenario is non-invertible. To address this issue, we apply the Moore–Penrose pseudo-inverse, which yields
J f + = 1 0 0 0 0 0 0 0 1 0 0 0 0 0 T .
Please note that the resulting pseudo-inverse, represented as J f + , is essentially the transpose of the original Jacobian matrix J f .
There are two possible approaches to solve this first task. Assuming the target force magnitude is denoted by F d , the necessary adjustment to achieve the desired force can be computed as e f = F d F . Based on the experimental setup illustrated in Figure 1 and considering the robot’s kinematics, it becomes evident that the first joint cannot generate the required vertical force. Given this limitation, the approach can be simplified by setting the first component of the vector e f to zero without loss of generality. Considering the significant influence of the second joint on the leaning force, the vector e f can be effectively represented as e f = [ 0 , e f ] T .
The second option for addressing the leaning task is to use a weighted pseudo-inverse. This method enables control over which joints contribute to the leaning task and to what extent, by selecting appropriate weights. As a result, this approach can be applied to a variety of leaning tasks, where multiple joints are involved in generating the desired force, allowing for more flexible and efficient task execution.
To enable the robot to perform an additional task, a controller can be defined as follows
q ˙ d = J f + K f e f + N f J x * K x e x ,
where N f represents the null-space projection of J f . Additionally, K f and K x denote the proportional gains for the force-feedback and Cartesian controllers, respectively. Furthermore, J x * is defined as an approximation of the inverse of the Jacobian matrix J x for the secondary task.
The first task has already been addressed. The focus now shifts to solving the second task. As explained in earlier sections, two primary approaches are available for this problem: the first approach utilizes inverse kinematics methods, while the second employs quadratic programming techniques. Each approach provides distinct advantages based on the structure and requirements of the task.

3.1. Gradient Projection and Jacobian Pseudo Inverse

This method enables a robotic mechanism to solve multi-task problems in a hierarchical manner. The primary task is prioritized and solved first, while the secondary task is addressed within the null space of the primary task. This hierarchical approach ensures that the secondary task does not interfere with the performance of the primary task, allowing for efficient multi-task execution.
In our use case scenario, the primary task involves leaning on a surface and maintaining a force of F d = 10 N . The Jacobian matrix for this task, as defined in Equation (23), is used to compute the null space via the projection operator N = I J + J . Given that the Jacobian matrix J f has dimensions 2 × 7 , the resulting null space matrix N will have dimensions 7 × 7 , corresponding to the robot’s 7 degrees of freedom (DOF). This null-space projection allows for executing secondary tasks without affecting the primary force control task.
In this scenario, the Jacobian Pseudo-inverse method is applied to solve the second task. Let x d represent the desired pose of the robotic mechanism and x denote its current pose. The vector e = x x d represents the pose error, or the required adjustment to the pose for task completion.
By utilizing the inverse kinematics Equation (3) and approximating the inverse of the Jacobian matrix J for the second task with its pseudo-inverse, the problem is addressed. This approach ensures that the pose error is minimized while maintaining the constraints of the primary task.
It is crucial to emphasize that the success of solving the secondary task is contingent upon the mechanism’s ability to first accomplish the primary task. As a result, the choice of the primary task is of paramount importance in this method, as it directly impacts the feasibility and effectiveness of executing the secondary task within the null space.

3.2. Gradient Projection and Jacobian Weighting

The rationale behind employing the weighting method is to improve upon the standard pseudo-inverse approach. The standard pseudo-inverse typically selects a solution that minimizes the second norm, resulting in smoother movements by assigning equal importance to all joints. By applying weights, the Jacobian Weighting method allows for prioritization of specific joints, enhancing the control flexibility in executing the secondary task.
However, a drawback of the standard pseudo-inverse approach is that it considers all joints equally, regardless of their relevance to the primary task. To address this, the Jacobian Weighting method is introduced, which employs the Jacobian matrix J of the secondary task, weighted by the null space of the primary task. This ensures that the solution for the secondary task exclusively utilizes joints that do not interfere with the primary task. The Jacobian Weighting method is structured as follows
J x + = N f 1 J x T ( J x N f 1 J x T + μ I ) 1 .
The Jacobian Weighting method generates solutions that do not interfere with the primary task, offering superior accuracy compared to the standard pseudo-inverse method. By prioritizing joints that have minimal impact on the primary task, this method enhances the precision of the robot’s end-effector placement. As a result, it optimizes performance for secondary tasks while ensuring that the objectives of the primary task are not compromised.

3.3. Augmented Jacobian

If task prioritization is not desired, the Augmented Jacobian method can be employed, allowing both tasks to be solved simultaneously. In some versions of this method, weights can be assigned to specify the relative importance of each task; however, both tasks will still be addressed concurrently. The first step is to combine the error vectors e for both tasks, which can be performed by concatenating them into a matrix
e a = e f e .
Next, the same procedure needs to be applied to the Jacobian matrices
J a = J f J .
Since the kinematic equations can be also applied for matrices e a and J a , by using inverse kinematic Equation (3). This formulation ensures that both tasks are solved simultaneously, incorporating the kinematic constraints from each task into a unified solution.

3.4. Quadratic Programming

In solving robotic control problems, selecting an appropriate objective function is crucial for optimizing system performance. The choice of the objective directly impacts the smoothness and efficiency of the robot’s motion.
One potential choice for the objective function f 0 is the norm of the velocity vector, q ˙ . Minimizing this norm results in reduced joint velocities, leading to smoother movement in the robotic system. Since the norm is a positive convex function, as derived from the triangle inequality, multiplying it by any positive function preserves its convexity. Therefore, an alternative objective function can be formulated as the squared norm, 1 2 q ˙ 2 2 . This form is beneficial as it allows the norm to be expressed in terms of vectors and matrices, specifically
q ˙ 2 2 = i = 1 n | q ˙ i | 2 = q ˙ I q ˙ ,
where I represents the identity matrix. Equation (29) represents a quadratic function, which allows the problem to be formulated as a quadratic programming problem, as described in (18). By using the identity matrix I , which is positive definite by definition, for the matrix P , it ensures that the optimization problem will have a unique optimal solution, provided that a solution exists. This choice of P guarantees that the program remains convex and efficiently solvable.
Focusing on the constraints, there are several ways to define them. In the first scenario, the constraints are set similarly to the Augmented Jacobian method, where the kinematic equations for both tasks are used as constraints. Specifically, the first constraint takes the form J f q ˙ = e f , and the second constraint is J q ˙ = e . These constraints can also be combined into a single form as
J a q ˙ = e a , where J a = J f J , and e a = e f e .
That gives us a quadratic program of the form:
minimize 1 2 q ˙ I q ˙ subject to : J f q ˙ = e f , J q ˙ = e .
By using Theorem 3 this program can be rewritten into a system of linear equations:
I J a T J a 0 q ˙ * v * = 0 e a .
If the system of linear Equation (32) is solved analytically, the obtained solution would be identical to that of the Augmented Jacobian method. This equivalence is evident from
I q ˙ + J a T v = 0 q ˙ = J a T v , J a q ˙ = e a J a J a T v = e a v = ( J a J a T ) 1 e a , q ˙ = J a T ( J a J a T ) 1 e a = J + e a .
In the context of quadratic optimization problems, various methods can be adapted to meet specific requirements. One such approach involves formulating a quadratic program, similar to the Jacobian Weighted method, where weights are assigned to prioritize certain joint movements over others. Before implementing this approach, it is crucial to define the norm that will be minimized, as it serves as the foundation for optimizing the robot’s movements while maintaining task performance.
Theorem 4. 
Function · W : R n R , for W 0 , defined as
x W = x T W x ,
is norm.
Proof. 
To demonstrate that the function from Equation (34) is a valid norm, it must satisfy the following three conditions:
  • Positive definiteness: for all x R n the x W 0 , and if x W = 0 , then x = 0 .
  • Absolute homogeneity: α x W = | α | x W , for all x R n and α R .
  • Subadditivity/Triangle inequality: x + y W x W + y W for all x , y R n .
It is obviously that x W 0 , and since the matrix W is positive definite, it also holds x W = 0 if and only if x = 0 .
The second condition follows from:
α x W = ( α x ) T W ( α x ) = | α | x T W x = | α | x W .
For the third condition, the matrix W must be positive definite. This requirement ensures the existence of an orthogonal matrix Q and a diagonal matrix D with positive diagonal elements. Consequently, W can be expressed as W = Q D Q T .
Additionally, W 1 2 can be defined as W 1 2 = Q D 1 2 Q T , where D i i 1 2 = d i i . From this, it follows that
x + y W 2 = ( x + y ) T W ( x + y ) = x T W x + y T W y + 2 x T W y = x W 2 + y W 2 + 2 x T W 1 2 W 1 2 y x W 2 + y W 2 + 2 W 1 2 x 2 W 1 2 y 2 = x W 2 + y W 2 + 2 x W y W = ( x W + y W ) 2 .
In this derivation, the Cauchy–Schwarz inequality was applied. By taking the square root of the resulting expression, the triangle inequality is obtained. Thus, the third condition is satisfied, completing the proof that the function defined in Equation (34) is indeed a norm. □
Assume a system with two states connected through the kinematic Equation (1). Now, suppose the goal is to minimize the weighted norm of x ˙ using an objective function. This can be expressed as
x ˙ W 2 = x ˙ T W x ˙ = ( J q ˙ ) T W ( J q ˙ ) = q ˙ T J T W J q ˙ = q ˙ J T W J 2 .
From this, it follows that a quadratic program can be formulated in the following form
min q ˙ 1 2 q ˙ T ( J T W J ) q ˙ subject to : A q ˙ = b E q ˙ d ,
where A , b , E , and d represent the equality and inequality constraints, respectively.

4. Evaluation, Results, and Comparison of Multiple Methods

To compare the performance of different control strategies, a predefined trajectory in the form of an infinity symbol () with a specified radius r was established as a reference path. The deviation from this trajectory was measured to quantify the error during movement, providing a clear and consistent metric for evaluating the precision of each control approach. To extend the motion into three-dimensional space, the trajectory was parameterized to include a continuously varying third coordinate. The resulting parametric representation of this curve, defined for any t R , is expressed by
x d ( t ) = r · sin ( t ) · cos ( t ) + 0.65 r · cos ( t ) r · sin ( t ) · cos 2 ( t ) + 0.4 .
For t in the interval [ 0 , 2 π ] , the function generates the curve depicted in Figure 2.
To evaluate and compare the efficacy of the proposed methods, where the robot maintains its structure by making contact with a surface, the performance is contrasted against a traditional approach in which no contact is made. These tests are carefully designed to emphasize the key differences in performance between the two methodologies, allowing for a comprehensive assessment of their respective advantages and limitations.
In all scenarios, the robot operates with 7 degrees of freedom (DOF) and is programmed to exhibit increased flexibility in its first two joints. This flexibility is achieved by implementing impedance control and setting the internal gains of the first two joints to low values, effectively simulating mechanisms with high passive compliance. This aspect is crucial for assessing the robot’s precision, especially in simpler tasks where its precision capabilities or limitations can be more distinctly observed. This feature plays a pivotal role in the proposed method, as the robot is required not only to execute precise movements but also to exert a constant, controlled force, making it a key factor in evaluating the method’s overall effectiveness.
The dual functionality—movement and force application—tests the robot’s ability to maintain stability and accuracy under varying operational conditions. The additional requirement of force application allows an evaluation of how it influences the robot’s overall performance, especially in terms of precision and adaptability. By comparing these two approaches, the goal is to assess the robot’s functional capabilities, adaptability, and reliability in different operational contexts. This comparison ultimately reveals the advantages and limitations of each method.
Furthermore, the experiment critically examines the impact of maintaining a constant force F d = 10 N using the proposed methods on the overall precision of the end effector. This is compared to the basic method, where the robot operates without the additional force requirement. The comparative analysis quantifies accuracy using the error estimator e r , which is defined as:
e r = ( x x d ) 2 + ( y y d ) 2 + ( z z d ) 2 ,
where x d , y d , z d represent the desired positions, and x , y , z are the actual positions of the end effector. This error metric provides a comprehensive measure of the deviation in all spatial dimensions, enabling a precise comparison of the proposed methods in terms of end effector accuracy. The standard deviation will be calculated by:
e s d = s d ( x x d ) + s d ( y y d ) + s d ( z z d ) ,
where s d represents an operator s d ( X ) = E [ X 2 ] E [ X ] 2 .
All methods were implemented on the Franka Emika Panda robot. For each method, the control loop execution time and the average error of the end effector over one complete period were measured. The results are summarized in Table 4.
In Table 4, the data show that methods utilizing analytical solutions exhibit similar average control loop times, whereas quadratic programming is considerably slower. This increased average time for the control loop is attributed to the iterative nature of quadratic programming, which tends to be more time-consuming than analytical methods. However, as the size of the robot and, consequently, the Jacobian matrix increase, quadratic programming can become more efficient than the analytical solution, especially when the quadratic program is converted into a system of linear equations. Figure 3 presents a comparison between the time required to compute the pseudo-inverse and the time needed to solve the system of linear equations as a function of matrix size, measured on an Intel Core i7 CPU.
Focusing on the errors of these methods, it is observed that quadratic programming exhibits the highest error among the evaluated approaches. However, this error can be mitigated through careful fine-tuning and appropriate parameter adjustments. By reducing the distance from the optimal solution, the error can be minimized, though this comes at the expense of increased computational time. The iterative nature of quadratic programming requires more iterations to converge to a solution that is closer to the optimum, thereby enhancing accuracy. Consequently, while the accuracy of quadratic programming can be improved, it involves a trade-off between error reduction and computational efficiency.
The gradient projection and Jacobian pseudo-inverse methods exhibit the second-highest error. This is due to the way these methods handle the dual-task requirement. Initially, they determine the configuration needed for the robot to lean on a surface, specifically by calculating the angles of the first two joints. When performing the secondary task, the methods compute the desired configuration using all seven joints. However, this solution is subsequently multiplied by the null space of the primary task, which introduces additional discrepancies and results in a larger error. The interaction with the null space effectively compromises the accuracy of the secondary task, leading to a higher overall error.
Figure 4 presents the results of implementing the method that utilizes Jacobian Weighting, compared against a traditional approach that does not incorporate the leaning concept. In this figure, the blue curves represent the traditional approach, the red curves depict the proposed method, and the black curves correspond to the trajectory defined by Equation (39). The results indicate that incorporating the leaning concept significantly improved the accuracy of the robot’s end effector. Additionally, Figure 5 provides a coordinate-wise comparison, showing that the largest error occurred along the z-axis. This error was notably reduced by employing the leaning technique, which leveraged the fixed surface to enhance overall precision. Figure 6 illustrates the comparison between the errors of the standard approach and our proposed method. As shown in the figure, our method significantly reduces the error.

5. Discussion and Conclusions

This research presented a comprehensive range of methods for controlling robotic mechanisms, culminating in the development of the proposed contributions. Various strategies for addressing inverse kinematics problems were explored, emphasizing that when dealing with multiple tasks, one can either employ the null space approach or integrate all tasks into a unified optimization framework. This provided a foundation for understanding how to manage task priorities and maintain precise end-effector positioning, which is crucial in multi-objective robotic control scenarios.
The primary contribution of the proposed approach focused on leveraging optimization techniques to enhance the robot’s accuracy, particularly when additional support is required by leaning on a surface. Traditional methods often rely on the pseudo-inverse for solving inverse kinematics; however, this can be computationally demanding, especially for robots with a large number of joints. By using optimization methods, specifically quadratic programming, the proposed approach offers an alternative that avoids the complexities associated with pseudo-inverse calculations. This choice was motivated by the need for a more efficient and scalable solution that maintains precision without the computational overhead typically encountered with high-DOF robotic systems.
While AI-based approaches, such as neural networks and fuzzy systems, have been increasingly applied to solving quadratic optimization problems, as reviewed in [52], they were not adopted in the proposed method. This decision was based on the objective of developing a solution that is generalizable and adaptable across different robotic systems without the necessity for extensive training or system-specific tuning. AI-based methods often require large amounts of training data and computational resources to fine-tune models for specific systems or tasks, which can be a significant limitation when aiming for flexibility across multiple environments. Instead, our approach focused on employing well-established quadratic and linear programming techniques, which provide stable, accurate control solutions without the added complexity of machine learning models. These methods offer the benefit of being immediately applicable to various robotic tasks without the need for retraining, making them more suitable for dynamic, real-world scenarios.
The results demonstrated that the proposed method significantly improved precision when the robot employed surface contact to enhance stability and accuracy. By incorporating this leaning mechanism, the approach effectively reduced errors in end-effector positioning, validating the efficacy of the optimization framework in practical applications. Comparative analysis with traditional methods highlighted the advantages of using optimization techniques, particularly in scenarios requiring precise force application and positional accuracy. This demonstrates the robustness and adaptability of the proposed approach in addressing the challenges of multi-task robotic control.
For future work, it is recommended to investigate how the leaning concept can be extended beyond the robot’s internal structure to interact with external objects and environments. While this study primarily focused on improving accuracy through leaning, physical contact with the surroundings could potentially enhance other aspects of robotic performance. For instance, leveraging external supports could increase the robot’s payload capacity, enabling it to handle heavier objects more efficiently. This approach would be particularly advantageous in scenarios where a robot needs to manipulate a heavy object, such as lifting one side of a large stick. By strategically using external supports, the robot could gradually lift heavier loads that exceed its standard capacity. Extending the leaning concept in this manner could unlock new possibilities for improving the functionality and adaptability of robotic systems in various operational contexts.

Author Contributions

Conceptualization, J.Š. and T.P.; methodology, J.Š. and T.P.; software, J.Š.; validation, J.Š.; formal analysis, J.Š.; investigation, J.Š.; resources, T.P.; writing—original draft preparation, J.Š.; writing—review and editing, T.P.; visualization, J.Š.; supervision, T.P.; project administration, T.P.; funding acquisition, T.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Slovenian Research Agency (ARIS) grant number N2-0269.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
DOFDegrees of freedom
SVDSingular Value Decomposition
JPJacobian Pseudo-inverse
JTJacobian Transpose
SDSelective Damping
JDJacobian Damping
JFFiltered Jacobian
EDError Damping
IEDImproved Error Damping
SVFSingular Value Filtering
JWJacobian Weighting
JCJoint Clamping
JAAugmented Jacobian
WJAWeighted Augmented Jacobian
GPGradient Projection
TPTask Priority
CTPContinuous Task Priority
AIArtificial Intelligence

References

  1. Campilho, R.D.S.G.; Silva, F.J.G. Industrial Process Improvement by Automation and Robotics. Machines 2023, 11, 1011. [Google Scholar] [CrossRef]
  2. Castillo, J.F.; Ortiz, J.H.; Velásquez, M.F.D.; Saavedra, D.F. COBOTS in industry 4.0: Safe and efficient interaction. In Collaborative and Humanoid Robots; IntechOpen: Rijeka, Croatia, 2021; Volume 13. [Google Scholar] [CrossRef]
  3. Peshkin, M.; Colgate, J.E. Cobots. Ind. Robot. Int. J. 1999, 26, 335–341. [Google Scholar] [CrossRef]
  4. Pearce, M.; Mutlu, B.; Shah, J.; Radwin, R. Optimizing makespan and ergonomics in integrating collaborative robots into manufacturing processes. IEEE Trans. Autom. Sci. Eng. 2018, 15, 1772–1784. [Google Scholar] [CrossRef]
  5. Bisen, A.S.; Payal, H. Collaborative robots for industrial tasks: A review. Mater. Today Proc. 2022, 52, 500–504. [Google Scholar] [CrossRef]
  6. Šifrer, J.; Petrič, T. A Novel Approach Exploiting Contact Points on Robot Structures for Enhanced End-Effector Accuracy. In Advances in Service and Industrial Robotics; Springer: Cham, Switzerland, 2024; pp. 329–336. [Google Scholar]
  7. Liu, L.; Guo, F.; Zou, Z.; Duffy, V.G. Application, Development and Future Opportunities of Collaborative Robots (Cobots) in Manufacturing: A Literature Review. Int. J. Hum.-Comput. Interact. 2024, 40, 915–932. [Google Scholar] [CrossRef]
  8. Lackner, J.R. The Importance of Being in Touch. Front. Neurol. 2021, 12, 646640. [Google Scholar] [CrossRef]
  9. Popp, W.L.; Richner, L.; Lambercy, O.; Shirota, C.; Barry, A.; Gassert, R.; Kamper, D.G. Effects of wrist posture and stabilization on precision grip force production and muscle activation patterns. J. Neurophysiol. 2023, 130, 596–607. [Google Scholar] [CrossRef]
  10. Couto, C.R.; Leite, C.M.F.; Campos, C.E.; Portes, L.L.; dos Santos, S.P.; Cruz, M.P.; Sousa, M.C.A.; Ugrinowitsch, H. Enhanced Performance Stabilization Increases Performance Variability in a Virtual Interception Task. Percept. Mot. Ski. 2021, 128, 546–559. [Google Scholar] [CrossRef] [PubMed]
  11. Therapy Skill Builders. Forearm, Hand, and Finger Control. A Division of Communication Skill Builders/602-323-7500. 1991. Available online: https://resources.finalsite.net/images/v1677526428/sdcoenet/ecziqkimggbtlbsznasu/Forearm_and_finger_control.pdf (accessed on 21 October 2024).
  12. Zhang, Y.; Parker, L.E. Multi-robot task scheduling. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; IEEE: New York, NY, USA, 2013; pp. 2992–2998. [Google Scholar]
  13. Chiaverini, S.; Oriolo, G.; Walker, I.D. Kinematically Redundant Manipulators. In Springer Handbook of Robotics; Siciliano, B., Khatib, O., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 245–268. [Google Scholar] [CrossRef]
  14. Benhabib, B.; Goldenberg, A.A.; Fenton, R.G. A solution to the inverse kinematics of redundant manipulators. J. Robot. Syst. 1985, 2, 373–385. [Google Scholar] [CrossRef]
  15. Šifrer, J. Preučevanje Pristopov Vodenja Redundantnih Robotskih Mehanizmov. Master’s Thesis, Univerza v Ljubljani, Ljubljana, Slovenia, 2023. [Google Scholar]
  16. Colome, A.; Torras, C. Redundant inverse kinematics: Experimental comparative review and two enhancements. In Proceedings of the 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura-Algarve, Portugal, 7–12 October 2012; pp. 5333–5340. [Google Scholar] [CrossRef]
  17. Buss, S.R. Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares methods. IEEE J. Robot. Autom. 2004, 17, 16. [Google Scholar]
  18. Buss, S.R.; Kim, J.S. Selectively Damped Least Squares for Inverse Kinematics. J. Graph. Tools 2005, 10, 37–49. [Google Scholar] [CrossRef]
  19. Siciliano, B.; Member, S.; Egeland, O. Review of the Damped Least-Squares Inverse Kinematics with Experiments on an Industrial Robot Manipulator. IEEE Trans. Control Syst. Technol. 1994, 2, 123–134. [Google Scholar]
  20. Chiaverini, S.; Egeland, O.; Kanestrom, R. Achieving user-defined accuracy with damped least-squares inverse kinematics. In Proceedings of the Fifth International Conference on Advanced Robotics ’Robots in Unstructured Environments, Pisa, Italy, 19–22 June 1991; IEEE: New York, NY, USA, 1991; Volume 1, pp. 672–677. [Google Scholar] [CrossRef]
  21. Chan, S.K.; Lawrence, P.D. general inverse kinematics with the error damped pseudoinverse. In Proceedings of the 1988 IEEE International Conference on Robotics and Automation, Philadelphia, PA, USA, 24–29 April 1988. [Google Scholar]
  22. Sugihara, T. Solvability-Unconcerned Inverse Kinematics by the Levenberg–Marquardt Method. IEEE Trans. Robot. 2011, 27, 984–991. [Google Scholar] [CrossRef]
  23. Colome, A.; Torras, C. Closed-Loop Inverse Kinematics for Redundant Robots: Comparative Assessment and Two Enhancements. IEEE/ASME Trans. Mechatron. 2015, 20, 944–955. [Google Scholar] [CrossRef]
  24. Park, J.; Choi, Y.; Chung, W.K.; Youm, Y. Multiple tasks kinematics using weighted pseudo-inverse for kinematically redundant manipulators. In Proceedings of the 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164), Seoul, Republic of Korea, 21–26 May 2001; IEEE: New York, NY, USA, 2001; Volume 4, pp. 4041–4047. [Google Scholar] [CrossRef]
  25. Raunhardt, D.; Boulic, R. Progressive Clamping. In Proceedings of the 2007 IEEE International Conference on Robotics and Automation, Rome, Italy, 10–14 April 2007; IEEE: New York, NY, USA, 2007; pp. 4414–4419. [Google Scholar] [CrossRef]
  26. Sciavicco, L.; Siciliano, B. A dynamic solution to the inverse kinematic problem for redundant manipulators. In Proceedings of the 1987 IEEE International Conference on Robotics and Automation, Raleigh, NC, USA, 31 March–3 April 1987; Institute of Electrical and Electronics Engineers: New York, NY, USA, 1987; Volume 4, pp. 1081–1087. [Google Scholar] [CrossRef]
  27. Sciavicco, L.; Siciliano, B. Solving the Inverse Kinematic Problem for Robotic Manipulators; Springer: Boston, MA, USA, 1987; pp. 107–114. [Google Scholar] [CrossRef]
  28. Sciavicco, L.; Siciliano, B. A solution algorithm to the inverse kinematic problem for redundant manipulators. IEEE J. Robot. Autom. 1988, 4, 403–410. [Google Scholar] [CrossRef]
  29. Egeland, O. Task-space tracking with redundant manipulators. IEEE J. Robot. Autom. 1987, 3, 471–475. [Google Scholar] [CrossRef]
  30. Shi, Z.; Huang, X.; Hu, T.; Tan, Q.; Hou, Y. Weighted augmented Jacobian matrix with a variable coefficient method for kinematics mapping of space teleoperation based on human–robot motion similarity. Adv. Space Res. 2016, 58, 1401–1416. [Google Scholar] [CrossRef]
  31. Zghal, H.; Dubey, R.; Euler, J. Efficient gradient projection optimization for manipulators with multiple degrees of redundancy. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; IEEE Computer Society Press: Washington, DC, USA, 1990; pp. 1006–1011. [Google Scholar] [CrossRef]
  32. Maciejewski, A.A.; Klein, C.A. Obstacle Avoidance for Kinematically Redundant Manipulators in Dynamically Varying Environments. Int. J. Robot. Res. 1985, 4, 109–117. [Google Scholar] [CrossRef]
  33. Sadati, S.M.H.; Naghibi, S.E.; Shiva, A.; Walker, I.D.; Althoefer, K.; Nanayakkara, T. Mechanics of Continuum Manipulators, a Comparative Study of Five Methods with Experiments. In Proceedings of the Towards Autonomous Robotic Systems, Guildford, UK, 19–21 July 2017; Gao, Y., Fallah, S., Jin, Y., Lekakou, C., Eds.; Springer: Cham, Switzerland, 2017; pp. 686–702. [Google Scholar]
  34. Boyd, S.P.; Vandenberghe, L. Convex Optimization; Cambridge University Press: Cambridge, UK, 2004. [Google Scholar]
  35. Whitney, D.E. The Mathematics of Coordinated Control of Prosthetic Arms and Manipulators. J. Dyn. Syst. Meas. Control 1972, 94, 303–309. Available online: https://asmedigitalcollection.asme.org/dynamicsystems/article-abstract/94/4/303/400875/The-Mathematics-of-Coordinated-Control-of?redirectedFrom=fulltext (accessed on 28 October 2024). [CrossRef]
  36. Liegeois, A. Automatic Supervisory Control of the Configuration and Behavior of Multibody Mechanisms. IEEE Trans. Syst. Man Cybern. 1977, 7, 868–871. [Google Scholar] [CrossRef]
  37. Klein, C.A.; Chirco, A.I. Dynamic simulation of a kinematically redundant manipulator system. J. Robot. Syst. 1987, 4, 5–23. [Google Scholar] [CrossRef]
  38. Yoshikawa, T. Manipulability of robotic mechanisms. Int. J. Robot. Res. 1985, 4, 3–9. [Google Scholar] [CrossRef]
  39. Soori, M.; Arezoo, B.; Dastres, R. Optimization of energy consumption in industrial robots, a review. Cogn. Robot. 2023, 3, 142–157. [Google Scholar] [CrossRef]
  40. Tassi, F.; De Momi, E.; Ajoudani, A. An adaptive compliance Hierarchical Quadratic Programming controller for ergonomic human–robot collaboration. Robot. Comput.-Integr. Manuf. 2022, 78, 102381. [Google Scholar] [CrossRef]
  41. Zhang, M.; Li, C.; Shang, Y.; Liu, Z. Cycle Time and Human Fatigue Minimization for Human-Robot Collaborative Assembly Cell. IEEE Robot. Autom. Lett. 2022, 7, 6147–6154. [Google Scholar] [CrossRef]
  42. Hollerbach, J.; Suh, K. Redundancy resolution of manipulators through torque optimization. IEEE J. Robot. Autom. 1987, 3, 308–316. [Google Scholar] [CrossRef]
  43. Cheng, F.T.; Wang, W.M.; Kung, F.C. Priority considerations for multiple goals of redundant manipulators. In Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, San Antonio, TX, USA, 2–5 October 1994; IEEE: New York, NY, USA, 1994; Volume 1, pp. 264–269. [Google Scholar] [CrossRef]
  44. Chamitoff, G.E.; Saenz-Otero, A.; Katz, J.G.; Ulrich, S.; Morrell, B.J.; Gibbens, P.W. Real-time maneuver optimization of space-based robots in a dynamic environment: Theory and on-orbit experiments. Acta Astronaut. 2018, 142, 170–183. [Google Scholar] [CrossRef]
  45. Cheng, F.T.; Chen, T.H.; Wang, Y.S.; Sun, Y.Y. Obstacle avoidance for redundant manipulators using the compact QP method. In Proceedings of the [1993] Proceedings IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993; IEEE Computer Society: Los Alamitos, CA, USA, 1993; pp. 262–269. [Google Scholar] [CrossRef]
  46. Zhou, L.; Tokekar, P. Multi-robot coordination and planning in uncertain and adversarial environments. Curr. Robot. Rep. 2021, 2, 147–157. [Google Scholar] [CrossRef]
  47. Bertsekas, D.; Nedic, A.; Ozdaglar, A. Convex Analysis and Optimization; Athena Scientific: Nashua, NH, USA, 2003; Volume 1. [Google Scholar]
  48. Hager, W.W.; Park, S. The gradient projection method with exact line search. J. Glob. Optim. 2004, 30, 103–118. [Google Scholar] [CrossRef]
  49. Polyak, B.T. Newton’s method and its use in optimization. Eur. J. Oper. Res. 2007, 181, 1086–1096. [Google Scholar] [CrossRef]
  50. Nearchou, A.C.; Aspragathos, N.A. A genetic path planning algorithm for redundant articulated robots. Robotica 1997, 15, 213–224. [Google Scholar] [CrossRef]
  51. da Graça Marcos, M.; Machado, J.A.T.; Azevedo-Perdicoúlis, T.P. Trajectory planning of redundant manipulators using genetic algorithms. Commun. Nonlinear Sci. Numer. Simul. 2009, 14, 2858–2869. [Google Scholar] [CrossRef]
  52. Liu, Z.; Peng, K.; Han, L.; Guan, S. Modeling and Control of Robotic Manipulators Based on Artificial Neural Networks: A Review. Iran. J. Sci. Technol. Trans. Mech. Eng. 2023, 47, 1307–1347. [Google Scholar] [CrossRef]
Figure 1. The concept of leaning the robot mechanism on a fixed surface.
Figure 1. The concept of leaning the robot mechanism on a fixed surface.
Sensors 24 07006 g001
Figure 2. Trajectory of the parametric function (39) over the interval t [ 0 , 2 π ] , illustrating the complete path of the infinity-shaped curve used for evaluating control precision.
Figure 2. Trajectory of the parametric function (39) over the interval t [ 0 , 2 π ] , illustrating the complete path of the infinity-shaped curve used for evaluating control precision.
Sensors 24 07006 g002
Figure 3. Comparison of the time required to compute the pseudo-inverse of a matrix and the time needed to solve a system of linear equations as a function of the system size. Each computation was repeated 100 times, and the bold line represents the mean time for each method across different sizes. The standard deviation at each size is also included.
Figure 3. Comparison of the time required to compute the pseudo-inverse of a matrix and the time needed to solve a system of linear equations as a function of the system size. Each computation was repeated 100 times, and the bold line represents the mean time for each method across different sizes. The standard deviation at each size is also included.
Sensors 24 07006 g003
Figure 4. Trajectories of the end effector in cases where the robot was leaning x c (red) and not leaning x n (blue). The black trajectory x d represents the desired motion path as defined by the target equation. The comparison highlights the increased accuracy achieved through the leaning mechanism.
Figure 4. Trajectories of the end effector in cases where the robot was leaning x c (red) and not leaning x n (blue). The black trajectory x d represents the desired motion path as defined by the target equation. The comparison highlights the increased accuracy achieved through the leaning mechanism.
Sensors 24 07006 g004
Figure 5. Comparison by coordinates. Black curves represent goal motion, red ones represent the mechanism when it was leaned on the fixed surface, and blue ones represent the mechanism when it was not leaned.
Figure 5. Comparison by coordinates. Black curves represent goal motion, red ones represent the mechanism when it was leaned on the fixed surface, and blue ones represent the mechanism when it was not leaned.
Sensors 24 07006 g005
Figure 6. End effector error in polar coordinates. The blue line, x n , represents the standard approach, while the red line, x c , represents our proposed method.
Figure 6. End effector error in polar coordinates. The blue line, x n , represents the standard approach, while the red line, x c , represents our proposed method.
Sensors 24 07006 g006
Table 1. Summary of methods for handling singularities and improving control in redundant manipulators. The table is adapted from [16,23].
Table 1. Summary of methods for handling singularities and improving control in redundant manipulators. The table is adapted from [16,23].
NameAbb.Equation ( q ˙ =)Ref.
Jacobian Pseudo-inverseJP J + x ˙ = i = 1 n 1 σ i v i ( u i T · x ˙ ) [16]
Jacobian TransposeJT J T x ˙ = i = 1 n σ i v i ( u i T · x ˙ ) [17]
Selective DampingSD J + S D x ˙ = i = 1 n s ( σ i , i , J , γ m a x ) v i ( u i T · x ˙ ) [18]
Damped JacobianJD J + D x ˙ = J T ( JJ T + λ 2 I ) 1 x ˙ = i = 1 n σ i σ i 2 + λ 2 v i ( u i T · x ˙ ) [19]
Filtered JacobianJF J + F x ˙ = J T ( JJ T + λ 2 u n u n T ) 1 x ˙ = = i = 1 n 1 σ i v i ( u i T · x ˙ ) + σ n σ n 2 + λ 2 v n ( u n T · x ˙ ) [20]
Error DampingED J + E D x ˙ = J T ( JJ T + EI n ) 1 x ˙ = i = 1 n σ i σ i 2 + E v i ( u i T · x ˙ ) [21]
Improved Error DampingIED J + I E D x ˙ = J T ( JJ T + EI n + Ω ) 1 x ˙ = i = 1 n σ i σ i 2 + E + ω i v i ( u i T · x ˙ ) [22]
Singular Value FilteringSVF J ˜ + x ˙ = i = 1 n σ 2 + v σ + 2 σ 3 + v σ 2 + 2 σ + 2 σ 0 v i ( u i T · x ˙ ) [16]
Table 2. Summary of advantages and disadvantages of different Jacobian-based methods for inverse kinematics control.
Table 2. Summary of advantages and disadvantages of different Jacobian-based methods for inverse kinematics control.
MethodAdvantagesDisadvantages
Jacobian Pseudo-inverse (JP)Solves the minimization problem effectively for redundant manipulators.Produces large joint velocities near singularities, leading to numerical instability.
Jacobian
Transpose (JT)
Avoids the large velocity gains of JP near singularities.Suffers from conditioning issues similar to JP, especially near singular configurations.
Selective
Damping (SD)
Reduces joint velocities specifically in problematic directions without affecting all directions.Does not fully address the rank loss near singularities; precision is reduced in damped directions.
Damped
Jacobian (JD)
Increases stability near singularities by adding a small damping term.Reduces overall accuracy due to the uniform increase in all singular values.
Filtered
Jacobian (JF)
Adaptive damping near singularities, improving control in those situations.Can still result in significant precision loss near small singular values.
Error Damping (ED)Reduces large joint velocities when the target is far away, ensuring smoother control.Ineffective near singularities, as the error norm is not sufficient to handle instability in those cases.
Improved Error Damping (IED)Better damping adjustment near singularities, improving control stability.More complex to implement, and still struggles in extreme singular configurations.
Singular Value Filtering (SVF)Maintains full rank and ensures bounded condition numbers, improving stability near singularities.Precision may be reduced when operating close to very small singular values.
Table 3. Overview of control methods for controlling redundant manipulators. The table is adapted from [16,23].
Table 3. Overview of control methods for controlling redundant manipulators. The table is adapted from [16,23].
NameAbbreviationEquationReferences
Jacobian WeightingJW q ˙ = W 1 J T ( JW 1 J T ) 1 x ˙ [24]
Gradient ProjectionGP q ˙ = J * x ˙ + N q 0 [31]
Joint ClampingJC q ˙ = H ( JH ) + x ˙ [25]
Augmented JacobianJA q ˙ = J v + x ˙ [26]
Weighted Augmented JacobianWJA q ˙ = ( J 1 T W 1 J 1 + J 2 T W 2 J 2 + + W n ) 1 ( J 1 T W 1 x ˙ 1 + J 2 T W 2 x ˙ 2 + ) [30]
Task PriorityTP q ˙ = H ( μ θ ) + [ J ( I m H + H ) ] + ( x ˙ + JH ( μ Θ ) ) [32]
Continuous Task PriorityCTP q ˙ = H ( μ θ ) + J ( I m H ) ( x ˙ JH ( μ θ ) [16]
Table 4. Implementation results using various methods.
Table 4. Implementation results using various methods.
NameAverage Time of the Control LoopStandard Deviation of the Control Loop TimeError e r of the End EffectorStandard Deviation of the End-Effector Error
Gradient Projection and Jacobian Pseudo-inverse0.00220.00250.41620.0076
Gradient Projection and Jacobian Weighting0.00200.00240.27540.0053
Weighted Augmented Jacobian0.00230.00260.33360.0063
Quadratic programming0.00780.00502.0960.0741
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Šifrer, J.; Petrič, T. Leveraging Environmental Contact and Sensor Feedback for Precision in Robotic Manipulation. Sensors 2024, 24, 7006. https://doi.org/10.3390/s24217006

AMA Style

Šifrer J, Petrič T. Leveraging Environmental Contact and Sensor Feedback for Precision in Robotic Manipulation. Sensors. 2024; 24(21):7006. https://doi.org/10.3390/s24217006

Chicago/Turabian Style

Šifrer, Jan, and Tadej Petrič. 2024. "Leveraging Environmental Contact and Sensor Feedback for Precision in Robotic Manipulation" Sensors 24, no. 21: 7006. https://doi.org/10.3390/s24217006

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop