Three-Dimensional Unified Motion Control of a Robotic Standing Wheelchair for Rehabilitation Purposes

Technological advances in recent years have shown interest in the development of robots in the medical field. The integration of robotic systems in areas of assistance and rehabilitation improves the user’s quality of life. In this context, this article presents a proposal for the unified control of a robotic standing wheelchair. Considering primary and secondary tasks as control objectives, the system performs tasks autonomously and the change of position and orientation can be performed at any time. The development of the control scheme was divided in two parts: (i) kinematic controller to solve the desired motion problem; and (ii) dynamic compensation of the standing wheelchair–human system. The design of the two controllers considers the theory of linear algebra, proposing a low computational cost and an asymptotically stable algorithm, without disturbances. The stability and robustness analysis of the system is performed by analyzing the evolution of the control errors in each sampling period. Finally, real experiments of the performance of the developed controller are performed using a built and instrumented standing wheelchair.


Introduction
Within technological advances in the last decade, robotics has achieved exponential development, since robots are no longer limited to the industrial sector by performing repetitive movements in structured work environments. New robots are considered sophisticated and intelligent as they are equipped with the ability to perform tasks and interact with a high degree of autonomy in unstructured or partially structured environments [1]. This leads to the integration between robots and people through service robots, the same that aim to facilitate the user's life by performing tasks that provide entertainment, comfort, safety, or protection. Within this group, we find robot pets that stimulate the development of children, mobile manipulators that transport heavy loads, and assistance robots that mobilize or perform rehabilitation procedures on people with health problems, among others [2,3]. According to their applications, robots can be subdivided into six main groups: (i) Military robots, which are used to perform tasks of exploration, surveillance, security, rescue, etc., and are responsible for carrying out activities in hostile environments that can be considered high-risk for people [4,5]; (ii) Construction robots have the ability to be programmed to perform complex tasks or operate semi-autonomously, aimed at improving productivity as well as accident prevention in the workplace [6,7]; (iii) Field robots have transformed various aspects of the agricultural, livestock, and mining industries, reducing production costs and increasing profits, thus increasing the economy of population [8,9]; (iv) Learning robots, which are didactic tools that improve the learning process, and they are regularly implemented in stimulation therapies for children with learning problems such as autism and attention deficit, among others [2,10,11]; (v) Entertainment robots, capable of • Decentralized control law. It implies controllers that work independently, i.e., a controller in charge of the moving platform and another one devoted to the standing action. From the relative angular velocity between the driving wheels of a standing wheelchair, the movement patterns of the robotic system are defined: turning, going in a straight line, or stopping. This is called a differential traction mechanism [28][29][30][31]. For standing control, movement patterns are going up and down in a straight line or staying still. Rahman et al. [31] implemented an adaptive proportional-integral-derivative(PID) control of a decentralized standing chair that considered the speed change of the robotic system.
• Unique control law. It is based on the use of a controller for the entire standing wheelchair robotic system. In this case, the control algorithm design considers the mobile platform of the foot station as a single robotic system [25]. Therefore, the desired task of movement of the robotic system must be considered as a single control point, which differs from the previous case, where two independent control points are considered for the mobile platform and for the standing station.
The main objective of the autonomous control of a standing wheelchair deals with the improvement of the quality of life of the users, through greater independence in movements when executing a task [32]. The independence of the robotic system is obtained through the automatic generation of tracking control, which allows following the desired trajectory of the wheelchair. The motion control of the robotic system may have three types of problems: (i) point stabilization control: stabilizes the wheelchair with standing considering one target point [17]; (ii) trajectory tracking control: whose purpose is to allow the standing wheelchair to follow a parameterized reference in time [33]; and (iii) path-following control: allows the robotic system to converge with desired trajectory [21].
In this work, a unified control algorithm is implemented, enabling autonomous navigation of the standing wheelchair robotic system, in order to allow a person with motor disabilities to mobilize through a trajectory of semi-structured work environments. Firstly, to implement the proposed control scheme, the behavior of the non-holonomic standing wheelchair is determined, by obtaining the kinematic and dynamic models of the chair-human system. The mathematical models obtained have a suitable structure in order to implement advanced control algorithms. The kinematic and dynamic models consider linear and angular velocities as maneuverability inputs, which is similar to real robots. On the other hand, the proposed controller consists of two subsystems: (i) unified kinematic controller, which solves the motion problem of the desired task, and is a controller with saturation of velocity commands; and (ii) dynamic compensation controller, based on the dynamic model obtained from the standing wheelchair robot, with the velocity inputs being calculated by means of the kinematic controller of the robotic system. The control algorithms proposed in this work are developed using numerical methods and linear algebra theories that allow to compute the control actions, so that the robotic standing wheelchair reaches a desired position (X, Y, Z) and a desired orientation with respect to the inertial frame < R > at each sampling time (t = kT 0 ). Additionally, both the stability analysis and the robustness analysis are analytically demonstrated to evaluate the stability of the proposed control scheme. Finally, to evaluate the proposed control scheme, experimental tests are carried out, which allow validating the mathematical models obtained, as well as the proposed kinematic and dynamic controllers. Finally, to evaluate the proposed control scheme, validation of the mathematical models, and kinematic and dynamic controllers obtained through experimental tests are performed.
The main contribution of this paper deals with the proposal of a cascade control scheme that considers the kinematics and dynamics of a wheelchair with bipedestation. The control strategy is based on the axioms and properties of linear algebra, as well as on the conceptualization of Markov properties, in order to determine the evolution of the control states as a function of the current states of the robotic system. The proposed unified kinematic control of the standing chair considers as inputs the desired positions and velocities of the task with respect to an inertial reference system < R >. Our unified control, unlike other works available in the literature, has the advantage of solving the standing wheelchair motion problem through the implementation of the concept of the null space of redundant systems. Furthermore, a dynamic compensation control based on the dynamic model of the human-wheelchair system is proposed. To perform that, a new dynamic model that considers as input signals the maneuvering speeds of the standing wheelchair is proposed, differing from other works found in the literature. Finally, the stability and robustness of the proposed control scheme is analyzed, ensuring that the control errors are bounded as a function of the velocity error.

