Reaction Null Space of a multibody system with applications in robotics

. This paper provides an overview of implementation examples based on the Reaction Null Space formalism, developed initially to tackle the problem of satellite-base disturbance of a free-ﬂoating space robot, when the robot arm is activated. The method has been applied throughout the years to other unﬁxed-base systems, e.g. ﬂexible-base and macro / mini robot systems, as well as to the balance control problem of humanoid robots. The paper also includes most recent results about complete dynamical decoupling of the end-link of a ﬁxed-base robot, wherein the end-link is regarded as the unﬁxed-base. This interpretation is shown to be useful with regard to motion / force control scenarios. Respective implementation results are provided.


Introduction
In articulated multibody systems (MBS), such as robots or smart structures, the force imposed on a specific link via reactions from the motion of other links may need to be controlled in an appropriate way to ensure desired performance. We focus here on the field of robotics exclusively, with representative examples such as free-floating space robots, manipulator(s) fixed to a mobile or flexible base, and humanoid robots. Consider for example a free-floating space robot consisting of one or more manipulators mounted on a satellite base. In order to avoid loss of communication of the system with a distantly located control station, it is highly desirable to maintain the orientation of the satellite base during manipulator operation. As another example, consider the case when the manipulators are mounted on a flexible base. Then, the goal would be avoiding base deflection and/or base vibrations during manipulator operation; otherwise manipulator task performance may deteriorate significantly. Yet as another example, consider a biped humanoid robot -a MBS that also lacks a fixed base. The limbs of such a biped robot need to be controlled in a way that balance is maintained during such operations as: walking, "reflexive" motion in response to an unexpected external force, motion/force control tasks whereby the end-links contact the environment etc., in order to prevent the robot from falling down.
The common way for achieving such seemingly different control objectives, for different robotic systems, is proper path planning and control of the manipulator/limb movements, such that the respective spatial reaction forces (wrenches) imposed on the unfixed base would be minimized or controlled in some other specific way. In the case of a freefloating space robot, satellite-base orientation can be maintained when the reaction moments at the base are minimized. In the case of a flexible-base robot, on the other hand, the spatial reaction forces at the flexible base should be minimized to avoid inducing vibrations. Finally, in the case of a humanoid robot, the ground reaction force should be controlled appropriately to maintain the balance and/or to generate appropriate propulsion and other desirable forces. Significant research has been carried out to address the above control objectives. Representative works in the field of freefloating space robots are Masutani et al. (1989); Papadopoulos and Dubowsky (1991); Torres and Dubowsky (1992). Inertial damping has been exploited to deal with vibration suppression of flexible-base robots (Lee and Book, 1990;Hanson and Tolson, 1995;Torres et al., 1996) and with so-called macro-micro manipulator systems (Book and Lee, 1989;Yoshikawa et al., 1993;Sharf, 1996;Parsa et al., 2005). In the field of biped humanoid robots, dynamic postural control in unknown environments has been discussed, see e.g. Gorce (1999); Stephens (2007); Hyon et al. (2009) and also, the problem of compliant control of multicontact was addressed (Sentis and Khatib, 2010).
The aim of this work is to present the formalism called "Reaction Null Space", or RNS for short, summarizing thereby research results from the past 25 yr and demonstrating the usefulness of the method when dealing with a wide range of problems like those outlined above. The RNS was initially introduced in Nenchev et al. (1988) to tackle the problem of free-floating space robot control (see also Nenchev et al., 1992). Later, it was applied to reactionless motion generation and vibration control with flexiblebase robots Yoshida et al., 1996) and long-reach manipulators (Gouo et al., 1998). The potential of the method has also been explored by others, e.g. for modeling and control of the biped gait for the design of interactive orthesis in rehabilitation tasks (Finat and Gonzalez-Sprinberg, 2002), reactionless satellite capture (Dimitrov and Yoshida, 2004;Xu et al., 2007;Piersigilli et al., 2010;Cong and Sun, 2010;Nguyen-Huynh and Sharf, 2011), design of reactionless manipulators (Fattah and Agrawal, 2005), design and control of a dual-stage feed drive (Elfizy et al., 2005), wire-suspended manipulator control (Osumi and Saitoh, 2006;Lampariello et al., 2006), end-point control (Cheng, 2005) and compliance control of flexible-base robots (Ott et al., 2006), optimal motion planning and control (Shui et al., 2009), adaptive reaction control (Abiko and Yoshida, 2010), and reaction torque control of redundant space robots (Cocuzza et al., 2010), impacts with a humanoid robot (Konno et al., 2011), optimal motion planning for space robots with base disturbance (Kaigom et al., 2011), shaking force minimization of highspeed robots (Briot et al., 2012), and so on.
We explain how to implement RNS based methods within an existing robotic MBS, e.g. the first free-floating space robot ETS-VII (Oda, 2000), the Japanese Experiment Module Remote Manipulator System (JEMRMS) on the International Space Station (Sato and Wakabayashi, 2001;Morimoto et al., 2001), the DLR robot Rollin' Justin with a humanoid upper body mounted on a mobile base with flexible suspension (Borst et al., 2009). In addition, we will introduce our recent result on how the RNS can be applied to a fixedbase manipulator for ensuring full dynamic decoupling of the end-link and the usefulness of this property in motion/force control tasks. As an example, we present an implementation with a small humanoid robot performing a surface cleaning task.
The paper is organized as follows. The following section introduces briefly some of the notation. Details of the Reaction Null Space derivation are given in Sect. 3, using a serial-link chain as a representative of a free-floating space robot. Section 4 discusses the implementation in flexiblebase and macro/mini manipulation systems. Section 5 shows the usefulness of the RNS formalism within an operationalspace motion/force control framework. Section 6 discusses the application to humanoid robots, both for balance control in response to unknown external disturbances and for motion/force control tasks. Finally, Sect. 7 gives our conclusions.

