Design and Control of Self-Stabilizing Angular Robotics Anywalker

Walking robots are designed to overcome obstacles when moving. The walking robot AnyWallker is developed, in the design of which the task of self-stabilization of the center of the mass is solved; a special type of chassis is developed, providing movement on high cross-country capability. The paper presents the results of designing and controlling the robot, the architecture of the software complex provides management and mastification of the hardware platform. AnyWalker is actually a chassis which can be used to build robots for many different purposes, such as surveying complex environment, industrial operations, and work in hazardous environment. Keywords—Walking robots; self-stabilization platform; stability of dynamic systems; chassis of robotic complexes


INTRODUCTION
A significant number of moving transport robotic complexes are wheeled or caterpillar.However, such robots become practically useless in rough terrain, in rooms with stairs and a large number of obstacles [1].This is especially important in hazardous environments, in mines or where it is necessary to preserve the landscape.Many studies in recent years are aimed at implementing and studying the quality characteristics of walking robot designs [2].
The restriction imposed on overcoming obstacles by wheeled robots directly depends on the diameter of the wheel.While walking robots can overcome obstacles and are limited by the length of the leg.Another important advantage of walking robots is that only local horizontal supports should be present in the terrain.This allows overcoming very steep angles while maintaining the stability of the body [3].Walking robots were used to investigate remote locations and hostile environments, such as the seabed, space, nuclear power plants, and in rescue operations [4].In addition, vehicles with a walking principle can be used, for example, for collecting materials, for transporting goods, as service robots, for moving to hard-to-reach areas of production and main pipelines.According to the leading US universities and companies, expressed in the report A Roadmap for US Robotics 2016: "To extend the automation of the logistics chain into the world, robots must have mobility that matches human mobilityrobots must negotiate stairs, elevators, doorways, curbs, broken concrete, cluttered environments, and go where people go.This type of advanced mobility is becoming realistic for robotic systems, legged and otherwise -and with such a solution, logistics will become fast, 24/7, on-demand, inexpensive, predictable, and well-tracked."Despite a wide range of applications, many tasks remain unresolved, which makes it difficult to widely use walking robots.The drawbacks include: high complexity of control and stabilization, cost, low energy efficiency and relatively low speed.Modern research is concerned with these issues [5].
In the basis of the movement of walking systems, the principles of movement by man and animals are laid: step, jogging, jumping [6].By design, we can distinguish a class of humanoid robots, the advantage of which is the reduction of energy costs due to the use of natural oscillations, but a poorly solved problem here is the stabilization of the center of mass due to the complex geometry of the object [7].Another big class are six-legged mobile platforms with various types of chassis [4].There are other developments: from the repetition of kangaroo jumps [8] to tripod systems [9].
The report is devoted to the design of the walking robot, the development of the control software and hardware of the mobile robot AnyWallker.In the presented design, the task was to design a robot in an easily controlled self-stabilizing platform, with a large range of patency (overcoming high and complex obstacles).The solution of these problems is ensured by the design of the hull, which allows for quick-setting stabilization, as well as the original chassis scheme aimed at overcoming obstacles.

II. CONSTRUCTION AND KINEMATIC SCHEME
As a body (a stabilizing center of mass), a sphere with a diameter of 0.4 m was selected (Fig. 1).www.ijacsa.thesai.orgA kinematic scheme of the chassis [11] has been developed, each of the robot legs comprising an upper link for supporting the volumetric body through the first hinge, and a lower link for supporting the upper link through the second hinge, and also the feet movably connected to each lower link through the third hinge.The upper link consists of two parts, the first and the second, connected to each other through a fourth hinge, the first part of the upper link of the body being connected to the body by the first hinge and the second part of the upper link through the second hinge connected to the lower link, robot standing on two legs, the fourth hinge of each robot's leg is located above the first, second and third hinges (see Fig. 2).Fig. 2 shows the following parts of the walking robot: 1 is the body of the robot, 5 is the module for correcting the displacement of the center of mass of the robot, 6 is the surface, 8 is the axis of gravity passing through the center of mass, 9 is the obstacle, 11 is the first part of the upper leg of the robot, 12 is the second part of the upper leg of the robot, 13 is the lower leg of the robot, 14 is the foot, 21 is the first hinge, 22 is the second hinge, 23 is the third hinge, 24 is the fourth hinge.The calculated speed of moving the platform with the dimensions of the body, fitting into the sphere of 40 cm, along the horizontal, on the average surface, in the step mode will be 5 km/h, and in the rolling mode on the body with the manipulators up to 15 km/h, it can autonomously function for 24 hours in the video broadcast mode, active control and moving through the terrain of medium cross-country, while carrying 3.8 kg payload [12].www.ijacsa.thesai.orgIn Fig. 3 there are graphs of the task of the angle to the servos of the legs.The graphs with index l correspond to the left leg, with the index r to the right.The moments of force developed in the servo drives when making a half step are shown in the graphs in Fig. 4.An example of overcoming a robot step, with a height equal to the height of the robot is shown in Fig. 5.