Robotic Standing Wheelchair Modeling
This section presents the kinematic and dynamic model of a standing wheelchair robot. The standing wheelchair robot has a differential drive, i.e., it is a mobile robot with the ability to move and rotate independently on the vertical axis. The (X, Y, Z) axis of the < R > reference frame is where the standing wheelchair robotic system moves. Traditionally, the motion control design of a mobile robot with differential drive has considered, as a point of interest, the center of the virtual axis (located between the fixed wheels of the robot) [34]. In this work, we consider a point of interest η η x , η y , η z displaced from the center of the virtual axis of the fixed wheels, so that the dynamic compensation of the robotic system delivers a real behavior, i.e., the standing wheelchair robot corrects errors generated by different external factors, such as the user's change in posture or the friction of the different surfaces, among others [17,21]. Figure 1 illustrates the point of interest η η x , η y , η z displaced a distance "a" from the standing wheelchair robot.

Standing Wheelchair Kinematic Model
The position and orientation of the standing wheelchair robot is given by a vector q ∈ R m with m = 4 coordinates of the < R > reference system; defined as operating coordinates of the standing wheelchair, where q = [ η x η y η z ψ ], with η x , η y and η z represent the position of the robot on the < R > reference axis; and ψ represents the orientation of the standing wheelchair. The operating space of platform M is made up of all the robot locations.
Obtaining the kinematic model of the standing wheelchair robot requires the location of the point of interest with respect to the configuration functions of the robotic system, that is, the operating coordinates of the robot must be a function of the generalized coordinates of the robot.
f : The configuration space of the robotic system is defined as N . The instantaneous kinematic model of a wheelchair standing robot provides the location of the robot with respect to the derivative of the point of interest ∂q µ, where the point velocity vector of interest is defined by ψ ], and the vector µ represents the mobility control of the wheelchair robot. For this case, the kinematic model of the robot considers three velocities located in the < W > reference frame. The linear velocity u and two angular velocities ω ψ and ω φ are used to guide the displacement of the wheelchair robot in the < W > reference axis. In summary, the motion of the standing wheelchair robot in the < R > reference system is defined as: η y , and . η z are the robotic standing wheelchair-point interest velocities (whose position is being controlled) with respect to < R >; where a and b are distances measured in meters (see Figure 1). Moreover, the Equation system (2) can be written in another way as: Equation (3) can be compactly described as: .
where the vector of axis velocities of the < R > system is represented by . η(t) ∈ R m with m = 4; and around the axis Z the angular velocity. The Jacobian matrix defined by J(ψ, φ) ∈ R m x n determines the linear mapping of the velocity vector . η(t), the velocities vector of the robotic wheelchair µ(t), and the maneuverability vector of the robotic system is µ(t), defined as µ(t) ∈ R n with n = 3. For all the above, J(ψ, φ) ∈ R 4 x 3 implies that Equation (4) represents the behavior of a sub-powered robotic system, i.e., the number of dimensions of the standing wheelchair robot workspace is greater than the degrees of freedom of the robotic system.
The mobile platform satisfies the conditions of pure rolling and non-slipping given the non-holonomic constraint:

Standing Wheelchair Dynamic Model
In this subsection, the dynamic modeling of the standing wheelchair robot is presented, for which a separate analysis is considered: i) Mobile platform dynamics, in which only the displacement of the standing wheelchair on the X − Y plane of system < R > is considered; and ii) Bipedestation dynamic, in which the movement of the standing wheelchair on the Z axis of the reference system < R > is considered. It is important to mention that in the process of dynamic modeling; the mass of the human is considered.