Notation
In this work, we deal with a robotic MBS that comprises one or more manipulators/limbs attached to an unfixed base and arranged in a tree-like structure. We assume that the manipulators/limbs are made of rigid-body links and include n single-DOF joints. The respective joint coordinates will be denoted by θ ∈ n . Hence, the system can be described with 6+n generalized coordinates q = (X, θ), where X ∈ S E(3) denotes the position/orientation of the unfixed base w.r.t. the inertial frame. Note that lower-case bold characters denote vectors, upper-case bold characters are used for matrices, and spatial quantities like the spatial velocity of and the spatial force acting at a rigid body, will be denoted by calligraphic symbols, e.g. V O , F O ∈ 6 , respectively. The convention for spatial vectors composed of 3-D quantities is: linear part followed by angular, e.g.
where v, ω, f , n denote 3-D vectors of body velocity, angular velocity, force and moment, respectively. Note also that spatial velocities are transformed via the operator: k R l ∈ 3×3 denoting the orientation of coordinate frame {l} w.r.t. {k}, k r × l ∈ 3×3 standing for the skew-symmetric operator associated with vector k r l ∈ 3 expressing the position of {l} w.r.t. {k}. The transpose of operator (1) transforms spatial forces.

The Reaction Null Space of a free-floating serial-link robot in zero gravity
We will introduce the RNS formalism with a simple example: a free-floating serial-link chain in zero gravity. This model will be used to derive the basic notations. The most relevant application would be a free-floating space robot comprising a rigid-link manipulator arm mounted on a rigid-body satellite -the floating base of the system (see Fig. 1). The manipulator joints are assumed actuated while the base is not. First, we will derive the RNS formalism at velocity level, based on the momentum conservation condition. Then, the full dynamics will be taken into consideration.

Momentum-based derivation
Consider first the spatial momentum of the free-floating robot represented as an composite rigid body (CRB)

