Design of centroid deviated spherical rolling robot

: A spherical robot is a machine with a unique appearance and novel function. The spherical robot function designed in this study is limited to the movement in all directions. The principle is that the centroid of the spherical robot deviates from the centroid to create an unbalanced state, which drives the movement of the spherical robot. The structure of the spherical robot is mainly composed of a ball screw, two self-rotating frames, and a spherical shell. Its action is similar to that of the ‘Euphorbia’ – A self-aligning frame and a ball screw form a spherical coordinate system. Through the rotation of two self-rotating frames, a spherical coordinate is formed. The two corners of the system move in a vertical direction through the ball screw to achieve the movement of the target centre of mass on the polar axis.


Introduction
Many years ago, human beings became fascinated by the 'perfect' graphics of the circle. With the development of science and technology, as the circular research advances, the sphere has been studied by more and more people as an extension of the circle. In the absence of any evidence, astronomers and physicists are extremely admired for the correctness of the circle. The earth is round, the celestial bodies of the solar system are round, and the orbits of the planets are round. In fact, it's oval according Johannes Kepler's first law. Based on Tycho's observations, Kepler's three laws were derived. These all push the status of the circle to the extreme.
A spherical robot is a movable machine with a spherical or balllike appearance. According to current research results, the characteristics of the spherical robot are more of its unique shape and the freedom of movement that can be achieved due to its shape. In addition, the good characteristics of the spherical seal also contribute to the ability of the spherical robot to easily achieve amphibious movement on land and water. It is precisely because of these distinctive characteristics that spherical robots have received long-term attention from researchers.
The spherical robot mentioned in this paper is essentially the developmental study of the spherical robot 'glory' proposed by Javadi and Mojobi in 2002 [1]. The method of adjusting the centroid from the four masses is changed to the adjustment of a mass and the coordinate system is replaced with a spherical coordinate system to simplify the model. Compared to Halme's [2] and Bicchi's design, it has more freedom to control spherical robot's motion status with a little complexity adding.

Structure comparison
There are various types of spherical robots, and their applications range from land to water. According to their movement patterns, they can be divided into three categories: change of center of mass, change of appearance, and type of auxiliary power. The first kind of spherical robot generally changes the center of mass of the ball, causing an imbalance and driving the movement of the ball. Fig. 1 shows the comparison of the main centroid types.
The appearance change type is mainly when the robot is moving, the spherical robot changes its shape and becomes a 'spider' type joint robot. This spherical robot is compatible with the characteristics of insects. Compared with the former, climbing ability is significantly improved, and the movement pattern is also greatly increased. Simplified, the disadvantage is to abandon the spherical seal, more similar to the bionic robot. The BionicWheelBot robot recently launched by Festo in Germany is a representative model. Its appearance is shown in Fig. 2. As an example of the combination of raw and spherical, the sphere has been used as an auxiliary gesture in this type of robot.
Auxiliary power mainly refers to underwater spherical robots. In order to generate small-resistance omnidirectional motion in each posture, the robot adopts a spherical shape and has a propeller inside or outside the ball to provide power.

Structure design
As mentioned in the introduction, the essence of this paper is an extension of the spherical robot that changes the center of gravity proposed by Javadi [1]. It mainly includes a spherical shell, a selfaligning frame, a ball screw, and an integrated counterweight (including a battery module, a gyro module, and a microcontroller). The detailed structure can be seen in Fig. 3. Fig. 3 shows the structural diagram of the ball screw driving mass, which controls the movement of the mass in the fixed direction through two guide posts fixed at both ends. At the same time, the ball screw is faster than the screw, and the response speed is faster. At the same time, the ball screw is faster than the screw, and the response speed is faster. Fit with this constant need to change position" to that, "Meanwhile, the ball screw driving the mass in faster response velocity than steering gear motor. The whole structure's centroid could be controlled.

Spherical robot motion analysis
To simplify the mathematical model, reduce the complexity of the algorithm and limit the movement of the spherical robot to four types: forward and backward displacement, left and right displacement, dynamic turning, and in-situ swing [3].
The detail structures are illustrated in Figs. 4 a and b.
Assuming the angle of rotation of the outer ring servo is θ, the angle of rotation of the inner ring servo is φ, the stroke of the ball screw is 2 l, and the coordinate of the polar axis is x, The total weight of the spherical robot except the mass is m 1 , the weight of the mass is m 2 , and the overall mass is M.
The plane of the sphere is in solid connection with the Cartesian coordinate system. There is always a virtual initial position of the sphere, and the real-time sphere posture is obtained through the sensor.

