Feedback motion control of a spatial double pendulum manipulator relying on swept laser based pose estimation

Abstract Spatial pose estimation devices for mobile and cable-suspended robots have been rapidly developed. The HTC Vive sensor, which operates with swept laser beams, has aroused many researchers’ interest. We present experiments with a double pendulum robot equipped with the HTC Vive Tracker. A linear feedback controller ensured the tracking of pre-defined end-effector trajectories of various speeds. The pose feedback of the controller was provided by the HTC Vive. As a reference, the realized trajectory was measured by the OptiTrack motion capture system. We report that the motion control of a spatial double pendulum robot can be achieved by using a linear feedback controller together with cable winch and fan actuators providing six independent inputs. The accuracy of the HTC Vive was proved to be sufficient for the feedback position control of indoor mobile robots. We report that the error strongly correlates with the linear/angular velocity, the acceleration and the jerk.


Pose estimation of mobile and pendulum-like robots
The mechatronic system of a robotic manipulator generally contains a crucial building block, which is responsible for the perception and, if necessary, the estimation of the pose of each structural part of the robot. The position and orientation in the physical space together is referred as pose in the literature. The pose sensing of industrial serial robots, which are rigidly fixed to a base platform, is mostly carried out based on the joint-encoder readouts [1,2] related to the onedegree-of-freedom (DoF) joints. The pose of each link is then determined by using the joint position data and the kinematic model of the serial manipulator. [3,4] In contrast to the above-mentioned serial robots, autonomous vehicles, mobile robotic devices, pendulum-like manipulators, drones or any object moving (partially) freely in the space necessitate fundamentally different pose estimation system, since joint position is not a valid concept anymore and can not be measured by encoders. Several pose estimation alternatives of terrestrial, flying and swimming mobile robotic manipulators have been tested in the last few decades.
Global Positioning System (GPS) and ultrasonic metrology systems are applied in papers. [5][6][7] The authors of these articles detail the test results connected to flying objects formation. The average of the estimation error was about 5 to 10 cm in [7] and the authors report that the presented GPS based approach is accurate for relative positioning but not applicable for estimating absolute positions. The ultrasonic system in [5,6] is complemented by an infrared synchronization system and 6-axis inertial measurement units (IMU). The operation area of ultrasonic beacon systems are usually limited, such as in the case of the SPHERES framework, [5,6] which is limited to a 2 m cube. [8] IMUs, which are advantageous in measuring relative pose, are usually used for the high frequency update of a lower frequency absolute pose estimation system, but IMU is not feasible to use independently for detecting large motions. The complementary GPS-based absolute positioning systems and IMUs is typical [2] besides the integration of ultrasonic systems and IMUs, e.g. in [9,10] where the Zebris Ultrasonic localization system operates together with an IMU unit.
Most of the localization techniques require the installation of senders and/or receivers in the environment, such as for ultrasonic systems. On the contrary, the localization is carried out by monocular vision and an IMU, without any environmental modifications in case of the Astrobee, [8] which replaces the SPHERE [5,6] in the International Space Station. The map of the visual landmarks are built in advance and the visual information captured by the robot is integrated with the IMU reads by means of a Kalman-filter in. [8] Similar visual localization, and prebuilt map of landmarks are applied in, [11] where the camera is attached on the mobile device. In the above visual metrology systems, the moving object observes the environment. The opposite concept is that the cameras are mounted in the environment and some kind of pattern related to the moving object is observed. [12] This sort of visual pose estimation is particularly typical in biomechanics, when the motion of humans or animals is captured. Single camera together with special pattern target objects such as augmented reality markers, [13] active (light emission) or passive Baumgarte parameters e measurement error (reflective) markers or marker sets observed by cameras are also typically used. Related to robotics, a multi-camera setup is used to measure the pose of visual targets, which are similar to augmented reality markers, attached to a mobile platform in. [14] The reduction of the number of cameras is an intention; e.g. the camera picture is duplicated by a mirror and used for visual servoing in. [15] Another example from robotics, when optical motion capture system is used in the feedback loop of a mobile robot is demonstrated in. [16] Markerless motion capture systems [17] provides an alternative for pose estimation; however, the image processing demands considerable computational effort. The robustness of marker-based systems highly depends on the circumstances, such as the illumination or the cubic volume of the measurement area. In general, visual localization necessitates high computational demand due to the underlying image processing operations, geometric calculations such as triangulation and the machine learning processes, which are possibly included. The data fusion is a great issue when a variety of sensors are employed, e.g. in, [18] where the pose control of the class of the remotely operated underwater vehicles is addressed. In, [18] the sensory system is quite intricate: IMU sensors, a Doppler velocity log, a compass and a short base line acoustic positioning system are integrated. Similarly to other freely moving systems, the fusion of the data coming from the several sensors, which typically have various frequencies, is obtained by the Kalman-Filter. [19][20][21] Summing up, we may conclude that the variety of spatial pose estimation techniques is wide and the related software and hardware solutions have been continuously developing. The data processing usually computationally demanding because of the solution of geometric equation sets, image processing and data fusion.