End-effector Joint
Joint 2 Joint 1 Model of a free-floating base serial-link chain. (Featherstone, 2008), wherein the angular momentum part is written w.r.t. the CoM of the CRB: Subscript (•) c denotes quantities defined w.r.t. coordinate frame {c} fixed at the CRB CoM, which is an inertial (nonaccelerating) frame in the absence of external forces, and thus under momentum conservation. The linear part of momentum is p = n j=0 m jṙ j = m tṙc while the angular part is l c = n j=0 I j ω j + m j r j ×ṙ j , where m j , I j , r j , ω j , stand for link j mass, inertia matrix, CoM position and angular velocity, respectively, the latter three given in inertial coordinates. m t denotes the total mass of the CRB system, r c and V c stand for its CoM position and spatial velocity, respectively. Matrix M c (q) is a 6 × 6 block-diagonal matrix having M v ≡ m t U and c M ω ≡ n j=0 I j + m j j r × c c r × j as upper and lower blocks, respectively, where U is the 3 × 3 unit matrix 1 . Henceforth, constants will be denoted by an over-bar. Since the above momentum is a conserved quantity, we then denote it asL c .
With the above notations, the momentum conservation equation has the simplest possible form M c V c =L c . Nevertheless, it is desirable to employ inertial properties familiar from fixed-base manipulator descriptions. For this purpose, it is necessary to redefine spatial momentum w.r.t. the base frame {b}: The motion of the robot can then be represented at the velocity level as: where V b denotes the spatial velocity of the base. Matrix is the inertia matrix of the system regarded as an CRB, matrix is a block submatrix of the system inertia matrix, called henceforth coupling inertia matrix. The block submatrices in the above terms are: where it was assumed that link 0 is the base. J c , J v j denote the CRB CoM and link-j CoM velocity Jacobians, respectively, while J ω j is the link-j angular velocity Jacobian. As can be inferred from the leading superscript, all these quantities are defined w.r.t. the base frame {b} (see also Masutani et al., 1989). We should note that the coupling inertia submatrix M vm , contributing to translational motion of the CRB, is identical to the system CoM Jacobian, up to a multiplicative constant (the total mass). For a free-floating system, translational motion is considered less important than rotational. But for the other MBS discussed below, e.g. flexible-base and humanoid robots, the case is just the opposite. We should also note that usually, it is assumed that initial spatial momentum is null. The momentum component M b V b , appearing on the l.h.s. of Eq. (4), can be interpreted twofold. First, assuming a nonzero initial momentum and immobilized manipulator joints, the component has the meaning of conserved CRB momentum. This is a trivial case. Usually, and henceforth, zero initial momentum will be assumed, such that the condi-tionL c = 0 = L b holds. Then, the above component has the meaning of CRB momentum occurring in reaction to the manipulator motion (s.t. M b V b = −M bmθ ,θ 0). Therefore, we will henceforth refer to M b V b as reaction momentum. The other momentum component M bmθ , on the other hand, has the meaning of momentum imposed upon the CRB (i.e. including the base) via manipulator motion. We will refer to it as the coupling momentum  and denote it as: Equation (4) can be solved for the manipulator joint velocities, needed as input variables for velocity-based system motion control. Since the equation is linear in the velocities, its solution type depends upon the number of manipulator joints n. In the case of a six-DOF manipulator (n = 6), for example, the unique solution is: 100 D. N. Nenchev: Reaction Null Space of a multibody system with applications in robotics More interesting is the case of a kinematically redundant manipulator (n > 6). We have then an underdetermined system, with the general solution (Nenchev, 1989): where (•) # denotes a generalized inverse, P (•) stands for a null-space projector andθ a is an arbitrary vector dimensioned as joint velocity. Apparently, the coupling inertia matrix comprises a nontrivial kernel. The infinite set of joint velocities from the kernel can be derived via the second term on the r.h.s. {θ rl : P bmθa , ∀θ a }. This is the set of reactionless joint velocities; these velocities do not impose any momenta on the base, and thus, manipulator motion will be completely dynamically decoupled from the motion of the base. Note also that the reactionless joint velocities constitute the set of solutions of homogeneous equation which stands for coupling momentum conservation. Hence, we can conclude that reactionless motion (and hence, complete dynamical decoupling) can be achieved if and only if the coupling momentum is conserved . Further on, note that the set {θ rl } has the structure of a manifold in joint space, e.g. similarly to the selfmotion manifold known from studies on kinematically redundant manipulators (Burdick, 1989). We will call it the reactionless motion manifold. The manifold depends upon the rank of the RNS projector: rankP bm = n − 6. With a seven-DOF articulated manipulator, for example, the manifold will be just onedimensional. Hence, reactionless motions can be derived via the differential equation: where b is an arbitrary scalar with dimension of angular speed. n bm (q) ∈ ker M bm will be called reactionless vector field. The integral curves, projected onto workspace via the direct kinematics, will be referred to as reactionless paths.
In general, it is desirable to have a larger set of reactionless paths. One possibility to achieve this is increasing the number of manipulator joints. Another possibility is to redefine the coupling inertia matrix (and thus its kernel) w.r.t. a suitable subset of base coordinates. For a free-floating space robot, most important is the orientation of the satellite base. Hence, we may redefine the above equations to ignore base translation variables. Then, the rank of the null-space projector will increase to n−3. Because of its fundamental role, the kernel has been named as the Reaction Null Space .
Let us focus now on the other joint velocity component in Eq. (11), i.e. reaction momentum mapped via a generalized inverse of the coupling inertia matrix. Recall first that velocity-based redundancy resolution schemes, similar to that in Eq. (11), are known from studies of kinematically redundant manipulators (Konstantinov et al., 1981) -the so-called "task-of-priority" type schemes (Nakamura et al., 1987). Such schemes give the possibility to address dualtask control scenarios: typically end-link motion control via the generalized-inverse component, plus an additional control task (e.g. optimization of a suitable measure, obstacle avoidance etc), via the null-space component. Note also that quite often the Moore-Penrose generalized inverse (the pseudoinverse) is used in such schemes, since it yields a locally optimal solution for the joint-velocity norm (Nenchev, 1989). Also, in this case, the two components of the general solution (11) become orthogonal, yielding joint-space decomposition into two orthogonal complementary subspaces. In our case, when the pseudoinverse is used in Eq. (11), the respective joint velocity component yields optimal inertial coupling in terms of minimizing that part of the total kinetic energy, that is due to the dynamical coupling between the base and the rest of the links. We will refer to this energy as the coupling kinetic energy: V T b M bmθ . Such energy minimization is a highly desirable feature. The reason is that typical motion control scenarios are dual-task ones: e.g. reactionless motion control via the null space component (a feedforward control component), plus error compensation control for small base attitude errors, via the pseudoinverse component (a feedback control component) 2 . Coupling energy optimization will thereby yield better performance with regard to error dynamics.
In conclusion, via the null space and the pseudoinverse, we obtain a decomposition formalism that can be quite useful for motion analysis, planning and control of various unfixedbase systems, as will be shown henceforth with a few more examples. This decomposition is the essence of the RNS method.

