Abstract
This paper proposes an adaptive impedance control method for a robot's end-effector while it slides steadily on an arbitrarily inclined panel; it concentrates on robot force position tracking control for the inclined plane with an unknown normal direction and varying environmental damping and stiffness. The proposed control strategy uses the Recursive Least Squares (RLS) algorithm to estimate environmental damping and stiffness parameters during the impact-contact process between the robot and the environment. It achieves the expected posture adjustment of the robot's end-effector based on the measured contact torques and, during the robot's end-effector's sliding on the inclined plane, a fuzzy control is developed to adjust the robot impedance model parameters on-line and adaptively for changes in environmental damping and stiffness. The designed robot force position control method is robust to the changes of the environmental parameters but the implementation of the proposed control algorithms is simple. Finally, experiments demonstrate the effectiveness of the proposed method.
1. Introduction
Research into force/position control between robots and unknown environments is currently a hot topic. The focus is mainly on improving the robot control system's performance while the environment's geometry parameters and dynamics parameters (damping and stiffness) are unknown or changing; it aims to increase the robustness of the robot force/position control. This paper focuses on robot contact with an arbitrarily inclined plane. The force/position control between robots and inclined planes has been studied by scholars recently. Karayiannidis Y. and Doulgeri Z. proposed the sloping surface normal direction vector online adaptive calculation based on the robot's joints' angle displacement and velocity while its algorithms slowly converge.[1–3] In other papers, they designed an algorithm that can achieve sloping surface normal direction estimation and force/position control at the same time, based on the robot's joint displacement and the contact force applied at the robot's end-effector. The contact surface tangential velocity is constant but the algorithm is too complex to be achieved in projects.[4–6] Furthermore, they used the approximation capabilities of neural networks to achieve the force and position trajectory tracking of a robot in compliant contact with a flat surface under non-parametric uncertainties existing in the dynamic and contact model.[7] Olsson T. et al. combine force sensing, visual perception and displacement sensors to achieve robot force/position control along arbitrary slopes.[8] Erickson D. et al. compare several methods of parameter (damping and stiffness) estimation for unknown environments and summarize the advantages and disadvantages of each method for the robot's force/position control.[9] Mallapragada V. et al. try to estimate environmental damping and stiffness with RLS and design a PI controller to compensate for the environmental parameters so as to estimate errors based on neural networks.[10]
This article introduces an adaptive impedance control for the force and position tracking control between a robot and an arbitrarily inclined plane. First, in order to stimulate environmental dynamic features - commanding the robot's end-effector to collide with the contact surface - it improves the precision of the environmental damping and stiffness estimation by RLS. Second, when the contact is stable, we adjust the posture of robot's end-effector to the expected value according to the contact torque. Finally, during the sliding of the robot's end-effector on the inclined plane, the changes of force and position are tiny compared to the measuring noise. This article introduces a fuzzy control based on position and contact force feedback so as to modify the damping and stiffness parameter of the robot impedance model online, being adaptive to environmental damping and variances of stiffness.
2. Robot impedance control model
Hogan, H. proposed a robot impedance control method in 1985. This method makes the robot end-effector's force/position control equivalent to the Spring-Weight-Damping model. It determines the relationship between the robot's end-effector displacement and the contact force by adjusting inertial, damping and stiffness parameters. Robot impedance control overcomes the disadvantages of frequently switching between the force control and position control of the robot's force position control. The ideal model of robot impedance control is:[11]
where X(t) refers to the robot's current position, Xd refers to the robot end-effector's expected position,
In the formula,
3. The influence of environmental parameters on robot impedance control
When robot impedance control is used for force/position control between the robot and the environment, the environmental parameters are unknown or changing or else cause the system's dynamic and static performance to decrease. Research into environmental stiffness and the influence of damping on the force/position control between the robot and the environment is the basis of using robot impedance control.[12–13]
3.1 Stable error influence
When robot's end-effector is in contact with the environment and the system is in steady state then according to robot impedance model Eq(1), we get Fe-Fd=Kd(X-Xd) while and the environment model Eq(2) yields Fe=Ke(X-Xe). In order to satisfy
3.2 Dynamic performance influence
Substituting Eq(2) into Eq(1), the interaction between the robot's end-effector and the environment can be equivalent to a second-order system and the damping coefficient ξ and un-damped vibration angular frequency wn should satisfy[10]
4. Robot's force position control along the inclined plane
Robot force position control along the inclined plane mainly contains the force control along the normal direction of the contact surface and the position control in the contact surface's tangential direction. At present, the robot impedance control which is used to achieve robot force position tracking control between the robot and the environment mainly focuses on uncertainties or else changing environmental damping and stiffness.[14–15] In order to satisfy these demands, this article estimates the initial value of the environmental parameters (Be, Ke) with RLS during the impact-contact process between the robot and the environments when the contact becomes steadily; it calculates the robot posture rotation matrix according to the contact torque. During the robot's end-effector's sliding on the inclined plane, we design the fuzzy turning mechanism to modify (Bd, Kd) online in order to achieve adaptive robot impedance control for the variance of the environmental parameters (Be,Ke).
4.1 Estimation of the initial values of the environmental parameters (Be, Ke)
In the environmental model Eq (2), let δX=X(t)-Xe yield
which it can be written as: Y[k] = φT [k]θ[k], where
Applying the RLS to calculate θ[k]: θ[k]=θ[k−1]+G[k]-φT[k]θ[k−1]) the gain factor,
4.2 Robot end-effector's velocity control along the inclined plane
The sliding of the robot's end-effector on the inclined plane is shown in figure 1. Vn refers to the velocity of the robot's end-effector. We adjust the robot's posture relative to the inclined plane when it is in contact with it and it is no longer necessary to make adjustments when the robot's end-effector is sliding on the inclined plane. Accordingly, in this article the posture is adjusted according to the contact torque when the contact between the robot's end-effector and the inclined plane is kept stable. The sliding of the robot's end-effector on the inclined plane is shown in figure 1.
where u and θ refer to the equivalent rotation axis and rotation angles, such that the expression of S(u) is described in [16], and