Application of HTC vive in scientific research and in robotics
Nowadays, more and more off-the-shelf pose estimation sensory systems are available with satisfactory precision and accuracy. Most of the solutions are based on received-signal-strength, timeof-arrival/time-of-flight, time-difference-of-arrival or angle-of-arrival, [22] when the spatial position estimation is the goal. According to our literature review, paper [23] came up first with the idea of using the HTC Vive for research purposes. The operation of the HTC Vive is based on the angle-of-arrival of infrared laser beams.
The fundamental technical information and the operation principles of the Vive are detailed in. [23][24][25][26] The underlying technology is called Lighthouse tracking and assumes roomscaled (4 by 4 m area is recommended by the manufacturer) environment in which millimetre accuracy is feasible in ideal circumstances. There are two infrared laser emitter units called Lighthouses fixed in the environment a few metres away from each other. The mobile units are the Tracker (Figure 1(c)) and the Headset. The Lighthouses, send out horizontal and vertical infrared laser sweeps spanning 120 in each direction. On the surface of the Headset and the Tracker, there are photodiodes that indicate when the laser coincides them. The difference in time at which the various photodiodes are hit allows recovery of the position and the orientation. The operation cycles follow each other periodically in 90 Hz frequency. [23] In each cycle, there is a synchronization flash emitted by the Lighthouses. The pose estimation of the Tracker and the Headset is aided by a higher sampling time (120 Hz) IMU equipped with a 3-axis linear accelerometer and a 3-axis gyroscope. The pose data is delivered in a 90 Hz rate. [23] Initially, the authors of [23] write that the accuracy (offset between the actual pose and the pose reported by the Vive) and the precision (jitter in the reported pose) is sufficient in the 4 by 4 metres tracking area recommended by the manufacturers. Systematic tests were carried out in [23] to verify whether Vive is applicable for research purposes or not. These tests were static (i.e. the tracked Headset was not moving) and they were performed in a 4 by 8 metres test area with ceiling height of 3.2 m. An approximately 22 ms latency was identified. Authors of [23] finally conclude that HTC is not applicable for researches where high accuracy visual stimulation of selfmotion through a virtual world is required. It is mainly because that there is an offset between the virtual and the physical coordinate frame after having a loss and regain of tracking. Reported by, [23] Vive uses a reference plane that is tilted comparing to the ground plane. This yields in inaccurate roll and pitch data, as well as changing height measurements across the tracking space. Similar observations are reported in. [27] In the study of Borges et al., [25] the accuracy (i.e. closeness of the measurements to the real position) and the precision (i.e. the closeness of the measured position data to each other) are assessed when the tracked object is not static but moving. According to, [25] the cause of the poor accuracy reported in [23] is that the weight of the IMU readouts is much higher than the weight of the Lighthouse system data. Presumably, this is the strategy of the Vive to provide smooth trajectories. In the experiments, it is shown that the precision and accuracy are sub-millimetre in static case, while errors can grow up to even meter range in dynamic situations when the tracked object moves quickly. Regarding this issue, paper [24] concludes that the positioning error converges faster when the tracked object is moving quickly; however the elimination of millimetres range error can take even 500 s because of the filter applied on the Lighthouse data. This error can be avoided by using the algorithm introduced in. [25] In, [24] the position error of centimetres (up to 8 cm) range is reported. Regarding dynamic tests, there is no statistical analysis nor exact information in the surveyed literature, whether the accuracy and precision correlates with the speed, acceleration or jerk.
We shall summarize the advantages and drawbacks of using the HTC Vive Tracker for spatial pose measurement. The drawback comparing to visual localization [8,11] is that the Vive necessitates to install hardware elements in the environment. However, it is an advantage that there is no need for pre-built map of the environment. The high computational demand of image processing, which is an issue in, [14] is also avoided. Paper [23] has a negative conclusion about the systematic error of the HTC Lighthouse tracking system: if the tracking was completely lost and regained, then large systematic error was observed. This is because Vive does not utilize the IMU information when the view of both Lighthouses is lost. [23] Papers [25] and [24] derives the conclusion that the Vive provides poor precision and accuracy when the tracked object moves quickly. Still, there are important advantages too. The HTC Vive system is simple, easy to install and its price is affordable. Hence, further studies worth to accomplish in order to define its limitations.

