1 Introduction

The average aging of the world population has been increased due to health, social and technological factors, including mainly the fertility rate detriment and the increment of the world population life span [1]. Nowadays, some studies estimate 727 million people who are 65 years old or over in the global population in 2020 [34]. Furthermore, projections are estimating that the aged population in 2050 will increase near to 1.5 billion people, which means that the percentage of 9.3% in 2020 will increase to 16.0% in 2050 [34]. Also, Eastern and South-Eastern Asia are the regions housing 260 million elderly population [33]. Then, Europe and Northern America are the next on the list having a population of 200 million in 2019 [33].

Human aging may originate from the decrease in functional human body productivity, the increment in the risk of cardiovascular episodes, chronic degenerative diseases such as melanomas or skin lesions and muscle-skeletal diseases, among others [26,27,28,29]. In consequence, geriatric medical cares are indispensable for reducing physical accidents or clinic problems that put at risk the life of patients [10]. Indeed, some countries have created strategies for taking care of elderly population [1]. They have improved the specialization of health services and the development of biomedical technologies that enhance health conditions for the patients. For example, digital biomedical technologies such as telemedicine, telecare, and e-health can supply long-distance attention. These techniques allow bidirectional, safe, and professional communications between patients and healthcare professionals [3, 11].

Robotic technologies provide interplay channels between patients and healthcare professionals. Indeed, robots are fundamental tools of modern life. These devices provide support in a diversity of industrial and domestic activities [6]. Particularly speaking, in medicine, some applications of robotic devices can perform robotic surgeries, and they can develop intelligent systems to visualize the physiological variables of patients, as well as to give them support in their daily routines [4, 16]. All the assisting robotic technologies have the main objective of improving the quality of life for people who have physical disabilities developing their daily routine [8]. For instance, some hospital facilities have been instrumented with robotic systems that deliver food or medicines under a programmed schedule. In addition, some of these robots support patients in their movements and record clinical information for long-distance medical attention [20, 31]. Such assisting procedures can reduce the complications of healthcare conditions. The interplay between the robotic configuration and the set of biomedical monitoring devices leads to three major medical assistance categories: mobile service, physical assistance, and supporting people in their activities [23]. Usually, all these robotic systems are indistinctly known as nursing robots. Nursing devices have diverse functions such as supervising people, recording information, mechanical support to assist people, measuring temperature, sanitation, and sterilization, among many other functionalities.

Regarding humanoid robots, several examples provide healthcare assistance [5]. Such is the case of ARMAR III and PR2, which have been designed to interact with humans and manipulate objects in different environments [2, 9]. Also, the Care-O-Bot 3, a robot assistant designed to help humans in everyday environments, can manipulate objects [24]. Nevertheless, the main purpose of these devices is not to provide healthcare services. Therefore, even though the mechanical structures satisfy some requirements needed in assistance robotics, their level of specialization should be improved to develop specific tasks associated to an adequate healthcare assistance.

One of the first successful robots with nursing functions is the RIBA robot, which was designed by Honda Robotics. The main purpose of this device is to carry patients over 80 kg weight [23]. Under the SARS-COV-2 pandemic situation, some countries implemented nursing robots to attend sick patients with a teleoperated scheme. Another relevant example is the Cody system, which is a robot assistant designed to help caregivers with the hygiene of the patient [21]. The AIMBOT, which can sanitize and get the temperature of patients while moving around hospital environments. Despite the relevant technical advances, current monitoring and long-distance treatment functions associated with nursing robots are limited to supporting medical staff [25]. Thus, even tough their significant advances, nursing robots are insufficient supporting nursing activities.

Home-care of senior citizens should employ a complete measurement of physiological variables like heart rate, blood pressure, temperature, and oxygen saturation. In addition, assisting robotic devices should help patients to ambulate in controlled spaces. Taking this paradigms into account, this work proposes the development of a home care robot prototype that can help geriatric patients supporting their gait cycle and monitoring their mentioned vital signs. Finally, a GUI visualizes the collected information from the patient, including the acquired physical variables to be transmitted to the physician in charge to obtain an adequate diagnosis.

The main contributions of the proposed nursing robotic device are the following:

  • The development of a prototype of a nursing robotic device that can measure electrocardiography signals, non-invasive arterial pressure, heart rate, oxygen saturation, and skin temperature.

  • The design of an adequate graphical user interface to allow the interaction between the robotic device and the patient as well as the physicians.

  • A functional traction system controlled by a robust control algorithm with the objective of localizing and tracking the patient helping him/her to exert an assisted gait cycle.

  • Pre-clinical validation of the nursing robotic device considering the evaluations of all sections of the nursing robotic device.

This manuscript is organized as follows: Section 2 describes the specific requirements for the nursing robotic device, which serves to propose its main operative characteristics. Section 3 details the mechanical structure and the technical abilities included in the nursing robotic device, such as the medical technologies for monitoring vital signs. Section 4 describes the electronic elements associated with the biomedical technology that measure the physiological variables continuously. Section 5 establishes the automatic controller, which aims to regulate its mobilization towards the patient when needed. Section 6 highlights the results of the proposed controller obtained using a virtualized representation of the assisting nursing robotic device (ANRD). Section 7 contains the details of the experimental evaluation considering the mechanical structure, its medical instrumentation, and the suggested automatic controller. Finally, Section 8 closes the study with some final remarks and future trends.

2 Design requirements and medical assisting abilities