Dynamics-based derivation
To account for the presence of external forces, we consider the full dynamics of the free-floating robot: where quantities, not yet introduced, are: M m ∈ n×n : manipulator inertia matrix J ∈ 6×n : manipulator Jacobian matrix c m ∈ n : manipulator nonlinear force C b ∈ 6 : CRB nonlinear force τ ∈ n : joint torque vector F b ∈ 6 : external force at the base F e ∈ 6 : external force at the end-link Hereby, we assumed that external forces may act upon the base (F b ) and/or the end-link (F e ). In fact, the base force F b term could be assigned a broader role to include base constraint and/or actuator forces. This will allow us, in what follows, to model other types of systems with the same equation, e.g. a free-flying space robot with attitude controlled base (i.e. using reaction/momentum wheels as actuators) and/or flexible appendages, a flexible-base manipulator, a humanoid robot, and others. Let us focus now on the upper part of the equation of motion. It can be rewritten as: where F ext = F b + b T T e F e denotes the external forces. This equation represents the dynamics of the CRB since only external forces are present. The dynamic equilibrium can then be expressed as F d −F ext = 0, where F d is the dynamical force obtained as time derivative of CRB momentum: The last two terms on the r.h.s. denote the CRB nonlinear The two manipulator motion components, on the other hand, represent the spatial force: We will refer to F bm as the imposed force, in the sense that the force is imposed upon the CRB via manipulator motion. It should be apparent then that any motion along a reactionless path (i.e. reactionless motion), conserves coupling momentum (cf. Eq. 12), and implies hence a null imposed force F bm = 0.
From (15), it is straightforward to derive manipulator joint acceleration, needed in dynamical control schemes, e.g. resolved acceleration control (Luh et al., 1980) or computed torque control (Craig, 2004). We will skip the trivial nonredundant case and focus on the more interesting kinematically redundant manipulator case: whereθ a denotes an arbitrary n-vector with dimension of joint acceleration. With the help of this vector, reactionless manipulator motion can be generated in a feedforward manner, since the respective joint acceleration component P bmθa yields coupling momentum conservation. In addition, the pseudoinverse acceleration component will be useful in dualtask scenarios, e.g. for feedback compensation of small attitude errors, as already explained. Thereby, full dynamic decoupling between the two subtasks will be ensured, as already discussed in the last subsection.
In computed torque controllers, the joint torque is used as control input. It can be derived by inserting the above joint acceleration into the lower part of Eq. (14):

Implementation issues
The RNS method has been experimentally verified via both simulations and on-orbit experiments with the ETS-VII space robot system (see Fig. 2). The goal was to confirm the usefulness of reactionless manipulator motion on-orbit. Since the space robot was freely floating in micro-gravity environment, the presence of external forces (e.g. solar pressure, air drag, gravity gradient) has been ignored during the relatively short time interval of the experiment (about 20 min). It was possible then to employ the momentum conservation condition to obtain a suitable velocity-based reactionless motion generator, via the null-space solution (13) in a feedforward manner. The trajectories were generated in advance off-line and then transferred to the robot arm on-orbit for execution. The experimental results can be found e.g. in (Yoshida et al., 2000).

Application to flexible-base and macro/mini manipulator systems
A variety of flexible-base manipulator systems exist. Consider, for example, a serial-link manipulator mounted at the distant end of a long flexible beam (Lew et al., 1995). Such a system is useful as a "long-reach manipulator", e.g. to gain access to a dangerous site. Another example is a robot comprising a humanoid upper body mounted on a mobile base via flexible suspension, e.g. the robot Rollin' Justin designed at DLR (Borst et al., 2009) (see Fig. 3). There are also so-called macro/mini manipulator systems, consisting of a dexterous manipulator (the mini part) attached to the end-link of a large manipulator (the macro part). The latter ensures positioning capability of the mini part within a large workspace. Due to its structure, the large arm usually has inherent flexibilities in the links and/or joints. Hence, the end-link of the large arm can be thought of as a flexible base for the mini part, whereby, the flexible base can be characterized as a composite rigid body. Two such systems exist on the International Space Station: the large Canadarm 2 with the Special Purpose Dexterous Manipulator "Dextre" (Coleshill et al., 2009) and the large Japanese Experiment Module Remote Manipulator System (JEMRMS) with the Small Fine Arm (SFA) (see Fig. 4) (Sato and Wakabayashi, 2001). Such flexible-base robots require a special motion generation technique and respective control in order to minimize the reactions at the flexible base. Otherwise, essential high- precision positioning and/or path tracking capabilities of the dexterous manipulator(s) may degrade significantly. The Reaction Null Space method with its joint-space decomposition formalism can be employed in a straightforward manner to ensure reactionless motion, via the RNS component, in combination with inertial damping control of flexible-base vibrations, via the pseudoinverse component.

Single-body flexible base
The simplest possible case is a serial rigid-link manipulator attached to a single-body flexible base (see Fig. 5). First, we will assume that the spatial elastic forces, constraining the motion of the flexible base, are expressed via the following F b appearing in Eq. (14): D b , K b ∈ 6×6 denote base spatial viscous damping and stiffness, respectively, and ∆X b stands for base spatial displacement from the equilibrium. With this notation, the CRB dynamics (Eq. 15) become: where we assume that no external force acts at the end-link and that the nonlinear termṀ b V b is ignorable. From this relation, it becomes apparent that by designing a suitable imposed force F bm , additional damping can be injected into the system, e.g.: G b denoting the additional spatial damping gain. In the case of a redundant manipulator, the control input is the joint acceleration: This equation has the same structure as Eq. (18). Hence, a dual-task control scenario can be achieved wherein the two subtasks will be completely dynamically decoupled: the RNS component P bmθa ensures reactionless motion, while the pseudoinverse component is useful for inertial damping control of any existing vibrations, whereby the coupling energy will be minimized. In addition, the equation is suitable for both velocity control and torque control. In the former case, velocities are obtain via integration; in the latter case, the joint torques are obtained in a similar way as Eq. (19), i.e. by substitution of the joint acceleration into the lower part of the equation of motion. Further on, it is easy to confirm that the closed-loop dynamics are: i.e. they appear in the form of unforced dynamics of a spatial mass-damper-spring system. Then, proper damping can be achieved with a suitably chosen damping gain G b (Hara et al., 2010).