Control of pendulum-like manipulators
The present study is carried out by using the pendulum-like manipulator called ACROBOTER, [9,10,12,20] which is structurally similar to a crane and its working unit swings freely in the cubic space. Consequently, its pose estimation and position control are crucial questions. Although, the proposed fan actuation is not typical for cranes, the scaling up to a real crane system with large size and heavy payloads might be feasible in the upcoming decades.
In general, the control algorithm of a crane should drive the payload in the desired position quickly without oscillations. [28] The unwanted oscillatory motion is due to the fact that the cranes and pendulum-like robots are underactuated and the sway motion of the hanging payload is out of direct actuation. Besides several open-loop control approaches, such as input shaping, several closed-loop control schemes e.g. linear proportional-integral-derivative feedback control, inverse dynamics control and model predictive can be applied for pendulum-like systems. [28] The input shaping [29] (open-loop) and the computed torque control method realized by means of the method of Lagrange multipliers [30,31] (closed-loop) for the underactuated 2 DoF pendulum-like system was compared by simulation and experiments in our earlier study. [32] The pose estimation was done using the kinematic model and the joint position data: the angle of the pendulum and the wheels were measured by rotary encoders (odometry). In accordance with the literature, we showed that input shaping work well if the system parameters are identified. However, the input shaping technique is out of scope for the ACROBOTER manipulator, since it has to follow complicated trajectories and not only point-to-point motion is performed. Instead, closed-loop control should be applied, hence the controller needs feedback from a pose measurement unit.
Controlled crane-like and pendulum-line systems belongs to the class of underactuated systems, which possess less independent control input than degrees of freedom. Partial feedback linearisation is an efficient alternative for the trajectory tracking control of underactuated systems. [33,34] One could classify it as inverse dynamics approach, since the input forces are obtained corresponding to the prescribed motion.
Besides the partial feedback linearisation technique, the servo-constraint [30,31,35,36] based inverse dynamics calculation approaches are widespread too. While the underlying theory is detailed in [35] and, [30] the application for pendulum-like systems is presented in [31] and. [36] Although, the system is underactuated, we apply a linear proportional-derivative (PD) controller assigned to a simple control task similarly to the several papers referred in. [28] The motion space of the underactuated systems can be divided into subspaces regarding two points of view. On one hand, the actuated (driven by independent control inputs) and the passive (not driven) manifold are distinguished and typically coordinates q a and q p are introduced respectively. [34,37,38] On the other hand, the controlled coordinate set q c and the uncontrolled set q u can be introduced: the controlled coordinates are specified by the control task. In general, two fundamental types of underactuated systems can be distinguished: the active and the controlled coordinates are identical in case of the so-called collocated systems and the passive coordinates are specified by the control task in case of non-collocated systems. [30,39] For collocated systems, such as the present control scenario of the ACROBOTER robot, the motion control is quite simple to synthesize if the so-called zero dynamics is stable. Even a linear PD controller is satisfactory. In order to avoid the side effect of an intricate control algorithm on the measurement, we use the simplest possible PD controller and focus on the accuracy of the pose estimation rather than comparing the efficiency of underactuated motion control algorithms.
1.4. Goals and structure of the paper As our first goal, we demonstrate that the desired spatial motion of a double pendulum robot equipped by fan actuators and cable winches can be achieved in a stable way. Our second goal is to demonstrate via experiments that the HTC Vive can be applied in the feedback loop of a motion controller of an indoor pendulum-like robot. For these purposes, an underactuated indoor pendulum-like robot called ACROBOTER [9,10,12,20] is equipped with the HTC Vive sensor system. [23][24][25] The concept of the pose estimation of the ACROBOTER robot based on the HTC Vive pose sensor has been proposed recently in. [40] The ACROBOTER project had aimed to develop a domestic robot which performed mainly pick-and-place tasks in indoor environment. The advantage of the ceiling-based structure is the easy avoidance of obstacles placed on the floor. The old prototype is shown in Figure 1(a). The ACROBOTER [9,10,31] robot originally used the Zebris [41,42] ultra sonic system together with a 6-axis IMU. However, it was an exceptive solution, since the Zebris ultrasonic system is basically developed for biomechanical and medical purposes. In, [12,20] the ACROBOTER is equipped with IMU sensors and a camera that points downwards. As a drawback, a quite intricate data fusion is applied to integrate the sensory information. The present article demonstrates the feasibility of the application of the HTC Vive for trajectory tracking of robots that freely move or swing in the workspace. The comparison of the vision system described in [12] and the HTC Vive are detailed in the Discussion Section.
As a third goal, we aim the experimental assessment of the accuracy of the HTC Vive Tracker operated with its original software, with a special focus on the dynamic factors. The rigorous assessment of the precision and accuracy in dynamic circumstances have not been carried out yet, as the above cited papers show. Hence, the effect of the Tracker speed, acceleration and jerk on the accuracy is systematically and statistically analysed in this paper. It is necessary, since this systematic study has not been accomplished yet in the above surveyed literature. Furthermore, there is no data in the literature regarding the effect of the angular velocity, acceleration and jerk on the accuracy of the orientation. This paper is structured as follows: in Section 2, the prototype, the sensory system, the actuation system, the dynamic model, the control algorithm and the details of the experiment are introduced; in Section 3, the simulation and experimental results are summarized; finally, the discussion is presented in Section 4.

Methods
The underactuated crane-like domestic robot ACROBOTER [9,10,12,20] was equipped with the Tracker unit of the HTC Vive [23][24][25] virtual reality system. The desired trajectories were defined in four different trajectory speeds in order to gain information about the dynamic effects on the accuracy and the precision. Basic information on the trajectories is collected in Table 1 and further details can be found in Appendix D. A linear motion control algorithm was applied for the trajectory tracking, of which the Tracker provided the feedback data. As a reference, the realized motion of the robot was recorded by the OptiTrack [43][44][45] optical motion capture system and the accuracy of the tracking was evaluated with statistical methods.

Structure of the robot
As Figure 1(a) shows, the ACROBOTER is made up of a pendulum-like structure, which hangs down from a grid of anchor points fixed on the ceiling. The climbing unit (CU) is able to fix itself in a certain position and move by turning around the anchor points. The swinging unit (SU), which is regarded as the working unit of the ACROBOTER, hangs down from the CU via a cable system. The new prototype of the SU (Figure 1(b)) has been developed in the recent years. [40] The cable system consist of the variable length main cable (MC) and three variable length secondary cables (SC). The MC and the SCs are attached to each other via the cable connector (CC). The rotational-rotational-prismatic joint structure of the CU enables to set the top mounting point of the MC in any position in the horizontal plane below the ceiling. The SU (Figure 1(b)) is able to adjust its orientation by changing the length of the SCs (see the cable winch in Figure 1(d)) and by using fan actuators show in Figure 1(e). The elevation of the SU is mainly set by the MC and fine-tuned by the SCs. The horizontal motion is mainly controlled by the CU and fine-tuned by the fan actuators. The SU pose must be measured and controlled accurately, since the end-effector, such as a grasper is fixed on the bottom of the SU. As Figure  1(b,c) show, the Tracker is mounted on the middle of the SU via an elastic suspension. This pendulum-like structure combines the advantages of crane-like robots and drones: (1) the agile spatial motion of drones can be imitated when the fan actuators are used; (2) the cable provides the nearly vertical force components, therefore gravity compensation does not require energy from the fan motors in contrast to drones and the flying robot in. [16] The concept allows quick motion in the space and efficient avoidance of obstacles placed on the floor.
The pose of the CU and the length of the MC are measured by encoders and therefore the HTC Vive does not play any role there. Hence, in the current study, the CU configuration and the MC length were fixed and excluded from the control loop, since we focus on the pose measurement of the SU, which is mainly achieved by the HTC Vive.

Sensory system and actuation
We test the position control and the motion tracking of the SU equipped by the HTC Vive Tracker. The HTC Vive is capable of the measurement of the position and orientation of its local frame relative to the global frame, which is fixed to the environment. As Figure 2 shows, the global frame is defined by the coordinate axes x G , y G and z G : The two Lighthouses are fixed in the environment according to Figure 2. The Lighthouses was pointing downwards in 30 measured from the line on which they were facing each other according to the manufacturer's guideline. The Tracker placed on the SU and the two Lighthouses mounted on the ceiling provided the pose information of the controller of the robot. The global position vector G r SU and the rotation matrix G R SU was streamed in 90 Hz update rate.
As Figure 1(b,c) shows, the Tracker was mounted on the SU via an elastic support called wire rope damper. The reasons and details are explained in Sec 3. The wire rope isolator is composed of two disks which are connected by 1.2 mm diameter steel wire ropes. Three straight and vertical ropes and three bent ropes were included in order to provide proper stiffness in every direction. The stiffness in vertical direction is affected by the bent wire ropes and the sideways stiffness is influenced by both the straight and the bent wire ropes. The straight vertical wire ropes are able to slide in the upper disk, therefore the vertical stiffness is not modified. Besides the vibration isolation effect, the elastic support provides better visibility and therefore more robust operation of the Tracker.
The actuation and pose sensing of the SU is partially provided by the SC winches. The SC winches are fixed via bearings (Figures 1(b,d)); therefore they are able to rotate around the axis perpendicular to the SU base plate. Brushless EC16 60 W Maxon motors with planetary gear-head and embedded encoder are used for the winches.
The actuation in horizontal direction is achieved by electric fan actuators shown is Figure 1(e). The motors are MN3110-17 700 kv type Tiger Motors which provide 466 W continuous power. High efficiency two bladed composite propellers with 8 inch diameter and 8 inch pitch are mounted on the motor shafts. The propeller pairs in each side of the SU rotates in opposite directions in order to eliminate the resulting rotational torque on the base plate and gyroscopic effects. Figure 2 shows the measurement setup. The top point of the MC was fixed in point A in position r A by fixing the CU. The reference measurement of SU pose was accomplished by using four OptiTrack Prime 13 W cameras and active markers. The reason for using active markers is that the OptiTrack infrared light emission disturbs the operation of the Vive system. However, we do not report any disturbances in the OptiTrack operation due to the infrared light emission from the Vive Lighthouses. The specification of the active markers can be found in Appendix A. The update rate of the OptiTrack was 120 Hz.

Reference measurement
Three active markers of the OptiTrack are placed on the SU as it is shown in Figure 1(b). The positioning of the four cameras is shown in Figure 2 and there is detailed information about the orientation in Appendix A. The exact location of the three markers is also specified in Appendix A. The OptiTrack system provided accurate information about the pose of the SU coordinate frame defined by x SU , y SU and z SU relative to the OptiTrack Frame defined by x O , y O and z O : The global frame was originated from the OptiTrack frame after re-defining the axes.

Dynamic model
The dynamic model shown in Figure 3 was constructed for two purposes. Firstly, we checked the operation of the motion controller via numerical simulations prior to the experiments. Secondly, the motion controller includes gravity compensation and the gravitational forces are extracted from the dynamic model.
As we see in Sec. 2.1 and in Figure 3, the structure of the robot is very similar to a double pendulum, which is a typical model in crane control algorithms [42]. However, we set up a bit more precise model than a double pendulum. Since the CU is excluded from the study, the dynamic model consists of two spatial rigid bodies, the CC and the SU. The presence of the CC cannot be neglected, since the double pendulum behaviour, i.e. the opposite phase oscillations of Figure 3. Dynamic model of the double pendulum robot: the climber unit is represented as a 2 DoF manipulator, the cable connector and the swinging unit are represented by spatial rigid bodies. The thrust forces generated by the fan actuators are depicted by red arrows, the variable length secondary cables are shown by blue lines. The swinging unit local coordinate system is depicted by the green arrows. The general coordinates are the Cartesian coordinates of the base points i SU , j SU , i CC , j CC and the components of the unit vectors u SU , v SU , u CC and v CC : Table 2. Physical parameters of the prototype (notation is introduced in case of further use only). the SU and the CC, is typically observable in practice. The physical data of the prototype are collected in Table 2. In contrast to, [14] the mass of the cables and their stiffness are neglected in the present dynamic model. The cable winches are represented by their apparent mass moment of inertia. The formulation of the equations of motion is based on the formulations explained in. [46] The set of general coordinates is redundant; i.e. the dimension of the coordinate vector q 2 R n is larger than the DoF. Hence, geometric constraint equations are introduced, which describe the interrelation of the dependent coordinates. The number of equations is high due to the redundant coordinates. However, the advantage is that the construction of the equations is simple and algorithmic. The descriptor coordinates are collected in the vector q ¼ ½r CCi ; r CCj ; u CC ; v CC ; # 1 ; # 2 ; # 3 ; r SUi ; r SUj ; u SU ; v SU : The meaning of the scalar coordinates are collected in Table 3. As an advantage, the use of these so-called natural coordinates [46] leads to constant mass matrix, which increases computational efficiency. Furthermore, the rotation matrix G R SU ¼ ½ G w SU , G v SU , G u SU , which transforms from the local SU frame to the global frame, is particularly simple to compute. By using the above explained redundant coordinate set, the equation of motion is formulated in the following general differential-algebraic form: The nm DoFs system is described by the qðtÞ 2 R n descriptor coordinates of a redundant set and the constraint vector uðqÞ 2 R m represents the geometric dependencies of the coordinates. The geometric constraints are linearly independent, i.e. the rank of the constraint Jacobian u q ðqÞ 2 R mÂn is rankðu q Þ ¼ m: The Lagrange multipliers in the vector kðtÞ 2 R m are associated with the geometric constraints u: Since the number of coordinates is n ¼ 27 (Table 3) and the number of constraints is m ¼ 16 (Table 4), the number of DoF of the model is n À m ¼ 11: The mass matrix is MðqÞ 2 R nÂn and the vector Cðq, _ qÞR n represents the inertial forces, gravity forces. The control input matrix HðqÞ 2 R nÂl splits the input vector sðtÞ 2 R l on the system.
In the test of the control algorithm, the real physical system is substituted with simulation. The common and simple approach from [46] is used for the time integration of the index-3 DAE system represented by Equations (1) and (2). The geometric constraint is represented in the acceleration level, and Baumgarte [47,48] stabilization is applied. The following formula allows us to express the acceleration q:: explicitly then to perform time integration: The Baumgarte parameters a and b are tuned according to. [48] The simulated motion is presented in the Results section.

Control algorithm used in the experiment
In this early stage of the testing of the actuation and sensory system, the concept is to use the possible simplest algorithm. As we described in Sec1.3, a simple PD controller, which is detailed below, is sufficient for the present collocated underactuated system. In the test scenario, the SC winches and the fan actuators provide the 6 independent control inputs of the 11 DoF system: The torques M W1 , M W2 and M W3 are exerted by the SC winch motors. F SU, x , F SU, y are the resultant force components in the SU plane and M SU, z is the resultant torque about the axis perpendicular to the SU plane. These are composed by the combination of the thrust forces exerted by the fan actuators. The number of independent control inputs is l ¼ 6. Since n À m > l, there is a n À m À l ¼ 5 dimensional subspace which is not actuated directly. Hence, the system is underactuated.
The task of the robot is to track the desired SU position defined by x d SU , y d SU and z d SU : Besides, the desired rotation angle of the SU about the vertical axis is prescribed by w d SU , while the SU has to be kept horizontally. The desired time histories were generated by polynomial functions and the resulting time histories are shown in Appendix D. The desired path can be seen in the Results section.
The desired elevation h d CC of the CC relative to the SU, is calculated as h d CC ¼ z CU À l MC À z d SU , where the z CU ¼ 2:65 m elevation of the CU and the l MC ¼ 1:15 m are fixed. The same desired length l d SC of all of the three SCs, is obtained as the distance of the SC winch cable outlet point from the SU centre. Here, 60 cable angle is assumed as an approximation. The desired cable winch angle is then obtained as # d ¼ Àl d SC =r W , where r W is the cable winch radius.
The error vector is composed of the real SC winch angles # i , the desired winch angle # d , the real SU position coordinates x SU , y SU , the desired SU position coordinates x d SU , y d SU , the measured yaw angle w SU of the SU and the desired yaw angle w d SU of the SU: The control input was calculated as where the gain matrices are the following with the k Â k identity matrix denoted by I k : and u Ã is the estimation of the input forces that compensate the gravitational effects. The estimation is based on the vector C in (1). The control gains K P and K D were determined by considering the digital effects. [49] Besides, the concept in tuning the gain matrices K P and K D was similar as in: [16] the settling time of the orientation was intentionally faster than the settling time of the positioning. It is necessary, because direction of the thrust force vectors must be accurately set in order to have proper fan actuation. The actuator torque, speed and power saturation, which was observable in the tests, was considered in the dynamic model.
2.6. Assessing the tracking accuracy by means of an independent motion capturing system The pose measurement accuracy of the HTC Vive was assessed by using the pose data obtained by the OptiTrack system as a reference. The measurement error was calculated at each time instant after the re-interpolation of the measured signals in 50 Hz. The number of collected samples in each trajectory speed is shown in Table 1.
The accuracy and precision of the OptiTrack motion tracking system was assessed in and. [43,44,50,51] In, [43] the authors report that the absolute error was under 1 mm in the 135 cubic metres measurement area. The results in [43,44] show that the absolute error can be essential when the camera system is used in large area. The error is coming from the fact that the calibration is carried out by a calibration stick of 0.5 m length. Due to the scaling error, the position in a several metres area has error of millimetres magnitude. A scaling factor of 96% was considered in our measurements.
In, [52] the summarizing figures report that the OptiTrack position error has a strong linear correlation with the velocity, moderate correlation with the acceleration and no correlation with the jerk is found. Furthermore, paper [52] allows us to set up an estimation for the relation between the position error je Opt j and the velocity jvj of the observed object in case of Prime 13 cameras: Having the estimation (8) for the OptiTrack root mean square deviation RMSD O , we can estimate the RMSD V of the Vive measurement error as [53][54][55] where the deviation RMSD VO is between the OptiTrack and the Vive measurements, and this is that we are able to measure directly in our experiment.

Jitter and drift are influenced by the stiffness of the support of the tracker
At the first trial experiments, the Vive Tracker was directly placed on the SU. Therefore the vibrations generated by the fan actuators were directly transmitted to the Tracker. We report that the position measurement was completely unreliable in such circumstances. However, this is in correspondence with the manufacturer's recommendations: they advice to mount the Tracker using some kind of vibration isolator. The drifts and jitter is clearly visible in Appendix B. Position errors of the magnitude of 1 m were recorded. We inserted a wire rope damper between the Tracker and the SU, as it is detailed in Section 2.2. The frequency response of the damper is detailed in Appendix C. The vibration isolator plays the role of a low pass filter with 3 Hz cutoff frequency: the relatively slow motion is directly transmitted to the Tracker, while the higher frequency vibration components are suppressed. By using the isolator, the jitter and the drift disappeared.

