CN114647182A - Method, device, equipment and medium for controlling vertical self-balance of spherical robot - Google Patents
Method, device, equipment and medium for controlling vertical self-balance of spherical robot Download PDFInfo
- Publication number
- CN114647182A CN114647182A CN202011507676.1A CN202011507676A CN114647182A CN 114647182 A CN114647182 A CN 114647182A CN 202011507676 A CN202011507676 A CN 202011507676A CN 114647182 A CN114647182 A CN 114647182A
- Authority
- CN
- China
- Prior art keywords
- value
- speed
- moment
- torque
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000007499 fusion processing Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
Embodiments of the present disclosure disclose methods, apparatus, devices, and media for controlling the vertical self-balancing of a spherical robot. One embodiment of the method comprises: acquiring an actual inclination angle of the spherical robot; generating a moment control value based on a preset inclination angle and an actual inclination angle; generating a first moment value, a second moment value and a third moment value; controlling the motion states of the first omni wheel, the second omni wheel and the third omni wheel; respectively detecting the motion speed values of a first omnidirectional wheel, a second omnidirectional wheel and a third omnidirectional wheel; carrying out speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value; generating a speed control value based on a preset target speed value, a first direction speed value and a second direction speed value; and determining the sum of the torque control value and the speed control value as a total control value. This embodiment enables control of the speed and direction of robot movement so that the robot can maintain a state of equilibrium.
Description
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a method, a device, equipment and a medium for controlling the vertical self-balancing of a spherical robot.
Background
A spherical robot is a robot standing on a spherical object. The spherical robot can perform vertical self-balancing and free walking without depending on legs and wheels. The control technology of the vertical self-balance of the spherical robot is an important technology for keeping the vertical self-balance of the spherical robot. At present, a common robot usually relies on two wheels to move, and meanwhile, a two-dimensional balance control method is used for keeping vertical self-balance.
However, when the robot is controlled to maintain vertical self-balance in the above manner, the following technical problems often exist:
first, common robot is owing to rely on two wheels to move, need control two wheel rotations just can change the direction of motion, consequently, the velocity of motion and the direction of motion of robot receive the restriction to, lead to the change direction of motion that the robot can not be nimble, and then, cause the flexibility ratio reduction of robot.
Secondly, the moving speed of the robot cannot be monitored and the moment cannot be adjusted in time, so that the speed direction of the robot randomly changes, and further, the robot is difficult to automatically maintain a balance state.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Some embodiments of the present disclosure propose methods and apparatus, electronic devices, and computer readable media for controlling the vertical self-balancing of a spherical robot to address one or more of the technical problems noted in the background section above.
In a first aspect, some embodiments of the present disclosure provide a method of controlling upright self-balancing of a spherical robot, the method comprising: acquiring an actual inclination angle of the spherical robot, wherein the spherical robot comprises a first omnidirectional wheel, a second omnidirectional wheel and a third omnidirectional wheel; generating a moment control value based on a preset inclination angle and the actual inclination angle; generating a first torque value, a second torque value and a third torque value based on a preset first direction torque value, a preset second direction torque value and a preset third direction torque value, wherein the first torque value is a torque value of the first omni wheel, the second torque value is a torque value of the second omni wheel, and the third torque value is a torque value of the third omni wheel; controlling a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value; respectively detecting the motion speed values of the first omnidirectional wheel, the second omnidirectional wheel and the third omnidirectional wheel to obtain a first speed value, a second speed value and a third speed value; performing speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value; generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value; and determining the sum of the torque control value and the speed control value as a total control value.
In a second aspect, some embodiments of the present disclosure provide an apparatus for generating a web page, the apparatus comprising: an obtaining unit configured to obtain an actual tilt angle of the round ball robot, wherein the round ball robot includes a first omni wheel, a second omni wheel, and a third omni wheel; a first generation unit configured to generate a moment control value based on a preset inclination angle and the actual inclination angle; a second generating unit configured to generate a first torque value, a second torque value, and a third torque value based on a preset first directional torque value, a preset second directional torque value, and a preset third directional torque value, wherein the first torque value is a torque value of the first omni wheel, the second torque value is a torque value of the second omni wheel, and the third torque value is a torque value of the third omni wheel; a control unit configured to control a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value; a detection unit configured to detect values of motion velocity of the first omni wheel, the second omni wheel, and the third omni wheel, respectively, to obtain a first velocity value, a second velocity value, and a third velocity value; a speed fusion processing unit configured to perform speed fusion processing on the first speed value, the second speed value, and the third speed value to obtain a first directional speed value and a second directional speed value; a third generating unit configured to generate a speed control value based on a preset target speed value, the first direction speed value, and the second direction speed value; a determination unit configured to determine a sum of the torque control value and the speed control value as an overall control value.
In a third aspect, some embodiments of the present disclosure provide an electronic device, comprising: a controller comprising one or more processors; a storage device having one or more programs stored thereon, which when executed by one or more processors, cause the one or more processors to implement the method described in any of the implementations of the first aspect.
In a fourth aspect, some embodiments of the disclosure provide a computer readable medium on which a computer program is stored, wherein the program when executed by a processor implements the method described in any implementation of the first aspect.
The above embodiments of the present disclosure have the following advantages: the method for controlling the vertical self-balance of the spherical robot obtains the total control value of the moment and the speed, so that the movement speed and the movement direction of the robot are controlled, the movement direction of the robot is flexibly changed, and the flexibility of the robot is improved. Specifically, the reason why the flexibility of the robot is reduced is that: the conventional robot relies on two wheels to move, and the moving speed and direction are limited. Based on this, in the method for controlling the vertical self-balance of the spherical robot according to some embodiments of the present disclosure, first, an actual tilt angle of the spherical robot is obtained, and a torque control value is generated based on a preset tilt angle and the actual tilt angle. And generating a moment control value through a preset inclination angle, an actual inclination angle and a control algorithm, thereby obtaining the moment of the control angle. And secondly, generating a first moment value, a second moment value and a third moment value based on a preset first direction moment value, a preset second direction moment value and a preset third direction moment value. And solving unknown first moment value, second moment value and third moment value from a calculation formula of a preset first direction moment value, a preset second direction moment value and a preset third direction moment value. The first moment value, the second moment value and the third moment value are used for controlling the output moments of the three omnidirectional wheels, and further controlling the motion state of the ball. Then, the movement states of the first omni wheel, the second omni wheel, and the third omni wheel are controlled based on the first moment value, the second moment value, and the third moment value. And controlling the motion states of the three omnidirectional wheels according to the output torque of the three omnidirectional wheels. Then, the values of the motion velocity of the first omni wheel, the second omni wheel, and the third omni wheel are detected, respectively. After the three omnidirectional wheels start to move, the movement speeds of the three omnidirectional wheels are detected, so that the movement speeds of the three omnidirectional wheels can be obtained to provide data support for speed fusion. And then, carrying out speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value. The speed fusion facilitates the control of the movement speed. And then, generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value. And a speed control value is generated by using a control algorithm, so that the speed and the direction of the movement speed of the spherical robot can be controlled. And finally, determining the sum of the torque control value and the speed control value as a total control value. The total control value can be used for controlling the speed and the direction of the movement of the spherical robot. So that the robot can flexibly change the motion direction. Further, the flexibility of the robot is improved.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and components are not necessarily drawn to scale.
Fig. 1 is a schematic diagram of one application scenario of a method of controlling the vertical self-balancing of a spherical robot, in accordance with some embodiments of the present disclosure;
fig. 2 is a flow diagram of some embodiments of a method of controlling upright self-balancing of a spherical robot according to the present disclosure;
FIG. 3 is a schematic structural view of some embodiments of an upright self-balancing apparatus for controlling a spherical robot according to the present disclosure;
fig. 4 is a schematic structural diagram of an electronic device for controlling the vertical self-balancing of a spherical robot according to the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 is a schematic diagram of one application scenario of a method of controlling the vertical self-balancing of a spherical robot, in accordance with some embodiments of the present disclosure.
In the application scenario of fig. 1, first, the computing device 101 may obtain the actual tilt angle 103 of the round ball robot 102, where the round ball robot 102 includes a first omni wheel 1021, a second omni wheel 1022, and a third omni wheel 1023. Then, the computing device 101 may generate the moment control value 105 based on the preset inclination angle 104 and the above-described actual inclination angle 103. Next, the computing device 101 may generate a first moment value 109, a second moment value 110, and a third moment value 111 based on a preset first direction moment value 106, a preset second direction moment value 107, and a preset third direction moment value 108, wherein the first moment value 109 is a moment value of the first omni wheel 1021, the second moment value 110 is a moment value of the second omni wheel 1022, and the third moment value 111 is a moment value of the third omni wheel 1023. Thereafter, the computing device 101 may control the motion states of the first omni wheel 1021, the second omni wheel 1022, and the third omni wheel 1023 based on the first moment value 109, the second moment value 110, and the third moment value 111. Next, the computing device 101 may detect values of the motion velocity of the first 1021, second 1022, and third 1023 omni wheels, resulting in first 112, second 113, and third 114 velocity values, respectively. Then, the computing device 101 may perform a speed fusion process on the first speed value 112, the second speed value 113, and the third speed value 114 to obtain a first direction speed value 115 and a second direction speed value 116. Then, a speed control value 118 is generated based on a preset target speed value 117, the first direction speed value 115, and the second direction speed value 116. Finally, the computing device 101 may determine the sum of the torque control value 105 and the speed control value 118 as an overall control value 119. Optionally, the computing device 101 may send the overall control value 118 to the spherical ball robot 102 for the spherical ball robot 102 to maintain upright self-balance.
The computing device 101 may be hardware or software. When the computing device is hardware, it may be implemented as a distributed cluster composed of multiple servers or terminal devices, or may be implemented as a single server or a single terminal device. When the computing device is embodied as software, it may be installed in the hardware devices enumerated above. It may be implemented, for example, as multiple software or software modules to provide distributed services, or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of computing devices in FIG. 1 is merely illustrative. There may be any number of computing devices, as implementation needs dictate.
With continued reference to fig. 2, a flow 200 of some embodiments of a method of controlling the upright self-balancing of a spherical robot according to the present disclosure is shown. The method for controlling the vertical self-balancing of the spherical robot comprises the following steps:
In some embodiments, an executive body (e.g., the computing device 101 shown in fig. 1) of the method of controlling the self-balancing of the spherical robot in the upright position may obtain the actual tilt angle of the spherical robot. The spherical robot comprises a first omnidirectional wheel, a second omnidirectional wheel and a third omnidirectional wheel. The round ball robot may be a robot standing on a round ball and moving by means of a round ball instead of legs or wheels. Meanwhile, the spherical robot may include three omni wheels. Wherein, the connecting line shape of the installation position of the three omnidirectional wheels is an equilateral triangle. In addition, the three omnidirectional wheels are respectively powered by three motors to control the movement of the ball. The round ball robot maintains vertical self-balance through the friction force generated between the three omnidirectional wheels and the round ball. The actual tilt angle may be a tilt angle of the spherical robot at a certain moment. As an example, the certain time may be 2020-11-27-12: 00: 00.
In some embodiments, the executing body may perform weighted average on the preset inclination angle and the actual inclination angle, and process the obtained calculation result according to a control algorithm to generate a moment control value. The control algorithm may be a PID (proportional-integral-derivative) control algorithm. The preset inclination angle may be 0 degree. When the actual inclination angle of the spherical robot is the preset inclination angle, the spherical robot can be in a state of standing vertical to the ground.
As an example, the above actual inclination angle may be 15 degrees. The weight occupied by the preset tilt angle may be a first weight. The weight occupied by the actual tilt angle may be a second weight. And performing difference calculation on the product of the preset inclination angle and the first weight and the product of the actual inclination angle and the second weight, and inputting the obtained calculation result into a PID control algorithm to generate a moment control value.
In some optional implementations of some embodiments, the executing body generates the moment control value based on a preset tilt angle and the actual tilt angle, and may include the following steps:
firstly, carrying out angle deviation value generation processing on the preset inclination angle and the actual inclination angle to generate an angle deviation value. Wherein, the preset inclination angle may be 1 degree. The angle deviation value generation process may be a difference calculation of the preset inclination angle and the actual inclination angle.
As an example, the above actual inclination angle may be 16 degrees. And calculating the difference value of the preset inclination angle and the actual inclination angle to obtain an angle deviation value of 15 degrees.
And secondly, performing torque control value generation processing on the angle deviation value to generate a torque control value.
The first substep, obtain the angular velocity value of the above-mentioned round ball robot. The tilt angle velocity value may be a velocity value when the spherical robot tilts.
A second substep of generating a torque control value based on the angular deviation value and the angular velocity value using the following formula:
u=P×(E+T×w+H×M)。
where u represents the torque control value. P represents a proportionality constant. And E represents the above angle deviation value. T represents a differential constant. w represents the above-mentioned tilt angle velocity value. H denotes an integration constant. M denotes the total angle deviation value.
The total angle deviation value is obtained by continuously adjusting the spherical robot according to the total control value, so that a certain number of actual inclination angles can be generated in the process of enabling the inclination angle of the spherical robot to reach the preset inclination angle. The preset inclination angle and each actual inclination angle generate a certain number of angle deviation values. And summing the obtained angle deviation values to obtain a total angle deviation value. Wherein the above-mentioned certain number may be 3.
In some embodiments, the executing body may generate the first torque value, the second torque value, and the third torque value based on the preset first directional torque value, the preset second directional torque value, and the preset third directional torque value. Wherein the first moment value is a moment value of the first omni wheel. The second torque value is a torque value of the second omni wheel. The third torque value is a torque value of the third omni wheel. The first direction, the second direction, and the third direction may be three directions on a coordinate system having an origin of coordinates of a world coordinate system as an origin of coordinates. The world coordinate system is a coordinate system established by taking the center of an equilateral triangle formed by connecting lines of the installation positions of the three omnidirectional wheels as a coordinate origin, taking a line overlapped with the connecting lines of the midpoints of any two sides of the equilateral triangle as an x-axis, taking a line parallel to a plane formed by the equilateral triangle and passing through the origin as a y-axis, and taking a line perpendicular to the plane formed by the equilateral triangle and passing through the origin as a z-axis. The equilateral triangle may be an equilateral triangle formed by connecting lines of the mounting positions of the three omni wheels. The preset first-direction moment value may be a preset moment value in the x-axis direction. The preset second direction moment value may be a preset moment value in the y-axis direction. The preset third directional moment value may be a preset moment value in the z-axis direction.
In some optional implementations of some embodiments, the generating, by the execution main body, the first torque value, the second torque value, and the third torque value based on a preset first directional torque value, a preset second directional torque value, and a preset third directional torque value may include:
generating the first torque value, the second torque value and the third torque value based on the preset first direction torque value, the preset second direction torque value and the preset third direction torque value by using the following formulas:
wherein a represents the first moment value. B represents the second moment value. C represents the third torque value. X represents the preset first-direction moment value. Y represents the above-mentioned preset second directional moment value. And Z represents the preset third-direction moment value. m represents a moment resolution constant.
As an example, the above-mentioned calculation formula of the preset first-direction moment value may be: x is A-B X cos alphaB-C×cosαC. The preset second directional moment value may be calculated by the following formula: y ═ C × cos θB-B×cosθC. The preset third direction torque value may be calculated according to the following formula: z is A + B + C. Wherein X represents the preset first-direction moment value. Y represents the preset second directional moment value, and Z represents the preset third directional moment value. A represents the first moment value. B represents aboveThe second torque value. C represents the third torque value. Alpha is alphaBRepresenting the angle between the second moment and the first direction. ThetaBAnd an angle between the second moment and the second direction. Alpha is alphaCRepresenting the angle between the third moment and the first direction. ThetaCAnd an angle between the third moment and the second direction. The preset first-direction moment value may be 3. The preset second directional moment value may be 1. The preset third directional moment value may be 9. The moment resolution constant may be 1. The first moment value may be 5. The second moment value may be 1. The third moment value may be 3 (calculated as follows):
and 204, controlling the motion states of the first omnidirectional wheel, the second omnidirectional wheel and the third omnidirectional wheel based on the first moment value, the second moment value and the third moment value.
In some embodiments, the actuator body may control a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value.
In some embodiments, the executing body may detect the motion speed values of the first omni wheel, the second omni wheel and the third omni wheel respectively to obtain a first speed value, a second speed value and a third speed value.
And step 206, performing speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value.
In some embodiments, the execution body may generate the speed control value by using the first speed value, the second speed value, and the third speed value according to a speed synthesis theorem. The first speed value may be a speed value of the first omni wheel. The second speed value may be a speed value of the second omni wheel. The third speed value may be a speed value of the third omni wheel. The first direction velocity value may be a velocity value in the x-axis direction. The second direction velocity value may be a y-axis direction velocity value.
In some optional implementation manners of some embodiments, the performing main body performs speed fusion processing on the first speed value, the second speed value, and the third speed value to obtain a first directional speed value and a second directional speed value, and may include the following steps:
generating a first directional velocity value and a second directional velocity value based on the first velocity value, the second velocity value, and the third velocity value using the following equations:
wherein X _ S represents the first directional velocity value. Y _ S represents the second directional velocity value described above. A _ S represents the first speed value. And B _ S represents the second speed value. C _ S represents the third speed value. Alpha is alphaB_SRepresenting the angle between the direction of the second speed and the first direction. Alpha (alpha) ("alpha")C_SAn angle between the direction of the third speed and the first direction is shown. ThetaB_SAnd an angle between the direction of the second speed and the second direction. Theta.theta.C_SAnd an angle between the direction of the third speed and the second direction.
The above formulas in step 203 and step 206 are used as an invention point of the embodiment of the present disclosure, and solve the second technical problem mentioned in the background art that "the speed direction of the robot randomly changes due to failure of monitoring the moving speed of the robot and timely performing torque adjustment, and further, the robot is difficult to automatically maintain a balanced state". The robot cannot flexibly change the motion direction, and the factors of random variation of the speed direction are as follows: the existing robot usually depends on two wheels to move, and the moving speed of the robot cannot be monitored and the moment adjustment cannot be carried out in time. If the above factors are solved, the robot can flexibly change the motion direction, and then the effect that the speed direction has stability is achieved. To achieve this effect, the present disclosure introduces the preset first direction moment value, the preset second direction moment value, and the preset third direction moment value. The preset first direction moment value, the preset second direction moment value and the preset third direction moment value can be obtained through a control algorithm and drawing analysis. Meanwhile, the unknowns in the calculation formulas for calculating the preset first direction moment value, the preset second direction moment value and the preset third direction moment value include the first moment value, the second moment value and the third moment value. And solving and calculating the first moment value, the second moment value and the third moment value through an equation. And controlling the three omnidirectional wheels through the obtained first moment value, second moment value and third moment value. Furthermore, the movement of the round ball can be controlled through the three omnidirectional wheels, so that the movement direction of the round ball robot can be flexibly changed. The present disclosure introduces three omni-wheel speed detection values: the first speed value, the second speed value, and the third speed value. Since the first speed value is consistent with the first direction speed value in direction, only the included angles between the second speed value and the third speed value and the first direction speed value and the second direction speed value respectively need to be detected. And obtaining the first direction velocity value and the second direction velocity value by using a cosine formula. Therefore, the moving speed of the spherical robot can be monitored, and the moment can be adjusted in time, so that the speed direction of the spherical robot is stable. The movement of the ball is controlled by three omni wheels due to the consideration of three-dimensional moment control. Therefore, the movement direction of the spherical robot can be flexibly changed, and meanwhile, the speed direction is kept stable. Further, the spherical robot can maintain a balanced state of direction and speed.
In some embodiments, the executing entity may input a preset target speed value, the first direction speed value and the second direction speed value into a value control algorithm (for example, a PID control algorithm) to generate a speed control value. The preset target speed value may be 0m/s or 20 cm/s.
And step 208, determining the sum of the torque control value and the speed control value as a total control value.
In some embodiments, the executing body may determine a sum of the torque control value and the speed control value as an overall control value.
Optionally, the total control value is sent to the round ball robot so that the round ball robot can keep vertical self-balance.
The above embodiments of the present disclosure have the following advantages: the method for controlling the vertical self-balance of the spherical robot obtains the total control value of the moment and the speed, so that the movement speed and the movement direction of the robot are controlled, the movement direction of the robot is flexibly changed, and the flexibility of the robot is improved. Specifically, the reason why the flexibility of the robot is reduced is that: the conventional robot relies on two wheels to move, and the moving speed and direction are limited. Based on this, in the method for controlling the vertical self-balance of the spherical robot according to some embodiments of the present disclosure, first, an actual tilt angle of the spherical robot is obtained, and a torque control value is generated based on a preset tilt angle and the actual tilt angle. And generating a moment control value through a preset inclination angle, an actual inclination angle and a control algorithm, thereby obtaining the moment of the control angle. And secondly, generating a first moment value, a second moment value and a third moment value based on a preset first direction moment value, a preset second direction moment value and a preset third direction moment value. And solving unknown first moment value, second moment value and third moment value from a calculation formula of a preset first direction moment value, a preset second direction moment value and a preset third direction moment value. The first moment value, the second moment value and the third moment value are used for controlling the output moments of the three omnidirectional wheels, and further controlling the motion state of the ball. Then, the movement states of the first omni wheel, the second omni wheel, and the third omni wheel are controlled based on the first torque value, the second torque value, and the third torque value. And controlling the motion states of the three omnidirectional wheels according to the output torque of the three omnidirectional wheels. Then, the values of the motion velocity of the first omni wheel, the second omni wheel, and the third omni wheel are detected, respectively. After the three omnidirectional wheels start to move, the movement speeds of the three omnidirectional wheels are detected, so that the movement speeds of the three omnidirectional wheels can be obtained to provide data support for speed fusion. And then, carrying out speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value. The speed fusion facilitates the control of the movement speed. And then, generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value. And a speed control value is generated by using a control algorithm, so that the speed and the direction of the movement speed of the spherical robot can be controlled. And finally, determining the sum of the torque control value and the speed control value as a total control value. The total control value can be used for controlling the speed and the direction of the movement of the spherical robot. The robot can flexibly change the motion direction. Further, the flexibility of the robot is improved.
With further reference to fig. 3, as an implementation of the above-described methods for the above-described figures, the present disclosure provides some embodiments of an upright self-balancing apparatus for controlling a spherical robot, which correspond to the above-described method embodiments of fig. 2, and which may be applied in various electronic devices.
As shown in fig. 3, the terminal device distribution network apparatus 300 of some embodiments includes: an acquisition unit 301, a first generation unit 302, a second generation unit 303, a control unit 304, a detection unit 305, a velocity fusion processing unit 306, a third generation unit 307, and a determination unit 308. The obtaining unit 301 is configured to obtain an actual tilt angle of the spherical robot, where the spherical robot includes a first omni wheel, a second omni wheel, and a third omni wheel. A first generation unit 302 configured to generate a moment control value based on a preset inclination angle and the above-described actual inclination angle. A second generating unit 303 configured to generate a first torque value, a second torque value and a third torque value based on a preset first direction torque value, a preset second direction torque value and a preset third direction torque value, wherein the first torque value is the torque value of the first omni wheel, the second torque value is the torque value of the second omni wheel, and the third torque value is the torque value of the third omni wheel. A control unit 304 configured to control the motion states of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value. The detecting unit 305 is configured to detect the motion velocity values of the first omni wheel, the second omni wheel, and the third omni wheel, respectively, to obtain a first velocity value, a second velocity value, and a third velocity value. A speed fusion processing unit 306 configured to perform speed fusion processing on the first speed value, the second speed value, and the third speed value to obtain a first direction speed value and a second direction speed value. A third generating unit 307 configured to generate a speed control value based on a preset target speed value, the first direction speed value, and the second direction speed value. A determination unit 308 configured to determine a sum of the torque control value and the speed control value as an overall control value.
It will be understood that the units described in the apparatus 300 correspond to the various steps in the method described with reference to fig. 2. Thus, the operations, features and resulting advantages described above with respect to the method are also applicable to the apparatus 300 and the units included therein, and are not described herein again.
Referring now to FIG. 4, a block diagram of an electronic device (e.g., computing device 101 of FIG. 1)400 suitable for use in implementing some embodiments of the present disclosure is shown. The server shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 4, electronic device 400 may include a processing device (e.g., central processing unit, graphics processor, etc.) 401 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage device 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the electronic apparatus 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 404 is also connected to bus 404.
Generally, the following devices may be connected to the I/O interface 404: input devices 406 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 408 including, for example, tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device 400 to communicate wirelessly or by wire with other devices to exchange data. While fig. 4 illustrates an electronic device 400 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 4 may represent one device or may represent multiple devices as desired.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In some such embodiments, the computer program may be downloaded and installed from a network through the communication device 409, or from the storage device 408, or from the ROM 402. The computer program, when executed by the processing apparatus 401, performs the above-described functions defined in the methods of some embodiments of the present disclosure.
It should be noted that the computer readable medium described in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the apparatus; or may be separate and not incorporated into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring an actual inclination angle of the spherical robot, wherein the spherical robot comprises a first omnidirectional wheel, a second omnidirectional wheel and a third omnidirectional wheel; generating a moment control value based on a preset inclination angle and the actual inclination angle; generating a first torque value, a second torque value and a third torque value based on a preset first direction torque value, a preset second direction torque value and a preset third direction torque value, wherein the first torque value is a torque value of the first omni wheel, the second torque value is a torque value of the second omni wheel, and the third torque value is a torque value of the third omni wheel; controlling a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first torque value, the second torque value, and the third torque value; respectively detecting the motion speed values of the first omnidirectional wheel, the second omnidirectional wheel and the third omnidirectional wheel to obtain a first speed value, a second speed value and a third speed value; performing speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value; generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value; and determining the sum of the torque control value and the speed control value as a total control value.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by software, and may also be implemented by hardware. The described units may also be provided in a processor, and may be described as: a processor includes an acquisition unit, a first generation unit, a second generation unit, a control unit, a detection unit, a speed fusion processing unit, a third generation unit, and a determination unit. The names of the units do not limit the units themselves in some cases, and for example, the acquiring unit may be further described as a unit for acquiring the actual tilt angle of the spherical robot.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.
Claims (9)
1. A method of controlling vertical self-balancing of a spherical robot, comprising:
acquiring an actual inclination angle of the spherical robot, wherein the spherical robot comprises a first omnidirectional wheel, a second omnidirectional wheel and a third omnidirectional wheel;
generating a moment control value based on a preset inclination angle and the actual inclination angle;
generating a first moment value, a second moment value and a third moment value based on a preset first direction moment value, a preset second direction moment value and a preset third direction moment value, wherein the first moment value is the moment value of the first omni wheel, the second moment value is the moment value of the second omni wheel, and the third moment value is the moment value of the third omni wheel;
controlling a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value;
respectively detecting the motion speed values of the first omnidirectional wheel, the second omnidirectional wheel and the third omnidirectional wheel to obtain a first speed value, a second speed value and a third speed value;
carrying out speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value;
generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value;
determining the sum of the torque control value and the speed control value as a total control value;
and sending the total control value to the spherical robot so that the spherical robot can keep vertical self-balance.
2. The method of claim 1, wherein generating a torque control value based on a preset tilt angle and the actual tilt angle comprises:
performing angle deviation value generation processing on the preset inclination angle and the actual inclination angle to generate an angle deviation value;
and carrying out torque control value generation processing on the angle deviation value to generate a torque control value.
3. The method of claim 2, wherein the subjecting the angular deviation value to a torque control value generation process to generate a torque control value comprises:
acquiring an inclination angle speed value of the spherical robot;
based on the angular deviation value and the angular speed value, a torque control value is generated using the following formula:
u=P×(E+T×w+H×M),
wherein u represents the torque control value, P represents a proportional constant, E represents the angular deviation value, T represents a differential constant, w represents the tilt angular velocity value, H represents an integral constant, and M represents a total angular deviation value.
4. A method according to claim 3 wherein generating a speed control value based on a preset target speed value, the first direction speed value and the second direction speed value comprises:
performing speed deviation value generation processing on the preset target speed value, the first direction speed value and the second direction speed value to generate a speed deviation value;
and carrying out speed control value generation processing on the speed deviation value to generate a speed control value.
5. The method of claim 4, wherein generating the first, second, and third torque values based on the preset first, second, and third directional torque values comprises:
generating the first torque value, the second torque value and the third torque value based on the preset first direction torque value, the preset second direction torque value and the preset third direction torque value by using the following formulas:
wherein a represents the first moment value, B represents the second moment value, C represents the third moment value, X represents the preset first-direction moment value, Y represents the preset second-direction moment value, Z represents the preset third-direction moment value, and m represents a moment resolution constant.
6. The method according to claim 5, wherein the performing speed fusion processing on the first speed value, the second speed value, and the third speed value to obtain a first directional speed value and a second directional speed value comprises:
generating first and second directional speed values based on the first, second and third speed values using the following equations:
wherein X _ S represents the first directional velocity value, Y _ S represents the second directional velocity value, A _ S represents the first velocity value, B _ S represents the second velocity value, C _ S represents the third velocity value, αB_SRepresenting the angle, alpha, between the direction of the second speed and the first directionC_SRepresenting the angle, θ, between the direction of said third speed and said first directionB_SPresentation instrument
The angle between the direction of the second speed and the second direction, thetaC_SRepresenting the angle between the direction of the third speed and the second direction.
7. A self-balancing device for controlling the vertical of a spherical robot comprises:
an obtaining unit configured to obtain an actual tilt angle of the spherical robot, wherein the spherical robot includes a first omni wheel, a second omni wheel, and a third omni wheel;
a first generation unit configured to generate a moment control value based on a preset inclination angle and the actual inclination angle;
a second generating unit configured to generate a first torque value, a second torque value, and a third torque value based on a preset first directional torque value, a preset second directional torque value, and a preset third directional torque value, wherein the first torque value is a torque value of the first omni wheel, the second torque value is a torque value of the second omni wheel, and the third torque value is a torque value of the third omni wheel;
a control unit configured to control a motion state of the first omni wheel, the second omni wheel, and the third omni wheel based on the first moment value, the second moment value, and the third moment value;
a detecting unit configured to detect motion velocity values of the first omni wheel, the second omni wheel, and the third omni wheel, respectively, to obtain a first velocity value, a second velocity value, and a third velocity value:
the speed fusion processing unit is configured to perform speed fusion processing on the first speed value, the second speed value and the third speed value to obtain a first direction speed value and a second direction speed value;
a third generating unit configured to generate a speed control value based on a preset target speed value, the first direction speed value, and the second direction speed value;
a determination unit configured to determine a sum of the torque control value and the speed control value as an overall control value.
8. An electronic device, comprising:
a controller comprising one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-6.
9. A computer-readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011507676.1A CN114647182A (en) | 2020-12-18 | 2020-12-18 | Method, device, equipment and medium for controlling vertical self-balance of spherical robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011507676.1A CN114647182A (en) | 2020-12-18 | 2020-12-18 | Method, device, equipment and medium for controlling vertical self-balance of spherical robot |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647182A true CN114647182A (en) | 2022-06-21 |
Family
ID=81990375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011507676.1A Pending CN114647182A (en) | 2020-12-18 | 2020-12-18 | Method, device, equipment and medium for controlling vertical self-balance of spherical robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647182A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102815357A (en) * | 2012-06-27 | 2012-12-12 | 北京工业大学 | Self-balancing manned solowheel based on inertia balance wheel |
WO2016130565A1 (en) * | 2015-02-09 | 2016-08-18 | The Regents Of The University Of California | Ball-balancing robot and drive assembly therefor |
CN107407939A (en) * | 2015-03-12 | 2017-11-28 | 株式会社村田制作所 | Ball balanced robot |
CN108415429A (en) * | 2018-03-03 | 2018-08-17 | 北京工业大学 | Self-balancing mobile robot on one bulb |
CN210500286U (en) * | 2019-05-27 | 2020-05-12 | 五邑大学 | Single-ball balance mobile robot |
CN111216826A (en) * | 2020-01-14 | 2020-06-02 | 华南理工大学广州学院 | Ball moving balance robot system |
-
2020
- 2020-12-18 CN CN202011507676.1A patent/CN114647182A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102815357A (en) * | 2012-06-27 | 2012-12-12 | 北京工业大学 | Self-balancing manned solowheel based on inertia balance wheel |
WO2016130565A1 (en) * | 2015-02-09 | 2016-08-18 | The Regents Of The University Of California | Ball-balancing robot and drive assembly therefor |
US20180022197A1 (en) * | 2015-02-09 | 2018-01-25 | The Regents Of The University Of California | Ball-balancing robot and drive assembly therefor |
CN107407939A (en) * | 2015-03-12 | 2017-11-28 | 株式会社村田制作所 | Ball balanced robot |
CN108415429A (en) * | 2018-03-03 | 2018-08-17 | 北京工业大学 | Self-balancing mobile robot on one bulb |
CN210500286U (en) * | 2019-05-27 | 2020-05-12 | 五邑大学 | Single-ball balance mobile robot |
CN111216826A (en) * | 2020-01-14 | 2020-06-02 | 华南理工大学广州学院 | Ball moving balance robot system |
Non-Patent Citations (1)
Title |
---|
李艳生: "机器人系统建模与仿真", vol. 1, 30 June 2020, 北京邮电大学, pages: 143 - 144 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112288853B (en) | Three-dimensional reconstruction method, three-dimensional reconstruction device, and storage medium | |
CN112561990B (en) | Positioning information generation method, device, equipment and computer readable medium | |
CN110849387A (en) | Sensor parameter calibration method and device | |
WO2024169691A1 (en) | Video processing method and apparatus, electronic device, and storage medium | |
WO2023151558A1 (en) | Method and apparatus for displaying images, and electronic device | |
CN116079697B (en) | Monocular vision servo method, device, equipment and medium based on image | |
GB2603241A (en) | Latency determinations for human interface devices | |
CN111710047A (en) | Information display method and device and electronic equipment | |
WO2022033444A1 (en) | Dynamic fluid effect processing method and apparatus, and electronic device and readable medium | |
WO2023174087A1 (en) | Method and apparatus for generating special effect video, and device and storage medium | |
CN114647182A (en) | Method, device, equipment and medium for controlling vertical self-balance of spherical robot | |
CN116608881A (en) | Equipment calibration method, device, equipment and medium | |
CN114516052B (en) | Dynamics control method and system for parallel real-time high-performance multi-axis mechanical arm | |
WO2023138468A1 (en) | Virtual object generation method and apparatus, device, and storage medium | |
Sindhanaiselvi et al. | Design and implementation of indoor tracking system using inertial sensor | |
CN111767513B (en) | Data processing method and device, electronic equipment and computer readable storage medium | |
CN113741750B (en) | Cursor position updating method and device and electronic equipment | |
CN113407045B (en) | Cursor control method and device, electronic equipment and storage medium | |
CN112880675B (en) | Pose smoothing method and device for visual positioning, terminal and mobile robot | |
CN118057120A (en) | Method and apparatus for estimating device pose | |
CN110634159A (en) | Target detection method and device | |
JP2023010229A (en) | Waypoint height coordinate setting method and management server, information processing system and program | |
CN112132909A (en) | Parameter acquisition method and device, media data processing method and storage medium | |
CN114399587A (en) | Three-dimensional lane line generation method and device, electronic device and computer readable medium | |
CN113515201B (en) | Cursor position updating method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |