HUMANOID ROBOT SOLVING A TASK OF BALANCING ON A TILTING PLATFORM

This study focuses on the control of a humanoid robot in a new environment, whose parameters were not accounted for during the design of the robot’s control system. The environments in question are an active and a passive tilting platform. The study shows that the humanoid robot behaves similar to a human subject in the experiments with low viscous friction. In the experiment with high viscous friction, it was demonstrated that the robot is capable of balancing on the platform. Same result was achieved in the case of an active platform. The paper provides a discussion of how the task of standing on a passive platform deviated from the model-based control formulation with constrained linear quadratic regulator and projected inverse dynamics, designed for the case of walking on stationary horizontal plane. The results in the paper suggest that while there are limitations to how well standard control approaches can adapt to the unknown environments, it is still possible to use them directly.


Introduction
Anthropomorphic robots are an interesting and challenging sub-field of walking robotics, which had been attracting attention of the researchers for the past five decades. The reasons anthropomorphic robots receive this much attention in the scientific literature are multiple [Buschmann, 2010]. First, they present a clear and easily understood challenge with simple benchmarks for mechanical design, electrical engineering, planning, control, perception and other fields. Even the modern flag-ship research projects in bipedal robotics use implementation of human-like movements, such as running, jumping, somersault and others, to demonstrate the effectiveness of the proposed methods [Nelson et al., 2019]. Second, anthropomorphic robots should be easily fitted into human-centered environments, such as offices, urban areas, traditional factory settings, transportation systems and others [Siciliano and Khatib, 2019]. Since the existing infrastructure was built for humans, having structure similar to that of the human body should allow the robot to easily access the functionality of this infrastructure. Practical examples are the ability to use stairs, escalators, elevators, open doors and others, which would augment the robot's mobility the same way as it does for humans. The third set of reasons why anthropomorphic structures interest researches are social and psychological. There are researches related to the use of humanoid robots in a clinical setting, care-taking setup, in education and other situations, where the appearance and anthropomorphic features of the robot are expected to have positive effect on the people interacting with it [Conti et al., 2019] [Martin et al., 2019]. This research shows that humanlike appearance and/or behaviour of the robot plays a role in how people respond to it. This might be one of the main desirable results for a number of tasks that urgently need automation, such as elderly people caretaking [Okamura et al., 2010].
We should observe that the listed advantages of humanoid robotics assume that the robots should be capable of operation in the same environments as humans, rather than in specifically designed and controlled ones. Such environments are not only varied and challenging individually, but also not suitable for complete and comprehensive cataloging, making it necessary for the robot to adapt. For example, the task of standing on the concrete floor in a building is different from the task of standing in an accelerating bus [Jatsun et al., 2016], and the task of walking up the stairs is different from the task of walking up an escalator. This suggests that it is important to study the robustness of the control methods that anthropomorphic robots use, relative to the change in the properties of the environment, in which the robot functions.
In this paper, we consider two specific examples of environments: a passive tilting platform, which the robot has to stabilize, and an active tilting platform where the robot only needs to remain stable. Similar environments are not usually studied in the bipedal robotics literature, but they are studied in the neurophysiological studies [Chang et al., 2016], [Wittenberg et al., 2017]. In [Chang et al., 2016] the experiment involved a person standing on a Stewart platform, where as in [Mochizuki et al., 2008] disturbances at random periods of time had been applied to the human subject. The later can be seen as similar to the problem of push recovery that had been studied in bipedal robotics [Pratt et al., 2006]. However, rather than studying how the existing control approaches respond when they are applied in these environments, the robotics research is focused on designing control methods that are specifically tuned for particular scenarios, which includes push recovery and others [Rebula et al., 2008].
The goal of this study is to provide analysis of the dynamic behaviour of control systems designed for bipedal walkers, when they are used in scenarios that they were not tuned for. We also provide simple examples of how the information about the environment can be integrated into the control system to significantly improve the system's performance. This suggests the importance of recognizing how much information about the environment the control system is expected to have.
Our study uses one of the control methods for bipedal robots based on a modification of linear quadratic regulator, introduced in [Mason et al., 2014]. There are a number of advantages and disadvantages that this method has compared with other known approaches, which are discussed in the following section. The reason it was picked was the transparency of the tuning process, making it easier to avoid fine-tuning the method for the given motion scenario. The tuning process is also discussed in the next sections.
The contribution of this paper is: 1) study and analysis of how standard local linear feedback control works in different environment: on active and passive tilting boards; 2) proposal of a simple modification of the control input, emulating human-like balancing strategy, which demonstrably capable of solving the balancing task; 3) providing a reference for the humanoid robot trajectories for the case of linear feedback law, which can be used in comparative studies with human subjects in the same settings.
The rest of the paper is organized as follows. Section 2 gives a description of the anthropomorphic robot discussed in this section, including its mathematical model, its control system. Section 3 gives description of the experiment with a passive tilting platform, while the results of the experiments are given and analysed in the section 4. That section also contains results obtained in experiments with a human subject, allowing comparative analysis. Section 4 also contains experimental results for the case with increased friction, demonstrating that vertical stability is achievable. Section 5 is focused on experiments with an active tilting platform, also showing robot's stability.

Description of the Anthropomorphic Robot
In this paper, we study how an anthropomorphic robot balances on a tilting board. The robot is AR-601, described in [Khusainov et al., 2015], [Khusainov et al., 2016]. Fig. 1 shows a photo of the robot. The robot Figure 1. A photo of AR-601 robot, whose model was used in this study.
weighs 65 kg, 1.442 m in height. Main parameters of the robot are given in the Tables 1 and 2. Let the robot model be described as follows: where q is the vector of generalized coordinates, u is the vector of motor torques, λ is the vector of reaction forces, H is generalized inertia matrix for the floating  [Featherstone, 2014], c is a dynamics bias vector, B is the actuator map, indicating which degrees of freedom are actuated, and F = ∂f /∂q is constraint jacobian, where f (q) = 0 is the constraints vector. Second row of (1) is derived from second derivative of constraint equations. This is a system with underactuation degree six (for terminology see [Fantoni and Lozano, 2002], [Acosta and López-Martınez, 2009]) and 18 degrees of freedom. However, if the robot stays in contact with the immobile supporting surface, this system can be re-written as a fully actuated, with 12 degrees of freedom.

Feedback Controller
Control system of the robot is based on local linearization of the robot dynamics taking into account unilateral mechanical constraints. If we linearize first equation in the dynamics model (1), we can obtain: where x = qq is the state of the system, A and B are linear model matrices (state matrix and control matrix) and d is an affine term which does not affect the following considerations. Equations (2) can be projected into the null space of constraint matrix G: Equation (3) is constructed by differentiating mechanical constraints to find the constraints on generalized velocities and accelerations. If N is a projector to the null space of G, equation (2) changes to the following by the projection:ẋ wherex is a new local minimal representation of the robot state:x = N x. Solving algebraic Riccati equation for the dynamics (4) yields optimal cost-to-go quadratic form matrix and the feedback controller gain matrix K. With this, we can formulate control law: where x * = x * (t) is the desired trajectory of the system, u * = u * (t) is the feed-forward control law.

Feed-forward Controller
In order to generate a feed-forward control law, we also need to take into account the mechanical constraints that are imposed on the system. We use algorithm proposed in [Mistry et al., 2010], based on QR decomposition of the constraint jacobian: Where Q is an orthogonal basis and R is upper triangular block matrix. Projecting inverse dynamics obtained for the floating body dynamics into the column space of Q we can obtain inverse dynamics for the projected system.
Inverse dynamics for the floating system in our studies is obtained with inverse dynamics algorithms implemented in Drake software package.

Control System Implementation
We use a model-based control scheme, which requires locally linearized robot model. The model is generated using Drake robot simulation software package, then linearization is produced using automatic differentiation in Eigen C++ library. Our approach also requires information about the current contact interaction scenario. This is obtained using the output from Gazebo simulator, which provides information about the current positions of the contact points.
For the experiments in this paper, computational power (computational time) and control frequency bandwidth were not limited, sensor noise, delays, democratization and quantization were not introduced. Controller is implemented as Gazebo plugin, communications are done via ROS environment. The architecture used here is similar to the one presented in [Savin et al., 2019].

Passive Tilting Platform
Let us consider the case when the robot stands on a tilting platform. The orientation of the platform is described by angle ϕ. Figure 2 shows the model of the robot considered in this study.
Let the robot's feet be currently contacting the platform in points r Ki . If the positions of those points relative to the point A on the axis of the platform is given by r 0 Ki , then we can write the position of r Ki as follows: where r A is a constant vector defining the position of the point A on the axis. On the other hand, the same points can be described as parts of the robot kinematic chain starting from the floating body: r Ki = r Ki (q).
From the point of view of modelling the robot motion, ϕ can be seen as an uncontrolled degree of freedom. This means introducing one more body into the robot structure and increasing the number of states by two.
Also, the equations of mechanical constraints change after the introduction of the tilting platform. If we consider those to be bilateral contacts, the resulting constraints will assume the shape: where T x (ϕ) is the same rotation matrix as in the eq. (7). This can be taken into account in the control formulations (3), (4), (5) and (6). But here we deliberately withhold this information from the control system, making it work the same as if the robot was standing on the floor. If we take into account that the constraints are unilateral, we should include oriented friction cones into the constraint formulations, or use complementarity constraints into the dynamics formulation, leading to control law in the form of a quadratic program.
In order to allow the robot to use the information crucial to the task, i.e. the orientation of the tilting plat- form, we add a simple modification to the control system. Rather than trying to keep its balance we require the robot to change the position of its center of mass according to the following law: where K p and K d were set as 0.5 and 0.1 respectively. The rest of the desired trajectories for the floating base are set to be constants, and the joint state trajectories are set to be the output of inverse kinematics. This allows the robot to directly take into account the error in the orientation of the platform, which is more similar to the task formulation that a human subject receives.