Front and rear displacement
Forward and back displacement is extremely simple, only need to make the inner ring φ rotating an angle, the torque equation is

other movement
Also so on, you can get left and right displacement and other movements of Graphics. The size picture is Fig. 5.

coordination transfer
For the movement of the internal and external servos and ball screws, the parameters obtained from the coordinate transformation are used to control, and at any time, the ball declination about the current posture is obtained through the built-in gyroscope, and then the body declination used to update the preset initial value. There is a coordinate change relationship [4]. Through the transformation of the coordinates, the current required coordinates can be converted into the coordinate system under the initial attitude, and then the specific value of the rotation of the drive motor can be obtained through the coordinate difference in the initial attitude [5] (Fig. 6). Fig. 7 is the result of the mass's x coordination followed the running time changing status. Fig. 8 represents the Gyro sensor with the center mass's transformation, which could be indicated in matrix T=[0,0,z'] T . The initial coordinate system is established in space. As shown in the figure, the initial coordinates of the mass are assumed to be {x 0 , θ 0 , φ 0 } T , The coordinates at any moment are {x t , θ t , φ t } T , Gyro can return real-time ball declination{α t , t , γ t } T , There must be a reversible coordinate transformation matrix Q, such that

Simulation and experiment
Experimental setup:

Simulation:
By the building 3D modelling function of Creo parametric 3.0 and the dynamic analysis function of Adams viewer 2017, we created a simulation verifying the centroid absolutely coordination velocity. Fig. 9 is the simulate model in ADAMS 2016.
From the curve, we could know that the centroid velocity is likely owned a periodicity change (Fig. 7). That is caused by the spherical coordination transferred timely. Therefore, it is a good reference for the next step to pre-experiment.
Pre-experiment: Attainment of posture: The gyroscope is installed at a point on the spherical shell. In its symmetrical position, a counterweight with the same mass is added. The distance between the gyroscope  and the spherical heart in the direction of the z-axis is R, and the direction is constant [6]. By that feature, the attitude parameters returned by the gyroscope {α, , } T are the centroid attitude parameters (Fig. 8). The experimental simulating the process of spherical body's running in ADAMS solver module, by accepting gyroscope data to calculate current status of spherical body, transferring coordination to preset coordination system, driving the mass to adjusting whole sphere centroid. Experimental control method: In order to achieve a goal of simplifying the calculation and improving the adjustment speed of the mass, a method of empirically setting a preset value and then feeding back the adjustment by error is similar in principle to the PID proportional integral differential control method [7][8][9][10][11]. Method to improve reliability and response speed. Set the specified action as a straightforward scroll.
After starting, the current pose parameters will be obtained. After the coordinate transformation, the transformation matrix will be obtained [12]. Set a coordinate value without processing, and the sphere will start to move through the feedback. The actual movement parameter value forms the error e, the error is in the cm level, i.e. under >1 cm state, take a large adjustment, when the error is in the range of 1-10 mm, take a small adjustment, and maintain a relatively balanced state, when >1 mm, We will slightly adjust the centre of gravity and achieve balance [13,14].

Conclusion
This paper presents a novel spherical robot structure. Compared to traditional centroid deviated spherical rolling robot, such as inner single wheel, inner car driving robots and Festo BionicWheelBot, the structure could utilise the spherical shape's omnidirectional character sufficiently. Its principle is that by deviating the centroid position generates moment of force is not different from others. However, the advance of this design is easier to describe robot's movement and control its gesture by math tools such as Euler Space vector, Lie group and algebra and quaternion. Setting the initial IMU (Gyro) gesture data to the original position (or initial gesture), combined current IMU data (only rotation excluding translation) with servo motor feedback data, therefore, the block radius and servo motor's rotation angle could be resolved. The design's trouble lies in the intrinsic Gimbal Lock and hard to unmanned operated.
My work is that designed a novel structure and its movement control way. Simulating the scenario's callback data in ADAMS 2016 PostProcessor, according the result to move the mass location in x coordination is the core problem. The completely math model of the robot has not been built perfect. This paper merely put a math describe way.

Acknowledgments
This paper is funded by the High-level Innovation Team Construction Project for Beijing Colleges and Universities. Project number: IDHT20180513.