A Hybrid Position/Force Controller for Joint Robots
Abstract
In this paper, we present a hybrid position/force controller for operating joint robots. The hybrid controller has two goals—motion tracking and force regulating. As long as these two goals are not mutually exclusive, they can be decoupled in some way. In this work, we make use of the smooth and invertible mapping from the joint space to the task space to decouple the two control goals and design controllers separately. The traditional motion controller in the task space is used for motion control, while the force controller is designed through manipulating the desired trajectory to regulate the force indirectly. Two case studies—contour tracking/polishing surfaces and grabbing boxes with two robotic arms—are presented to show the efficacy of the hybrid controller, and simulations with physics engines are carried out to validate the efficacy of the proposed method.
I Introduction
In many automation tasks in which the robot interacts with the environment, both position and force of the end-effector need to be controlled to complete the task, i.e., a hybrid motion/force controller is needed. For example, when using a robotic arm to polish the car apron [1], both the position and contact force should be regulated.
Controllers for joint robots with one control goal, e.g., force regulation or position control, have been studied extensively. Position controller can be designed in the joint space or task space [2, 3]. Designing force controller is more challenging due to the interaction with the environment and the interaction model is hard to determine. Impedance controllers and admittance controllers can establish a mass-spring-damper model between the end-effector and the environment, but force cannot be accurately controlled[4, 5]. By incorporating force feedback in the position controller, accurate force tracking can be achieved [6, 7]. When force sensor is not available, sensorless approaches were developed [8]. Although various position or force controllers are available, the choices for hybrid position/force controller are still limited, and designing robust hybrid controller remains an active research area.
One popular position/force controller is proposed in [9], in which the motion and force controllers are applied in two complementary subspaces thus the stability analysis of each controller can be inherited. However, the controller is not robust since the constraint is hard to guarantee in the entire process (e.g., contact loss can happen), and the orthogonality relies on the choice of coordinate and metric [10, 2]. Marin et al. proposed to use kinestatic filtering to overcome the limitation, but it still relies on the constraints to hold, which makes the controller less robust for applications without natural constraints[11]. Recently, the concept of energy tank based on passivity has been used in robot controller design [12, 1, 13]. For example, a Cartesian force/impedance control is developed in [1]. However, the controller is not a position/force controller in the sense that the path to the setpoint cannot be regulated. Iterative learning control (ILC) has been proposed to increase the controller robustness when the nonlinear terms cannot be accurately compensated, but ILC achieves the control results through repetitions[14]. To deal with the lag of robot position control, Liu et al. proposed to control the position and force with different control frequencies [15]. Although the robustness has been improved, the bandwidth of the position controller is limited. Therefore, robust hybrid position/force controllers which can be used without natural constraints are still not available.
In this work, we present a hybrid position/force controller which does not rely on the constraints and can regulate both the position and force applied by the end-effector. It is assumed that the two control objectives do not conflict, that is, achieving one objective does not prohibit achieving another. Generally, there are 6 degree of freedoms (DOFs) in the task space. If a smooth and invertible mapping exists such that the interaction force depends on DOFs of the 6 DOFs, one can design force controller for the DOFs and motion controller for the rest DOFs. The motion controller which utilizes a smooth and invertible mapping to transform the configuration from the joint space to the task space is used [3]. Then, a force controller is incorporated through manipulating the desired position corresponding to the DOFs. The closed-loop stability of the hybrid controller is analyzed with the linear interaction model between the end-effector and the environment.
To verify the effectiveness of the hybrid controller, two cases studies are presented. The first case is inspired by the task in [1] which can be generalized to a contour tracking problem with a desired contact force. Compared to the approach in [1], the proposed controller is advantageous in following the pre-designed trajectory while regulating the force in the process. In the second case study, the direction of the force to be controlled can be varying, but it always corresponds to 1 DOF among the 6 DOFs of the end-effector in the task space. The key is to modify the smooth and invertible mapping from the joint space to the task space to ensure that the force controller is related with 1 DOF and thus the proposed hybrid controller framework can be adopted. Although in all the case studies, the force controller always corresponds to 1 DOF, it can be easily extended to more DOFs. Moreover, the proposed controller can be used for mounting a screwdriver onto a screw as reported in [19].
II Hybrid Controller Design
Let denote the orientation of the end-effector and we can map to [2] (p. 83). Thus, the end-effector pose can be represented with where is the position. The hybrid controller design in this work is based on the assumption that the interaction force in some direction can only be affected by the position in that direction. For example, the torque around axis can only be changed through varying and the interaction force along axis can be changed by manipulating position in direction. Note that the interaction between the end-effector and the environment is very complex, the assumption here is to simplify the theoretical analysis and the hybrid controller may still work even when they are violated due to its robustness.
II-A Motion Control in the Task Space
We consider a robotic arm with 6 DOFs. The equation of motion is
(1) |
where is the joint angle vector, is the arm’s Jacobian matrix, , , and are the mass matrix, Coriolis and centrifugal vector, gravity vector, respectively, and is the wrench applied by the end-effector to the environment. The control input to the robot is , the torque applied to the joint motors.
The motion controller in the task space from [3] (pp. 195-197) is used. Define a smooth and invertible mapping from the joint space to task space . In this work, the joint space is mapped to the task space defined with the position and orientation of the end-effector, i.e., . Note that this mapping is not globally but locally invertible thus works in a region, so multiple mappings may be used for the entire joint space. The Jacobian with respect to is defined as
(2) |
Thus,
(3) |
The motion controller can be expressed as
(4) |
where ; and are the desired and actual configuration, respectively; , , and are the controller parameters and should be chosen properly to ensure stability [3] (pp. 198).
To introduce the hybrid controller, consider a task of cleaning a table with a robotic arm. The table surface is a plane parallel to the plane in world frame with the axis pointing upward. Therefore, for such a task, a hybrid controller is needed to manipulate the end-effector to move from point to point on the table while maintaining a downward force (i.e., in - direction).
Define the mapping , where , , and are coordinates in world frame and the rest DOFs are orientation angles. We can decouple the 6 DOFs in the task space, i.e., the motion controller will be used to regulate to track the reference trajectory and the force controller regulates the contact force in direction through manipulating . Let be the reference trajectory in the task space with the initial position of the tip.
Plug Eqs.(4) and (3) into Eq. (1), we can obtain
(5) |
Let denote the th elements of a vector and . Eq. (5) can be decomposed into two parts as follows.
(6) |
(7) |
Eq. (6) represents the motion error dynamics while Eq. (7) will be used for the force controller design. Note that is not canceled in Eq. (5) since it is difficult to accurately measure the term and there will be a delay in canceling the term resulting in some unexpected behaviors.
Remark 1. The force term can be canceled (then ) if accurate sensors are available and the conclusion will not be affected. We are going to discuss the effect if this term is not canceled or just partially canceled.
II-B Hybrid Control: Part \Romannum1-Motion Control
Eq. (6) is the motion error dynamics after applying the motion controller Eq. (4). Here we explain how the term affects the controller performance. If is not canceled then ; if is not fully canceled, represents the residual term after canceling, then we can obtain the transfer function of the system with input and output from Eq. (6) as
(8) |
If , , and are chosen such that Eq. (8) is stable, it yields a low pass filter which has a very small gain in low frequency region. Thus, does not affect the tracking error much. In particular, when , which implies that constant cannot affect the output at all.
II-C Hybrid Control: Part \Romannum2-Force Control
Let where is the desired position and is the actual position of the end-effector. Let , with the desired downward force and the actual downward force. We integrate another controller Eq. (10) with Eq. (7) as follows (Note that (9) is obtained by replacing with in (7)).
(9) | |||
(10) |
where , is the input for the force controller. In Eq. (9), is extracted and the rest terms in are accounted for with and . Again, if can be canceled, , . The reason why is extracted here is that can be very large thus dominates over other terms in (i.e., , , etc.) when is large.
Controller Eq. (10) essentially indirectly regulates the contact force through adjusting the desired position. The block diagram of the force controller is shown in Fig. 1. We use a spring model to approximate the interaction dynamics between the tip and the environment. As seen in Fig. 2, let be the position of the contact point before contacting (before contacting there is no deformation at the contact point), the contact force can be computed with , where
(11) |
Sometimes the environment may be rigid and there is no deformation, the model can still work due to the flexibility of the robotic arm. When implementing the controller, can be read from the F/T sensor.