Mobile Platform Dynamic Model
This work was developed using a human-wheelchair system, consisting of a standing wheelchair robot. The robotic system is a mobile robot consisting of a differential drive, which allows the robot to rotate on the vertical axis freely. The human-wheelchair system moves on a flat horizontal surface, where vertical disturbances are negligible for the system. R(X , Y, Z ) is a fixed reference frame, where the vertical axis is Z, and where it is possible to obtain the motion kinematics of the mobile platform considering the position of the laterally displaced center of mass as a point of interest (see Figure 2). Therefore, the motion kinematics of the base platform in the X − Y plane can be calculated as: .
where e and f are distances measured in meters; J p (ψ) represents the non-holonomic movement configuration of the wheelchair on the X − Y plane, and µ p (t) is the wheelchair maneuverability velocity vector; . η p (t) represents the velocity vector of the laterally displaced center of mass of the human-wheelchair system.
To derive the dynamic equations obtained for the human-wheelchair system, the Lagrangian formalism is implemented. In this case, the potential energy P (q) = 0, because the trajectory that the standing wheelchair can take is limited to the horizontal plane, i.e., the potential energy is constant because the system has no change in the vertical position. Therefore, the power energy is defined by: The total mass of the human-wheelchair system is defined by m = m w + m h , where the human mass is m h and the wheelchair mass is m w ; v 2 = . η 2 x p + . η 2 y p represents the velocity of the wheelchair in the X − Y plane; I is the moment of inertia of the human-wheelchair system, I is around the vertical axis located at G, G being the center of mass of the system in the X − Y plane. Considering that the energy power P (q) = 0, we can conclude that L = K. with η p = [ η x p η y p ψ ], it is possible to obtain the dynamic equations of the wheelchair, defined as: The equation above is expressed in matrix form: η p (t) (10) where the inertia of the human-wheelchair system is represented by M p η p ∈ R nxn , which is a positive definite symmetric matrix. The centripetal force matrix of the system is represented by C p η p , . η p ∈ R nxn ; .. η p (t) and . η p (t) are the acceleration and velocity vectors, respectively, with respect to the < R > reference axis, and the input transformation matrix of the system is B η p ∈ R nxr . Finally, τ(t) = [ τ r τ l ] ∈ R 2x1 is the input vector representing the right and left motor torques, respectively. In order to modify the dynamic model, the linear and angular velocity obtained from the moving platform must be considered as inputs; the following considerations are taken into account: where: Commercial robots usually integrate PID controllers to compensate for the dynamics of the mechanisms. They take as input linear and angular velocities, and as output, the measurement of them through encoders, leaving aside the electrical part of the motors and the common models that represent the actuators. Therefore, it is necessary to express the dynamic model of the robotic platform considering the longitudinal and rotational velocities through various considerations. To achieve this, these controllers are taken into account and included in the modeling developed in this work. Assuming that the right and left motors have similar characteristics, the actuator models, without considering inductance voltages, according to [17], are expressed in the form The input voltages υ r and υ l are applied to the right and left motor of the standing wheelchair; the angular velocities are ω r and ω l for the right and left wheels respectively; k a is the torque constants multiplied by the gear ratio; k b is the electromotor constants multiplied by the gear radio constant; R a is the electric resistance; and finally, τ r and τ l are the torques of the left and right motors of the wheelchair multiplied by the gear ratio constant.
Considering that r represents the radius of the left and right wheels and the distance between the wheels is defined by d, the linear and angular velocities u and ω ψ of the platform without including the slip velocities can be expressed, according to [17]: Besides, it is known that: Simple PD servo controllers are considered to control each joint. They are described by the following expressions, according to [17].
where  (6)-(20), we obtain the dynamic model of the wheelchair; the control signals to be considered are the reference velocities of the wheelchair robot: Equation (21) can be compactly described as, The system's inertia standing wheelchair robotics are represented by M p (ς) ∈ R nxn where n = 2; the resulting centripetal forces are represented by C p ς, µ p ∈ R nxn ; µ p ∈ R n and µ p = [ u ω ] are the robotic standing wheelchair system velocities; are the vector of velocity control signals for the robotic system; finally, the vector of dynamic parameters are represented by ς p ∈ R l p , with l p = 12 and ς p = [ ς 1 p ς 2 p . . . ς l p ] is considered the physical, mechanical, and electrical parameters of the standing wheelchair dynamics. Appendix A shows the dynamic parameters of the wheelchair.

Bipedestation Dynamic Model
The dynamics of the bipedestation of the robotic wheelchair are obtained from the linear velocity on the Z axis with respect to the < R > reference system (see Figure 3), where: Now, the angular velocity ω φ (t) can be defined as a nonlinear function, given by: . ϕ (24) where φ represents the angular position of the inclination of the back of the wheelchair; φ e is a constant angle of displacement; ϕ and . ϕ represent the position and angular velocity, respectively, of the bipedestation motor; and K z , K l , and K h are distances.
Similar to the previous case, we derive the dynamic equations obtained from the bipedalization of the robotic system using the Lagrangian formalism. In this case, the Lagrangian equation is defined as where h z is the constant height of the wheelchair seat. Now, applying d dt ∂L ∂ . η z ∂L ∂η z , it is possible to obtain the dynamic equations of the bipedestation, defined as φ ∈ R represents the centripetal force component; g(φ) represents the gravitational component; . ω φ (t) and ω φ (t) represent the angular velocity and acceleration, respectively, of the inclination of the back of the wheelchair, and τ φ (t) represents the torque of the inclination of the back of the wheelchair. In order to consider the dynamic model (18) as velocity inputs, respective conversion must be carried out in Equation (26). The first derivative with respect to time of Equation (24) is obtained, in order to obtain . ω φ : .
To relate the τ φ with the torque of the standing motor τ ϕ , the following nonlinear equation is defined.
where T a and T b are positive constants; and β is defined as: Now, it is assumed the model of the current motors without considering the inductance voltages are: where the input voltage to the bipedestation motor is υ ϕ ; . ϕ is the angular velocity of the motor; the electromotor constant k bϕ , is multiplied by the gear ratio constant; the electrical resistance is R aϕ ; the motor torque multiplied by the gear ratio constant is defined by τ ϕ ; and k aϕ is the torque constant multiplied by the gear ratio. Now, a simple PD servo controller is considered to control bipedestation of the robotic chair, which is described by the following expression: where .. ϕ ref is neglected to further simplify the model. The simplification in the model is valid under the assumption that the servo loop is sufficiently fast. Finally, from Equations (23)- (32), we obtain the dynamic model of the bipedestation of the wheelchair, regarding as control signal the reference angular velocity.
Equation (33) can be compactly described as, The vector of dynamic parameter is defined by containing the physical, mechanical, and electrical parameters of the standing wheelchair dynamics. Appendix B shows the dynamic parameters of the standing wheelchair.
Remark 1: The full mathematical representation of the standing human-wheelchair system based in the instantaneous kinematic model is represented by Equation (4), while the full dynamic model is obtained from Equations (22) and (34). Hence, in (35) is defined the full dynamic model of the standing human-wheelchair, Equation (35) can be compactly described as, where M(φ, ϕ, ς) ∈ R nxn with n = 3 represents the inertia matrix of the standing humanwheelchair system; C(ς, µ) ∈ R nxn represents the centripetal and Coriolis forces; g(φ) ∈ R n represents the gravitational vector; µ = [ u ω ψ ω φ ] ∈ R n are the system velocities; and the vector of velocity control signals is defined by is the vector of dynamic parameters, which contain the physical, mechanical, and electrical parameters of the human-wheelchair system. From Equation (36) the properties of the proposed dynamic model were obtained: Property 1. M(φ, ϕ, ς) is a matrix positive definite, and it is known that M(φ, ϕ, ς) < k M . Property 2. Additionally, also satisfies the following inequalities, C φ, where k c , k M , and k g are positive constants.
Property 4. The dynamic model of the standing human-wheelchair system is represented by φ, ϕ, µ ∈ R nx l and ς = [ ς 1 ς 2 . . . ς l ] are the vector unknown parameters defined by l for the human-wheelchair system, i.e., mass of the wheelchair, mass of the human, physical parameters of the wheelchair, motors, velocity, etc.