Medical devices such as assistance robots provide clinical services to patients in different scenarios: home-care or hospital environments. According to [12], the main characteristics to be solved for a medical assistance robot should include and adequate physical design, a safety instrumentation, and a manageable operating system for the patient and the physician. Among others, the physical requirements include robustness, an ergonomic design easily adapted for the patient, static stability to support the patient, among others. Therefore, the mechanical design must be solid and stable for the safety of patients.

Another characteristic must be the adaptation of the nursing robot to different terrains and environmental situations because the system must provide assistance to the user to execute different tasks such as sitting or walking [12]. In addition, the instrumentation and the system operation should be easy to manipulate by users such as nurses, doctors, and patients. According to [7], the instrumentation must be designed considering clinical purposes such as vital signal monitoring. The operating system requisites the implementation of a human-machine interface for analyze the data. The interface needs to be intuitive and safe.

Regarding the physical design, the mechanical structure of the ANRD must allow an appropriate interaction with the patient according to the medical and home care assisting requirements. Notice that taking care of senior citizens implies the fulfillment of several tasks. Therefore, this study considers the walking aiding service under controlled indoor-outdoor conditions, a simplified vital signals monitoring, and autonomous mobilization to search and track the patient when the robot is not with him. The assisted-aided walking function must help patients who suffer from mobility diseases by accidents or the aging deterioration that affect their independent gait cycle. During the aging period, physiological changes are reflected in modifications of either nervous or peripheral mechanisms controlling equilibrium and locomotion systems. Senior citizens have a stance phase reduction from 0.64 to 0.39 s, and the necessity for a double support increases between 0.24 and 0.28 s in the gait cycle [14]. Therefore, the mechanical design for the proposed device has been defined taking into account the anthropomorphic parameters for the elderly population, which are summarized in Table 1.

Table 1 Average anthropomorphic dimensions considered for the robot design

As a consequence of the mobility limitations for senior citizens, the suggested device must develop controlled displacements from one point to another in a non-structured working space. Hence, a class of robust controller can help the nursing robot to track the patient.

Physiological measurements are necessary to monitor the health of the senior population. These clinical indicators provide relevant information about the current status of cardiovascular, respiratory, nervous, and endocrine systems [13]. Furthermore, vital signs define a universal mechanism to know the health condition of the patient, including a preliminary grading of eventual fatal events [32]. Elderly patients suffer geriatrics syndromes that affect human health. These syndromes could be a consequence of functional disorders (involving different systems) such as diabetes, hypertension, heart deceases, cognitive symptoms, dementia, depression, dislocations, and fractures [17].

The proposed nursing robotic device measures heart rate, arterial blood pressure, oxygen saturation, and body temperature as the most significant vital signs. A particular mechanical and instrumentation design yields a simplified method to get the physiological information without the intervention of physicians or nurses. The acquired signals are displayed in a graphical user interface that provides information to the physician in charge of the patient. Also, the proposed interface allows the registration and save the acquired information for each patient in a proposed database that is integrated into the digital section of the instrumentation device of the nursing robot.

In order to evidence the novelty of the proposed ANRD, a comparison between commercial devices and the ANRD was made to evidence the novelty of the proposed device. Table 2 shows the features considered in the design of the ANRD. Here, it can be observed that the ANRD considers novelty characteristics to assist the senior citizen population.

Table 2 Feature comparison of the ANRD with commercial systems

3 Mechanical design of the nursing device

According to the requirements, a mechanical structure was designed in a computer assisting design (CAD) software considering all the mechanical elements of the nursing robotic device. The dimensions of the robot are in agreement with the anthropomorphic characteristics of averaged elderly patients (see Table 1).

The internal structure of the robotic device consists of aluminum profile model Strut profile 30x30 M8/- material number 3842990721 from Bosch, which according to their technical data, is ideal for supporting the senior citizen weight. The dimensions of the ANRD are 62 cm length, 53 cm width and a 133 cm height. This proposal gives support and stiffness for adequate security of patients when they interact with the nursing robot. A traction mechanism supports the internal structure for mobilizing the system in structured environments with stable motion. This mechanism has been adapted considering anthropomorphic measurements to offer the patient a friendly companion device.

For a comfortable interaction during the patient’s gait, the front part has an aperture at the chest height and supports the hands over the nursing robot considering the height average of senior citizens. The traction mechanism provides motion capacities to the nursing assistance robot. This mechanism incorporates aluminum plates and has two side trolley bands (Fig. 1). Two lateral DC motors actuates the sidebands, one on each side. A polymeric (acrylic) cover protects the external structure offering a friendly image to the patient. In addition, this cover protects all the internal elements.

Fig. 1
figure 1

Components of the ANRD. The robot has two sections; aluminum profiles constitute the mechanical structure covered with self-designed 3D-printed elements. The upper section has the corresponding physiological sensors, while the lower section contains the traction mechanisms

The robot structure consists of two principal sections: the upper part measuring the vital signs and the lower part in charge of the mobilization mechanism, consisting of mobilization actuators, energy sources, and instrumentation boards.

The upper part is integrated by all the elements that measure the physiological signals and the embedded systems that process them. In this particular case, a touch screen LCD with dimensions of 25.6 cm × 17.5 cm shows the information to the patients and gives them the option to send the information to the physician in charge (see Fig. 1).

The hand-shaped molds were designed with specific sections that hold the sensors for each different signal (see Fig. 2). This strategy minimizes the wiring and facilitates the use of the robot by the patients. In addition, the internal structure has two molds for supporting the patient hands. The location of these molds is 90 cm over the robot basis, inside its upper section.

Fig. 2
figure 2

Design of hand-shape molds for supporting sensors and measurements systems of electrophysiological signals

3.1 Location of acquisition electrodes

The sensor used to estimate the heart rate consists of an electrocardiography amplifier. This device is in charge of recording the electrical heart signals and requires three electrodes (2 differential and one reference) [18]. Two electrodes are located at each mold (left-hand and right-hand molds) which are in contact with the user’s palms (See Fig. 2). The third one is a clip electrode attached to the inferior part of the nursing robot. Notice that this element is a dry electrode, which only requires the patient to move their leg and touch the electrode to obtain the measure of the biosignal. Although these electrodes were selected due to their reusability and easy collocation, the user should connect the electrode to their left ankle. Thus, when the patient holds the nursing robot, the palms hold the molds so that the electrodes contact the palms yielding in the construction of the Einthoven’s triangle.

3.2 Location of bracelet for non-invasive pressure acquisition

The measurement of the arterial blood pressure was taken in the index finger of the left hand. This methodology follows the same strategy used for the traditional measurement over the arm but an instrumentation with higher sensibility characteristics is needed. The acquisition system used a polymer mold corresponding to a bracelet with a rubber chamber, which covers the finger where the non-invasive arterial pressure will be measured.

3.3 Position of oxygen saturation variable

The oxygen saturation (SpO2) measurements were acquired using a standard oximetry device attached to a polymer piece placed inside the hand-shaped mold. The oxygen saturation was obtained from the right index finger. The designed mechanism can be adapted to different finger sizes.

3.4 Position of temperature monitoring sensor

An infrared sensor is placed over the skin to obtain the body temperature. To measure the temperature, the patient must approach his/her head or face (around cheekbones) to the measuring device. Thus, the proposed device corresponds to the traditional long-distance measuring of temperature, which simplifies the interaction between the patient and the nursing robot device.

4 Instrumentation of the nursing device

The primary vital signs are periodically acquired to know the patient’s health condition. To this end, the biomedical instrumentation employs a single processing board TIVA TMC1294 (EK-TM4C1294XL, 120MHz 32-bit ARM Cortex-M4 CPU, 1MB Flash, 256KB SRAM, 6KB EEPROM, Integrated 10/100 Ethernet MAC+PHY, Dual 12-bit 2MSPS ADCs, motion control PWMs) based on a microcontroller of Texas Instruments (TM4C1294NCPDT). The digital acquisition of biophysical signals uses a parallel analogical-digital-converter. The data transfer uses protocols like I2C and RS-232 (115200 bauds). The microcontroller sends the information using the serial communication protocol. The data processing is exerted in Matlab®, including frequency analysis, visualization, and storing. Figure 3 shows the general diagram of the suggested bio-instrumentation.

Fig. 3
figure 3

Biomedical instrumentation diagram

4.1 Heart rate

The heartbeat rate was monitored using the sensor AD8232. This device is a fully integrated single-lead electrocardiogram (ECG). The main features of this device are a low supply current of 170 μ A common-mode rejection ratio of 80 dB and high signal gain G = 100 with dc blocking capabilities via a high-pass filter). The sensor AD8232 is connected to the processing board’s analog-digital converter (ADC). The Pan-Tompkins algorithm was used to analyze the ECG to obtain the heartbeat (bpm) as HR= 60/T [15]. The processing algorithm obtains the inter-period between QRS complexes.

4.2 Body temperature

The selected sensor is the MXL9014, which is an infrared temperature sensor with a range of 7–280 C that employs a serial protocol UART to send the data. Considering that the body has some regions where the temperature is homogeneous, there are zones where the measurements are reliable such as cheekbones or the forehead [30]. This sensor was attached to the upper part of the ANRD. The sensor required a characterization bases on a sequence of tests made on different volunteers.

4.3 Oxymeter

The SpO2 measurement was obtained with a MAX 30101 sensor, an oximeter that emits two wavelengths: the oxygen hemoglobin (O2Hb) and no-oxygen hemoglobin (RHb). These signals have different absorption patterns in the infrared and red wavelength spectrum. The RHb absorbs mainly in the visible spectrum at 660 nm wavelength, while O2Hb absorbs infrared light at 940 nm wavelength. The lectures of absorption at infrared and red wavelengths yield in the saturation percentage using an algebraic relationship between the local maximum of the acquired signals [19]. Because of the sensitiveness of the photodiode, this device was enough to complete the acquisition procedure with only one device.

4.4 Arterial blood pressure

The arterial blood pressure was measured at the index finger of the left hand, and its measurement requires an automatic procedure that records the Korotkoff sounds. A general diagram of the stages involved in this process can be observed in Fig. 4. In the first step, a microcontroller TM4C1294 activates the pump air to inflate the bracelet until an internal pressure of 195 mmHg is reached. To ensure the mentioned pressure, a microvalve regulates the air inflow towards the bracelet, which is placed around the index finger (see the stage “Bracelet” in Fig. 4). Then, the microvalve opens the air pathway in a controlled way. The output valve is completely opened when the pressure comes to 40 mmHg, releasing the bracelet’s air. The pressure sensor obtains two signals: the raw pressure signal and the filtered pressure signal (high-pass of 1 Hz, low-pass of 4 Hz, and a Notch filter of 60 Hz). The signal is adequate for obtaining the Korotkoff sounds, and in the final stage, the microcontroller measures the pressure signal via an analogical RS-232 transfer method.

Fig. 4
figure 4

General diagram for arterial pressure measure

