Singularity Avoidance Control of a Non-Holonomic Mobile Manipulator for Intuitive Hand Guidance †

: Mobile manipulators are robot systems capable of combining logistics and manipulation tasks. They thus fulﬁll an important prerequisite for the integration into ﬂexible manufacturing systems. Another essential feature required for modern production facilities is a user-friendly and intuitive human-machine interaction. In this work the goal of code-less programming is addressed and an intuitive and safe approach to physically interact with such robot systems is derived. We present a natural approach for hand guiding a sensitive mobile manipulator in task space using a force torque sensor that is mount close to the end effector. The proposed control structure is capable of handling the kinematic redundancies of the system and avoid singular arm conﬁgurations by means of haptic feedback to the user. A detailed analysis of all possible singularities of the UR robot family is given and the functionality of the controller design is shown with laboratory experiments on our mobile manipulator.


Introduction
The demand for highly flexible and adaptable robotic systems naturally arises within the manufacturing processes of products with high variability and small lot-sizes.This challenges also include frequently reprogramming of the robot.Traditionally, interactions between humans and robots within a shared workplace can be categorized into two distinct scenarios: a service scenario and a process scenario.In the former case, a robot is programmed and prepared for a new production process rather infrequently by highly skilled experts.In the latter case, less complicated interactions are part of the everyday work flow.This means that robot reprogramming has to be performed much more frequently by human workers with extensive domain knowledge but usually limited programming skills.
To integrate this reprogramming fluently into the workflow it must be fast and easy to use.Thus the interaction interface between human and robot is of significant importance.One well known technique is Programming by Demonstration (PbD).There are several forms of this method: (a) the positions of the work-piece itself or a special teaching object is tracked and used to plan the trajectory of the robot [1], (b) the robot is guided into the desired positions via remote control [2,3] and (c) kinestetic programming by demonstration, where the robot is compliant and can be hand-guided into the desired configurations [4,5].In the user-centric work of [6], the trajectories that are teached to the robot system by untrained end users can be adapted in a subsequent step via a graphical user interface to obtain the desired task.
The latter mentioned teaching technique requires the robot to be compliant.There are several different sensitive robots, also known as collaborative robots or cobots that are able to perceive the interaction forces with the environment by utilizing additional sensing like joint torque sensors and control theory.With the knowledge of external forces that act on the robot, a compliant behavior can be realized which enables the ability to hand-guide the robot and allows a closer cooperation without external safety barriers [7].
While there are many publications describing compliance control for serial manipulators, e.g., [8][9][10][11][12][13] only little investigations for a whole-body compliance control of a mobile manipulators have been done.Leboutet et al. [14] proposed a technique with hierarchical force propagation for a mobile manipulator that consists of an omni-directional base and two Universal Robots UR10 serial robots.The robotic arms are covered with their special multi-modal sensor skin which allows measuring the applied external forces on the robot at several contact points.External forces whose reactive motions are inconvenient to be performed by the serial manipulator are directly projected to the mobile base.To decide which motions should be performed by the base, the manipulability ellipsoid is used.Navarro et al. [15] presented a solution for an omnidirectional base where the distribution of motion is done with optimization.They proposed a cost function that includes a measure for the manipulability, a self-defined value for the closeness-to-singularity and some additional distance and angle constraints.
Han et al. [16] point out the complexity of controlling a robot in task-space while taking singularities and joint limits into account.They present a hierarchically structured controller that uses a continuous task transition algorithm to guarantee execution of the main task while additional tasks, e.g., for singularity-avoidance, can be activated or deactivated.
In our previous work [17], we presented a control design for a whole body compliance control of the mobile manipulator but singularity avoidance was not taken into account.Since we control the velocities of the end effector (EE) in task space, singular configurations are problematic.In a singular configuration the inverse kinematic on velocity level cannot be solved at all or results in infinity joint velocities.Also approaching a configuration close to a singularity may result in very high joint speeds, which could be dangerous for humans close to the robot, and must be avoided.We extended our previous work by analyzing all possible singularities of the Universal Robots family with focus on the model UR10, which is used on our mobile manipulator CHIMERA.We also included a singularity-avoidance strategy in our control structure by applying haptic feedback to the user before approaching singular configurations and present the results of conducted laboratory experiments.
This paper is organized as follows: The kinematics and especially the singularity analysis of the serial manipulator UR10 is given in Section 2, the control structure is discussed in Section 3, including the motion-distribution between mobile base and serial manipulator and our proposed strategy to avoid approaching singular arm configurations.Experimental results are shown in Section 4 and a conclusion and outlook for future work is given in Section 5.