Robot contact with the inclined plane
The robot's end-effector's translational velocity in the inclined plane can be described as wv(k) = wvt(k) + wvn(k), where k is the sampling period k=0,1,2,…, the superscript w represents the robot workplace coordinate frame, wvt(k) is the velocity of the robot's end-effector along the inclined plane, wvt(k) = vuser(k)wt(k)‖wt(k)‖−1, vuser(k) is the user's defined absolute velocity, wt(i) = wP(i + 1)-wP(i) is the difference between the robot's adjacent position, wvn(k) is the velocity in the inclined plane's normal direction and wv(k) = ‖wvnorm(k)|wod(k) where wod(k) is the normal unit vector of the inclined plane. the calculation of wvnorm(k) is presented below.
We define the robot impedance control model as
where t is time for the discrete process of Eq(3) with the sampling period
where Ki ∈ R3*3 is the contact force feedback error factor.
4.3 Apply the fuzzy control for the robot impedance control
When adjusting the robot's end-effector to the expected posture, the vector unit N along the contact surface's normal direction can be calculated; as such, the robot's end-effector stress along vector N is
The designed robot adaptive impedance control is shown in figure 2. DK and IK refer to the robot's forward and inverse kinematics, such that the robotic end-effector's gravity compensation is intended to make the contact force measurement more precise. bR refers to the rotation matrix of the robot's tool coordinate frame to the robot's basic coordinate frame. The fuzzy controller (FLC) achieves the adjustment of the impedance model's parameters (b d, k d) and we can estimate (kd,bd) by mainly scoping for the robot's impedance control in the whole robot work space by trials: kmin ≤ kd ≥ kmax,

