{'fraction_non_alphanumeric': 0.029594795276147372, 'fraction_numerical': 0.016476911109539638, 'mean_word_length': 4.324359939759036, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Locomotion Design for an Internally Actuated Cubic Robot for Exploration of Low Gravity Bodies in the Solar System

The exploration of asteroids and comets is important in the quest for the formation of the Solar System and it is an important step for human space travel. Moving on the surface of asteroids is challenging for future robotic explorers due to the weak gravity force. In this research, an approach that is based on a new kind of jumping rovers is presented. This robotic platform has internal masses and by spinning up these flywheels and suddenly stopping them, it is feasible to perform a hop from a few meters up to hundreds of meters. In contrast to related works where robotic explorers usually stop a flywheel instantaneously, the INAHOPPER prototype takes advantage of on stopping a flywheel by voltage inversion in a short lapse to modify the launch angle, a very useful action over terrains with different degrees of inclination. This article discusses, first, the dynamics of the rover for a 2D model, second, the control algorithm executed in the prototype for braking the flywheel, and third, the analysis of the performance of the flywheel to make simulations of the trajectories over an asteroid.


Introduction
The exploration of small primitive bodies such as asteroids, comets, and small moons, is a priority for the understanding of the formation of the Solar System, the origin of life, and it is an important step to the journey to Mars and beyond [1]. The milli-micro gravity force of these small bodies is a constraint for the traditionally wheeled rovers. The lack of traction causes that the maximum speed that can be reached is about 1.5 mm/s [2]. Bouncing and dust are other important inconveniences for wheeled rovers. For these reasons, it is convenient to analyze alternative motion strategies that take advantage of low gravity.
Various solutions for mobile surface platforms have been proposed such as rocket thruster, legged and jumping robots. Each one of the mentioned ways of motion presents advantages and disadvantages, and have different purposes [3]. Mobility by rocket thrusters would land few times to collect soil samples and data from the on-board instruments. A drawback of this alternative is the limited number of locations that the spacecraft might be able to visit [4], [5]. Mobility based on legs is mechanically complex because it requires an anchoring system and also is slower than the other mentioned solutions. However, a legged robot could reach some unattainable places for mobile robots that do not rely on legs, such as cliffs [6], [7]. In the present research we focus on mobility by jumping because it has the advantage that using a simple mechanism jumping robots are capable of making long traverses, and also, since the actuation is internally encapsulated there is no risk of stuck by dust [5], [8], [9]. The INAHOPPER has a minimalistic design with low weight, small dimensions, and low cost. Its inertial wheels are held within the explorer, the movement is produced by slowly accelerating these wheels and suddenly stopping them, generating in that way a braking torque and the consequent transfer of energy from the wheels to the chassis that causes the robot jumps [8], [10], [11]. The trajectory of the hop is defined by the shape of the robot and the surface inclination. Hockman et al. [9] have established that the best morphology of a hopper is a cubic shape since it always offers a launch angle of 45º over flat terrains.
In recent related works, the hopper robot has an instantaneous mechanical brake that is applied by both, a rubber band [9] and an impact hammer [12]. In contrast, in this research, the application of controlled braking of the wheels by voltage inversion over surfaces with different degrees of inclination, with the aim of changing the launch angle for always getting the desired motion regardless the slope of the ground on which is located the robot is proposed. This choice aims at protecting eventual damages that might happen to the mechanical components of the robot for a sudden uncontrolled brake. As a first approximation, a 2D ballistic flight and one single flywheel is considered and also it is assumed that the center of mass of the INAHOPPER is on its geometric center.
In the next rest of this section significant research about hopping space robots is briefly revised. The first is a robot called MASCOT [8], [10]. It has been presented by the European Space Agency and the German Aerospace Center. This robot is currently on the asteroid 1993 JU3, on-board the spaceship HAYABUSA-2. It uses a mobility strategy that is similar to the proposed in this research; however, MASCOT only needs one single mass, that is outside its gravity center, which enables the explorer jumping to a different location on the surface of an asteroid. MASCOT is unable to focus on a particular place of interest since it has been designed to collect information from random positions.
Kato et al. [13] have presented a small rocket-propelled robot, that also has an inertial load within its interior. This work uses a small main rocket engine to lift off from the ground and a second engine to stabilize the traverse trajectory. When the robot is flying, a reaction wheel starts to rotate for adjusting the thrusting direction of both engines. This strategy needs one shot and it can be very challenging to control under low gravity.
The research of Hockman et al. [9] is based on the work of Muehlebach and D'Andrea [14] and is adapted to a situation of low gravity. The validation of the experiments and the response of the algorithms is conducted using a crane type system. This work leaves several open problems, such as the development of realistic contact models of sandy terrain (regolith) found in asteroids; the improvement of the reliability of the maneuvers on rocky terrains, and the development of Simultaneous Localization and Mapping (SLAM) techniques to know the complexity of the environment, among others. The work of Hockman et al. [9] is the main reference of our own research.
The main contribution has been to control the inertia of the flywheels in such a way that the launch angle of the jump can be deflected effectively in order to reach a given location regardless the surface inclination on which the robot is located. It is worth to mention that in related works, the braking of the flywheel is instantaneous thus giving always the same launch angle.
The rest of this document is organized as follows, Section II reviews the dynamic of the robot under very low gravity, also the boundaries and assumptions of the investigation are established. Section III proposes a solution to perform effective mobility of the cubic robot. Section IV describes the experiments and numerical simulations to validate the proposed solution that were conducted. Section V discusses the results of the experiments, and finally, Section VI summarizes the results and closes with ideas for future work.

Modeling the Dynamics of a Cubic Robot
The representation of the robot for a 2D model and just one flywheel is illustrated in Figure  1. The explorer is represented as a circle with four rigid bars attached to it. At the center of mass, there is a DC motor with an inertial load that provides a torque to the robot.

Symbol Description
Units θ Hopper's angle degrees β Surface slope degrees l Spike's length Angle between spikes degrees ω f Flywheel angular speed rad/s g Gravity acceleration m/s 2 m p Platform's mass kg Table 1: Parameters of the 2D model [9].
To realize a jump maneuver, a reaction wheel is slowly accelerated and suddenly stopped to generate the momentum that will provide a ballistic trajectory. A hop maneuver is divided into two phases: • Leverage phase. The time elapsed between the moment when the robot is at a rest position and the time when any of the spikes have no contact with the ground.
• "Fly" phase. The time elapsed between the moment when the platform leaves the ground and the moment when it falls again. Below it is explained how a complete maneuver of the robot is made to perform a jump to the target area. Figure 2 illustrates the process.
Considering the objective distance d obj and the surface inclination β, first, the flywheel is slowly spun up with motor torque τ < τ min , Equation (19), to prevent the robot loses contact with the ground in advance. The target angular speed ω f is given by d obj and β, Section 3.3.
When ω f is reached, the second step is to stop the motor applying a voltage inversion brake at a specific time. This time is also related to d obj and β. Consequently, a ballistic trajectory is initiated and the process must wait until the platform falls again. As a final step, it is necessary to verify if d obj was met, if so, returns success. Otherwise, a repetition of the complete process to perform a new jump would be needed. Table 1 describes the parameters of the hopper for a 2D model.

Hopping Dynamics and Instant Braking of the Flywheel
We assume that there are not slips on the edge of the spikes. The slips and bounces are governed by the friction with the regolith and rocks on the surface of the comets or asteroids. These interactions are beyond the scope of current research.
Equations The hop angle θ h is obtained by the geometry of the robot α, and the slope of the surface β. For horizontal terrains β = 0º, this angle is always 45º, Equation (1) This is the primary reason because the hopper is a cube instead other polyhedron.
The horizontal distance is given by a simple formula of projectile movement, indicated in Equation (2) From Equations (20) - (22), (1), (2) it is possible to obtain the flywheel speed required to cover a horizontal distance, , Equation (3)

Proposed Solution
In this section, a solution for controlling the jumps of INAHOPPER cube is presented in detail. First, as the surface of an asteroid or comet is rarely flat, is a motivation of this research to deflect the launch angle depending on the slope of the ground in order to maximize the hop distance; for this, it will be necessary to extend the levering phase. Second, as a sudden braking by impact of the inertial wheel might be harmful for the robot, we propose to stop the flywheel by voltage inversion. This consideration contributes also to decrease the weight of the robot.

Controlled Braking of the Flywheel
Hockman et al. [9] have established that since the momentum transfer is no longer instantaneous, it is considered that the braking torque τ and the angular momentum of the flywheel are related by Equation (4) where ∆t is the braking time For big jumps we can assume that τ m p gl sin θ, so Equation (18) can be approximated by Equation (5) The new expressions will be: the launch velocity v h remains equal as described in Equation (22); the horizontal distance d h is also given by the projectile formula as in Equation (2). The launch angle θ h can be determined by [9] By a controlled braking torque τ of the flywheel, the launch angle can be deflected. The goal is to reach a launch angle of 45º for maximizing the jump distance as expressed by Equation (6).

Braking Torque, Launch Angle and Jump Distance Relationships
To better understand the implementation of a controlled braking of the inertial wheel, some numerical simulations illustrating the relationships among the braking torque τ , the launch angle θ h , and the jump distance d h , have been generated, as described below.
Taking into account an angular speed of the flywheel of ω f = 3500 rpm or 366.5 rad/s, a surface slope of β = 15º, and the physical characteristics of the robot summarized in Table 2. The objective of these simulations is to know how θ h and d h change in function of τ . For these examples τ ranges from 10 −2 N m to 10 1 N m. It is expected that the maximum jump distance and a launch angle of 45º can be found at the same magnitude of the braking torque. Figure 3 shows the obtained results of this test about how the launch angle changes, while the braking torque increases. In the same way, Figure 4 illustrates the relationship between the jump distance and the braking torque. Both images demonstrate that the application of a torque of τ = 0.03 N m (red dotted line) under a gravity acceleration of 77 µm/s 2 enables the reach of a maximum distance about d h = 102.03 m and a launch angle of θ h = 45º.

Adjust the Trajectory for Uneven Terrains
The angular speed ω f cannot be calculated directly, as we did in Equation (3). It is necessary to obtain it numerically varying values of target angular speed, the braking time in function of the distance and the surface inclination. Applying Equations (19), (22), (2), (4) and (6) it is feasible to generate such variations, as well as other characteristics such as the minimum speed-up time of the flywheel, the launch speed and the "fly time".

Design of the Controller
The next step is to develop an angular speed controller that enables the robot to brake the flywheel from ω f to 0, in a time ∆t. Stop the flywheel in a short lapse can be challenging for a small robot, whose power consumption and constrained dimensions are factors to considered. In this work, we implemented a state feedback control with pole placement, based on continuous time for the simulations and on discrete time for real experiments.

DC Motor Model
As we see previously, the actuator of the hopper consists of an inertial load or flywheel attached to a DC motor. For developing a state feedback control it is essential to get the model of the motor. This model is common in the field literature and can be found in [15]. Taking the angular speed ω f (t) and the circuit current ı(t) as the output state variables, the state-space representation is given by Equation (7) x where the state vector x = ω f (t) ı(t) T ,ẋ = dx/dt, R is the armature resistance, L is the electric inductance, K is both the electromotive force (emf) and the motor torque, J is the inertial load on the rotor, b is the motor viscous friction, v is the input voltage.
Applying the Laplace Transform to Equation (7) the transfer function is represented as in Equation (8) ω where the output angular speed ω f (s) can be controlled through the input voltage V (s).

State Feedback by Pole Placement
For continuous linear time invariant systems, the state space representation is straightforward and can be found in [16]. For tracking a reference r(t) [17], in this case, the desired angular speed ω f (t) of the inertial wheel, the control signal, Equation (9), can be selected as follows where K is the state-feedback gain matrix.
For discrete linear time-invariant systems, required to be implemented using a microcontroller, the state space representation is also straightforward [18]. The control signal for tracking r(k) is given by Equation (10) u(k) = −Kx(k) + Gr(k).
G is the extra gain needed to compensate the steady state error. For a continuous time is given by Equation (11) G and for discrete time by Equation (12), where, in this case, I is a 2 × 2 identity matrix. For both, K is a 1 × 2 matrix that can be found by Ackermann's formula [16]. The matrices Φ, Γ and H, are the discrete equivalents of A, B and C, respectively, and have the same size.

Deflecting the Launch Angle of the INAHOPPER
To validate the performance of the hopper presented in Section III the implementation was divided into two phases: 1. The viability of an effective, fast motor braking by voltage inversion. In this part, real experimentation has been carried out through the INAHOPPER prototype using a DC motor, speed sensor, energy supply, motor driver and a microcontroller, as indicated in Section 4.2.
2. The parabolic flight of the robot. The second phase checks the numerical simulations of the trajectory of the hopper under the gravity of the asteroid Itokawa. These simulations changes depending on the stopping performance of the flywheel obtained in the first phase.
The first step for performing a jump to a desired distance d h is getting the angular speed of the flywheel ω f and the braking time ∆t to deflect the launch angle of the robot θ h , with the aim of maximizing the jump distance of the robot despite the inclination of the ground. The parameters required to find ω f and ∆t are shown in Table 2.
The model of the hopper is a 10 × 10 × 10 cm cube with an inertial wheel of aluminum of a diameter of 6 cm and 76 g of weight. Figure 6 gives an approach of the model. The total weight of the robot is about 1.5 kg since current 1U cubesats are around that size [19].
Apart from the aforementioned parameters d h , ω f , ∆t, and θ h ; other parameters are also important to know the ideal trajectory of a jump. The speed-up time T min is the minimum time to reach the objective angular speed of the flywheel from rest position. L s is the velocity at which the hopper will be fired or launch speed. T f is the time the robot takes to reach its destination or "fly" time.    Table 3 summarizes the calculations for the jump parameters for, respectively, a surface slope of 20º. This Table shows representative distances from 5 m to 100 m. It is worth to remark that for negative angles of inclination the braking time is about ∆t ≈ 0 s. Table 3, the longer the distance d h , the faster the launch speed L s . Reaching distances greater than 100 m is feasible, however, applying the escape velocity might be dangerous. For Itokawa, the escape velocity is about 11.28 cm/s [20]. For example, in Table  3 the maximum launch speed L s is 8.8 cm/s.

Finding the Physical Parameters of the Flywheel
Simulink Simscape Electronics TM R2017b was used to to obtain the values b, R, K and depicted in Table 4; J was estimated by the weight and size of the flywheel. Figure 5 presents the model of a DC motor considering the inherent electrical (resistance, inductance, electro-motive force) and mechanical (shaft inertia, friction) characteristics of the motor; also, the model contains an H-Bridge, a PWM voltage source, a current sensor and a rotational motion sensor. Using measured data from a real system is feasible to get the parameters of the motor. The experiments were conducted using an Arduino board MKR1000 [21], an H-Bridge BTS7960B [22], a current sensor ACS712 [23] and a DC motor with rotary optical encoder. Figure 6 shows the components of the cubic robot. A DC power supply of 24 V -2 A was used. The obtained values of the electrical and mechanical parameters of the DC motor are presented in Table 4.

Symbol Description
Value

DC Motor Braking by Voltage Inversion
The parametrized discrete state-space representation with a sample time T s = 0.0005 s rounded by 4 decimals is expressed in Equations (13) and (14) x(k + 1) = 0.9992 0.5821 −0.0012 0.7242 The main objective is tracking a reference angular speed as faster as it can be with almost no overshoot, in order to prevent that the motor turns backward. To achieve this goal an overshoot OS ≈ 0% and a settling time St = 0.1 s were selected. From Section 3.4.2 it is possible to compute K and G needed to accomplish the proposed OS and St. So the gain matrix K, Equation (15) has the values and the constant G = 0.0229.

Overview of some speed control responses for a wide variety of target distances and surface inclinations
The objective of the tests presented in this section is checking the effectiveness of the speed control of the motor by voltage inversion under several angular speeds and braking times. It is expected that the real responses (black lines) follow the model responses (red lines). Table 5 summaries the objective parameters.  The different plots of Figure 7 illustrate the responses of the controlled braking of the inertial wheel. Several inclinations and target distances have been selected to illustrate the behavior of the motor braking. The red lines indicate the ideal controlled speed of the motor and how it decreases from a designated ω f to 0 in a ∆t time. Figure 7 shows the behavior of the tests proposed in Table 5. Table 6 makes a comparison of the obtained results. The relative error in percentage in Table 6 is obtained from Equation (16) Error = |expected response − real response| |expected response| × 100. Figure 7: Examples of the application of the braking by voltage inversion and the estimated distance that the robot is able to reach.  Table 6: Comparison between the simulated and resultant responses of Figure 7.

Jump Results
For the simulations it has been selected the asteroid Itokawa with dimensions of 535 × 294 × 209 m [20]; also this asteroid has been selected because most of the estimated population of Near Earth Objects are under 1 km of diameter [24]. It is essential to remark that these specifications are merely speculative and the robot could be bigger and heavier depending on the on-board instruments and the tasks that the robot will perform.
To validate the resultant parabolic trajectories of the explorer, the surface slope was divided each 5º from 30º to -30º; for every angle, representative distances have been selected (5 m, 10 m, 30 m, 50 m, 70 m, and 100 m); for each of these distances, 14 repetitions of the braking of the DC motor and their consequent simulated jumps under the gravity of the asteroid Itokawa were conducted. Given a total of 1092 conducted experiments.
In this research, three surface inclinations have been chosen for the presentation of the results: 15º, 0º, and -15º. From these angles, have been plotted three target distances: 5 m, 50 m, and 100 m, in which the robot has reached, respectively, the worst, the best and an average performance according to the landing point and the original objective distance.
In these tests, it has been conducted a series of 14 jump simulations for each of the three selected inclinations to reach 5 m, 50 m, and 100 m targets. Every simulated jump has been obtained from a real braking experiment of the motor. It is expected that for every target distance, each landing will be within a 10% tolerance area. In Figure 8, the first row of images shows the average parabolic trajectories for 5 m, 50 m, and 100 m travels, respectively, as well as the ideal flight. The second row offers a perspective from above of the target distance d h (•) with a 10% error tolerance and the place where every simulation touched the ground (×). As it can be seen, the worst result was scored in the 5m range with a relative error of 24.4%, an average result was scored in the 100 m range with a relative error of 5.9%, and the best result was scored in the 50 m range with a relative error of 2.4%. Due to the inertia, it is physically impossible to stop the flywheel in 0 s without impacting brakes, but as we have reviewed, braking a DC motor by voltage inversion is a good trade-off.

Summary of the Results
In this section, the summarized jump results described in the above subsection are presented.

Surface Inclination β = 15º
From Table 7 it can be seen that the best response is in the 50 m range with a relative error of 3.7% and the worst is in the 5 m distance with a relative error of 27.2%.  Table 7: Summary of the results of β = 15º.

Surface Inclination β = 0º
From Table 8 it can be noticed that the best response is in the 50 m range with a relative error of 2.7% and the worst is in the 5 m distance with a relative error of 23%.  Table 8: Summary of the results of β = 0º.

Surface Inclination β = −15º
From Table 9 it can be noticed that the best response is in the 50 m range with a relative error of 0.8% and the worst is in the 5 m distance with a relative error of 23.1%.  Table 9: Summary of the results of β = −15º.

Consecutive Jumps. Big distances: 385 m
As it has been said in Section 4.1, distances greater than 100 m are possible, but reaching the escape velocity is a considerable risk to the explorer. To prevent this, it might be preferable that the cubic robot conducts a series of jumps to go to the desired place. For a d h = 385 m with 5 m error tolerance, three jumps of 100 m and one jump of 85 m are needed. It is expected that the hopper lands within the tolerance area. In Figure 9 the trajectories of the four jumps needed for a target distance of 385 m over flat terrain are shown. In the same way, as in the previous section, the parabolic flights are simulated from the braking responses of the flywheel under the gravitational pull of the asteroid Itokawa. Table 10 presents the results of these jumps.

Conclusions and Future Work
A new kind of space robots with locomotion based on jumps developed in this research provides a new approach for the exploration of small bodies of our Solar System, taking advantage of the low gravity of these interplanetary objects.
We proposed a new way of stopping the flywheel no suddenly but in a short lapse by means of voltage inversion.
INAHOPPER has a cubic small shape with no external actuators. The necessary momentum for executing a jump is provided by internal inertial wheels. This approach comprises three basic steps: 1) develop the mathematical model of the dynamics of the robot; 2) implement a speed controller for the inertial wheels in a prototype of the robot; and 3) with the results of the experiments in the prototype simulate the trajectory of the robot over some asteroid of interest.
A prototype of the rover was built to verify the efficiency of the proposed speed controller of the flywheel. Computer simulations that emulate the parabolic jumps of the rover under milli-microgravity environments according to the real responses of the braking of the inertial wheel were developed.
Considering the examples given in Section 5 it is possible to observe the behavior of the braking responses. Due to the inertia of the flywheel used in the prototype of this research, stopping angular speeds higher than 350 rad/s in a short braking time is difficult to achieve, but it is still a good trade-off. The response of the DC motor achieved the expected behavior provided that the angular speeds is in between of 150 rad/s and 350 rad/s. For angular speeds lower than 150 rad/s, the objective angular speed is not reached for the DC motor and its response does not fit the expected results causing the biggest relative errors. The jump distance results from the response of the DC motor. Section 5.3 indicates that large courses d h > 30 m have less than 10% of error, but lower distances have greater errors; however, this approach of locomotion has the advantage that if the robot does not reach the indicated place in the first jump, it can perform a series of jumps to reach a given location.
In the near future, we plan to extend the analysis to the 3 degrees of freedom of INA-HOPPER. Traditionally the DC motors are considered as linear time-invariant models, but in practice, controlling high and low velocities could be a nonlinear problem, for this reason, develop a system capable of controlling nonlinear systems is important. Also, it will be essential to study the bounce over different kind of soils and consider irregular gravity fields.

A.1
The surface inclination β will be positive for counterclockwise angles and negative for clockwise angles.
For the leverage phase, the equations of motion are based on the inverted pendulum model, Equation (17) and (18), and are based in [16] I + ml 2 θ + mlẍ = mglθ, equating mlẍ = τ and the inertia I = I p , we have an expression for the angular velocity of the pendulumθθ = m p gl sin θ − τ I p + m p l 2 .
Allen et al. [11] have derived in Equation (19) that the minimum torque to initiate a rotation from rest is τ min = m p gl sin(α + β), also, the cited author have defined that the energy transfer ratio as indicated in Equation (20) η = E − E + = where E − is the energy just before actuation (flywheel kinetic energy) and E + is the energy just after actuation (platform kinetic energy) [9].
By combining the angular momentum of the flywheel to the angular momentum of the platform about a spike we obtain Equation (21) I f ω f =θ(I p + m p l 2 ), (21) and by substituting Equation (21) in Equation (20) it is obtained the resulting hop velocity v h . Assuming an immediate momentum transfer, v h = lθ, the hop velocity is obtained by Equation (22) v h = I f ω f l I p + m p l 2 .