Simulation Results for Passive Tilting Platform
All presented experiments with AR-601 robot were conducted in simulation environment Gazebo using ODE physics engine. On the other hand experiments involving human subjects were made in real laboratory with physical tilting platform.
First experiment consisted of the robot trying to stand on the tilting platform while controlling the position and velocity in its joints and its floating base (which includes position and orientation of the robot's body). Fig. 3 shows how the angle ϕ changed during the experiment. Fig. 3 demonstrates that the robot hits the limits of the tilting platform (red dashed lines) and is unable to keep balance.
The shape of the graphs in Fig. 3 resembles experiments done with human subjects on a similar platform, as shown in Fig. 4. Fig. 4 demonstrates results on a single experiment with a healthy human subject with no prior experience with balancing on the tilting platform. We can observe that while the robot slightly increases its speed as it approaches the angle limits, human does the opposite. This   We should point out that the robot uses a platform with much smaller maximal angles than human does, since the robot AR-601 has stricter joint limits.
In order to see how the robot behaved during the experiment, let us demonstrate the trajectory of its center of mass and the number of contact points it had at any moment of time. Fig. 5 shows how the coordinates of the center of mass of the robot evolve with time (the motion takes place in the yOz plane.
We can observe that the oscillations increase in amplitude, which was not reflected in the graph shown in Fig. 3. Fig. 6 shows how many point of contact between the tilting platform and the robot existed during any moment of time during the experiments.
The interpretation of the graph on the Fig. 6 is straightforward: the robot becomes unstable and is ready to fall. This is not the case for most human subjects in the tilting platform experiments.

Experiments with High Viscous Friction on a
Passive Tilting Platform In this section, we demonstrate that with high enough viscosity in the axis of the tilting platform, the behavior of the robot approaches that of an agile human on the tilting platform. Fig. 7 shows an experiment in which robot was able to keep its vertical balance on the tilting platform (without reaching angle limits) for the whole duration of the test.
In order to analyse the graphs on the Fig. 7, we need to additionally demonstrate the dynamics of the tilting platform orientation (see Fig. 8).
Analyzing the graphs in Fig. 7 and Fig. 8, we can notice that while the trajectories of the center of mass appear chaotic, the angle of the platforms oscillates as a combination of two main harmonics: the main frequency and a modulation. Another indicator of the stability of the system is the number of contact points between the robot and the tilting platform. Fig. 9 shows how this number evolves with time.
We can see that the number of contacts does not steadily decrease as previously, meaning that the robot was able to keep its contact with the platform. This indicates that the control system fulfilled its function even without the knowledge of the platform dynamics.

Experiments with an Active Tilting Platform
In this section we describe a different experiment, in which the platform included an actuator which controlled its orientation precisely. This experiment provides a simpler challenge for the control system, as instead of being underactuated with unknown dynamics, it becomes fully actuated with parametric excitation.
The experiment was performed for the frequency of oscillations of the platform of ω p = 4 [rad/s], and amplitude of the oscillations of a p = 0.15 [rad]. Fig. 10 shows how the center of mass of the robot moved in the experiment with an active platform. We can observe that the oscillations are larger in amplitude than in the previous experiment. In order to ascertain the vertical stability of the system using the previously proposed metric, the dynamics of the number of contact points, we show the relevant plot in the Fig. 11. We can see that the number of contacts changes often, but the magnitude of the change is bounded: we do not loose more than 4 contacts. This suggests that the control system of the robot is capable of dealing with tasks related to moving on platforms experiencing accelerations and decelerations and periodic movements (such as ship decks, in public transport).

Conclusion
In this paper, the problem of controlling a humanoid robot in environments which properties were not taken into account when the control system was designed, was considered. This means that the control system should be robust enough to deal with the changes without retuning. As discussed in the paper (and as experiments show), people are capable of safely performing such tasks, even though the quality of their performance may be low.
The paper demonstrates that the control system is capable of balancing on the platform, given enough viscous friction (damping). It was also shown, that the control system is able of balancing on an active platform with a given frequency.