To obtain the closed-loop force error dynamics, the system state is defined as follows. For simplicity, it is assumed that , but this assumption can be removed and similar analysis can be carried out.
(12) |
The system state-space equation is
(13) |
Next, we analyze the case when and , i.e., can be canceled. If , the system Eq. (13) will be a time-varying model which is more challenging to analyze its closed-loop stability.
Non-contact Mode: If for , there is no contact, thus , , the controller Eq. (10) becomes
(14) | ||||
where . Eq. (13) degenerates to
(15) |
As seen in Eq. (14), will monotonously decrease or increase, which may result in very large before reaching the surface again if is very large. To avoid this and make the controller more robust, we can add a saturation function to the controller. Specifically, assume the estimated contact point position satisfies ( can be seen as the estimation error bound), the controller Eq. (10) is modified to
(16) |
with
(17) |
Since , and can be chosen to make Eq. (15) stable, the end-effector will eventually reach the surface again, then the controller will switch to contact mode as explained next.
Contact Mode: If , choose and such that all the non-zero eigenvalues of have negative real parts. However, since , there will be a zero eigenvalue for . We have the following proposition.
Proposition 1. In contact mode, suppose can be canceled, i.e., and , choose and such that all the non-zero eigenvalues have negative real parts, then,
-
1.
if and , converges to 0, i.e., for the system , ;
-
2.
if and , , where is a constant.
Proof. 1) Here we consider the case in which has distinct eigenvalues, if has repeated eigenvalues, as long as they have negative real parts, the similar analysis can be performed based on linear system theory without changing the conclusion [16].
The solution of is ( is a constant scalar depending on the initial state, is the eigenvector corresponding to the eigenvalue ), if . Since there is only one zero eigenvalue , thus . The eigenvector corresponding to the zero eigenvalue is , then , we have
(18) |
It follows that , implying that the system is asymptotically stable in contact mode. Eq. (18) also indicates that and as .
2) Let be the output of the system. Then, the state-space model can be expressed as
(19) |
The solution of Eq. (19) is known as [16]
(20) |
where denotes the state at . As has distinct eigenvalues, can be decomposed as , where and real, the th column of is an eigenvector of corresponding to eigenvalue . Therefore, , . Let denote the 6th row of , then
where we have used the fact that which is proven by Eq. (18). Let , where is a column vector, we have
Since for , there exists a constant such as . Therefore,
where is a constant, and on a vector is element-wise, i.e., taking absolute value for each entry of a vector.
If has repeated eigenvalues, will be a Jordan matrix and similar arguments can be used to prove 2) with the linear system theory [16].
Remark 2. 2) also implies that the system is bounded-input-bounded-output (BIBO)[17].
Hybrid Mode: Usually, the system will start from non-contact mode and remain in contact mode, but it is also possible that it switches between the two modes when is changing. In such case, it is difficult to show the asymptotically stability, however, we can show that the system output is bounded with the proposed controller applied: if the system stays in contact mode for infinite time, the system is asymptotically stable thus bounded based on the above discussion; if it switches to non-contact mode at , then the output at must be a finite value thus bounded, once entering non-contact mode the output is still bounded due to the saturation function in the modified controller (Eq. (16)). Therefore, the output is always bounded with the proposed force controller.
Remark 3. Eq. (10) is a PI controller, it can also be upgraded to a PID controller as . The analysis can be carried out in the same way by adding an extra state to Eq. (12). Note that this analysis is quite conservative. In simulation (e.g., in case study A, the topography is changing), it turns out that when is not large.
Remark 4. In Eq. (12), is rank-deficient due to the linear interaction model. The rank deficiency is not guaranteed if other interaction models were used.
Remark 5. In non-contact mode, extra information is needed to make sure that end-effector can reach the object surface, i.e., entering contact-mode again. In this case, this extra information is that by moving in - direction, it is guaranteed to reach the surface. Note that the signs of and are determined with such extra information.
III Case Studies
III-A Contour Tracking/Polishing Parts
This case is similar to the task presented in [1]. The goal is to explore everywhere on the object surface (position control) with constant downward force (force control). We can directly apply the hybrid controller here with force in direction maintained. The process is also equivalent to contour tracking with constant force as shown in Fig. 3. In the simulation the object is an ellipsoid as shown in Fig. 3.