Scheme Design Control
The movement control problem of the standing wheelchair is solved with the proposed control scheme shown in Figure 4. This control scheme solves the control problems associated to the route tracking. The design of the controller takes advantage of linear algebra theory and numerical methods, using Euler approximations of the model of the human-wheelchair system. Two cascaded subsystems were implemented for the design of the controller: (1) Unified kinematic controller, which allows saturation of velocity commands, and its input η d (k) describes the desired motion task of the standing wheelchair, respect to the reference axis R(X, Y, Z). The control error is defined asη(k) = η d (k) − η(k). Hence, the control object is expressed as (2) Dynamic compensation controller, whose main objective is to compensate the dynamics of the human-robot system by reducing the velocity tracking error. This controller receives as inputs µ c (k), the velocity calculated by the kinematic controller, and obtains velocity references µ ref (k) for the robotic standing wheelchair. The velocity control error is defined asμ(k) = µ c (k) − µ(k). Hence, the control aim is to ensure that The design of the proposed control scheme and the stability analysis of the controllers are presented below. In addition, a robustness analysis for velocity errors is presented, errors that can be generated either by disturbances or by modeling errors. In order to facilitate the design of the proposed controllers, Section 3.1 deals with the design methodology to be considered for the kinematic controller and dynamic compensation, whereas Section 3.2 presents the unified control scheme of the standing wheelchair robot, which describes the type of controller to be used according to the task and desired orientation.

Controller Design Methodology
Through tools based on linear algebra theory and numerical methods, the design of the proposed controllers is obtained in this work. The system of the standing wheelchair is represented through a matrix structure, where theorems and axioms of linear algebra are applied, in order to facilitate the search for the solution of a set of equations. Considering the first-order differential equation, where the output of the system is represented by . ξ(t) with initial conditions ξ(0) = ξ 0 ; the first derivative of the system with respect to time is defined by . ξ(t), and x(t) is the control action. Additionally, ξ(t) becomes ξ(t) considering discrete time with t = kT 0 , where T 0 represents the proposed sampling time according the Nyquist theorem, and x is the number of samples of the continuous response.
Because the state and the control action on the time instant t(k) is previously known, the system's state at instant t(k + 1) can be obtained using Euler's method, as The methodology for the design of controllers is based on matrix equations that represent the behavior of the system. Therefore, a system to be controlled can be presented in a matrix form, as where A(k) contains the characteristics and constraint of the system, respect to the inertial frame R(X, Y, Z).
The system evolution using numerical methods is mainly used to determine the system state at instant k + 1, if the state and the control action are known at instant k (Markov property). Hence, the desired variable is substituted in variable k + 1, to calculate the necessary control action so that the output system changes its current value to a desired one. The following expression is using to achieve the control objective the system: where ∆ξ(k) = ξ d (k) − ξ(k) represents the variation of control objective; ξ d (k) is the desired control objective; and W is a diagonal matrix that weighs control errors ∆ξ(k) where k 1 is positive number; w i is a positive number of the diagonal matrix W(.) weighing the component of the i-th control error of the vector ∆ξ(k). Equation (44) represents a diagonal matrix that weighs and saturates the control errors, i.e., it has a behavior of a sigmoid function, where k 1 defines the slope of the saturation function, and w i represents the maximum and minimum saturation value. The behavior of the saturation matrix is shown in Figure 5, for which the saturation function y(k) = f (w i , k 1 , ∆ξ i (k)) is defined as: Then, from Equations (41)-(45), the following system of linear equations is determined: The system is rewritten as Ax=b where A ∈ R mxn ,x ∈ R n , and b ∈ R m . Namely, x=A −1 b defines the control actions, where A is a quadratic matrix, i.e., m = n, and with det(A) = 0; therefore, a direct inverse solution of the matrix A is obtained.
Furthermore, it is said that a system of linear equations is homogeneous if it can be written in the form Ax=0. The configuration of Ax is considered as a redundant system, i.e., the matrix A has more unknowns than equations, where m < n, with rank r = n for each, and taking into account that the homogenous equation has a not-trivial solution, the system could have infinite solutions. In this case, suppose the equation Ax=b is consistent for a given b, and letting x p ∈ R n be a particular solution, the solution is the set of all the vectors of the form x=x h + x p , the homogeneous system Ax=0 yields a solution.
A viable solution to the problem is obtained by defining it as a constrained linear optimization problem 1 2 x 2 2 =min, yielding the particular solution x p = A T AA T −1 b. Additionally, the set of velocities of null space of A in R n do not produce any effect over the actions of the system robotic. It is shown the cost function as 1 2 x − x 0 2 2 =min, that yields the homogeneous solution: Thus, by manipulating the above equations, the proposed control law is obtained: where a particular solution x p is the first term (left-hand side) and x h is second term of the equation belong to the null space of A. The projection on the null space of the matrix A is represented in Equation (48), where arbitrary vector x 0 contains the velocities associated with the system robotic, as is shown in Figure 6. The projection on the null space of the system to be controlled is found in the second term of Equation (48), where the arbitrary vector x 0 contains the velocities associated with the secondary control objective. The matrix of high-level tasks created by the null space of the system allows to project the velocity of each system in its respective space, where the subtasks compete to solve the problem in different ways. The velocities of the second task are calculated and also included in x 0 , obtaining: where the Jacobian matrix S contains the secondary objectives of the robotic system to be controlled; ∆ρ represents the variation of the secondary objective; ρ d is the desired secondary objective; and ρ is the current stat of the secondary objective. Remark 2: In the robotic standing wheelchair, to include an analytical saturation of velocities, the saturation matrix W = f w ij , k 1 , ∆ξ i (k) and W ρ = f w ρij , k ρ1 , ∆ρ i (k) , which limits the control error vectors ∆ξ and ∆ρ, are proposed. Thus, Equations (48) and (49) remain bounded, and gains k 1 , k ρ1 , w ij and w ρij are selected in such a way as to guarantee the control action; x(k) and x 0 (k) remain lower than the maximum admissible velocity values in the standing wheelchair. In the design process of control algorithms for robotic assistance systems focused on the medical area, it is essential that the movements of the robotic systems are limited and smooth, in order to avoid muscle strain to the patient due to poor implementation of control algorithms.