III. SELF-STABILIZATION OF THE PLATFORM
To stabilize the walking robot, algorithms based on the following model are implemented.The ball, which is the basis of the walking robot, is regarded as an inverted pendulum with a flywheel.This was inspired by the Cubli robot presented in [17].The pendulum has a non-holonomic connection with the support surface.This makes it possible to find a solution to the problem of stabilizing the mobile structure in dynamics, by adding internal degrees of freedom.It is proposed to assign the stabilization tasks to a system of two flywheels operating as an ordinary pendulum with a flywheel [13], [14], but in contrast to these studies, it is proposed to combine the mass centers of two flywheels at one point and obtain a more compact design (see Fig. 6).Applying the approach described in [14], the dynamics of the system can be described as follows: Here the states of the system are: () t  is the angle between the axis of the pendulum and the direction "up" counter- The characteristic polynomial of the matrix A has the form: The matrix has one positive root and two negative roots, which follows from the following facts: Making a change of variables x Ky  , where we get .

Ky AKy bu 
We multiply the equation on Without loss of generality, we assume that Under these conditions, the following results are proved.
The system described by ( 4) can not go from a state with The results obtained are realized in the construction of control actions.

IV. ARCHITECTURE OF THE SOFTWARE THAT CONTROLS
THE ROBOT To control the robot, a hardware/software system with a three-level architecture was developed [15].The subsystem of the first level is implemented on the ARM microcontroller of the STM32F4 family under the control of the real-time program based on the ST HAL library.The second-level control subsystem is implemented on a single-board computer of the Raspberry Pi family running the Robot Operating System (ROS) Kinetic Kame.The third application level is the program on MATLAB, Python and the web interface.The hardware architecture of the robot AnyWalker is shown in Fig. 7.
The main elements in this architecture are the STM32F407 microcontroller, which is a peripheral controller, and the Raspberry Pi 3 microcomputer, which plays the role of a toplevel controller and provides interfaces for the interaction of control software and various clients with peripheral devices.www.ijacsa.thesai.org The peripheral controller interacts with the 9-axis inertial navigation system represented by the MPU9250 chip, using the SPI protocol.The flywheels installed in the robot are controlled by the drivers of the EPOS2 motors, communication with which is carried out via the CAN protocol.The limbs of the robot are driven by the Dynamixel MX-106 servo drives, which are connected via RS-485 protocol.Servo drives are connected in series with 6 elements per leg.Both buses are connected to two independent interfaces of the UART microcontroller.
The interaction between the upper-level controller and the peripheral controller is carried out through the UART interface, through which the peripheral control commands are transmitted, and the INS sensor readings, the flywheel speed and the temperature and load values on the servos are requested.Also, the STM32F407 controller is connected via USB for debugging and downloading updated software for the controller via the STLink v2 protocol.
The scheme also provides customers implementing various elements of logic.The clients are connected to the high-level controller via an Ethernet link or via a wireless WiFi network.
The hardware layer is the basis for organizing the software layer, the architecture of which is shown in Fig. 8.
The interaction of logic nodes present on a high-level controller and various clients with peripheral nodes is carried out through a specialized communication module with a peripheral controller.The communication module with the peripheral controller is a driver that interacts the system with a lower-level controller based on the STM32F407 chip.The driver is written in C ++ language, it accepts commands coming from the modules of automatic and manual control.The interaction with the STM32F407 is carried out via the UART via the MODBUS protocol at a speed of 921600 baud, which makes it possible to achieve a control loop frequency on the order of 150-200 Hz.Using the graph structure of ROS [16], the driver sends information about the status of the robot nodes to all network members who have subscribed to receive this data.In turn, the driver is signed to receive commands for controlling flywheel drives and servo positions.The diagram of the graph structure is shown in Fig. 9.The network also presents the /aw_main node, which is an intermediate layer between the user and peripheral devices.This site is written in the Python language and is engaged in converting a text-based command system into a set of values intelligible to the driver, converting the readings of sensors into a user-friendly form, for example, translating the readings of servo encoders to degrees, and also calculating the speeds of the robot's nodes in automatic control mode.The node communicates with the web client via the /aw_driver/py_js (to the client) and /aw_driver/js_py (from the client) topics.The node itself refers to the driver through the system of control topics /aw_driver/control/*.The task of obtaining a stable, and energy-efficient walking robot with the ability to navigate through unknown terrain has been a big problem in the field of robotics for many years.The developed robotic platform demonstrates high energy efficiency, in comparison with other designs of walking robots [11].The developed walking robot AnyWallker is an example of a service mobile device capable of coping with an unknown terrain, reliably and flexibly moving along the way.