III-B Grabbing a Box with Two Robotic Arms
Using two arms to grab a box is a common task for human beings. To mimic this with robots, consider the scenario in which two robotic arms are used to grab a box as shown in Fig. 4 (a).
During the process, the end-effector of two robots have to track the pre-designed trajectories, and maintain a force in the direction of the frame with origin at as shown in Fig. 4 (b). Therefore a motion/force controller is needed. The proposed hybrid controller can be applied in this case through modifying the mapping in Eq. (3). Note that the hybrid controller will only be applied to robot B as shown in Fig. 4 (a) in order to establish an invertible and smooth mapping from the joint space to the task space as explained next. Robot A is controlled with a motion controller.
As seen in Fig. 4 (a), the frame ( is the frame origin) attached to the end-effector of robot A can be determined with , where is the coordinate of in world frame and represents the directions of the , , and axes of the attached frame in world frame. Note that once the trajectory of end-effector of robot A is given, is fixed at time assuming the motion controller works effectively. Recall that the aforementioned mapping with . Now for the end-effector of robot B, define a new mapping where and can be computed as follows.
(21) |
It can be verified that is a smooth and invertible mapping. Therefore, , the composition of two smooth and invertible mappings, is still a smooth and invertible mapping. Essentially, maps the coordinate of to the frame originated at . Thus the force in the direction of frame is determined by which is the same with the hybrid controller we discussed before. Therefore, the same hybrid controller can be applied by modifying the mapping from to .
Note that this does not mean that the box is guaranteed to be picked up and follow the desired trajectory, the force-closure conditions are required to hold [2]. Here we assume that the force-closure conditions hold by adjusting properly the initial orientation and position of the two end-effectors as shown in Fig. 4 (a).