Kinematics and Singularity Analysis
A mobile manipulator is an effective tool to accomplish tasks, e.g. the manipulation of objects in space.It is a combination of a serial manipulator and a mobile robot, which greatly expands the manipulator's workspace and thus increases the system's performance.For analysis purposes, such systems can often be split into two components, a mobile platform and a manipulator arm.The studies in this paper focus on a mobile manipulator called CHIMERA, which consists of a MiR platform (differential drive) and a UR10 (6 DoF) serial arm.

Kinematics
Mobile wheeled platforms have been the subject of many studies in the past.For the kinematic description of mobile robots we refer to [18].The kinematic relationships of the UR10 were also sufficiently investigated [19], although it is pointed out that the kinematic chain has an offset wrist.

Singularity Analysis of the UR Robot
For the computation of all singularities of the UR10 we will use the well known fact that the columns of the 6 × 6 Jacobian matrix J are the Plücker coordinates of the instantaneous locations of the rotation axes of the manipulator [20].Using this fact one can obtain J without differentiation.A couple of prerequisites are noted before.We assume that the rotation axes are always the z-axes of the local coordinate systems.In this local coordinate system the Plücker coordinates of the revolute axes are p i = [0, 0, 1, 0, 0, 0] T .To compute their coordinates in the base system the forward transformation matrices are needed.It has to be noted that the manipulator is in a singular pose when the six Plücker coordinates are linearly dependent.
Using the usual Denavit-Hartenberg (D-H) convention to describe the geometric structure of the serial manipulator [21], the forward transformation can be written as where .
The joint positions of the serial manipulator are given by q i as depicted in Figure 2 and the constant D-H parameters are given by a i , d i and α i .To transform the Plücker coordinates the line transform matrix T is needed.When the forward transformation matrix is written as To compute the Plücker coordinates of a specific rotation axis only those parts of the forward kinematics will be needed which transform up the axis whose location has to be found.We denote the partial transformations by and by y 1 = [0, 0, 1, 0, 0, 0] T the Plücker coordinates of the first rotation axis.Then the remaining five Plücker coordinates are obtained by The six Plücker coordinates can now be assembled to the 6 × 6 Jacobian matrix J: J = [y 1 , y 2 , y 3 , y 4 , y 5 , y 6 ] A necessary and sufficient condition for the manipulator being in a singularity is: det J = 0. Due to the simplicity of the design of the manipulator this determinant can be computed without assigning all D-H parameters.The resulting equation becomes very well laid out when all angles in the forward transformation are written in algebraic values.This is achieved by performing half tangent substitution: cos . The essential D-H parameters that determine the UR family of robots are a 1 = 0, d 2 = 0, d 3 = 0, a 4 = 0, a 5 = 0, a 6 = 0, al 1 = 1, al 2 = 0, al 3 = 0, al 4 = − 1, al 5 = 1, al 6 = 0.The remaining D-H parameters are not assigned and determine the type of UR robot.Computing the determinant of J yields The analysis of Equation ( 4) reveals that det J factors into three parts: v 3 = 0 determines the elbow singularities because then the arm is stretched out, v 5 = 0 yields the wrist singularities because then the fourth and the sixth axis are coplanar.The third expression belongs to the shoulder singularity and contains only the joint parameters v 2 , v 3 , v 4 .When two of the three joint parameters are set, then the third can be computed via the remaining quadratic equation.When the manipulator is brought to the resulting pose then one can observe that the intersection point P 56 of the fifth and the sixth axis is on a cylinder which has the equation x 2 + y 2 − d 2 4 = 0 in the base coordinate system.This cylinder has a geometrical easy explanation: lets assume for a moment v 1 = 0, then it is obvious that the intersection point of fifth and sixth axis can only move in the plane y = −d 4 of the base coordinate system.This plane intersects the plane x = 0 which is the span of the first and the second axis in a line parallel to the z-axis in a distance d 4 from this axis.When the rotation about the first axis is added then this line describes the cylinder.That P 56 is located on this line in case of a shoulder singularity can be computed immediately by setting v 1 = 0 and solving the third polynomial of Equation ( 4) for, e.g., The singularity surface represented by Equation ( 5) is shown in Figure 1.
Singularity surface of shoulder singularities in the transformed joint space.