Composite rigid-body flexible base (macro/mini system)
The macro part of a macro/mini manipulator system can be thought of as an composite rigid-body flexible base, under the assumption that the joints and/or links have inherent flexibilities. Having in mind the JEMRMS/SFA system, we will further assume that both macro and mini system parts comprise a serial-link structure. The generalized coordinates will be denoted as q = q T M q T m T , q M ∈ k and q m ∈ n standing for the joint variables of the macro and mini part, respectively. The structure of the equation of motion resembles that of a single-body base, whereby subscript (•) M replaces the base subscript (•) b to denote quantities associated with the macro part: Note that, usually, it is assumed that the macro part joints are passive (Morimoto et al., 2001). Hence, their joint torque does not appear in the equation. Joint damping and stiffness, however are present; they are expressed via diagonal matrices D M , K M ∈ k×k , respectively. Other quantities associated with the macro part include joint space inertia M M ∈ k×k and nonlinear force c M ∈ k . From the upper part of the equation, the macro/mini dynamics are expressed as: where τ M ≡ −M Mmqm −c M plays the role of a torque imposed upon the joints of the macro part via the motion of the mini part. We focus again on inertia coupling, represented via matrix M Mm ∈ k×n . If we assume that the mini part has more joints than the macro 3 , then the kernel of this matrix is nontrivial. Reactionless motion, and hence, complete dynamical macro/mini decoupling, can then be achieved via joint accelerations derived from the kernel -the Reaction Null Space of the macro/mini system. Using the RNS joint space decomposition property and following the derivations introduced with the previous example, we can devise a control law for the mini part, in resemblance to Eq. (23), to ensure a dual-task control scenario involving reactionless motion in combination with inertial damping of the macro vibration: where G M ∈ k×k is a diagonal gain matrix for additional damping injection. The second term on the r.h.s. represents the reactionless joint acceleration component, P Mm denoting the RNS projector andq ma standing for an arbitrary vector dimensioned as mini-part joint acceleration.

Humanoid upper body on flexible base
This example is interesting because the system has a treelike structure comprising two arms of seven DOFs each, attached to the upper end of a torso of three DOF. The other end of the torso is attached to the flexible base that is represented as a single body with two elastic DOFs (pitch and roll), see Fig. 7. There is an abundant 15 degree of redundancy w.r.t. reactionless motion. From a practical viewpoint, additional constraints are to be imposed. A simple example, as discussed in ), is specific motion task assignment for one of the arms, let's say the right arm, while using the other arm, or the other arm and the torso, to compensate for the disturbance imposed on the base. For these two scenarios, the degree of redundancy reduces to five or eight, respectively. The equation of motion can be written as: where newly appearing subscripts (•) r and (•) c stand for "right arm" and "compensating subsystem" (i.e. left arm or left arm plus torso), respectively. The "g"-terms denote gravity forces. The CRB dynamics are selected from the upper part: where N collects all nonlinear and gravity terms. Under the assumption that the right arm accelerationq r is known from the task assignment, the control acceleration for the compensating subsystem can be selected as: whereq ca is an arbitrary vector dimensioned as compensating subsystem joint acceleration. The form of this equation is the same as in the previous examples, Eqs. (23) and (27). Additional damping can be injected via gain G c , and also, reactionless motion can be achieved via the RNS term P bcqca . Experimental data can be found in Wimbock et al. (2009).

Application as an Operational Space Method
So far, we have confirmed that via the RNS decomposition, complete dynamical decoupling between the unfixed base and the rest of the links can be achieved. An interesting question is whether the same approach can be applied to the manipulator's end-effector e.g. of a serial-link chain, instead to the base. The answer is trivial; the implication is an alternative to the Operational Space formulation (OSF) (  1987). This sections gives the details of the derivation and a qualitative comparison between the two formulations.

Brief overview of the Operational Space formulation
The importance of the OSF, e.g. in motion/force control scenarios for fixed-base manipulators, is quite well known. More recently, the formulation is being also applied to more sophisticated MBS like humanoid robots (Sentis and Khatib, 2010). A brief overview is included here for completeness. The underlying equation is: where V denotes end-link spatial velocity, is the operational space inertia (Khatib, 1987), M m (θ) and J(θ) standing for the manipulator inertia matrix and the manipulator Jacobian, respectively. C e , G e and F denote the Coriolis and centrifugal force, the gravity force and the force imposed on the end-link, respectively. These forces are expressed in end-link coordinates and are obtained from the manipulator joint-space dynamics via the transpose of the inertia-weighted generalized inverse 4 of the Jacobian: Composite-rigid body as the underlying transform. It should be apparent that the end-link dynamics formulation (31) will fail when the manipulator Jacobian becomes rank-deficient, i.e. at a kinematic singularity.