Trajectories with various speed
The same desired path was prescribed for the robot with four different average speed values. Twelve measurement trials were recorded in total. Table 1 shows the speed properties of the desired trajectories and Appendix D shows the prescribed time histories for the position coordinates x d SU , y d SU , z d SU and for the desired rotation angle w d SU of the SU about the vertical axis. As an illustration, the desired and the realized paths are shown in Figure 4 for the lowest and the highest speed. It is clearly visible, that the deviation from the desired path highly grows when the trajectory speed increases.
The increasing of the measurement error can be seen in more detail in Figures 5 and 6. The indexes T, S, V and O refers to the desired trajectory, to the simulated motion, to the Vive measurement and to the OptiTrack measurement respectively. Abbreviations ST, VT, OT and VO refer to the simulationdesired trajectory, Vivedesired trajectory, OptiTrackdesired trajectory and Vive -OptiTrack deviation respectively. In both s, the upper left panel shows the tracking error obtained from the simulated motion of the robot. It is important to note, that there is considerable positioning error due to the estimations in the control algorithm. Naturally, the error of similar magnitude is observable in the right top and in the left bottom panel. These  Figure 6). The trajectory tracking error and the Vive -OptiTrack position measurement deviation is analysed separately for each direction too. The related graphs can be found in Appendix E. The main observations are that the trajectory tracking error and the measurement error grows with increasing trajectory speed for each direction (x, y and z). The trajectory tracking error is remarkably larger in the horizontal direction than in the vertical direction. It is because the dynamics of the fan actuators is slower than the SC winches. Therefore the actuation in sideways direction is more gentle than in vertical direction. The Vive -OptiTrack measurement error is larger in the vertical direction than in the horizontal direction. Most likely, the reason is the higher stiffness of the wire rope vibration isolator in the horizontal directions than in the vertical one.  end, we concatenated the time histories for all the 12 measurement trials. Hence we obtained approximately 35 950 samples. In each particular case (position, velocity, acceleration and jerk analysis), we divided the samples into 10 groups. As an illustration, see the second panel in Figure 7, where the results on the effect of the trajectory speed is shown. In this particular panel, the 10 groups were created based on the desired trajectory speed. The middle of each bar in horizontal direction indicates the desired velocity value of each group. As we see, in the other panels of Figure 7, the creation of the groups were done again, and therefore the sample number in each group is different. Figure 7 shows the statistics (mean, standard deviation, IQR, median) for the position measurement accuracy versus the measured position, speed, acceleration and jerk. Figure 8 shows the angular measurement error versus the measured angular position, velocity, acceleration and jerk.

Speed, acceleration, jerk dependence
Both Figures 7 and 8 show some tendency of the accuracy and precision. In order to have a better overview, the correlation values between the value on the horizontal axis (position, speed, acceleration and jerk) and the average error is determined. The correlation value is indicated in each panel. The correlation is quite high for the velocity: 0.95 for the position measurement error and 0.96 for the yaw angle measurement error. The correlations with the acceleration and the jerk are also strong (above 0.8). The correlation coefficient is 0.84 between the position error je p, VO j and the distance from the origin and there is no correlation between the angular position error je w, VO j and the distance from the origin. Since the velocity has the most relevant role in practice, we fit regression lines (red dashed lines in Figures 7 and 8) on the measured data, which are je p, VO j ¼ 4:43 þ 7:47 d=dtðxÞ mm, (10) je w, VO j ¼ 0:139 þ 0:617 d=dtðwÞ deg (11) respectively, where d=dtðxÞ is substituted in m/s and d=dtðwÞ is substituted in rad/s.

Motion control of a spatial double pendulum robot
Although, the prototype of the ACROBOTER manipulator was already able to operate in 2009, [10] the details of the trajectory tracking performance have never been published. Furthermore, the achieved trajectory speed was very low (about 0.1 m/s). Therefore it is worth demonstrating the feasibility of the actuation concept and the further developed and thoroughly redesigned prototype. The statistics of the position tracking error is reported in Figures 5 and 6 and in Appendices D and E. The results clearly showed that the tracking error grows with the increasing desired trajectory speed. By checking the median in Figures 5 and 6, one can see that the half of the samples are closer to the desired trajectory than 8 mm, 10 mm, 11 mm and 26 mm for trajectory speeds 1, 2, 3 and 4 (see Table 1). By using an underactuated control algorithm (see Section 1.3), the tracking accuracy could be improved considerably. However, even the present linear feedback controller demonstrates that swinging robot equipped with the fan actuators and cable winches can be controlled efficiently.

HTC Vive in the feedback loop of motion control
We report that the accuracy of the HTC Vive was sufficient for the closed loop motion control of the presented indoor pendulum-like robot. The original Vive software was used for the pose estimation. The Vive pose data is possible to use as a feedback information source in closed loop position controllers. However, the reviewed research works concluded that the original Vive algorithm for inertial and light data fusion is unstable and inaccurate in dynamic applications. Based on our new promising results, we are convinced, that the sensor can be applied in mobile robots of different kinds too, even for flying drones if the cubic volume of the operation space is in the scale of a few cubic meters. Naturally, the applicability depends on the task: we do not recommend the application of the HTC Vive if the positioning error must be under cm range.
Comparing our results with the vision-based approach in, [12] we report that there is a trade-off between accuracy and the simplicity of the implementation. From the side of accuracy, the vision system integrated with the Kalman filter in [12] is a bit more accurate (about 2 mm position error) than the pure application of the Vive sensor (about 5 mm position error). Although, several advantages of the Vive-based solution can be pointed out. The HTC Vive is easily extendible; new sensor units up to 16 pieces can be added with minimal setting modifications. On the contrary, the vision-based system necessitates the calibration of the newly introduced marker patterns including colour and shape. The Vive requires less computational demand, since there is no image processing. The Vive solution can be disturbed only by strong infrared light and it can even used in complete darkness or in environment exposed to natural light. The occlusion of a single marker can be handled for short time in the vision-based approach. The robustness could be improved by introducing more markers. However, new colours must be introduced for the new markers, and the number of distinguishable colours are limited. The Vive Tracker contains 23 sensors which provide exceptional robustness against occlusion. And, on the other hand, in high risk of occlusion, additional sensor units can be added easily. Furthermore, the Vive Tracker is an off-the-shelf solution.
The jitter in the Vive position data mentioned in [23,25] is always observable. Nevertheless, this noisy signal was used as a position and orientation feedback data. It is important to mention that the reason why the jitter did not cause serious problems is that the relatively slow dynamics of the actuators, the inertia of the actuators and the inertia of the robot filters out these peaks.
A very important remark is that the HTC Vive worked properly only when elastic support was used. Without any vibration isolator, the realization of a stable feedback control was not possible due to the position measurement errors up to the range of 1.5 meters. The design of the vibration isolator is crucial, and it depends on the application. Different applications may require different cutoff frequency, which can be easily tuned by changing the number and stiffness of the flexible steel wires. The isolator support can be considered as a low pass vibration filter. The 3 Hz cutoff frequency was proper for the present study, since the desired trajectories have high amplitude components only below 3 Hz frequency. The frequency components below 3 Hz are transferred invariably, while the oscillations above the cutoff frequency are suppressed. The FFT analysis of the desired trajectories of the robot may be helpful in the design of the stiffness of the elastic support.
We also found that the measurement error was different in different directions. The most probable reason is the non-isotropic stiffness of the elastic isolator. This fact supports our conclusion that the tuning of the isolator highly affect the pose measurement accuracy and precision of the Tracker.