Control Strategy
The goal of the control structure is to translate the input forces and torques of the user into robot motion.We divide between the two subsystems, the mobile base and the serial manipulator on top of it.Since the combined system shows kinematic redundancies concerning the 3D task-space, the motion distribution is a main part of the proposed control structure.Additionally, virtual springs are used to generate haptic feedback to the user when pushing or pulling the mobile base.Haptic feedback is also used to avoid singular arm configurations.
We consider the serial manipulator as an open kinematic chain with q ur = q 1 q 2 . . .q 6 T ∈ R 6×1 joints on top of the mobile base equipped with a differential drive, denoted as q mir = x y θ T ∈ R 3×1 shown in Figure 2. All freedoms of the system are collected in q sys = q T ur q T mir T ∈ R 9×1 .Moreover, the redundant robot system is considered as a unit that is composed of two tightly coupled subsystems, where the coupling is established by our proposed control structure.
CHIMERA joints and coordinates: The mobile base is modelled with two linear joints x and y and one rotational joint Θ.The UR-10 has six rotational joints denoted as q i with i = 1, . . ., 6.The Coordinate Systems are defined with their origins O and three axis-vectors x, y and z.Shown are the world-coordinate system Σ W := {O W ; x W , y W , z W }, the frame of the mobile base Σ B : = {O B ; x B , y B , z B }, the UR-10 base frame Σ M := {O M ; x M , y M , z M }, the EE frame Σ E := {O E ; x E , y E , z E } and the coordinate system of the force-torque sensor Σ S := {O S ; x S , y S , z S }.The virtual pull-back force for singularity avoidance in joint 3 is denoted as fq 3 and the virtual torque for singularity avoidance in joint 5 as τ 5 .