RNS-based end-link dynamics formulation
We will use the free-floating dynamics notation from Sect. 3.2. To avoid confusion, we rename the two end-links of the free-floating chain as A and B (see Fig. 8). Without loss of generality, we will pick up end-link A as the link of reference. The equation of motion is then: gravity terms inclusively. The upper part is the CRB dynamics; the coordinates are those of end-link A but the inertial properties are those of the entire system. The lower part, on the other hand, contains generalized force components of a fixed-base manipulator, link A being the "fixed base". The manipulator is composed of all bodies except link A; because end-link A coordinates are used, quantities M m , c m and J are those of the fixed-base manipulator, link B being its end-link. Henceforth we switch the roles of the two end-links: link A becomes the "real" end-link, while link B is the (unfixed) base. The latter will be later on constrained to obtain a fixedbase system. In this way, results comparable to the fixed-base OSF dynamics can be obtained. With this preparation, it is apparent that the CRB dynamics represent system dynamics in terms of end-link coordinates, i.e. similar to Eq. (31) in OSF. Several remarks are due. First, note that in the above equation, end-link accelerationV A and force F A are explicitly present. Therefore, there was no need to invoke a transformation from joint-space dynamics, i.e. via the inertia-weighted generalized inverse, as it was the case with the OSF. Second, differently from the OSF end-link dynamics (Eq. 31), the above equation can be applied even at kinematic singularities. Third, the inverse dynamics problem for the joint accelerations can be solved directly from the above dynamical relation in end-link coordinates. This is due to the term −M Amθ appearing on the r.h.s. of the equation. This term stands for inertial coupling between the endlink and the rest of the links; it makes joint motion explicitly visible as an end-link dynamical force. The respective joint torque can then be derived from the lower part of Eq. (33). These properties of the RNS end-link dynamics can be considered as advantageous, e.g. when compared to the OSF end-link dynamics. There are also other differences: under the RNS formulation, end-link force F A is a "real" external force; it is not merely a mapping of the joint torque vector as in the OSF. Similarly, nonlinear force C A and gravity force G A are "true" CRB forces, and not merely mappings of the respective joint-space terms. Also, the presence of force F B may be of some advantage, e.g. in situations when reaction force control will be needed (such as in the case of a humanoid robot).