Consequently, the data are processed considering the application of digital filtering and threshold the Korotkoff sounds corresponding to 80% and 55% of the amplitude signal for systolic and diastolic pressures [19]. This procedure is automatically controlled by the microcomputer interface fixed up into the assisting robot. The algorithm for getting the non-invasive pressure implements a band-pass filter from 1 to 5 Hertz and an amplitude characterization of the oscillatory pressure response at the detected signal. The analysis of such signals leads to the estimation of the non-invasive arterial pressure.

4.5 Instrumentation used for the mobilization system

The ANRD is carried out by a four-wheel differential-drive mobile robot, which is a class of autonomous unmanned vehicle (AUV). A general overview of the electronic instrumentation in the AUV is depicted in Fig. 5. From this figure, it can be noticed that the proposed instrumentation considers different electronic elements such as wireless communication devices, power converters (H-bridges or DC-DC), and batteries.

Fig. 5
figure 5

Electronic instrumentation of the AUV

In Fig. 5, the first stage employs a microcontroller TM4C123, which is in charge of generating the PWM signals to regulate the movement of the AUV. Next, the PWM signals serve as an input of the high-power stage integrated by a couple of H-Bridges (DC-DC power converter) after passing the isolation stage, which separates the low-power stage from the high-power stage. Once the AUV is moving due to the PWM signals, a GPS module provides the position coordinates of the nurse robot. Then, a set of wireless transmitters (Xbee devices) sends the AUV position information to a personal computer, where the control algorithm is computed. Finally, the obtained control signal (duty-cycle of the PWM) is sent to the microcontroller in the AUV to close the controller loop.

The traction mechanism instrumentation is located in the lower part of the robot. It consists of mobilization motors, energy sources, and instrumentation boards. The instrumentation of the traction mechanism consists of the following phases:

  • It is necessary to know the relative position between the robot and the patient with respect to a non-inertial frame. This study considers the application of a high-resolution GPS module (SparkFun GPS-RTK2 Board - ZED-F9P). These modules have 10 mm precision on all three dimensions (latitude, longitude, and altitude). With this information, it is possible to define the tracking error used in the controller design. For validation purposes, a camera device was placed over the working space to confirm the effectiveness of the GPS positioning device.

  • Wireless communication strategy. A proposed peer-to-peer radio-frequency communication system solved the data transmission procedure. A Zigbee module (Silicon Labs EM357 SoC Transceiver chipset, indoor communication range of 60 m, and transmit power of 3.1 mW (+ 5 dBm) / 6.3 mW (+ 8 dBm) boost mode) from the Xbee company implements the communication protocol. The Zigbee devices use the universal asynchronous receive and transmit (UART) protocol communication at 9600 bauds.

  • Generation of PWM (Pulse Width Modulation). The communication stage transmits the value obtained from the automatic control algorithm. This value corresponds to the average power that must be delivered to each DC motor. The data received with the Xbee receptor (in ASCII) attached to the processing board is converted into a pulse width modulation (Operative frequency of 200 Hz) according to the required differential velocity for solving the tracking problem. Finally, the modulate pulses are transmitted to DC-AC power converters (H-bridges) that provide motors the needed electrical power, direction, and orientation according to the commands provided by the automatic controller.

  • Isolation. The generated pulses requires an isolation circuit that is implemented with the integrated circuit 4N25 optoisolators.

5 Tracking control algorithm design

5.1 Dynamic description of the mobile nursing robot

Following the study presented in Kozłowski and Pazderski [22], the AUV position is given considering the location of the center of mass with respect to a selected inertial framework \( \left [ O_{1}\right ] \) located at its relative origin. The vector \(\mathbf {\eta } \mathbf {:=}\left [ \begin {array}{ccc} x & y & \alpha \end {array} \right ]^{\top }\) corresponds to the AUV position described by the displacement in a two-dimensional plane x and y measured each one in meters and the rotation with respect to the α axis measured in radians. The AUV dynamic model is defined as follows

$$ \ddot{\mathbf{\eta}}=M^{-1}\left[-A(\dot{\mathbf{\eta}})+B(\mathbf{\eta}){\tau -\xi(\eta,\tau) } \right], $$
(1)

where \(M:\mathbb {R}^{3}\rightarrow \mathbb {R}^{3\times 3}\) corresponds to the inertia matrix satisfying \(M=diag\left \{ m,m,I\right \} \) with m and I being the AUV mass and inertia term respectively, diag{z} is the diagonal matrix formed with the elements in z. Here, it is considered a homogeneous mass distribution in the ANRD and also it is assumed that M > 0.

The vector \(A({\dot {\eta }})\in \mathbb {R}^{3}\) is given by \(A(\dot {\mathbf {\eta }})=\left [ \begin {array}{ccc} A_{x}(\dot {\mathbf {\eta }}) & A_{y}(\dot {\mathbf {\eta }} )& A_{r}(\dot {\mathbf {\eta }}) \end {array} \right ]^{\top }\) corresponding to the lateral skidding forces in the wheels with respect to the x and y axis and the corresponding moment in the center of mass. The matrix \(B\in \mathbb {R}^{3\times 2}\) establishes the relation of input vector τ with the AUV dynamics given by

$$ B=\frac{1}{r}\left[ \begin{array}{cc} \cos \alpha & \cos \alpha \\ \sin \alpha & \sin \alpha \\ -c & -c \end{array} \right] $$

where r is the radius of each wheel, and c is the half of the AUV width.