Distribution of Motion
The distribution of motion is realized as follows: Two circles, an inner and an outer one, are used to define three zones in the xy-plane of the robot base frame, as depicted in Figure 3.We switch between three main operation modes, depending on the position of the end effector (EE) in the xy-plane.If the EE is located between the two circles (r i < r < r o ), only the serial manipulator moves, denoted as UR-Mode.Outside of the outer circle (r > r o ) we switch to Pull-Mode, where the mobile base can be pulled like a trailer and haptic user-feedback is realized by means of a virtual spring.This virtual spring generates a force to move the EE back inside the circle.When the EE enters the inner circle (r < r i )we switch to Push-Mode.The user can move the base by pushing it and a virtual spring generates a force to move the EE back out of this inner circle.where B ur ∈ R 6×6 and B mir ∈ R 3×3 are the diagonal positive definite damping matrices, ∈ R 6×1 is the wrench vector, including external forces and torques applied to the EE, wfb ∈ R 6×1 is a wrench vectors for haptic feedback including the virtual spring forces and singularity avoidance wrenches as described in Section 3.2 and wmir = F mir 0 τ mir T ∈ R 3×1 includes the projected force for linear motion and projected torque for angular motion of the mobile base as shown in Equation (7).The vector of EE-velocities to compensate for angular motions of the base is denoted as ẋc .We assume that the applied wrench w ext acting on the EE is known, either by using a force-torque sensor or joint torque estimation based on motor current measurements (see, e.g., [22,23]).
Mode-dependent variables are the projected wrench wmir of the mobile base and the haptic feedback wrench wfb .To move the mobile base, we project the applied external wrench to a linear pulling or pushing force F mir and a rotation torque τ mir .These projected values are only computed if the EE is not located in between the inner and the outer circle, e.g., in Pull-Mode and Push-Mode.Since the mobile base is non-holonomic due its the differential drive, no linear motion in y-direction is possible and the second entry of the projected wrench wmir = F mir 0 τ mir T ∈ R 3×1 is set to zero.This strategy is inspired by the design of a steered trailer, which most persons are familiar with.The projections are given as with p x denoting the x-coordinate of the anchor point and the angles α and β as illustrated in Figure 3.
The additional conditions that consider the angles α and β in Equation ( 7) ensure that only forces in the desired direction, based on the actual mode, are projected to the base (e.g., no pushing of the base in Pull-Mode).The projected force and torque are then transferred to motion as described in Equation ( 6).
The translational motion of the EE in world coordinates that is caused by a translational motion of the base feels natural and as intended when interacting with the robot.In contrast, rotations of the base cause the hand guided EE to push towards a side, which feels unexpected and unnatural, thus this motion must be compensated.The compensation vector is given by v c = v c,x v c,y 0 T T with v c,x and v c,y as the linear velocities of the EE in x and y direction and 0 T a 4×1 zero vector.The components can be determined as

Haptic Feedback
The haptic feedback provided to the user fulfills several purposes.First, whenever the EE leaves the space between the two circles, so Pushor Pull-Mode is active, a virtual spring force is generated.This provides the naturally expected resistance when pulling or pushing the mobile base.Second, to avoid approaching singular arm configurations.The avoidance of the shoulder singularity is already guaranteed by means of the inner circle.The remaining two causes for a singularity, a fully stretched elbow (joint 3) and a critical wrist configuration (joint 5), are avoided by adding additional virtual feedback wrenches whenever one of these joint-position gets too close to a critical value.The total wrench-vector for haptic feedback wfb = ws + wq 3 + wq 5 (9) is determined as the sum of the wrench ws including the virtual spring forces in Pullor Push-Mode and wq 3 and wq 5 for singularity-avoidance in joints 3 and 5, respectively.

Virtual Spring
The borders between the three different zones are defined as circles in the xy-plane as shown in Figure 3, resulting in cylindrical shapes in 3D-space, since the z-coordinate of the EE is not taken into account here.Thus, also the virtual spring force acts in the xy-plane only, consequently ws = F s,x F s,y 0 T T , where F s,x and F s,y are the x and y components, respectively, and 0 denotes the 4 × 1 zero vector.The equations to determine these components are given by with k pull and k push as the spring constants of the virtual springs, r o and r i as the radii of the inner and outer circles, respectively, r as the xy-distance between O E and O M and the angle β as depicted in Figure 3.