Unified Kinematic Controller
The execution of autonomous tasks of the standing wheelchair robot allows to select the number of outputs to be controlled, and depending on the task to be performed, it can be controlled: (a) displacement in the XY plane without orientation; (b) displacement on the XY plane considering the orientation; (c) displacement in the XYZ space without orientation, and (d) displacement in the XYZ space considering the orientation. Each of these alternatives must be defined with respect to the reference system R(X, Y, Z). This subsection describes the control scheme for executing desired tasks that require a control in the XYZ space and the desired orientation with respect to the inertial frame R(X, Y, Z).
Taking into account the kinematic characteristics of the wheelchair, where J(ψ, φ) ∈ R m x n with m > n represents the behavior of a sub-powered robotic system; the kinematic controller design was based on the null-space approach, in order to define by separately different tasks and subtasks, unified at the end of the process in order to obtain the control actions of the robotic standing wheelchair. In this work, the main task is that the wheelchair follows a desired path on a planar horizontal surface; and the secondary task is to keep an independent path on the Z axis with an orientation tangential to the path described in the XY plane, with respect to the reference system R(X, Y, Z).
The Jacobian matrix of the robotic standing wheelchair defined in Equation (4) contains the first derivatives of the system, which correspond to the positions and orientation of the interest point ψ ] with respect to reference system R(X, Y, Z). In this work, the Jacobian matrix of Equation (50) is considered to calculate different control actions.
Equation (50) can be compactly described as, The Jacobian matrix represented in Equation (51) is divided into two parts: J 1 (ψ, φ) ∈ R 2x3 are the first derivatives of the interest point positions on a planar horizontal surface, and J 2 (ψ, φ) ∈ R 2x3 are the first derivatives of the interest point on the Z axis and orientation angle; . η 1 ∈ R 2 and . η 2 ∈ R 2 correspond to the first and second variables to be calculated, respectively. In what follows, the design of control algorithms for the unified kinematic control of the standing wheelchair is presented. It is based on Equation (51) and on the controller design methodology (Section 3.1).

Mobile Platform Controller
To make the point of interest η 1 η x , η y ∈ R 2 follow a desired trajectory on a planar horizontal surface, the proposed controller is defined by with J 1 (ψ(k), φ(k)) # = J 1 (ψ(k), φ(k)) T J 1 (ψ(k), φ(k))J 1 (ψ(k), φ(k)) T −1 representing the right pseudoinverse matrix of J 1 (ψ(k), φ(k)). The obtained response in µ 1 (k) are velocities that will be applied to the robotic wheelchair. The velocities are within the point of interest of the desired trajectory on the XY plane; without regard to the bipedestation errors on the Z axis and the desired angle of the wheelchair with respect to reference system R(X, Y, Z).