Robot adaptive impedance control
kd=k0+λk(kmax-kmin) and setting b =b0+λb(bmax-bmin), kd=k0+λk(kmax-kmin), where λb and λk are defined as the damping and stiffness adjustment factors respectively, with ranges from (−1 +1) and b0andk0 referring to the initial damping and stiffness parameters in section 3.1. We define the deviation between the robot's current position and its expected trajectory as ex and its differential value as ex, the difference between the current contact force and the expected value as ef, the designed FLC with inputs of ex and ef and an output λk to adjust the stiffness kd and with inputs ėx and ef and outputs λb to adjust the damping bd.
In the experiment, the varying ranges of ex, ėf and ef are [−0.1 0.1]mm, [−100 100]mm/s and [−0.2 0.2]N respectively. We define the domains of ex, ėf, ef, λb and λk as the same {−5,−4,−3,−2,−1,0,1,2,3,4,5}. There are five fuzzy subsets in the input and output universe of discourse, with membership functions obeying the normal distribution. The fuzzy control rule is shown in table 1. In practice, we create a fuzzy rule table off-line with the real-time force position control based on the contact force measured by the force sensor and the joint angular displacement measured by the joint encoders. We then inquire into the control table according to ėx, ex and ef - through fuzzy quantization, we get λk and λb. We multiply λk and λb by their proportional divisors to update (bd, kd) and substitute the new (bd, kd) to Eq(1) to yield the displacement ΔXn(k) in the normal direction of the contact surface; ΔXn(k) is regarded as displacement compensation added in order to yield the robot reference trajectory Xr(k) to achieve the expected contact force and position tracking control, substituting Xr(k) in the inverse kinematics to yield the robot joint space reference trajectory Θr(k). Finally, in the robot joint space the proportional-derivative control is used to achieve position tracking control.
Fuzzy control rule
5. Experiment and its conclusion
The designed experiment is based on a 5-DOF industrial robot with a Wuhan company numerical control HNC-210B controller and a HSV-18 servo-drive as the hardware platform for the robot control system. The software platform is based on the DOS system, the position control cycle is 4ms, the precision of the ATI Delta force sensor used is 0.1N and the sampling frequency is 7KHz, with an aluminium, smooth round stick installed at the robot's end as the probe. The experiment is shown in figure 3. A smooth and elastic wood is fixed at the wall at a given sliding angle - the probe is intended to contact and slide on the wooden plane in the expected posture. For a simple, we define the robot's expected posture as perpendicular to the plane where the expected contact force is 2N in the plane's normal direction and the tangential movement along the plane is controlled by the direction keys on the control panel. In the experiment, the designed force control would not trigger until the contact between the probe and the plane occurred, as the initial contact force is smaller than 2N and the probe moves close to the plane until the contact force rises to 2N. During the probe's contact with the plane, RLS is used to estimate the initial value of the environmental parameters (Be,Ke) after the contact force becomes stable, adjusting the probe posture according to the contact torque measured (the contact torque should be 0 - in theory - in the expected posture) to make the centre of axis of the probe perpendicular to the plane. Finally, pushing the directional keys on the control panel manually in order to control the movements of the probe along the plane, it first moves along the –x direction and then along the +x, -z directions at the same time in the robot's basic coordinate frame with a velocity of 20mm/s.

Force/position control along the inclined plane
In the experiment, the force in the normal direction of the plane measured by the sensor is shown in figure 4 (the sampling frequency is 250Hz); after the contact is stable, the deviation between the force in the normal direction and the expected value is within the range of 0.2N (a sudden change in the movement direction may cause the fluctuation of the contact force), the relative displacement of the probe in the robot's base coordinate -x, -y, -z directions is calculated by the robot's joint angular encoders' measure, as shown in figure 5. The displacement changes smoothly in all directions, indicating that the sliding of the probe along the plane is smooth. Since the plane does not coincide completely with the robot's basic coordinate frame, there is some displacement in the -z direction when the probe moves in the –x direction. Since the inclination angle of the fixed plane is arbitrary in the experiment, it can be concluded that the designed control method has achieved the contact force and position tracking control for the robot contact with an arbitrarily inclined plane.

Contact force in the contact surface's normal direction

Robot's end-effector's (probe's) displacement in the robot's basic coordinate frame
6. Summary
The design of adaptive impedance control realizes the contact force and position control simultaneously along an arbitrarily inclined plane. it decreases the influence of the unknown inclined plane's normal direction, the uncertainties of environmental damping and stiffness, and the effect of any such changes on the robot's force/position control. The design method has the advantage of: (1) Improving the precision of estimation with RLS, stimulating environmental damping and stiffness estimation with the impact contact; (2) In order to reduce the influence of the contact surface's frictional force on the adjustment of the robot's end-effector posture, we adjust the robot's end-effector to the expected posture according to the contact torque when the robot makes contact stably with the environment. (3) During the robot's end-effector's sliding on the inclined plane, we design the fuzzy controller to modify the damping and stiffness parameters in real-time according to the robot's position error and its deviation and contact force error in order to adapt to the environmental changes and compensate for the impedance model's parameter's estimation error.
Footnotes
7. Acknowledgments
This study was supported by the National Natural Science Foundation of China (Grant No.50905069 and No. 51121002) and the National Science and Technology Major Project (Grant No.2012ZX04001012).