IV Simulation Results
IV-A Force Controller Simulation Results
To simulate the force controller Eq. (9)-(10), parameters of controller Eq. (6) were set as , , and . The desired force was N. The PI force controller parameters are and . We simulated the contact model for three different spring constants: N/m, N/m, and N/m. At the beginning, the tip position was m. The initial desired position was m.
If and , it can be checked that all the nonzero eigenvalues of have negative real parts, thus the above analysis can be applied. Fig. 5 (a) and (b) show the performance of the force controller for different s when . It can be seen that the system starts from non-contact mode and then switches to contact model and remains there for the rest time. The force can be accurately regulated for different s and converges in about 0.1s.
To test the controller performance for time-varying , we simulated the controller with m. The results are shown in Fig. 5(c) and (d). This can happen when the tip is sliding on a curved surface. It can be seen that the converged force error is very small for different even when the contact point changes from 0.02m to 0m in about 5s.
The robotic arm used is UR5 which has the size of a human arm and the simulation platform is MuJoCo [18]. For both two cases, the controller parameters are , , , and . The video is available in the supplementary material.
IV-B Case A: Contour Tracking/Polishing Parts
IV-C Case B: Grabbing with Two Robotic Arms
In this case, the goal is to lift the box with mass of 1kg and move along the vector m within 5s in the world frame. Note that the hybrid controller is only applied to robotic arm B while the other one is controlled by a motion controller alone. The force is regulated to 20N with the friction coefficient set to be 0.9 and the force control error is shown in Fig. 8 (a). The motion control errors for the two robots are shown in Fig. 8 (b) and (c), respectively. Note that for robotic arm B the motion error are expressed in term of and based on the mapping in Eq. (21). Again, the hybrid controller works as expected with both the motion and force regulated.
Note that for both cases the force error is very noisy as can be seen in Figs. 6 and 8 (a). This is partly due to the fact that the environment in simulation is very hard. The contact is shortly broken and then established again due to the controller resulting in spikes in the plots. On the other hand, the algorithm for calculating the interaction force in MuJoCo may also contribute to this. Computing the interaction force is transformed to solving an optimization problem in MuJoCo making it very challenging to set parameters to change the elasticity of the environment.