Singularity Avoidance
As discussed in Section 2 there are three types of singularities: The shoulder singularity, the elbow singularity and the wrist singularity.The shoulder singularity is already avoided with the inner circle.Whenever the EE enters this inner circle, a force pointing in the opposite direction is generated, thus by choosing r i sufficiently large the point P 56 (see Section 2) cannot reach the plane spanned by the axis of the first and second joint in the base frame of the serial manipulator, despite applying immensely high forces which assume the user will not do.
With a fully stretched elbow, the EE looses its ability to move further away from its base and the arm is in a singular configuration.We avoid this by applying a force to the EE with direction back to origin of the base of the serial manipulator whenever the elbow (joint 3) get closer than a specified distance to the critical joint position, as depicted in Figure 4.The direction of the force is therefore given by the unit-vector −e O E , which is the negative normalized translation vector of the EE in Σ M .The pullback-force is determined as and its magnitude increases, the more the elbow gets stretched.We do not want any feedback torques here, thus τq 3 = 0.The wrench vector for haptic feedback to avoid the elbow singularity is then given by The wrist singularity occurs, whenever the second wrist joint (joint 5) approaches the position kπ, k ∈ Z, causing the rotation axes of the other two wrist joints (joints 4 and 6) being parallel.Similar to the avoidance technique for the elbow singularity, we specify a threshold for the minimum distance to the critical joint position.As shown in Figure 4, when the distance falls below this threshold, a virtual torque in the 5-th joint is generated by means of a torsional spring to prevent coming too close to the singular position.The virtual torque is determined as q 5 < t 5,low k 5 (q 5 − t 5,hi ) q 5 > t 5,hi 0 otherwise (13) where τ 5 is the torque caused by the virtual spring, k 5 denotes the stiffnesses of the virtual torsional spring, q 5 is the angular position of the joint and t i,hi and t i,low are the upper and lower thresholds for the virtual spring to become active.This virtual torque in the 5-th joint has to be transformed to an associated EE wrench.To determine reactive force we need the Jacobian J, which is a function of the joint positions q ur and composed of a linear part J v and a rotational part J ω , consequently J = J v J ω = j v,q 1 j v,q 2 j v,q 3 j v,q 4 j v,q 5 j v,q 6 j ω,q 1 j ω,q 2 j ω,q 3 j ω,q 4 j ω,q 5 j ω,q 6 .( 14) With the Jacobian we can determine the EE-velocities for a given set of joint-speeds.In particular, we are interested in the linear EE-velocities caused by 5-th joint, which is given in j v,q 5 .The reactive force at the EE, caused by a given torque around the axis of rotation of the 5-th joint is indirectly proportional to the distance |j v,q 5 |, thus we need to invert the magnitude of this vector while maintaining the same direction.This resulting vector is also known as the Samelson inverse and the reactive force is determined as: To achieve the desired motion around this axis, the chosen damping coefficients of our controller need to be taken into account.As given in Equation ( 6), without external forces (f ext = 0), the linear velocity-vector v of the EE, as a reaction to the virtual force fq 5 is given by To Keep the EE on the desired circular trajectory around the axis of rotation of joint 5, the relation between linear and angular velocities v = |j v,q 5 |ω (18) must hold.The angular EE-velocities are determined by the controller as ω = B −1 ω τq 5 (19) and thus, to satisfy the constraint from Equation ( 18), the feedback-torque at the EE is given with The wrench-vector for the haptic feedback of the virtual torsional spring in joint q 5 is given by

Experimental Results
To show the effectiveness of the proposed control structure several laboratory experiments were carried out (see supplementary video).This includes straight pulling (Section 4.1) and pushing (Section 4.2) manoeuvres of the EE to demonstrate the working principal of the motion-distribution between serial manipulator and mobile base.A curved pulling experiment (Section 4.3) shows that the mobile manipulator behaves similarly to a simple steered trailer, which we used as inspiration for the controller design.We also show detailed results of the singularity avoidance techniques.As mentioned in Section 3.2.2, the shoulder singularity is avoided by means of the virtual spring of the inner circle.Even tough this is a restrictive choice and permits a large area of the workspace of the serial manipulator it prevents the arm from approaching the shoulder-singularity and no explicit experiments were performed for this case.Results for avoiding the elbow and wrist singularities are discussed in Sections 4.4 and 4.5, respectively.The threshold values t 3 ,t 5,lo , t 5,hi , the elements of the damping matrices B v , B ω , B mir as well as the parameters k pull , k push , k 3 , k 5 were determined empirically.All parameters used for the experiments are given in Table 1.The results of straight pulling manoeuvre are shown in Figure 5.The EE starts between the two circles and the controller is in UR-Mode, thus the applied force f ext at the EE initially only causes a motion of the EE.As the radius r increases and the EE leaves the outer circle (first vertical green line), a switch to Pull-Mode arises and the applied forces are also projected to the mobile base and cause motion.Withing this experiment, the EE was tried to pull along the negative x-axis, thus the angle β was very small (See Figure 3).As a result, the magnitudes of the projected torque τ mir and the angular velocity θ of the mobile base are small.Once no more force is applied and the EE is released (second vertical green line) the base stops and the EE moves back inside the outer circle.Right axis shows the projected torque for the mobile base τ mir (magenta).Plot (b): Left axis includes the linear velocity of the mobile base ẋ (red) and its rotational velocity θ (magenta).Right axis shows the radius r, which is the xy-distance between EE and UR10 base (black solid) and the radii r i and r o of the inner and outer circles (dashed black), respectively.