Bipedestation and Orientation Control
The second part of the Jacobian matrix (Equation (51) is used for the design of this part of the controller, since it provides the characteristics of bipedestation and orientation J 2 (ψ, φ) ∈ R 2x3 . The controller allows the establishment of a secondary objective of the desired bipedestation and orientation η 2 (η z , ψ) ∈ R 2 , defining the controller by: Similarly, J 2 (ψ(k), φ(k)) # represents the inverse of J 2 (ψ(k), φ(k)).

Unified Kinematic Controller
This subsection defines the trajectory tracking control of the interest point on the XY plane. Hence, the bipedestation and orientation control are tasks that do not conflict with the main control objective. The proposed final controller is based on Equation (46), and is presented as: Equation (54) rewritten in simplified form is Equation (55) is subdivided into two terms: the first term on the right side describes the primary task of robotic standing wheelchair. Self-motion of the bipedestation is defined in the second term. The matrix I 3x3 − J 1 (ψ(k), φ(k)) # J 1 (ψ(k), φ(k)) is projected onto vector µ 2 (k), where the null space of the standing wheelchair Jacobian N (J 1 (ψ(k), φ(k))) ensures that the main task is not affected by secondary control objectives.
Simplifying and considering asη 1 (k) = η d1 (k) − η 1 (k) the control error of the primary objective, such thatη Table 1 shows the evolution of the i-th control error from Equation (59). Table 1. Evolution of the control error η x in kT 0 instants of time.
If n → ∞ , the η x control error at an instant of infinite time will be equal to η x (∞) = w ∞ x η x (1); hence, if 0 < w x < 1 the control error η x (∞) = 0 with k → ∞ . Performing an analysis similar to that of the η x control error, it can be concluded that lim k→∞η (kT 0 ) = 0 with 0 < diag(W 1 ) < 1 when k → ∞ . In other words, it is asymptotically stable.

Dynamic Compensation Controller
The main objective of the dynamic compensation controller is to reduce the velocity tracking error of the robotic system. This action is carried out by compensating the dynamics of the standing human-wheelchair system. The desired velocity µ c (k) is calculated by means of the unified kinematic controller. These velocities are used as inputs of the described controller and the velocity references µ ref (k) are generated for the standing wheelchair system (see Figure 4). In case of not having a perfect velocity tracking, the velocity error is defined asμ(k) = µ c (k) − µ(k). Without including perturbations (Equation (36)), the exact model of the standing wheelchair system is considered to be: The design of the dynamic compensation controller is based on the theory of linear algebra and numerical methods. In this sense, the state and the control action of the system at the instant of time t(k) are known values, which allows us to approximate the value of the state of the system in time t(k + 1) using Euler's method as Considering the discretized acceleration in Equation (61) and the discrete dynamic model in Equation (60), we have: Now, applying the Markov property and control errors, the velocity of the standing wheelchair system at instant t(k + 1) can be determined as where µ(k + 1) represents the desired velocities of the robotic system. Then control law is proposed, where W µ = f w µ i , k µ , µ i (k) ∈ R 3x3 is defined similarly to Equation (44); this implies that W µ represents a diagonal matrix that weighs and limits velocities of the velocity errors vector.
Simplifying Equation (65) we havẽ The analysis of the evolution of velocity errors is carried out in a similar way to Equation (59), concluding that if k → ∞ , the i-th velocity error µ i at an instant of infinite time will be equal to µ i (∞) = w ∞ i µ i (1). Hence, if 0 < w i < 1 the control error µ i (∞) = 0 with k → ∞ . Hence, it can be concluded that lim k→∞ µ(kT 0 ) = 0 with 0 < diag(W µ ) < 1 when k → ∞ , therefore, it is asymptotically stable.

Control Scheme Robustness Analysis
This subsection analyzes the evolution of the kinematic controller errorη(k). For this purpose, the existence of velocity errorsμ(k) is considered. Velocity errors can be caused by disturbances in the system and model errors, among others. Hence, Equation (39) can be defined as: Performing an analysis similar to the previous case, it can be concluded that if k → ∞ then lim k→∞η (k) =T 0 J 1 (ψ(k), φ(k))μ(k), which implies that the errorη(kT 0 ) is delimited by: Now, considering that ψ(k) and φ(k) are bounded angles, it is possible to state that J 1 (ψ(k), φ(k)) < k ψ,φ . Then, Equation (69) can be expressed as: The velocity errorμ(k) can be generated by either obtaining the dynamic model of the robotic system in an incorrect way, or by errors made in the process of identifying the dynamic parameters, or, when performing movement tests with the standing chair, a person with a different weight than the one used in the process of identifying the dynamic parameters. However, if the velocity error is bounded ( μ (k) ≤ kμ), then the control error η (kT 0 ) is eventually delimited by Equation (70).

Experimental Results
Experimental results are described in three subsections. The first one deals with the mechanical-electronic construction of the robotic standing wheelchair and presents a brief description of the prototype created in order to run experimental tests. Secondly, we validated the dynamic model of the human-robot system, through experimental identification and validation tests. Thirdly, the validation of the proposed control scheme is carried out through experimental tests supported by graphs showing the effectiveness of the control scheme.

Robotic Standing Wheelchair Construction
This work uses a non-holonomic robotic standing wheelchair, which was developed by the ARSI Research Group of the University of the Armed Forces ESPE. The standing wheelchair has two wheels driven by two DC motors independently (rear traction), in order to move the chair on a planar horizontal surface considering the non-holonomic restriction (Equation (5)). Two passive wheels (pivoting wheels) are located in the front part of the central axis to give greater stability to the robotic standing wheelchair; and an independent linear drive that allows the change from sitting position to standing position, by means of a DC motor. The position and relative orientation of the standing wheelchair can be known by means of the encoders installed on each of the motor shafts. The construction of the mechanical parts of the robotic system have been designed to fit together, resulting in an appropriate analysis of the center of mass and weight distribution, allowing the mobile platform and the standing joint to be unified as a single system as shown in Figure 7. The standing wheelchair robotic system was designed in such a way that the electronic components can be interconnected between the control elements and equipment, power, and energy supply. The system consists of DC motors, overcurrent prevention elements, an electronic control board, a computer, a peripheral extender, and a battery. The distribution of the elements, together with the communication links among them, is shown in Figure 8. We describe below the different parts of the whole system. (i) Mobile platform system: this section consists of two direct current motor that are controlled by a Roboteq card (Roboteq Inc., Scottsdale, AZ, USA), which incorporates PID controllers through a refeed with encoders of 400 pulses per revolution (velocities are subsequently transformed to rad/s). The motor controller card, through Rs232 serial communication, sends the actual velocity and position of the mobile platform to a computer, whereas the computer sends the maneuverability velocities for the control of the mobile platform (maneuverability velocities obtained by implementing a control algorithm). The PID control implemented in one of the motors is shown in Figure 9, where it is observed that the velocity error tends to zero asymptotically. The Haalman method was considered for the tuning of the PID controllers, and the following parameters were obtained:k p = 1.097, k i = 0.645 and k d = 0.02. (ii) the standing system has an Atmel microcontroller (Atmel Corporation, San José, CA, USA) and a non-commercial control board as a processor, which was designed to satisfy the communication and processing requirements for the correct operation of the standing axis. The standing section consists of a direct current motor. The motor incorporates mechanical velocity reducers and a ball screw coupling, in order to generate a linear movement that allows the wheelchair to move on the Z axis. In addition, the motor has an encoder attached to implement an internal loop PID controller. On the other hand, the standing motor control card (through RS232 serial communication) sends the standing angle and the motor velocity to the computer. On the other hand, the computer sends the maneuverability velocity commands for the standing control of the wheelchair (maneuverability velocity obtained by implementing a control algorithm); (iii) the computer has enough resources to process high-level programs. In the computer, the necessary calculations for the implementation of the control algorithms are carried out through the Windows operating system using mathematical software; (iv) electronic control board: its function is to distribute and regulate the power voltage of the motors and the computer system. In addition, it consists of voltage and current measurement elements in order to emit warning signals in the event of possible failures, discharges or disconnection of devices. A charging and connection status screen is integrated into the dash; (v) peripheral ports, which are responsible for communicating external devices (cameras, memory cards, etc.) with the internal computer; finally, vi) the battery supplies the necessary power to the system, which delivers up to 75 [A/h] with 12 V.