Inverse dynamics and controller design
The inverse dynamics problem plays an important role in model-based control design, i.e. in computed-torque control methods. The OSF provides the possibility to design controllers that ensure complete dynamical decoupling of the end-effector. A motion/force controller, proposed in (Khatib, 1987), calculates the end-link reference force as: where F ref m and F ref κ are two components referring to end-link motion and contact force, respectively. S is a selection matrix suitably defined to specify the unconstrained (motion) directions, while S ⊥ is its complement, specifying the constrained directions from the reference contact force F c . In the case of a redundant manipulator, the respective computed-torque controller can be written as: where τ ref a denotes an arbitrary vector dimensioned as joint torque. Torque component J T F ref is the nominal joint torque obtained from the static force/torque relation. The other component is a null-space torque that does not affect the imposed end-link force since it is constructed from a generalized inverse of the transposed Jacobian. As pointed out in Khatib (1995); Featherstone and Khatib (1997), there is an infinite number of such inverses, however, only the inertia-weighted generalized inverse of the Jacobian yields a dynamically consistent force/torque relation -i.e. complete dynamical decoupling of the two components. In (a), the "root" link is end-link A (the end-effector); In (b), the "root" link is end-link A (the base). The passive joint at the end-link appears since the end-link orientation is ignored.
Below we will show how similar dynamically-consistent relations can be derived under the RNS formulation. The joint acceleration can be obtained from Eq. (34) as: where (•) # denotes a generalized inverse of the coupling inertia matrix. The second term on the r.h.s. is a vector from the kernel of this matrix,θ a denoting an arbitrary vector with dimension of joint acceleration. Hence, there is an infinite set of joint accelerations {θ rl :θ rl = P Amθa , ∀θ a } that would not disturb the state of the end-link. Any acceleration from the above set can therefore be characterized as reactionless joint acceleration w.r.t. the state of the end link. This implies complete dynamical decoupling of the end link from the rest of the links. Henceforth, we refer to the kernel as the Reaction Null Space w.r.t. the end-link. It follows that there is also an infinite set of joint torque vectors {τ rl = M mθrl , ∀θ a } that do not affect the imposed endlink force and hence, maintain the state of the end-link. The joint torque is obtained by inserting joint acceleration (37) into the lower part of (33): where is the nominal component of the solution. It includes endlink A's acceleration and force that can be used as reference inputs in a motion/force controller similar to Eq. (36). RNS OSF (a) 0 ≤ t < 2.5 s (b) 2.5 ≤ t < 5 s Figure 10. Snapshots from the simulation with two equivalent planar 3R redundant manipulators tracking a semi-circular path and applying a desired force. The blue/red arrows denote the desired motion/force vectors, respectively. No null-space motion is involved. In the RNS simulation (upper graphs) no significant arm reconfiguration is observed; in the OSF simulation (lower graphs), on the other hand, significant arm reconfiguration (spurious link motion) is observed (Hara et al., 2012).
Since the other joint-toque component τ rl is reactionless w.r.t. the end-effector, it should be apparent that we obtained a dynamically-consistent relationship in the sense of Khatib.
Note, however, that in our formulation the nominal component τ n represents a dynamical torque; it does not stem from a static relation, as in Eq. (36). The consequence is that even when the manipulator/limb performs self motion, e.g. due to a nonzero τ rl , the complete dynamical decoupling Figure 11. Snapshots from the experiment with a HOAP-2 robot responding to an unknown continuous-force disturbance on the back (sagittal plane). The so-called Hip strategy has been realized under velocity-based reactionless motion with a three-link two-joint model in the sagittal plane (Nenchev and Nishio, 2008;Kanamiya et al., 2010). property will not be lost. Actually, τ n constitutes an infinite number of dynamically-consistent relationships because there is an infinite set of generalized inverses for M Am , namely {M # Am : M Am M # Am M Am }. Each specific generalized inverse will provide a specific dynamically-consistent scheme. Such schemes would be usually constructed to support task-dependent redundancy resolution, quite in a similar fashion as known from past studies on kinematically redundant manipulators (Nenchev, 1989).
As an example, let us pick up the Moore-Penrose generalized inverse (pseudoinverse). Local optimality can then be achieved, the minimized quantity being that part of total kinetic energy that is due to the dynamical coupling between end-link A and the rest of the links: V T A M Amθ . Note that under the Operational Space formulation, the minimized quantity is the total kinetic energy (Khatib, 1987): 1 2 V T M e V. As apparent from Eq. (32), this is a highly nonlinear function due to the inverse of a quadratic form of the Jacobian matrix. This means that in the (not necessarily small) vicinity of kinematic singularities, excessive fluctuation in the joint velocity can be expected. In contrast, the coupling kinetic energy, minimized under the RNS formulation, is quite well behaved, even within a relatively small vicinity of ill-defined inertial coupling, i.e. where the coupling inertia matrix becomes rank deficient. We can summarize then: with the RNS formulation we can expect better performance in terms of joint motion than with the OSF, and equal performance in terms of end-link motion/force control. This has been examined experimentally, with two simple models (see Fig. 9) per-forming the same motion/force control task, realized with the respective nominal component (no null-space motion) (Hara et al., 2012). The significant difference in terms of joint-space motion can be confirmed from the animation snapshots in Fig. 10. With the RNS motion/force control formulation, link motion does not deviate much from the initial configuration. This indicates the lack of large peaks in joint velocity. With the OSF, on the other hand, spurious link motion is observable, which is due to the highly nonlinear dynamic transform (the inertia-weighted generalized inverse) used in the formulation and the resulting peak joint velocities in the vicinity of kinematic singularities.

Application to humanoid robots
A humanoid is an underactuated system and its balance control can be achieved only via the imposed/reaction forces, when the feet are in contact with the ground. The prevailing research approach is to make use of the Zero Moment Point 5 (Vukobratović and Borovac, 2004) that can provide information about roll/pitch momenta on the feet. These momenta are sufficient for balance control on flat ground, when frictional forces are ignored. A more interesting situation, however, is balancing/walking on uneven ground, and also, when considering the presence of friction and other unknown disturbances. To deal with such problems, full spatial force control 108 D. N. Nenchev: Reaction Null Space of a multibody system with applications in robotics actionless motion with a three-link two-joint model in the sagittal plane (Nenchev and Nishio, 2008), . Transition between the two strategies. Two different models in the frontal plane are used; Ankle strategy: three-link two-joint model; Lift-leg strategy: four-link three-joint model  21 Figure 12. Snapshots from the experiment with a HOAP-2 robot responding to an unknown continuous-force disturbance on the shoulder (frontal plane). (a-c, i and j) ankle strategy; (d-g) lift-leg strategy; (h) transition between the two strategies. Two different models in the frontal plane are used; Ankle strategy: three-link two-joint model; Lift-leg strategy: four-link three-joint model  at the feet via the imposed/reaction force relation is necessary. This can be achieved with the RNS formulation in a straightforward manner, as should be apparent from the applications discussed so far.

Planar humanoid models and balance strategies
The RNS method has been applied to the balance problem in terms of both joint velocity, i.e. using momentum balance (Nenchev and Nishio, 2008;Kanamiya et al., 2010;Yoshida et al., 2011), and joint torque (Tamegaya et al., 2008). In the former case, balance strategies in response to an unknown external disturbance (continuous or impact type) have been devised, based on the analysis of human behavior under similar circumstances. For example, when the disturbance is applied on the back while standing upright, the so-called hip strategy may be invoked (Shumway-Cook and Horak, 1989), i.e. bending in the hips and motion in the ankles in the opposite direction. This strategy can be readily realized with a simple three-link (foot, leg, upper body), two-joint (ankle, hip) planar model in the sagittal plane. The unfixed-base motion dynamics are then represented as: where subscripts "f" and "e" stand for "foot" and "external", respectively. With this notation, the foot is considered the unfixed base, F f denoting the force at the foot resulting from the specific ground contact conditions and including three components: vertical ground reaction force, horizontal frictional force and foot moment, the latter being the most important for balance. First, we consider the following simplifying assumptions: the foot is always in contact with the ground (the acceleration of the CoM vertically upward is restricted) and also,  Figure 13. A small humanoid robot cleaning a vertical surface: spatial seven-DOF model, with active (θ 1 through θ 5 ) and passive (θ 6 and θ 7 ) joint coordinates. the horizontal frictional force is sufficiently large. The conditions are then similar to those when using ZMP-based control. We can then ignore the two force components at the foot and rewrite the dynamics to include just the foot moment. Then, the coupling inertia matrix M fm ∈ 1×2 will comprise a nontrivial kernel. The related null-space projector will be denoted as P fm . Further on, if we assume as initial conditions static equilibrium and null foot moment, i.e. V f ,V f and F f all zero, then this state (and thus balance) can be maintained with reactionless motion. In terms of joint accelerations, reactionless motions are derived from the CRB dynamics (i.e. the upper part of the equation of motion): This is the reactionless joint acceleration set that was used to generate a compliant response to the disturbance by bending in the hips, followed up by standing upright configuration recovery, after the disturbance disappeared (see Fig. 11). Further on, since reactionless motion implies coupling momentum conservation, as explained in Sect. 3.1, reactionless motion generation in terms of joint velocity is also possible. This property was used to realize the Hip strategy under velocity (and thus position) control. The same approach was adopted with regard to disturbances at the shoulder, within the frontal plane . Snapshots from respective experiments are shown in Fig. 12. Initially, again, a three-link model was used to ensure compliant upper-body response, with parallel motion of the legs (considered as a single-link motionthe Ankle strategy: (a)-(c), (i) and (j)). When the disturbance persisted, the robot responded by shifting the CoM further over the right foot and lifting the left leg (Lift-leg strategy: (d)-(g)). Thereby, the model was extended by one more link and a joint.
It should be noted that in practice, dynamical models and hence reactionless motions, cannot be perfect. Therefore, a dual-task control scenario should be envisioned, similar to those mentioned in the previous examples. The full CRB dynamics should then be used to account for foot rotational acceleration due to small errors, in a feedback control loop. We have designed a computed torque feedback controller and confirmed its satisfactory performance w.r.t. to a larger variety of external disturbances. Results will be reported elsewhere.
6.2 Spatial humanoid models and motion/force control As mentioned in Sect. 5, the RNS formalism suits especially operational-space type motion/force control task scenarios with humanoid robots. As an example, consider a spatial humanoid model with seven DOFs: six for the arm and one for the ankle joint (see Fig. 13a). The robot's task is to clean a vertical surface. Three hand coordinates are involved to complete the task: two tangential coordinates (y and z) for trajectory tracking within the vertical plane, and one normal coordinate (x) for force tracking . Note that the wrist comprises a passive U-joint; its joint coordinates (θ 6 and θ 7 ) are available via the loop-closure equation. The remaining five joint coordinates (θ 1 through θ 5 ) are actively controlled. Thus, the system has two redundant DOFs. The equations from Sect. 5 can be applied in a straightforward manner, whereby end-links A and B denote the robot hand and the foot, respectively. Below we present simulation data, wherein the joint acceleration is computed via Eq. (37). Thereby, the pseudoinverse is used as a generalized inverse, the feet are assumed stationary and fixed (i.e. the six-dimensional spatial force F B is determined via the Lagrange multiplier method). No use of the null space acceleration is made (θ a = 0). Thus, feedback control only is applied to track the desired y-z hand (unfixed-base) motion trajectory (a 30 mm straight line downwards), regulating thereby the desired force to 5 Nm. The graphs are shown in Fig. 14. It is seen that the motion/force control task could be performed in a stable manner, and without excessive joint velocity and torque. The null-space component, though not used currently, is available e.g. for balance control (roll/pitch control) of the feet. This will be confirmed with upcoming experiments.

Conclusions
This study summarizes results based on the application of the Reaction Null Space approach. The RNS, defined as the kernel of the coupling inertia -a submatrix of the system inertia matrix -provides a joint space decomposition formalism that can be quite useful for motion analysis, motion generation and motion control of various unfixed-base systems, such as free-floating space robots, flexible-base and macro/mini robot systems, as well as humanoid robots. Via the null space and the pseudoinverse mapping of the coupling inertia, the joint space can be decomposed into two complementary orthogonal subspaces. Thus, two orthogonal joint space components in terms of joint velocity, joint acceleration and joint torque can be derived, with the properties of complete dynamical decoupling and locally optimal dynamical coupling, respectively. The former component induces a reactionless vector field and the respective reactionless-motion manifold in joint space. The latter component, on the other hand, imposes a spatial-force constraint via manipulator motion, that can be used for locally optimized control of the unfixed base, e.g. base orientation, base vibration suppression or foot reaction control of a free-floating space robot, a flexible-base robot and a humanoid robot, respectively.