HTC Vive accuracy depends on the speed of the tracked object
We carried out the statistical analysis on the dynamic behaviour of the HTC Vive, since in papers [24][25][26][27] there are occasional indications only referring to this issue. Regarding our third goal, we can conclude that the accuracy and the precision of the HTC Vive correlates strongly with the linear/angular speed of the Tracker unit. Strong correlation was also found for the acceleration and the jerk. Correlation values are indicated in Figures 7 and 8. The errors, which are indicated on the vertical axes, were calculated by using the OptiTrack motion capture system as a reference. The measured velocity, acceleration and jerk level data were derived by means of the numerical time differentiation of the OptiTrack position data. Moving average low-pass filter [56] was used in order to get rid of the noise originated from the time differentiation. Figure 9 shows the RMSD  Figure 9. The Vive -OptiTrack RMSD (VO) and the Vive RMSD (V) related to the position and orientation measurement of the Tracker versus the speed and the angular velocity of the Tracker respectively. The measurement results from resources [24][25][26][27] are indicated too.
values for different Tracker speed and angular speed values. These results were extracted from the data shown in Figures 7 and 8. The horizontal axes represent the magnitude of the measured velocity and the measured angular velocity of the SU respectively in the left and the right panels. The Vive -OptiTrack deviation of the measured position and angular position are indicated with black crosses connected by solid line in Figure 9. The VO RMSD was directly obtained by our experimentsthis is the RMSD between the OptiTrack and the Vive measurement. Additionally, we have information about the OptiTrack RMSD from the above mentioned literature (Equation (8)). By using the formula (9), the Vive RMSD can be estimated, which is the deviation relative to the real position. For the 0 … 0.5 m/s speed range, the position RMSD changes from 5 to 12 mm. Having the geometric setup of the markers, the formula in (8) was rewritten for rotations too. The maximum RMSD was 2.2 . This may be sufficient accuracy for many applications in mobile robotics.

HTC Vive accuracy compared with the literature
We collected from the literature the experimentally gained quantitative data regarding the accuracy, which are related to our results. First, we present the comparison of these performance measures in relation with our experimental results. Then we reflect on the concluding remarks of the related papers from the literature. The first published data on the accuracy of the Vive is available in. [26] In the quasi-static measurements, the Tracer was moved along a 36 inch (%91.4 cm) ruler. In two measurement sets, 1.5 mm and 1.9 mm RMS error was determined. The corresponding markers (Kreylos 2016) are depicted in Figure 9 left. The RMSD is in the same order of magnitude as our results.
In, [27] a large (3 Â 3 m) measurement area was assessed where systematic position error up to 15 cm was observable due to the tilt error of the ground plane. After the correction of the calibration, the RMSD of the measured position in the vertical direction dropped down to 7 mm. The corresponding marker (Peer et al. 2018) is shown in Figure 9 left at zero velocity, since the measurements in [27] were static.
The working area in [24] was 1 Â 3Â1 m, in which the position accuracy was measured in a grid of points. The Tracker was moved by a robot from point to point. After each move, a wait time of 20 s was used in order to get rid of the tracking dynamics. Hence, the assessed position accuracy is valid in static scenario. The RMSD in x, y and z direction is visualized in the left panel of Figure 9 by the markers named Astad et al. 2019. A single time history can be found in the paper, [24] where the accuracy at non-zero speed can be reconstructed. The corresponding marker in the left panel of Figure 9 is at 0.25 m/s velocity.
Both position and orientation accuracy data is available in, [25] where the Astrobee robot was controlled manually, while the Tracker was mounted on it. Static and dynamic tests were both carried out. Regarding the dynamic tests, the velocity data was reconstructed based on the information provided in the paper. The angular velocity data could not be reconstructed, therefore the horizontal locations of the markers in the right panel of Figure 9 are symbolic. The corresponding markers are named as Borges et al. 2018.
Based on Figure 9, we can conclude that the literature results are in the same order of magnitude as our experimental results both for the position and the angular position accuracy. However, our statistical analysis regarding the effect of velocity is more rigorous and detailed than in the referred papers. [24][25][26][27] Depending on the speed of the tracked object, the position RMSD is below 20 mm or less. The literature and our result are also consistent in the sense that the angular position RMSD is quite low according to the literature and our results. When the object is moving, the angular position RMSD has a maximum value of 2 , but it is much less when the tracked object is steady: it is below 0.2 .
After comparing the performance quantitatively, we reflect on the conclusions of the related papers. We share the authors' slightly sceptic opinion in. [23] The HTC Vive may be acceptable only for experiments that do not necessitate exceptionally accurate pose estimation. However, the first commercially available system is the HTC Vive, which has the promise to fulfil the ambition of researchers of conduct experiments with moving observers.
These results in [25] show that the system together with the custom developed data processing algorithms have potential for both indoor and outdoor environments with great accuracy. This statement can neither be rejected nor supported by our results, since we have neither performed outdoor experiments nor tested the algorithm presented in. [25] Our results are in correspondence with [25] in the sense that the HTC Vive has sub-millimetric precision when the tracker is static. The authors of [25] provide evidence that the accuracy of Vive with the trackers in motion is very unstable, ranging from millimetric up to metric. Our related observation is that the performance during motion can be highly enhanced by using vibration isolation between the Tracker and the moving object on which it is mounted.
Paper [24] concludes that the centimetric positioning error of the HTC Vive, is sufficient for crude positioning of objects, such as for collision avoidance or high-level planning, or if the underlying control algorithm exhibits sufficient robustness to positioning errors. After the demonstration of our successful feedback control experiment, our results support the final conclusion of. [24]