Straight Pushing
In Figure 6, the results of a straight pushing manoeuvre are shown.In this experiment, the EE is pushed along the x-axis towards the anchor point.Similar to the straight pulling experiment, the EE starts between the two circles and within the first few seconds only the robotic arm moves until the EE enters the inner circle (first vertical green line).The user receives haptic feedback by the means of the virtual spring with increasing magnitude the deeper the EE enters the inner circle.At the same time, a force and a torque are projected to the mobile base and causes motion there.We tried to push the EE along the x-axis, thus also here the magnitudes of the projected torque and angular velocity of the mobile base are relatively low compared to the curved pulling experiment.As Soon as the EE is released it returns to the inner circle and the mobile base stops.

Curved Pulling
For this experiment, a curved pulling action is performed with the results shown in Figure 7.In contrast to the last two experiments, where pulling or pushing happened along the x-axis (β ≈ 0), the EE is pulled with an angle, so that a higher projected torque is generated once the EE leaves the outer circle.This torque causes an angular velocity of the base so that is turns towards the pulling direction.The amplitude of the rotational velocity decreases the closer the EE gets towards the negative x-axis again.Once the base faces the direction only the translational motion remains until releasing the EE.

Singularity Avoidance-Elbow-Joint
To show the effectiveness of the proposed technique to avoid a singular configuration caused by the elbow joint, two similar experiments were performed: One with active singularity-avoidance, shown in Figure 8a, and a second with inactive singularity-avoidance (| fq 3 | = 0), shown in Figure 8b.For this experiment, the EE starts between the two circles (UR-mode) and is pulled upwards.The inner and outer circles are defined in the xy-plane, which results in cylindrical borders in the 3D-space.Without singularity-avoidance it is possible to move the EE in between these cylindrical borders freely, so there is no limitation on the height.This could result in a fully stretched elbow causing a singular arm configuration as demonstrated in Figure 8b (second green line).Please note that within this second experiment no pullback-force is applied when q 3 falls below the threshold value t 3 .As a result to the applied pulling-force the elbow stretches more and more until it hits the critical position and the UR10-controller goes into protective stop.The results also show an increasing joint velocity q3 as q 3 gets closer to the critical position.This fast joint movement could be very dangerous for humans near the robot and must be avoided.With active singularity-avoidance a pullback-force is applied after the threshold is hit (first green line in Figure 8a) preventing q 3 getting close to the critical position.
During our experiments, it was not possible to get a fully stretched elbow even when excessively high pulling-forces were applied by the user.The working principal of this technique is also depicted in Figure 9.This force increases the more the elbow stretches.Thus, without applying extremely high forces it is not possible for user to get into the singular position of the 3rd joint.After releasing the EE, is moves back towards the base until the position q 3 reaches the threshold (bottom image).