Fig. 1 .
Fig. 1.Schematic arrangement of device elements in space.Stabilization of the body position is carried out due to the force compensation of the deflecting influences.The design of this device includes two flywheels, flywheel actuators, a control unit, body position sensors, flywheel speed sensors and a power source.Both flywheels are inside the stabilized body.In this case, the mass centers of the flywheels coincide, and their axes of rotation intersect.External actions are recorded by the body position sensors and transmitted to the control unit, sending the corresponding signal to the flywheel drives and thereby driving them.The moment of inertia of the rotating flywheels compensates for the deviations caused by external influences, stabilizing the position of the body in space [10].The stabilization device includes two flywheels 11 and 12 with flywheel actuators 111 and 121 connected to a volumetric body, a control unit 3 connected to position sensors 4, a power supply 5 and flywheel actuators 111 and 121.The rotation axes of all flywheels 11 and 12 intersect at one point O (Fig. 1).Each flywheel has a flywheel position sensor and/or an angular speed sensor connected to the control unit.Alternatively, each flywheel drive has a flywheel position sensor, and/or a flywheel angular velocity sensor connected to the control unit.The flywheel actuators 111, 121, 131 can be made in the form of electric motors, including having their own controllers and servo drives, are shown as 112, 122, 132.

Fig. 4 .
Fig. 4. The moment of force developed in the servo drives when making a half step.

Fig. 5 .
Fig. 5. Phases of overcoming the robot step, with a height equal to the height of the robot.
clockwise; () t  is the angular speed of rotation of the flywheel; control: u is the voltage applied to the motor [В]; design parameters of the model: m J is the moment of inertia of the pendulum relative to its axis of rotation [kg•m 2 ]; r J is the moment of inertia of the rotor of the engine with respect to its axis of rotation [kg•m 2 ];  is the reduction ratio; M J is the moment of inertia of the flywheel relative to its axis of rotation [kg•m 2 ]; m is the mass of the pendulum [kg]; b is the distance from the point of pendulum fixation to its center of mass [m]; M is the total mass of flywheel and engine [kg]; l is the length of the pendulum [m]; g is the acceleration of gravity [m•s −2 ]; Linearized equation, taking into account the assumptions that there is no reducer (1  and 0) . The eigenvector corresponding to the eigenvalue λ can be written as   positive eigenvalue indicates the instability of the stationary point ( ) in the absence of control.

Fig. 8 .
Fig. 8.The architecture of the program layer of the robot.The driver /aw_driver continuously polls the peripheral controller, requesting the readings of the INS, servo sensors, Hall sensors from the EPOS2 drivers to monitor the speed of the flywheel and the pressure sensors on the feet.The received data are organized in a special structure, which is published in the topic /aw_driver/status/robot_status.With this data, various nodes of logic, as well as software for visualization and simulation, for example, Gazebo, RViz and MATLAB can work.Information about the state of the robot is transmitted to a web client connected to the robot through a WiFi network or an Ethernet cable.The web client interacts with the ROS system through a two-way communication channel based on the WebSocket technology implemented by the /rosbridge_websoket node.

Fig. 9 .
Fig. 9.The architecture of the ROS network presented in graphs.