Dynamic Model Identification and Validation
The identification and validation of the dynamic parameters of the mathematical model (Equation (36) that represents the dynamics of the standing human-wheelchair system is tested in this subsection. The main objective of this process is to experimentally determine the numerical values of ς = [ ς 1 ς 2 . . . ς l ] with l = 22, so that the dynamic model can be used in advanced control algorithms. The identification of dynamic parameters is the way to establish a relationship between the real results and the mathematical model developed, allowing to refine the model obtained until the behavior of the chair-user system shows sufficient precision to meet the requirements of the objectives of the desired control [17,20,34].
In order to identify the dynamic parameters of the human-wheelchair system, Property 4 of the dynamic model described in Section 2.2.1 is considered. For this, in or-der to estimate the acceleration of the robotic system, a first order filter is applied to Equation (37), obtaining: Rewriting Equation (71) in a compact form, we obtain that: where s is the Laplace transform variable, and λ represents a positive fit constant. To estimate the parameters that best fit the dynamic model of the human-wheelchair system, the method of least squares is implemented. Therefore, the following expression is considered, where ς represents the values of the calculated dynamic parameters; Φ FT is a matrix that considers the variation of the dynamic model at any instant of time in which the dynamics of the real robotic system was excited; and µ ref_FT is the vector that incorporates the input excitation signals of the real robotic system. Table 2 shows the dynamic parameters of the standing human-wheelchair system, considering a person of 75 kg mounted on the wheelchair and moving on a wooden surface.  Table 2 may vary according to the weight of the person and the type of surface on which the standing wheelchair moves. Figure 10 presents experimental data for the validation process, where it can be observed the adequacy of the proposed dynamic model.
The so-built standing wheelchair allows the user to raise the chair from a seated to a standing position. The mechanism to raise the chair is controlled by the control scheme proposed in this work. Figure 11 shows the autonomous movement of the robotic standing wheelchair with a user of 75 kg.

Control Scheme Implementation
In order to obtain experimental results with the human-wheelchair system for the execution of autonomous tasks, a partially structured scenario was considered. All the experimental tests presented in this work use the wheelchair presented in the Section 4.1. The robotic wheelchair considers linear velocity and angular velocity for mobile platforms as input signals. In addition, it has an angular velocity as input signal for standing control on the Z axis. On the other hand, the standing wheelchair has as output signals the displacement and rotation η η x , η y , η z , η ψ ∈ R 4 with relation to reference frame R(X , Y, Z ). In addition, the output signals for the mobile platform were linear and angular velocities, whereas the output signal for the standing position was the angular velocity.
Several experiments on the motion control of the standing wheelchair system were performed in order to illustrate the performance of the proposed controller. The most representative results are presented in the next section. Each one of the experiments was executed with different control objectives. It should be clarified that all experiments were implemented considering the proposed control scheme in Figure 4. The difference of the experiments is in the control law to be implemented in the kinematic controller; the control law is selected based on the desired task.
The parameters of the proposed control scheme were adjusted, as shown in Table 3, for all the experiments. The sampling time was set to T 0 = 0.1 [s].
(a) First experiment We consider Equations (52) and (64) for the implementation of the kinematic control law. Equation (52) considers as desired values η 1d η dx , η dy ∈ R 2 . Therefore, the desired task of the human-robot system must be defined on the X − Y plane (without considering the orientation) with respect to reference frame < R >. The desired task and initial conditions for the controller are defined in Table 4 for the experiment. Table 4. Desired task and initial parameters.

Initial Conditions Desired Task
The main results of the first experiment are illustrated in Figures 12-15. Figure 12 shows the stroboscopic movement of the standing human-wheelchair system, based on real data. Figures 13 and 14 show that the control errorsη 1 η x , η y ∈ R 2 andμ u, ω ψ , ω φ ∈ R 3 , respectively, converge to values close to zero asymptotically. It should be noted that the kinematic controller fulfills the objective of the desired task, while the dynamic compensation controller compensates for the dynamics of the human-wheelchair system. In other words, they are two independent controllers with different control objectives. The control action of the standing wheelchair is shown in Figure 15.    Control errors η z and ψ do not tend to zero, because these control states are not part of the desired task, therefore they are not considered in the proposed control law of the Equation (52).
(b) Second experiment We consider for this experiment the implementation of the kinematic control law based on Equations (53) and (64), respectively. Equation (53) considers as desired values η 2d η dz , η dψ ∈ R 2 , therefore, the desired task of the human-robot system must be defined on the Z axis, considering the orientation respect to inertial reference frame < R >. The desired task and initial conditions for the controller are defined in Table 5. The desired task considers a stabilization point on the Z axis and the desired orientation with respect to the X axis of the inertial frame < R >. The main results of the second experiment are shown in Figures 16-19. Figure 16 shows the stroboscopic movement of the standing human-wheelchair system, based on real data. Figure 16a shows the standing wheelchair robot in the initial condition, whereas Figure 16b shows the standing wheelchair robot in the desired position. Figures 17 and 18 show that the control errorsη 2 η z , η ψ ∈ R 2 andμ u, ω ψ , ω φ ∈ R 3 , respectively, converge to values close to zero asymptotically. Figure 19 depicts the control actions of the standing wheelchair robot.    Control errors η x and η y do not tend to zero, because these control states are not part of the desired task, therefore they are not considered in the proposed control law of the Equation (53).
In previous experiments, the performance of the mobile platform controller expressed in the Equation (52) and the orientation and standing controller expressed in the Equation (53) were tested. Both controllers considered only two of the four desired states that a complex task may require.
(c) Third experiment For these final experiments, the implementation of the kinematic control law is considered (Equations (55) and (64)). Equation (55) considers a unified control based on primary and secondary objectives. The main objectives considered η 1d η dx , η dy ∈ R 2 , whereas as secondary objectives, η 2d η dz , η dψ ∈ R 2 was defined. It is important to mention that the secondary objectives will always be met whenever they do not conflict with the primary objectives. The desired task is defined as η d = [ η 1d η 2d ] ∈ R 4 with respect to inertial reference frame < R >. The desired task and initial conditions for the controller are defined in Table 6 for the experiments.
The main results of the third experiment are observable in Figures 20-23. Figure 20 presents the stroboscopic movement of the standing wheelchair system, based on real data from trajectory 1. It is shown that the controller above has an adequate performance. Figures 21 and 22 show that the control errorsη η x , η y , η z , η ψ ∈ R 4 andμ u, ω ψ , ω φ ∈ R 3 , respectively, are ultimately bounded close to zero. We observe in Figure 21 that the errors tend to be zero when the robot is on the proposed trajectory. Figure 23 shows the control actions of the standing wheelchair robot.     Figure 24 presents the stroboscopic movement of the standing human-wheelchair system, based on real data from trajectory 2. Figures 25 and 26 show that the control errors areη η x , η y , η z , η ψ ∈ R 4 andμ u, ω ψ , ω φ ∈ R 3 , respectively, which are limited to values close to zero, i.e., achieving final characteristics errors max η (kT 0 ) < 0.18 [m]. Figure 27 shows the control actions injected into the standing wheelchair robot during the experimental test. From the results obtained, the adequate performance of the proposed controller was verified.    TRAJECTORY 3. Finally, in order to evaluate the robustness of the proposed control scheme, an experimental test was performed with a 91 kg person on the bipedestation chair. The kinematic control law proposed in Equation (55) and the dynamic compensation proposed in Equation (64) were implemented. For the dynamic compensation, the dynamic parameters obtained for a 75 kg person were considered, as shown in Table 2. The experimental test dealt with the follow-up of a trajectory that best excited the dynamics of the robotic system. The desired trajectory selected is described by η dx = 3sin(0.017πkT 0 ), η dy = 2sin(0.1kT 0 ), η dz = 0.6 + 0.2sin(0.1kT 0 ), and η dψ = tan −1 . η dy / . η dx , while, the initial conditions of the robotic system were defined as: η 0x = 1 [m], η 0y = −1 [m], η 0z = 0.5 [m], and η 0ψ = π 16 [rad]. The results of the final experiment are shown in Figures 28-31. The stroboscopic movement of the human-wheelchair system, based on real experimental data, is shown in Figure 28. Figures 29 and 30 show that the control errors areη η x , η y , η z , η ψ ∈ R 4 and µ u, ω ψ , ω φ ∈ R 3 , respectively, which are limited to values close to zero, i.e., achieving final characteristics errors max η (kT 0 ) < 0.29 [m]. Finally, Figure 31 shows the maneuverability velocities applied to the robotic systems.    The proper performance of the proposed controllers was verified through six experimental tests, using three different control laws (the controller design was presented in Section 3.2). The adequate performance of the control scheme proposed for the experimental robot showed that the standing wheelchair is capable of following the desired trajectory, compensating the dynamic effects. The latter can be presented by a change in the user's position when using the standing wheelchair robot, or due to irregularities in the contact surface.
It should be emphasized that the first five experiments were carried out with a 75 kg person mounted on the standing chair, whereas the sixth experiment was carried out with a 91 kg person. From the results obtained experimentally, it can be concluded that in all experiments, the control error converges to values close to zero. Therefore, the control error η (kT 0 ) will be bounded, provided that the control error μ (kT 0 ) is bounded.
The control errorμ(kT 0 ) is different from zero when experimental tests are performed with a person with a different weight than the weight used in the identification process of the dynamic parameters of the model. The same occurs when the surface on which the experimental tests are performed is different from the surface used in the identification of the dynamic parameters. However, the control error η (kT 0 ) will be bounded as a function of the velocity error value μ (kT 0 ) ≤ kμ. This analysis is supported by the results obtained and the robustness analysis described in Section 3.6, specifically by Equation (70). Therefore, from the results obtained in this work, it is feasible to propose a control scheme with adaptive dynamic compensation for the human-wheelchair system.

Conclusions
In this work, a control scheme to solve the problem of autonomous movement of a standing wheelchair was presented. The design of control scheme consists of two cascaded subsystems: (1) Unified kinematic controller, in charge of fulfilling the task objective, i.e., the path following and positioning of standing wheelchair; and (2) Dynamic controller, in charge of compensating the dynamics of a standing wheelchair system. Sampling theory and Markov properties were considered for the design of the proposed controllers. Obtaining the kinematic and dynamic model of the standing wheelchair robot allowed us to obtain the design of the proposed controllers. In addition, the robustness and stability analysis of the proposed controller design demonstrated that the control error was stable. Finally, it was confirmed that the real experimental tests showed an adequate performance of the proposed controller. Future work deals with the development of an interactive and immersive 3D virtual environment to create a rehabilitation system for people with motor disabilities in lower extremities. The virtual system will receive real data from the robotic system, in order to present a real-time interaction between the standing wheelchair robot and the virtual environment.