Singularity Avoidance -Wrist-Joint
The results of the proposed singularity-avoidance strategy for the wrist joint (joint 5) are shown in Figure 10a.For comparison, a similar experiment with inactive singularity-avoidance was carried out with the results shown in Figure 10b.During this experiments, the robot started in a configuration with the joint position q 5 near the upper threshold t q 5 ,hi and the EE was pushed back towards the base, as depicted in Figure 11.With active singularity avoidance, a virtual force fq 5 and a virtual torque τq 5 are applied to the EE after q 5 surpasses the threshold (first vertical green line in Figure 10a).As the upper plot shows, the applied and virtual torques have almost the same magnitude.For better readability, only the norms of these vectors are plotted, but these torques are around the same axis but in opposite direction.Thus, they cancel each other in terms of EE motion generation in our controller equation given in Equation (6).Consequently the 5th joint is prevented from rotation further towards the critical position.When the EE is released joint 5 moves back to the threshold.When the singularity avoidance is turned off, the same manoeuvre results in further rotation of the 5th joint towards the singular position, as shown in Figure 10b.This plot also shows that the joint velocities drastically increase when q 5 gets near the critical position (second vertical green line in Figure 10b) which should be avoided in any case.The lower plots show the joint position q 5 (blue), the position-threshold t 5,hi (black dashed) and the singular position (red dashed) on the left axis.The lower right plot also shows the joint velocities q4 , q5 and q6 (red, magenta and blue dash-dotted) on the right axis.This causes a linear and angular motion of the EE.As soon as q 5 surpasses the threshold, a virtual torque and the corresponding virtual wrench at the EE are computed (middle image).As also described in Section 4.5, the external torque and the virtual torque for singularity avoidance cancel each other out and there is no more rotational motion.A translational motion towards the center remains, but it is not possible for user to get into the singular position of the 5th joint.

Conclusions
In this work, the practical use of a mobile manipulator was studied and demonstrated.We gave a detailed analysis of all possible singularities for the whole UR robot family and specifically pointed out those of the UR10.We proposed a control structure for hand-guiding the EE in Cartesian coordinates while handling both, the kinematic redundancies of the mobile manipulator and singular configurations of the robot arm.The conducted laboratory experiments on our mobile manipulator CHIMERA show that the system robustly permits these critical arm configuration while allowing the user to guide the EE to the desired target.It is also possible to either move the whole mobile manipulator or only the arm with fixed position of the mobile base without the need for any buttons or additional user interfaces.Moreover, the haptic feedback provided to the user by means of virtual forces and torques makes the interaction very intuitive and easy also for inexperienced users.This system design enables intuitive programming of mobile manipulator tasks using the Programming by Demonstration technique.Additionally the robot can be used as an assistant system without limitations on the workspace, e.g., for gravity compensation tasks.While investigations of the elbow and wrist singularities are straight forward, because each of them solely depends on one particular joint position, analyzing the shoulder singularity is more complex.We showed that our system avoids this configuration, but in a restrictive way since we deny a relatively large area of the manipulator's workspace.
For future work, we plan to refine the avoidance strategy especially for the shoulder singularity.By specifying a metric for the distance to the singularity the volume of the denied workspace could be reduced.Moreover, there are multiple solutions for the inverse kinematics of the serial manipulator.Switching from one posture the another implies going through a singularity and the current system design does not allow for manually switching the configuration (e.g., from elbow-up to elbow-down).

. . 3 ×
1 translation vector, A . . . 3 × 3 rotation matrix then the line transform matrix is T = A 0 a × A A . a × . . .skew symmetric matrix belonging to translation vector a As the equation is quadratic in v 4 one obtains for arbitrary values of v 3 and v 4 two values for v 4 = v 41 , v 4 = v 42 .Direct computation of the location of P 56 when either v 41 or v 42 are substituted into the forward kinematic equation yields P 56 = [1, 0, −d 4 , ±g(v 2 , v 3 )] T .This shows that P 56 is on the intersection line of planes x = 0 and y = −d 4 .Its z coordinate is determined by g(v 2 , v 3 ) which is a relatively complicated function.It gives the values of the intersection point of the circle which is the path of P 56 during the rotation about the fourth axis with the plane x = 0.The forgoing description is valid for all manipulators of the UR family.When a special type is chosen, e.g.UR10, then the remaining D-H parameters are set a 2 = 0.6127, a 3 = 0.5716, d 1 = 0.118, d 4 = 0.163941, d 5 = 0.1157, d 6 = 0.0922 and the singularity equation becomes:

Figure 3 .
Figure 3. Kinetic relationships under external forces: This figure illustrates the angles and forces when the EE is outside the outer circle (Pull-Mode) and a force and torque is projected to the mobile base as described in Section 3.1.The control inputs of the system are the EE-velocities ẋΣ B ur = v T ω T T ∈ R 6×1 and the velocities of a mobile base in the general case qΣ B mir = ẋ ẏ Θ T ∈ R 3×1 , all given in the frame of the mobile base Σ B := {O B ; x B , y B , z B }.For simplicity, we drop the subscript for the reference coordinate, thus in the following, vectors without an explicit subscript are all given in the mobile-base-frame.In all modes, the controller equations are given by ẋur qmir = B −1 ur 0 0 B −1 mir w ext + wfb wmir − ẋc 0 (6)

Figure 4 .
Figure 4. Virtual values for singularity-avoidance: Left: Virtual torque in joint 5. Right: Virtual pullback-force caused by the elbow joint (joint 3).

Figure 5 .
Figure 5. Results of a straight pulling manoeuvre: Plot (a): Left axis includes the norm of the external virtual spring torque vector | fs | (black), the norm of the external force |f ext | (blue) and the projected force for the mobile base F mir (red).Right axis shows the projected torque for the mobile base τ mir (magenta).Plot (b): Left axis includes the linear velocity of the mobile base ẋ (red) and its rotational velocity θ (magenta).Right axis shows the radius r, which is the xy-distance between EE and UR10 base (black solid) and the radii r i and r o of the inner and outer circles (dashed black), respectively.

Figure 6 .
Figure 6.Results of a straight pushing manoeuvre.

Figure 7 .
Figure 7. Results of a curved pulling manoeuvre.

Figure 8 .Figure 9 .
Figure 8. Elbow-singularity avoidance.Upper plots: Left axis include the norms of the external force |f ext | (blue) and of the virtual pullback-force | fq 3 | (blue dash-dotted).Right axis include the norms of the external torque |τ ext | (red) and of the virtual torque τq 3 | dash-dotted).The lower plots show the joint position q 3 (blue), the position-threshold t 3 (black dashed) and the singular position (red dashed) on the left axis.lower right plot also shows the joint velocity q3 (magenta dash-dotted) on the right

Figure 10 .
Figure 10.Wrist-singularity avoidance.Upper plots: Left axis include the norms of the external force |f ext | (blue) and of the virtual force | fq 5 | (blue dash-dotted).Right axis include the norm of the external torque |τ ext | (red) and of the virtual torque | τq 5 | (red dash-dotted).The lower plots show the joint position q 5 (blue), the position-threshold t 5,hi (black dashed) and the singular position (red dashed) on the left axis.The lower right plot also shows the joint velocities q4 , q5 and q6 (red, magenta and blue dash-dotted) on the right axis.

Figure 11 .
Figure11.Singularity avoidance in the 5th joint.During this manoeuvre, the EE is pushed towards the mobile base.The User applies the external force f ext and torque τ ext .This causes a linear and angular motion of the EE.As soon as q 5 surpasses the threshold, a virtual torque and the corresponding virtual wrench at the EE are computed (middle image).As also described in Section 4.5, the external torque and the virtual torque for singularity avoidance cancel each other out and there is no more rotational motion.A translational motion towards the center remains, but it is not possible for user to get into the singular position of the 5th joint.