The vector \(\mathbf {\tau \in }\mathbb {R}^{2}\) is the torque exerted by the wheels at the left side τL and right side τR respectively, that is, \(\tau =\begin {bmatrix} \tau _{L} & \tau _{R}\end {bmatrix}^{\top } \). The vector \(\mathbf {\xi \in }\mathbb {R}^{3}\) represents the external forces and perturbations acting over the AUV dynamic satisfying

$$ \left\Vert \mathbf{\xi }(\eta,\tau)\right\Vert \mathbf{\leq \xi }^{+}, \qquad \forall t\geq 0 $$

Taking into consideration that AUV dynamics given in Eq. 1 does not consider the non-holonomic restrictions, to produce the AUV motion without skidding, the following constraints must be satisfied

$$ \begin{array}{c} \left\Vert \frac{\dot{y}}{\dot{\alpha}}\right\Vert <\beta, \quad \dot{y}+r_{0}\dot{\alpha}=0, \end{array} $$

where r0 is the radius of rotation for the AUV center of mass in the x-axis and β is a known positive constant. Here, it is necessary to satisfy 0 < r0 < β to avoid skidding the robot. In terms of generalized coordinates, the expression in Eq. 1 is rewritten as

$$ C(\eta)\dot\eta=0,\quad C(\eta)=\begin{bmatrix} -\sin\alpha & \cos\alpha & r_{0}\end{bmatrix}, $$

The dynamic expression considering the non-holonomic restrictions admits the following representation

$$ M\ddot{\mathbf{\eta}}=-A(\dot{\mathbf{\eta}})+B(\eta)\mathbf{\tau} -\xi(t,\eta)+C^{\top}\lambda. $$
(2)

with λ being the vector of Lagrange multipliers corresponding to constants proposed in Eq. 1. The relation between the inertial velocity \(\dot {\mathbf {\eta }}\) and the pseudo velocity v with respect to the body framework \(\left [ O_{2} \right ] \) is expressed as

$$ \begin{array}{@{}rcl@{}} \dot{\mathbf{\eta}}&=&Q(\mathbf{\eta })\mathbf{v}, \\ Q(\mathbf{\eta })&=&\left[ \begin{array}{cc} \cos \alpha & -\sin \alpha \\ \sin \alpha & \cos \alpha \\ 0 & -\frac{1}{r_{0}} \end{array} \right]. \end{array} $$
(3)

Considering the AUV dynamics in Eq. 2 together with the expression given in Eq. 3 for the pseudo velocity v and taking λ = 0, the following states are obtained

$$ \begin{array}{@{}rcl@{}} \dot{\mathbf{\eta}} \!&=&\!\! Q(\mathbf{\eta })\mathbf{v}, \\ \dot{\mathbf{v}} \!&=&\!\! (Q^{\top }MQ\mathbf{)}^{-1}Q^{\top} \!\left( \!-M\frac{d}{dt}Q\mathbf{v} - A(\dot\eta) - f(t,\eta) + B(\eta)\tau\!\right)\!.\\ \end{array} $$
(4)

Let propose a dynamic compensation based on the control action τ such as

$$ {\tau =}-(Q^{\top} B)^{-1}\left( Q^{\top} M Q \mathbf{u}+Q^{\top} M\frac{d}{dt}Q\mathbf{v}+Q^{\top} A(\dot\eta) \right), $$

where u is an internal control vector given by \(\mathbf {u=}\left [ \begin {array}{cc} u_{1} & u_{2} \end {array} \right ]^{\top }\). Then, the dynamics in the expression (4) becomes

$$ \begin{array}{c} \dot{\mathbf{\eta}}=Q(\mathbf{\eta })\mathbf{v}, \\ \\ \dot{\mathbf{v}}=\mathbf{u}+\tilde{\mathbf{\xi}}, \end{array} $$

with \(\tilde {\mathbf {\xi }}=(Q^{\top }MQ\mathbf {)}^{-1}Q\begin {bmatrix} {\xi _{1}} & {\xi _{2}} \end {bmatrix}^{\top }\).

5.1.1 Output feedback based linearization

Let introduce the following artificial output that, according to [22], describes the instantaneous center of rotation of the nursing robot

$$ \mathbf{y}\mathbf{=}\left[ \begin{array}{c} x+r_{0}\cos \alpha \\ y+r_{0}\sin \alpha \end{array} \right]. $$
(5)

Taking into consideration that the proposed coordinate transformation (by an output feedback transformation) allows to get a linearized version of the dynamics of Eq. 4 (with the inclusion of a nonlinear output feedback form). Then, a feasible state feedback using a dynamical extension in the control input u1 can be expressed as

$$ \begin{array}{@{}rcl@{}} u_{1} &=& \tilde{\xi}_{1}+\dot{\zeta} , \\ \zeta &=& \upsilon_{1}+\frac{d}{dt}{\tilde\xi}_{1}, \\ u_{2} &=& \upsilon_{2}, \end{array} $$
(6)

that can be rewritten as

$$ \left[ \begin{array}{c} u_{1} \\ \zeta \\ u_{2} \end{array} \right] =B_{u}\mathbf{\upsilon +}\left[ \begin{array}{c} \tilde{\xi}_{1}+\dot{\zeta} \\ \frac{d}{dt}{\tilde\xi}_{1} \\ 0 \end{array} \right], $$
(7)

where the control action is given by the vector \(\mathbf {\upsilon \in }\mathbb {R}^{2}\) described as \(\mathbf {\upsilon =}\left [ \begin {array}{cc} \upsilon _{1} & \upsilon _{2} \end {array} \right ]^{\top }\) and \(B_{u}=\left [ \begin {array}{cc} 0_{2x1} & I_{2x2} \end {array} \right ]^{\top }\). Here, I2×2 describe the identity matrix.