Additional results
As an additional result, we gained information on the operation of the OptiTrack and the Vive system sharing the same workspace. The working principle of both systems are based on infrared light. The OptiTrack operation was not affected at all by the Vive Lighthouses. However, the OptiTrack infrared light sources, which are built in the cameras around the lens, destroyed the operation of the Vive Tracker by disturbing its sensors. After switching off the OptiTrack infrared light sources and replacing the passive markers to active markers, the OptiTrack and Vive worked together well. Neither any jitter of the OptiTrack markers, nor the Vive Tracker was observed.
As a second additional result, we reported in Sec. 4.2 that the performance of the HTC Vive highly depends on its vibration isolation.

Limitations
Here we emphasize the limitations of our research. The operation area was 0.4 Â 0.4 Â 0.2 m only, therefore the inaccuracies caused by the tilted reference plane mentioned in [23,27] could not be assessed. Such kind of measurement error would be possible to catch in larger workspace. The size of the workspace was limited by the overall electric power consumption of the SU actuators. Larger tilt angles could be achieved by replacing the power supply of the whole robot, which is a future plan. Furthermore, by involving the CU is another solution for the extension of the horizontal motion. However, in this paper we aimed the simplest possible scenario.
The presented actuation scenario is hardly feasible for cranes at present. However, in the upcoming decades, thrusters with extreme power might be developed. Then our proposed fan actuation might be realizable in practice.
One can read from Figure 9 that the RMSD related to the position accuracy does not go below about 5 mm. The reason for this might be that the fan actuators of the SU was continuously rotating even in steady state. Therefore the disturbance caused by vibrations is relatively higher than the disturbance caused by the velocity of the SU.
The Headset and the Tracker may have different accuracy and precision properties. Our study is restricted only for the accuracy and precision of the Tracker.
Important to mention that we avoided the problem of tilted reference frame mentioned in [24] by installing the base stations horizontally, i.e. parallel to the physical ground plane. Hence, our reference frame was aligned with the gravity vector. We also avoided the problem of systematic error mentioned in [23,24] caused by the loss and regain of the Lighthouse tracking. We placed the Tracker in such way that complete loss of tracking was not possible. Reflections [24] are avoided by using non-reflective environment. Therefore we do not have information about the efficiency of the related filtering algorithms.

Concluding remarks and future work
This paper demonstrated the operation of the improved prototype of the fan driven, tethered, pendulum-like robot called ACROBOTER in a feedback control loop. The improved prototype achieved stable pose control even for 0.55 m/s trajectory speed, which is much higher than the maximum speed of the original prototype from year 2009. The HTC Vive Tracker pose measurement unit was proved to be satisfactory for a feedback control loop if 5 mm position error is acceptable. Within our statistical analysis, we expressed the position and angular error as the function of the trajectory speed which can be useful in further researches and applications. It was also proved that the pose error is proportional to the acceleration and the jerk.
In future work, more elaborated closed-loop underactuated control algorithms together with the feedback from HTC Vive will be tested, including partial feedback linearisation, servoconstraint-based computed torque control and optimal receding time horizon control. Furthermore, the accuracy of the HTC Vive will be assessed in larger operation area (4 Â 4 m) and for faster motion. Additionally, the accuracy of the HTC Vive aided by IMU sensors will be tested.

Funding
The two most remarkable of them are visible from 3 s and from 20 s. Alhough, these drifts are regularly corrected, the drifts and the jitter make any accurate position control impossible.

Appendix C.
Vibration suppression of the elastic support The Tracker was mounted to the SU via an elastic support, of which the frequency transfer analysis was carried out. Bruel & Kjaer 4507 type 10 mV=ms À2 sensitivity accelerometer sensors were mounted on the lower and upper disk of the elastic support, while the excitation was provided by the vibration of the fans. Figure C.1 shows that the wire rope damper, on which the Tracker is mounted suppress the vibration with about 10 … 20 dB comparing to the lower disk, which is rigidly attached to the SU. However, in the low frequency region in which the relevant position data signals are situated, the vibrations are not suppressed as Figure     (mm) speed 1 no 1 x, y, z speed 1 no 2 x, y, z speed 1 no 3 x, y, z speed 1 no 4 x, y, z speed 2 no 1 x, y, z speed 2 no 2 x, y, z speed 2 no 3 x, y, z speed 3 no 1 x, y, z speed 3 no 2 x, y, z speed 3 no 3 x, y, z speed 4 no 1 x, y, z speed 4 no 2 x, y, z