V Conclusion and Future Work
In this paper, a hybrid position/force controller is proposed. The position and force controllers correspond to different DOFs in the task space with the smooth and invertible mapping. The simulation results validated the proposed approach.
The interaction model used in this work is linear, which may not be the real case, more complex interaction models will be considered in the future. More examples in which the force controller corresponds to more DOFs will be studied. In addition, experiments with real robots will be conducted to verify the proposed method.
Although we have not observed Zeno behavior of the hybrid controller in simulations, current analysis cannot rule out the possibility of this phenomena which needs further investigations.
ACKNOWLEDGMENT
Shengwen would like to thank Professor Yan-Bin Jia for the technical discussions which improved the quality of this work.
References
- [1] C. Schindlbeck and S. Haddadin, “Unified passivity-based cartesian force/impedance control for rigid and flexible joint robots via task-energy tanks,” in 2015 IEEE International Conference on Robotics and Automation, pp. 440–447, IEEE, 2015.
- [2] K. M. Lynch and F. C. Park, Modern Robotics. Cambridge University Press, 2017.
- [3] R. M. Murray, Z. Li, S. S. Sastry, and S. S. Sastry, A mathematical introduction to robotic manipulation. CRC press, 1994.
- [4] N. Hogan, “Impedance control: An approach to manipulation: Part i—theory,” 1985.
- [5] C. Ott, R. Mukherjee, and Y. Nakamura, “Unified impedance and admittance control,” in 2010 IEEE International Conference on Robotics and Automation, pp. 554–561, IEEE, 2010.
- [6] F. Lange, W. Bertleff, and M. Suppa, “Force and trajectory control of industrial robots in stiff contact,” in 2013 IEEE International Conference on Robotics and Automation, pp. 2927–2934, IEEE, 2013.
- [7] T. Kroger, B. Finkemeyer, M. Heuck, and F. M. Wahl, “Adaptive implicit hybrid force/pose control of industrial manipulators: Compliant motion experiments,” in 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems(IEEE Cat. No. 04CH37566), vol. 1, pp. 816–821, IEEE, 2004.
- [8] S. A. M. Dehghan, M. Danesh, and F. Sheikholeslam, “Adaptive hybrid force/position control of robot manipulators using an adaptive force estimator in the presence of parametric uncertainty,” Advanced Robotics, vol. 29, no. 4, pp. 209–223, 2015.
- [9] M. H. Raibert and J. J. Craig, “Hybrid position/force control of manipulators,” 1981.
- [10] J. Duffy, “The fallacy of modern hybrid control theory that is based on “orthogonal complements” of twist and wrench spaces,” Journal of Robotic systems, vol. 7, no. 2, pp. 139–144, 1990.
- [11] A. G. Marin and R. Weitschat, “Unified impedance and hybrid force-position controller with kinestatic filtering,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3353–3359, IEEE, 2016.
- [12] V. Duindam and S. Stramigioli, “Port-based asymptotic curve tracking for mechanical systems,” European Journal of Control, vol. 10, no. 5, pp. 411–420, 2004.
- [13] C. T. Landi, F. Ferraguti, C. Fantuzzi, and C. Secchi, “A passivity-based strategy for coaching in human-robot interaction,” in 2018 IEEE International Conference on Robotics and Automation, pp. 1–6, IEEE, 2018.
- [14] S. Chen, Z. Wang, A. Chakraborty, M. Klecka, G. Saunders, and J. Wen, “Robotic deep rolling with iterative learning motion and force control,” IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 5581–5588, 2020.
- [15] G. Liu, L. Fang, B. Han, and H. Zhang, “Frequency-division based hybrid force/position control of robotic arms manipulating in uncertain environments,” Industrial Robot: the international journal of robotics research and application, 2020.
- [16] C.-T. Chen, Introduction to linear system theory. Holt, Rinehart and Winston, 1970.
- [17] H. K. Khalil and J. W. Grizzle, Nonlinear systems, vol. 3. Prentice hall Upper Saddle River, NJ, 2002.
- [18] E. Todorov, “Convex and analytically-invertible dynamics with contacts and constraints: Theory and implementation in mujoco,” in 2014 IEEE International Conference on Robotics and Automation, pp. 6054–6061, IEEE, 2014.
- [19] S. Xie, “Mounting a screwdriver onto a screw using hybrid control,” Master’s thesis, Iowa State University, USA, 2020.