The corresponding dynamics of the output y = y1 described in Eq. 5 is

$$ \begin{array}{@{}rcl@{}} \dot{\mathbf{y}}_{1} &=& \mathbf{y}_{2}, \\ \dot{\mathbf{y}}_{2} &=& \mathbf{y}_{3}, \\ \dot{\mathbf{y}}_{3} &=& h_{1}(\mathbf{\eta,v})\mathbf{\upsilon }+h_{2}(\mathbf{\eta,v}) + {\Gamma} (\tilde{\xi}_{1},\dot{\xi}_{1},\dot{\xi}_{2}), \end{array} $$
(8)

where \(\mathbf {v}=\begin {bmatrix} v_{1} & v_{2} \end {bmatrix}\) are the set of admissible velocities defined in Eq. 3 and

$$ \begin{array}{@{}rcl@{}} h_{1}(\mathbf{\eta,v}) &=& \left[ \begin{array}{cc} \cos (\alpha ) & \frac{1}{r_{0}}v_{1}\sin (\alpha ) \\ \sin (\alpha ) & -\frac{1}{r_{0}}v_{1}\cos (\alpha ) \end{array} \right], \\ h_{2}(\mathbf{\eta,v}) &=& \left[ \begin{array}{c} \frac{2}{r_{0}}\zeta v_{2}\sin (\alpha )-\frac{1}{{r_{0}^{2}}} v_{1}{v_{2}^{2}}\cos (\alpha ) \\ -\frac{2}{r_{0}}\zeta v_{2}\cos (\alpha )-\frac{1}{{r_{0}^{2}}} v_{1}{v_{2}^{2}}\sin (\alpha ) \end{array} \right]. \end{array} $$

Finally, function \({\Gamma } (\tilde {\xi }_{1},\dot {\xi }_{1}),\dot {\xi }_{2}) \) joints the action of the signal perturbations produced by the non-modeled dynamics and uncertainties in ξ in Eq. 2.

5.2 Control structure

The nursing robot movement was enforced by a class of state feedback following a class of extended proportional-derivative controller (PD) that satisfies the following dynamics:

$$ \begin{array}{@{}rcl@{}} \mathbf{\upsilon} &=& h^{-1}_{1} \left( -h_{2}(\mathbf{\eta,v})+ K_{p} e + K_{d} \Dot{e} + K_{dd} \ddot{e} \right), \\ e&=&q^{*}-q, \end{array} $$
(9)

where e is the vector of tracking errors, Kp is the matrix of proportional gains, Kd is the matrix of derivative gains, and Kdd is the feedback of the double derivative of the tracking error. The proposed controller can be realized without restriction, considering that the inverse of h1 is well defined all the time, and it depends only on information that can be measured online. With the aim of developing the controller, the Euler derivative obtains the vector of derivative errors ė as well as its second derivative, which is needed in the proposed design. Notice that the proposed controller can be simplified using a state estimator for the time derivative of e. Even more, the inclusion of sliding mode based differentiators can enhance the controller performance tracking the reference trajectories [35].

6 Numerical evaluation of the mobilization

Once the control design has been proposed, the tuning of its gains used a numerical simulation to run the control action for securing the robot motion under realistic scenarios, while the reference trajectories are tracked. The simulation was based on the Simscape Toolbox of Matlab® software.

The simulation results exports a CAD version Matlab® to create a virtual space where the control action can be evaluated. Furthermore, the simulation included two principal robotic devices: the nursing robot and a biped robot representing the patient. Thus, the biped robot’s trajectories for axis X, axis Y, and orientation were proposed. The movement of the nursing robot must solve three principal motion problems: (1) To approach to the biped position (\(\overline {y}_{1,i}(t)\), \(\overline {x}_{1,i}(t)\)), (2) to follow a trajectory to reach a second set of coordinates (\(\overline {y}_{2,i}(t)\), \(\overline {x}_{2,i}(t)\)) and (3) to develop a circular trajectory (\(\overline {y}_{3,i}(t)\), \(\overline {x}_{3,i}(t)\)). The equations that describe the trajectories corresponding to these three problems are the following:

$$ \begin{array}{@{}rcl@{}} x_{i}^{*}(t) &=& \left\{ \begin{array}{lll} \overline{x}_{1,i}(t) & \text{if} & t \leq t_{1},\\ \\ \overline{x}_{2,i}(t) & \text{if} & t_{1} <t \leq t_{2}, \\ \\ \overline{x}_{3,i}(t) & \text{if} & t > t_{2}, \end{array} \right.\\ y_{i}^{*}(t) &=& \left\{ \begin{array}{lll} \overline{y}_{1,i}(t) & \text{if} & t \leq t_{1},\\ \\ \overline{y}_{2,i}(t) & \text{if} & t_{1} <t \leq t_{2}, \\ \\ \overline{y}_{3,i}(t) & \text{if} & t > t_{2}, \end{array} \right. \end{array} $$
(10)

where i = {B,NR}, B and NR denote the biped robot and the nursing robot respectively.

The transitions time happens in t1 = 5 and t2 = 10. Then, the initial points where the mobile robot is located during the first stage correspond to x1,NR(0) = 0 and y1,NR(0) = 1.5. Then, the second set points are x2,NR(0) = − 2.3 and y2,NR(0) = − 2.5. After that, the points where the nursing robot and biped must come to start the third stage are x3,NR(0) = − 4.5 and y3,NR(0) = − 1. Hence, the trajectory during the first stage is originated by two sigmoidal equations between (x1,NR(0),y1,NR(0)) to (x2,NR(0),y2,NR(0)). The second trajectory between (x2,NR(0),y2,NR(0)) to (x3,NR(0),y3,NR(0)) was also proposed using a set of sigmoidals, whereas the last stage is given by x3,NR and y3,NR. All the mentioned functions that describe the reference trajectories satisfy the subsequent equations.

$$ \begin{array}{@{}rcl@{}} \overline{x}_{1,i} (t) &=& x_{0}+\frac{x_{1}-x_{0}}{1+e^{-2.1(t-0.5)}},\\ \overline{y}_{1,i} (t) &=& y_{0}+\frac{y_{1}-y_{0}}{1+e^{-2.5(t-0.5)}}, \\ \overline{x}_{2,i} (t) &=& x_{1}+\frac{x_{2}-x_{1}+0.15}{1+e^{-2.5(t-7.8)}},\\ \overline{y}_{2,i} (t) &=& y_{1}+\frac{y_{2}-y_{1}+0.15}{1+e^{-2(t-8.8)}}, \\ \overline{x}_{3,i} (t) &=& 1.7 \sin{ \left[\frac{\pi}{2} t \right]}, \\ \overline{y}_{3,i} (t) &=& 1.7 \sin{ \left[t + \frac{\pi}{2}+0.45 \right]\frac{\pi}{2}}, \end{array} $$
(11)

Table 3 contains the parameters used for testing the PD control in simulation.

Table 3 Set of gains used in the controller evaluation

Figures 6 and 7 show the comparison of reference trajectories, the biped coordinates, and the controlled trajectories of the nursing device for both axes X and Y with respect to the time. The red and cyan lines represent the reference trajectories corresponding to the equations presented in Eq. 11. The black and blue lines represent the position of the nursing and the biped robots, respectively.

Fig. 6
figure 6

Trajectory of x-coordinate of biped and nurse robots

Fig. 7
figure 7

Trajectory of y-coordinate of biped and nurse robots

In this case, the PD controller allows tracking the different parts of the reference trajectory. Figure 8 shows the reference orientation trajectory given by \(\theta = \arctan \left (\frac {y}{x} \right ) \). Figure 9 depicts the position for both coordinates x and y, where the first and second trajectory given by the sigmoidal equations are depicted. Notice that the proposed controller solves the tracking of the reference coordinates during the first second of numerical simulation.

Fig. 8
figure 8

Trajectory of 𝜃-coordinate of biped and nurse robots

Fig. 9
figure 9

Phase plane trajectory of biped and nurse robots

Figure 10 depicts eight frames (a-h) obtained from 15 s of simulation where different positions of the nursing and biped robots are reached. In each frame, two figures can be observed, the right side of each subfigure depicts the isometric view of the robots, while the left side depicts the upper view. Subsections (a-d) correspond to the sequence of times occurring during the first trajectory. Then, the subsections (e–f) correspond to the second part of the trajectories. Finally, the images labeled with letters (g–h) correspond to times included in the third part of the reference trajectory.

Fig. 10
figure 10

Simulation of biped and nurse robot

7 Experimental evaluation

7.1 Biomedical instrumentation system

The integration phase for the experimental system consists of gathering each part of the nursing robot: the mechanical section, the biosignal instrumentation, and the motion system. These sections were interconnected in a microcomputer that is placed over the upper part of the nursing robot. The microcomputer can make the decisions connecting all the operating functions for the patient based on a GUI. Figure 11 shows the general diagram of the assisting robot integration.

Fig. 11
figure 11

Diagram showing the integration elements of the nursing robot

In this particular case, the instrumentation section gets the measurements of each biosignal. Then, the results obtained in the instrumentation phase are the signals corresponding to the ECG, corporal temperature, oxygen saturation, and arterial pressure blood. Each biosignal acquired in the microcontroller is transmitted to the graphical interface on the microcomputer.

In order to evaluate the biomedical instrumentation stage, a pre-clinical evaluation with young people was proposed. Here, it should be noticed that even when the objective of the nursing robot is to assist the elderly population, it is crucial to validate the performance of the nursing robot in a less vulnerable population. Then, young people were selected for pre-clinical evaluation.

In this case, 10 healthy volunteers (four males and six females, in a range age from 23 to 38 years old) participated in this study. The participants were selected according to the inclusion protocol SIP-20211220 approved by the research committee and regulated by the research and postgraduate secretariat (Secretaría de Investigación y Posgrado del Instituto Politécnico Nacional). The inclusion criteria are healthy participants without any neuromusculoskeletal problem, cardiovascular, pulmonary or neurological disease. In addition, the participants can be subjects of both sexes, males or females, between 18 and 40 years old, from any race, religion, and ethnic orientation. For this pre-clinical evaluation, the data from 10 participants within the ages stipulated in the protocol was considered. In Table 4, a summary of the participants in this study is depicted.

Table 4 General information of the participants in the pre-clinical evaluation

Here, it should be hightailed that all the participants previously signed an informed consent as part of this research project. Then, all participants agreed to take part in the experiments. Also, they have given their permission for the use of their photographs in this manuscript.

The stages that describe the procedure to get the heart rate measurement are summarized in Fig. 12. First, the designed module acquired the ECG signal (solid blue line). Then, the ECG signal’s time derivative is computed to detect the characteristic peaks in the ECG signal. As a result, the signal processed (solid red line) is obtained, corresponding to the moment when the QRS complex appeared in the original ECG. After that, a peaks detection algorithm was implemented in the final stage (solid green line). Once the peaks detection procedure is completed over a given period T, the equation FC = 60/T estimates the heart rate in beats per minute.

Fig. 12
figure 12

Stages of the ECG signal processing

The arterial pressure measurement obtains the two signals appearing in Fig. 13. The red signal represents the pressure information coming from the sensor measured by the selected microcontroller. The blue signal represents the filtered information by three active filters: high-pass of 1 Hz, low-pass of 5 Hz, and a reject band twin filter centered at 60 Hz with a bandwidth of 5 Hz. Then, the signal is acquired by the chosen microcontroller. The blue signal in Fig. 13 shows the Korotkoff components that are processed for obtaining the systolic and diastolic pressure in sections (A) and (B) of the figure.

Fig. 13
figure 13

Signal pressure

The measurements obtained from the 10 participants in the pre-clinical validation were compared with commercial pulse oximeter to validate the heart rate module. In this case, a pulse oximeter manufactured by an conventional commercial device (EleGate HOG15), which provides a heart rate measure and oxygen saturation, was used to make the comparison. The obtained results are evidenced in Table 5. Therefore, as the percentage error evidence, the mean error between the measures obtained with the proposed module and a commercial device is 2.9%, which is admissible in the suggested application.

Table 5 Heart rate comparison values

Regarding arterial pressure, the module was also evaluated in the 10 volunteers selected according to the inclusion protocol. Then, the designed module produced an error of 10%, demonstrating that the arterial pressure values measured with the finger instrumentation are similar to those obtained with commercial sphygmomanometer (Model Homecare) measurements. Notice that the device used in this particular case is a manual instrument. Therefore, the measures’ reliability depends on the ability of the person in charge to execute the task. On the other hand, the measures of the oxygen saturation as well as the corporal temperature are shown in Tables 6 and 7, respectively.

Table 6 Oxygen saturation comparison values
Table 7 Body temperature comparison values

From Tables 6 and 7, it can be observed that the mean error for the oxygen saturation is 3.8% whereas the mean error for the corporal temperature is 2.2%. Then, the comparison evidenced that the obtained values are reliable.

7.2 Human-machine interaction

The main purpose of the nursing robot is to track the patient position that is inside of specific working space. Here, the patient’s position has been simulated by a GPS sensor. It is crucial to notice that the proposed control algorithm has (in its mathematical structure) functions to consider the position of the robot and patient as input information.

The experimental evaluation also considered a novel method to adjust the control gains that removes any high-frequency oscillation during the transient period while the robot is approaching the patient. This particular fact opens the possibility of developing a class of adaptive control gains to reduce all undesired motions by the nursing robot.

Figure 14 displays some photographs where the relative location between the nursing robot and the patient is reduced by using the GPS information as input information of the state feedback controller. This information was supplied to the microcontroller with a sampling period of 100 ms, that means that the position information provided by the GPS module (SparkFun GPS-RTK2 Board-ZED-F9P) to the nursing robot is updated with a sample frequency of 10 Hz. In Fig. 15, the yellow arrows represent the patient position.

Fig. 14
figure 14

Example of the controller execution over the nursing robot and its relative position with respect to the patient

Fig. 15
figure 15

Experimental evaluation of the proposed control action

7.3 Graphical user interface

The device includes a GUI to show the patient’s clinical status information. The interface was designed using the Graphical User Interface Development Environment (GUIDE) in the Matlab® environment. Each interface element was designed to be considered a class of object-oriented strategies that simplify the software design. The proposed interface consists of four parts shown in Fig. 16: the first section corresponds to the welcome screen (Fig. 16a), the second is the entry of personal information (Fig. 16b), the third corresponds to the monitoring process of vital signals (Fig. 16c), and the fourth is supplying the support to the displacement control (Fig. 16d). All these parts consider the minimum information required by the user and the medical physician in charge of the patient. The following items detail the elements included in the graphical user interface.

  • The first section consists of a welcome screen for the patient.

  • The second section displays three options. Two of them allow choosing the robot mode, whereas the third option is setting the patient’s personal information.

  • The third section allows the introduction of the basic personal information of the patient. User data include name, weight, age, and general clinical observations. All the information is saved in a mat file that can be sent to the medical professional.

  • The monitoring section consists of five buttons. Two buttons allow the displacement between all the sections in the interface. The other three buttons indicate the measurement of biosignals. The “Start” button visualizes the following signals: ECG, oxygen saturation, and corporal temperature. For measuring the arterial pressure, it is necessary to push the cyan button. The same section shows the name and the personal information of the patient.

Fig. 16
figure 16

GUI of the nursing robot

8 Conclusions

The developed assistance nursing robot design presents an adequate structure for wandering in structured zones where a patient could ambulate freely, such as a hospital or home-like environments. The nursing robot is designed, instrumented and controlled to satisfy all the requested tasks for a nursing home-care robotic device. The motion control allows an efficient interaction with the patient. Indeed, the movement produced by the proposed state feedback control provides the nursing robot with an adequate response when the patient is ambulating in structured environments. The acquisition of the physiological information is instrumented following the expected characteristics for the selected signals. All the collected information give sufficient knowledge about the essential health conditions of the patient. The assisting nursing robot represents an alternative for home-care of senior citizens monitored at home with a support for their walking cycle. The developed study has potential future trends, including new instrumentation devices with a resilient working strategy and a modern control designs including robust approaches with adaptive gains that help the energetic consumption, which may extend the period of operation of the nursing robot.