CN111309016A - Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium - Google Patents

Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium Download PDF

Info

Publication number
CN111309016A
CN111309016A CN202010119463.5A CN202010119463A CN111309016A CN 111309016 A CN111309016 A CN 111309016A CN 202010119463 A CN202010119463 A CN 202010119463A CN 111309016 A CN111309016 A CN 111309016A
Authority
CN
China
Prior art keywords
self
balancing
information
control
target
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.)
Granted
Application number
CN202010119463.5A
Other languages
Chinese (zh)
Other versions
CN111309016B (en
Inventor
黎雄
周诚
熊坤
张东胜
张正友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010119463.5A priority Critical patent/CN111309016B/en
Publication of CN111309016A publication Critical patent/CN111309016A/en
Application granted granted Critical
Publication of CN111309016B publication Critical patent/CN111309016B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0263Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

Disclosed are a self-balancing robot control system, a method, a self-balancing robot and a medium, the self-balancing robot including a plurality of motors, the control method including: acquiring a self-balancing state of a self-balancing robot to obtain self-balancing state information; receiving input control information comprising motion correction information, wherein the motion correction information is target motion information of a self-balancing robot, and the target motion information comprises at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot; generating motor control data according to the self-balancing state information and the motion correction information; at least a part of the motors of the self-balancing robot are driven based on the motor control data.

Description

Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium
Technical Field
The invention relates to the field of artificial intelligence and robots, in particular to a self-balancing robot control system, a self-balancing robot control method, a self-balancing robot and a medium.
Background
With the wide application of artificial intelligence and robotics in civil and commercial fields, self-balancing robots based on artificial intelligence and robotics play an increasingly important role in the fields of intelligent transportation, intelligent home furnishing and the like, and face higher requirements.
The current self-balancing robot generally adopts a controller-driver-motor control method to realize the motion control of the robot so as to keep the robot to have a good self-balancing state in the motion process, detects the self-balancing state information of the self-balancing robot in real time by arranging a sensor, and controls the motor to move by calculating based on the self-balancing data through a controller so as to generate motor control data. However, in such a control method, the type of data detected by the sensor is single, and the detection accuracy is low; the controller needs to calculate in high real-time to realize the timely regulation and control of the self-balancing vehicle, and a complex algorithm cannot be operated; the method has the advantages of simple software and hardware structure, low expandability and portability, capability of only meeting the motion control requirement of the single-function self-balancing robot, disordered system software and hardware architecture for the self-balancing robot with composite functions, low maintenance efficiency and no contribution to the function integration of the robot.
Therefore, a self-balancing robot control method and system that can realize multiple functions of the self-balancing robot and have high real-time performance and expandability are needed on the premise of realizing a good self-balancing state of the self-balancing robot.
Disclosure of Invention
In view of the above problems, the present disclosure provides a self-balancing robot control system, a method, a self-balancing robot, and a medium. By utilizing the self-balancing robot control system provided by the disclosure, on the premise of realizing a good self-balancing state of the self-balancing robot, the self-balancing robot can realize multiple functions, and the method has high real-time performance and expandability, and has good robustness.
According to an aspect of the present disclosure, a self-balancing robot control method is provided, including: acquiring a self-balancing state of a self-balancing robot to obtain self-balancing state information; receiving input control information comprising motion correction information, wherein the motion correction information is target motion information of a self-balancing robot, and the target motion information comprises at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot; generating motor control data according to the self-balancing state information and the motion correction information; at least a part of the motors of the self-balancing robot are driven based on the motor control data.
In some embodiments, the method further comprises: setting a first self-balancing control algorithm and a second self-balancing control algorithm in an algorithm library; wherein generating motor control data from the self-balancing state information and the motion correction information comprises: calling a first self-balancing control algorithm, and processing the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data; and wherein the method further comprises: and under the condition that the input control information is not received or the motion correction information of the input control information is default, processing the self-balancing state information through a second self-balancing control algorithm to obtain motor control data.
In some embodiments, the self-balancing robot includes at least two self-balancing modes, and the input control information further includes target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes, wherein generating the motor control data from the self-balancing state information includes: and determining a target self-balancing algorithm based on the target mode information and the current mode information of the self-balancing robot, and processing the self-balancing state information based on the target self-balancing algorithm to obtain motor control data.
In some embodiments, determining a target self-balancing algorithm based on the target mode information and current mode information of the self-balancing robot comprises: generating transition mode information according to the current mode information and the target mode information, and acquiring a first self-balancing algorithm corresponding to the transition mode information from an algorithm library; according to the target self-balancing mode, acquiring a second self-balancing algorithm corresponding to the target self-balancing mode from an algorithm library; and taking the first self-balancing algorithm and the second self-balancing algorithm together as a target self-balancing algorithm.
In some embodiments, the target self-balancing algorithm includes a plurality of self-balancing algorithms, and processing the self-balancing state information based on the target self-balancing algorithm to obtain the motor control data includes: and sequentially executing a plurality of self-balancing algorithms in the target self-balancing algorithm according to a preset sequence so as to process the self-balancing state information to obtain motor control data.
In some embodiments, the method further comprises: generating input control information; the generating input control information includes: receiving input information of a user and an external sensor; encoding the input information to generate control data with a first specific encoding type, and distributing the control data to a first topic through a first node; the control data is received by a second node subscribing to the first topic, the control data is processed to generate input control information, wherein the input control information has a second particular encoding type that is different from the first particular encoding type.
In some embodiments, generating motor control data from the self-balancing state information and the motion correction information comprises: receiving the input control information, decoding the input control information, and generating input data; processing the input data to generate target control data; assigning corresponding control variables according to the target control data to obtain target control variables; motor control information is generated based on the target control variable.
According to another aspect of the present disclosure, a self-balancing robot control system is provided, wherein the self-balancing robot includes a plurality of motors, the control system comprising: an input control module configured to receive input information and generate input control information based on the input information, wherein the input control information includes motion correction information, the motion correction information is target motion information of a self-balancing robot, and the target motion information includes at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot; a self-balancing control module configured to obtain a self-balancing state of a self-balancing robot and obtain self-balancing state information, and to receive the input control information from the input control module, and further configured to: generating motor control data according to the self-balancing state information and the motion correction information; a motor driver module configured to receive the motor control data and drive at least a portion of the plurality of motors of the self-balancing robot based on the motor control data.
In some embodiments, the self-balancing control module generating motor control data based on the motion correction information and self-balancing state information comprises: the self-balancing control module calls a first self-balancing control algorithm, and processes the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data; and wherein, in the event that no input control information is received or the motion correction information for the input control information is default, the self-balancing control module is configured to process the self-balancing state information by a second self-balancing control algorithm to obtain motor control data.
In some embodiments, the self-balancing robot has at least two self-balancing modes, and the input control information further includes target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes, wherein the self-balancing control module generating the motor control data based on the command information and the self-balancing state information includes: and the self-balancing control module determines a target self-balancing algorithm based on the target mode information and the current mode information of the self-balancing robot, and processes the self-balancing state information based on the target self-balancing algorithm to obtain motor control data.
In some embodiments, the motor driver module includes a plurality of motor driving sub-modules corresponding to the plurality of motors one to one, and the plurality of motor driving sub-modules and the self-balancing control module are connected by an ethernet control automation technology bus to realize the linkage control of the plurality of motors.
According to another aspect of the present disclosure, a self-balancing robot is provided, which includes a plurality of motors, which includes the self-balancing robot control system as described above, and which implements control of at least a part of the plurality of motors by the self-balancing robot control method as described above.
In some embodiments, the self-balancing robot includes at least two operating modes, and each of the at least two operating modes has a self-balancing mode corresponding thereto.
According to another aspect of the present disclosure, a computer-readable storage medium is provided, characterized in that computer-readable instructions are stored thereon, which when executed by a computer perform the method as described above.
By utilizing the self-balancing robot control method and the self-balancing robot control system provided by the disclosure, the self-balancing robot can be kept in a good self-balancing state, and can realize multiple functions, and particularly, the method can have high real-time performance and expandability and good robustness.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is apparent that the drawings in the following description are only some embodiments of the present disclosure, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without making creative efforts. The following drawings are not intended to be drawn to scale in actual dimensions, with emphasis instead being placed upon illustrating the principles of the disclosure.
FIG. 1A shows a schematic view of a self-balancing robot in accordance with an embodiment of the present invention;
FIG. 1B is a schematic diagram of the self-balancing robot of FIG. 1A in a two-wheel balancing vehicle mode;
fig. 1C shows a schematic view of an inverted vehicle body pendulum model of a modified bicycle according to an embodiment of the present disclosure;
FIG. 1D illustrates a model diagram of an inverted pendulum of a vehicle body with a modified bicycle in a standard bicycle mode according to an embodiment of the present disclosure;
fig. 1E shows an inverted pendulum model of a vehicle body with a modified bicycle in two-wheel balance car mode according to an embodiment of the present disclosure;
FIG. 1F shows a model schematic of an inverted pendulum of a vehicle body with a modified bicycle in a transition mode according to an embodiment of the present disclosure;
FIG. 2 illustrates an exemplary flow chart of a self-balancing robot control method according to an embodiment of the present disclosure;
fig. 3 illustrates an exemplary flowchart of a process of generating motor control data in a self-balancing robot motion control method according to an embodiment of the present disclosure;
FIG. 4 illustrates an exemplary flow chart of a process of generating motor control data when the input control information includes self-balancing mode information according to an embodiment of the disclosure;
fig. 5A illustrates an example flow diagram of an information transfer mechanism of a self-balancing robot motion control method in accordance with an embodiment of the present disclosure;
fig. 5B illustrates an information transmission scheme diagram of a self-balancing robot motion control method according to an embodiment of the present disclosure;
FIG. 6 illustrates an exemplary flow diagram of a self-balancing robot control system according to an embodiment of the present disclosure;
fig. 7 shows a schematic diagram of a self-balancing robot control system in accordance with an embodiment of the present disclosure.
Detailed Description
Technical solutions in embodiments of the present disclosure will be described clearly and completely with reference to the accompanying drawings, and it is to be understood that the described embodiments are only some embodiments, but not all embodiments, of the present disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
As used in this application and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Although various references are made herein to certain modules in a system according to embodiments of the present application, any number of different modules may be used and run on a user terminal and/or server. The modules are merely illustrative and different aspects of the systems and methods may use different modules.
Flow charts are used herein to illustrate operations performed by systems according to embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously, as desired. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
Artificial Intelligence (AI) is a theory, method, technique and application system that uses a digital computer or a machine controlled by a digital computer to simulate, extend and expand human Intelligence, perceive the environment, acquire knowledge and use the knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technique of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a manner similar to human intelligence. Artificial intelligence is the research of the design principle and the realization method of various intelligent machines, so that the machines have the functions of perception, reasoning and decision making.
The artificial intelligence technology is a comprehensive subject and relates to the field of extensive technology, namely the technology of a hardware level and the technology of a software level. The artificial intelligence infrastructure generally includes technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, mechatronics, and the like. The artificial intelligence software technology mainly comprises a computer vision technology, a voice processing technology, a natural language processing technology, machine learning/deep learning and the like.
The self-balancing robot described herein is intended to characterize a robot with dynamic self-balancing capability during motion, which may be, for example, a self-balancing scooter, two-wheel vehicle, intelligent deformation bicycle, or other type of self-balancing device. Embodiments of the present disclosure are not limited by the specific type of self-balancing robot and its composition.
Fig. 1A shows a schematic diagram of a self-balancing robot 100 according to an embodiment of the present invention, wherein the self-balancing robot is a deformable bicycle. Next, a self-balancing robot will be briefly described by taking the modified bicycle shown in fig. 1A as an example.
Referring to fig. 1A, when the self-balancing robot 100 is a bicycle with deformation, it is provided with a plurality of motors for implementing adjustment of the movement of the self-balancing robot, the motors being driven by motor drivers. And the self-balancing robot is also provided with a controller for realizing the motion control of the self-balancing robot and a sensor for detecting the motion state of the self-balancing robot.
The self-balancing robot 100 includes, for example, 6 degrees of freedom: the two rotational degrees of freedom 110A, 110B are implemented by hub motors, the two azimuthal degrees of freedom 120A, 120B are implemented by hub azimuthal deformation motors, and further include a bicycle handle extension/retraction degree of freedom 130 and a bicycle/balance bike deformation degree of freedom 140 to adjust the deformed bicycle as needed.
And wherein the bicycle as deformed comprises, for example, three modes: a standard bicycle mode a, a two-wheel balance vehicle mode B and a transition mode C.
Fig. 1A illustrates a state of the modified bicycle in a standard bicycle mode, in which a user steps on a pedal to provide power to move the bicycle forward and controls the steering direction of the bicycle through a handlebar member. Fig. 1B shows a schematic diagram of a two-wheel balance car mode of a modified self-balancing car according to an embodiment of the present disclosure, referring to fig. 1B, in the two-wheel self-balancing car mode, feet of a user step on self-balancing pedals, which will realize vehicle motion control through body posture of the user, specifically, control of a motion direction of the vehicle through forward and backward tilting of the body of the user, and control of steering of the self-balancing car through left and right twisting of the body of the user. The transition mode C includes a first transition mode C1 transitioning from the standard bicycle mode a to the two-wheel balancing bicycle mode B and a second transition mode C2 transitioning from the two-wheel balancing bicycle mode B to the standard bicycle mode a.
In the above three modes, the inclination of the vehicle body corresponds to an inverted pendulum model, and fig. 1C shows an inverted pendulum model schematic diagram of a modified bicycle according to an embodiment of the present disclosure. Referring to fig. 1C, h is a height of a center of gravity of the modified bicycle, F is a centrifugal force to which the modified bicycle is subjected at the present moment, g is a gravitational acceleration, and θ is a body inclination angle of the modified bicycle.
For the balance control of different states of the deformable vehicle, an effective control algorithm is mainly utilized to ensure that the inclination angle of the vehicle body is within a reasonable range, so that the deformable vehicle is ensured to be balanced, and the specific balance principle is as follows. Wherein fig. 1D shows an inverted pendulum model of a vehicle body when the modified bicycle according to the embodiment of the present disclosure is in a standard bicycle mode a, fig. 1E shows an inverted pendulum model of a vehicle body when the modified bicycle according to the embodiment of the present disclosure is in a two-wheel balance vehicle mode B, and fig. 1F shows an inverted pendulum model of a vehicle body when the modified bicycle according to the embodiment of the present disclosure is in a transition mode C.
Referring to fig. 1D, when the modified bicycle is in the standard bicycle mode a, the self-balancing adjustment of the bicycle body is mainly achieved by controlling the steering angle of the front wheel. Therefore, self-balancing adjustment of the modified bicycle can be achieved by adjusting the steering angle of the front wheel, namely, by controlling the hub motor of the front wheel. And control of the current front wheel steering angle is achieved, for example, by the following formula:
Figure BDA0002392517430000071
in the above formula, α1Is the steering angle, k, of the front wheelspAnd kdProportional and differential coefficients, respectively, which can be set according to actual needs; thetadAnd thetarRespectively an expected value and an actual value of the inclination angle of the vehicle body;
Figure BDA0002392517430000072
and
Figure BDA0002392517430000073
respectively an expected value and an actual value of the body inclination angle speed;
Figure BDA0002392517430000074
is a desired value for a bicycle corner maneuver.
And wherein the desired value theta of the vehicle body inclination angledExpected value of body inclination velocity
Figure BDA0002392517430000075
And expected value of bicycle steering maneuver
Figure BDA0002392517430000076
For example, the preset value may be preset, or may be set in real time according to the received input control information.
Referring to fig. 1E, α is shown when the transformable bicycle is in the two-wheeled balance car mode B1Is the steering angle of the front wheels, α2Is the steering angle of the rear wheels. The self-balancing adjustment of the vehicle body is mainly realized by controlling the steering angles of the front and rear wheels, that is, the self-balancing control of the vehicle body is realized by controlling the hub motors of the front and rear wheels, and the steering angles of the front and rear wheels are realized by the following formula:
Figure BDA0002392517430000081
wherein, theta1And theta2Are respectively provided withIs the wheel hub motor corner of the front wheel and the rear wheel; thetadAnd thetarRespectively an expected value and an actual value of the inclination angle of the vehicle body;
Figure BDA0002392517430000082
and
Figure BDA0002392517430000083
respectively an expected value and an actual value of the body inclination angle speed; m isp1And md1Proportional and differential coefficients, k, associated with the moving ring of the front wheelp1And kd1The proportion and the differential coefficient related to the front wheel balancing ring can be set according to actual needs.
Figure BDA0002392517430000084
And
Figure BDA0002392517430000085
for the desired and actual turning angle of the front wheels,
Figure BDA0002392517430000086
and
Figure BDA0002392517430000087
the desired and actual rotational speeds of the front wheels. m isp2And md2Proportional and differential coefficients, k, associated with the moving ring of the rear wheelp2And kd2The proportion and the differential coefficient related to the rear wheel balancing ring can be set according to actual needs.
Figure BDA0002392517430000088
And
Figure BDA0002392517430000089
for the desired and actual turning angle of the rear wheels,
Figure BDA00023925174300000810
and
Figure BDA00023925174300000811
the desired and actual rotational speeds of the rear wheels.
And wherein the desired turning angle of the front wheels
Figure BDA00023925174300000812
Desired speed of front wheel
Figure BDA00023925174300000813
Desired turning angle of rear wheel
Figure BDA00023925174300000814
And desired speed of the rear wheel
Figure BDA00023925174300000815
For example, the preset value may be preset, or may be set in real time according to the received input control information.
Referring to FIG. 1F, the morphed bicycle is in transition mode C, which is essentially a one-wheel balance vehicle mode, which is a transition between a two-wheel balance vehicle and a bicycle, and wherein α1Is the steering angle of the front wheels, α2Is the steering angle of the rear wheels. L is the linear distance (i.e., the track width) between the center points of the front and rear wheels, r is the front wheel radius, phi is the overall steering angle of the deformed vehicle, and d is the forward displacement of the deformed vehicle at the current time compared to the previous time.
At this time, for the deformed bicycle in the single wheel balance mode, the self-balancing state is mainly realized by controlling the rotation angle of the front wheel, and the rotation angle can be controlled according to the following formula:
Figure BDA00023925174300000816
in the above formula, α1Is the steering angle of the front wheels, theta1Angle of rotation of the front wheel, thetadAnd thetarRespectively an expected value and an actual value of the inclination angle of the vehicle body;
Figure BDA00023925174300000817
and
Figure BDA00023925174300000818
respectively an expected value and an actual value of the body inclination angle speed;
Figure BDA00023925174300000819
and
Figure BDA00023925174300000820
for the desired and actual turning angle of the front wheels,
Figure BDA00023925174300000821
and
Figure BDA00023925174300000822
the desired and actual rotational speeds of the front wheels. m isp2And md2Proportional and differential coefficients, m, associated with the moving ring of the rear wheelpAnd mdThe proportion and the differential coefficient related to the front turbine dynamic ring can be set according to actual requirements.
Figure BDA00023925174300000823
And
Figure BDA00023925174300000824
respectively the expected value and the actual value of the advance displacement,
Figure BDA00023925174300000825
and
Figure BDA00023925174300000826
respectively, the expected value and the actual value of the forward speed, and in the transition phase of the deformation, α2From 90 deg. to 0 deg., α1Then it changes from 90 deg. to an acute angle and sin α1≠0。
And wherein the expected value of the forward displacement
Figure BDA0002392517430000091
Expected value of forward speed
Figure BDA0002392517430000092
The parameters may be preset values, for example, or may be set in real time based on received input control information.
In the existing self-balancing robot, a control method of "controller-driver-motor" is generally adopted to implement motion control on the self-balancing robot so as to keep the self-balancing robot in a good self-balancing state during motion. Specifically, the self-balancing state information of the self-balancing robot is detected in real time by a sensor provided on the self-balancing vehicle, and then the controller performs calculation based on the self-balancing data to generate motor control data, which transmits its corresponding motor driver to control the motor motion.
However, when the above method is adopted, on one hand, since the calculation is performed only by the data detected by the self-balancing robot sensor, the calculation is limited by the type of the sensor mounted on the self-balancing robot and the detection accuracy thereof, the type of the detected data is single, and the detection accuracy is low. On the other hand, when the controller calculates to generate the motor control data, since the controller needs to calculate in high real-time to realize the timely regulation and control of the self-balancing vehicle, the controller cannot carry a complex algorithm and cannot realize complex functions such as laser navigation and visual navigation. In addition, the software and hardware structure adopted by the method is simple, the expandability and the transportability are low, the motion control requirement of the self-balancing robot with single function can be met only, and for the self-balancing robot with composite functions (positioning navigation, target detection, robot self-balancing mode switching and the like), the adoption of the method can cause the confusion of the system software and hardware structure, the maintenance efficiency is low, and the function integration of the robot is not facilitated.
Based on the above, the present application provides a self-balancing robot control method based on artificial intelligence, which obtains self-balancing state information by detecting a self-balancing state of a self-balancing robot, and also receives input control information, and obtains motor control information by comprehensively processing the input control information and the self-balancing state information, and which can achieve good motion control of the self-balancing robot, so that the self-balancing robot can maintain a good self-balancing state while achieving multiple functions.
Fig. 2 illustrates an exemplary flow diagram of a self-balancing robot control method 200 according to an embodiment of the disclosure.
First, in step S201, a self-balancing state of the self-balancing robot is acquired, and self-balancing state information is obtained.
The self-balancing state of the self-balancing robot aims to represent the current situation that the self-balancing robot maintains self-balancing. For example, if the inclination angle threshold of the self-balancing pedal of the self-balancing robot relative to the horizontal plane is set to 35 degrees in the balance vehicle mode, if it is detected that the inclination angle of the self-balancing pedal of the current self-balancing robot relative to the horizontal plane is 45 degrees, it is known that the self-balancing vehicle is in a non-self-balancing state.
The self-balancing state information of the self-balancing robot is intended to represent information capable of reflecting the current self-balancing state of the self-balancing robot, and may be, for example, an inclination angle, an inclination change angular velocity, and an angular acceleration of the self-balancing robot, and a front and rear wheel rotation angle, a steering angle, a rotation angular velocity, and the like of the self-balancing robot as described above. It should be appreciated that embodiments of the present disclosure are not limited by the specific composition of the self-balancing status information.
For example, the self-balancing state information may be detected by a sensor provided in the self-balancing robot to realize real-time detection of the self-balancing state, thereby facilitating the self-balancing robot to timely realize control of the self-balancing state.
Thereafter, in step S202, input control information including motion correction information is received.
The input control information may be, for example, information input by a user of the self-balancing robot, or it may be information transmitted to the self-balancing robot by another device or system in communication with the self-balancing robot. It may be, for example, numerical or textual information, or it may also be in binary coded form. Embodiments of the present disclosure are not limited by the source of the control information and its particular form.
The input control information may be, for example, motion control information obtained through processing by another integrated processing System (e.g., a Robot Operating System), and may be, for example, motion control information such as a motion direction, a motion speed, and a motion acceleration of the self-balancing Robot. Or it may be other configuration information such as controlling power on or off of the self-balancing robot, etc. Embodiments of the present disclosure are not limited by the specific content of the input control information.
Wherein the motion correction information is intended to characterize information related to motion control of the self-balancing robot, and wherein the motion correction information is, for example, target motion information of the self-balancing robot, and the target motion information includes at least a part of target motion direction data, target motion speed data, and target motion acceleration data of the self-balancing robot.
It should be understood that the above steps S201 and S202 may be executed sequentially or simultaneously, and the present disclosure is not limited by the specific execution order of the above steps.
After obtaining the self-balancing state information and the input control information, in step S203, motor control data is generated according to the self-balancing state information and the motion correction information.
After the motor control data is generated, at least some of the motors of the self-balancing robot are driven based on the motor control data in step S204.
For example, if the self-balancing robot is a deformed bicycle as described above, if the left turn process in the two-wheel balance car mode B is currently performed, only two hub motors of the self-balancing robot may be controlled to achieve steering, for example; if the current situation is the first transition mode C1, for example, all motors in the self-balancing robot need to be driven to realize the posture change of the self-balancing vehicle.
The above-described process of driving the motors of the self-balancing robot may be implemented, for example, by sending the motor control data to a motor driver, via which the driving of the motors is implemented, however, it should be understood that embodiments of the present disclosure are not limited by the specific manner in which at least a portion of the motors are driven.
Based on the above, in the present application, the self-balancing control operation process is separated from other complex logic or motion control operation processes, specifically, self-balancing state information is obtained through detection, input control information after completion of calculation is directly received, and the input control information and the self-balancing state information are comprehensively processed to implement motion control of the self-balancing robot. When the control information input by the external user or system includes the motion correction information associated with the motion control, at this time, for example, based on the aforementioned formulas 1) -3), the motor control data is generated based on the motion correction information and the self-balancing state information together, so that in the motion control process, the self-balancing robot can maintain a good self-balancing state while well achieving various complex motions and various functional requirements.
In some embodiments, the above-described process S203 of generating motor control data may be described in more detail. Fig. 3 shows an exemplary flowchart of a process S203 of generating motor control data in the self-balancing robot motion control method according to the embodiment of the present disclosure.
Referring to fig. 3, first, it is detected whether input control information is received in step S2031, and if input control information is not received, the motor control data is generated from the self-balancing state information in step S2034 as described above. If the input control information is received, it is further determined whether the motion correction information in the input control information is default (that is, the motion correction information is null) in step S2032, and if the input control information includes the motion correction information, motor control data is generated based on the self-balancing state information and the motion correction information in step S2033. If the motion correction information in the input control information is the default (null), the motor control data is generated from the self-balancing state information in step S2034.
For example, when external input control information is not received, based on the method, motor control data can be generated in real time according to self-balancing state information, so that motion control of the self-balancing robot is realized, and the self-balancing robot is maintained in a good self-balancing state; if the external data is received and the external data comprises the motion correction information, the motion correction information and the self-balancing state information are synthesized to generate self-balancing state information based on the method, so that the complex motion control and the real-time self-balancing control of the robot can be considered.
In some embodiments, the method further comprises: and setting a first self-balancing control algorithm and a second self-balancing control algorithm in the algorithm library.
Wherein the first and second self-balancing control algorithms are intended to characterize different self-balancing control algorithms, e.g. the first self-balancing control algorithm is an algorithm for standard bicycle mode a and the second self-balancing control algorithm is a control algorithm for two-wheel balance car mode B. Embodiments of the present disclosure are not limited by the specific content of the first and second self-balancing control algorithms.
At this time, the step S2033 of generating motor control data from the self-balancing state information and the motion correction information includes: and calling a first self-balancing control algorithm, and processing the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data.
The first self-balancing control algorithm may be, for example, a user-specified self-balancing algorithm, such as the algorithm characterized by equation 1) described above, or it may also be a self-balancing algorithm determined based on target motion information. The self-balancing algorithm may be, for example, a formula or a formula set, or it may be a composite algorithm obtained by integrating a plurality of algorithms. Embodiments of the present disclosure are not limited by the source of the first self-balancing control algorithm and its specific content.
And wherein the target motion information comprises at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot.
For example, if the foregoing formula 1) is adopted as the first self-balancing control algorithm, the received target motion information includes: expected value theta of vehicle body inclination angledExpected value of body inclination angular velocity
Figure BDA0002392517430000121
And expected value of bicycle steering maneuver
Figure BDA0002392517430000122
And the current self-balancing state information obtained by detection is as follows: actual value of the angle of inclination θrActual value of body inclination angular velocity
Figure BDA0002392517430000123
The above data may be substituted into equation 1) of the first self-balancing control algorithm to calculate, for example, the steering angle α of the front wheels via the first self-balancing control algorithm1And generates motor control data of the front wheel in-wheel motor based thereon.
Based on the above, when the input information is associated with the motion control, the motor control data is generated by processing the target motion information and the self-balancing state information based on the preset algorithm, so that on the basis of realizing the real-time self-balancing control and the complex motion control of the self-balancing robot, the calculation amount is further reduced by setting the preset algorithm, the calculation efficiency is improved, and the real-time and efficient motion control can be realized.
And wherein the method further comprises: and under the condition that the input control information is not received or the motion correction information of the input control information is default, processing the self-balancing state information through a second self-balancing control algorithm to obtain motor control data. Embodiments of the present disclosure are not limited by the specific content of this second self-balancing control algorithm.
It should be appreciated that the second self-balancing algorithm and the first self-balancing algorithm are not intended to define or distinguish the type of algorithm and its contents, and the first self-balancing algorithm and the second self-balancing algorithm may be, for example, the same self-balancing algorithm, or both may be different self-balancing algorithms. Embodiments of the present disclosure are not limited by the specific contents of the first and second self-balancing algorithms and their relationship.
Based on the above, when the input control information does not include the motion correction information, the motor control data is obtained by processing and calculating the self-balancing state information based on the second self-balancing control algorithm, so that the self-balancing robot can independently realize real-time self-balancing state control based on the self-balancing state information without the motion correction information, and the self-balancing capability of the self-balancing robot is improved.
In some embodiments, the self-balancing robot comprises at least two self-balancing modes, and the input control information further comprises target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes.
The self-balancing mode represents the motion mode of the self-balancing robot and the mode of maintaining dynamic self-balancing in the motion. Which may be characterized, for example, by its corresponding kinematic formula or set of kinematic equations, embodiments of the present disclosure are not limited by the particular manifestation of the self-balancing mode.
For example, for the above-mentioned deformed bicycle, it has, for example, four self-balancing modes, namely: a standard self-balancing mode corresponding to the standard bicycle mode a, a balance car self-balancing mode corresponding to the two-wheel balance car mode B, a first transition self-balancing mode corresponding to the first transition mode C1, and a second transition self-balancing mode corresponding to the second transition mode C2, wherein each self-balancing mode has a self-balancing algorithm corresponding thereto. Embodiments of the present disclosure are not limited by the specific number of balancing modes that the self-balancing robot has.
And wherein the above-described process S2034 of generating the motor control data from the self-balancing state information may be described in more detail, for example. Fig. 4 illustrates an exemplary flowchart of a process S2034-a of generating motor control data when the input control information includes self-balancing mode information according to an embodiment of the present disclosure.
Referring to fig. 4, first, in step S2034-1, a target self-balancing algorithm is determined based on the target mode information and the current mode information of the self-balancing robot.
The current mode information of the self-balancing robot aims to represent the current self-balancing mode of the self-balancing robot. The current mode information may be the same as the target mode information, or both may be different, for example. Embodiments of the present disclosure are not limited by the current mode information of the self-balancing robot and its relationship to the target mode information.
In some embodiments, the above process of obtaining a target self-balancing algorithm may be described in more detail, for example. For example, firstly, generating transition mode information according to the current mode information and the target mode information, and acquiring a first self-balancing algorithm corresponding to the transition mode information from an algorithm library; secondly, according to the target self-balancing mode, acquiring a second self-balancing algorithm corresponding to the target self-balancing mode from an algorithm library; and finally, taking the first self-balancing algorithm and the second self-balancing algorithm together as a target self-balancing algorithm.
The algorithm library is used for representing an algorithm set which stores a plurality of self-balancing algorithms related to self-balancing control of the self-balancing robot. Embodiments of the present disclosure are not limited by the source of the algorithm library and its particular composition.
However, it should be understood that the embodiments of the present disclosure are not limited thereto, and the target self-balancing algorithm may be determined based on other ways according to actual needs.
Thereafter, in step S2034-2, the self-balancing state information is processed based on the target self-balancing algorithm to obtain motor control data.
In some embodiments, the above process of obtaining motor control data may be described in more detail. For example, when the target self-balancing algorithm includes multiple self-balancing algorithms, for example, according to a preset sequence, multiple self-balancing algorithms in the target self-balancing algorithm are sequentially executed to process the self-balancing state information, so as to obtain the motor control data.
However, it should be understood that the embodiments of the present disclosure are not limited thereto, and the self-balancing state information may be processed based on the target self-balancing algorithm to obtain motor control data based on other manners according to actual needs.
The above process will be described next with reference to specific scenarios. For example, when the self-balancing robot is the above-mentioned deformed bicycle, if the current self-balancing deformed bicycle is: "standard bicycle mode a" with a corresponding standard self-balancing mode. When the user wishes to change it to the two-wheel balance car mode B, the user enters input control information including, for example, target mode information: "two-wheeled balance vehicle mode B". At this time, transition mode information can be obtained according to the input control information of the user and the current mode information: "Standard bicycle mode A-two-wheeled balance vehicle mode B"; based on the target mode information and the transition mode information, for example, a transition self-balancing algorithm corresponding to transition mode information "standard bicycle mode a-two-wheel balance vehicle mode B" can be obtained in an algorithm library, and the transition self-balancing algorithm is used as a first self-balancing algorithm; and obtaining a standard self-balancing algorithm corresponding to the target mode information 'two-wheel balance vehicle mode B' in the algorithm library, and taking the algorithm as a second self-balancing algorithm. Accordingly, a first self-balancing algorithm and a second self-balancing algorithm are obtained, and further, the first self-balancing algorithm and the second self-balancing algorithm can be sequentially executed according to the sequence, so that the self-balancing mode of the self-balancing robot is switched.
Based on the above, when the self-balancing robot includes a plurality of self-balancing modes, when the input control information includes target mode information, a target self-balancing algorithm is determined based on the target mode information and current mode information of the self-balancing robot, and processing of self-balancing state information is achieved according to the target self-balancing algorithm, so that the self-balancing modes of the self-balancing robot can be switched in real time and flexibly based on the input control command, and thus the self-balancing robot can be better applied to different scenes to achieve multiple tasks.
In some embodiments, the information transfer mechanism of the method may be described in more detail, for example. Fig. 5A illustrates an example flow diagram of an information transfer mechanism of a self-balancing robot motion control method in accordance with an embodiment of the present disclosure. Fig. 5B shows an information transmission scheme diagram of a self-balancing robot motion control method according to an embodiment of the present disclosure.
Referring to fig. 5A, first, in step S401, input information of a user and an external sensor is received. The input information may be, for example, target pattern information input by a user and/or image or video data information detected by a sensor.
Thereafter, in step S402, the input information is encoded, control data having a first specific encoding type is generated, and the control data is distributed to the first topic by the first node.
The first specific code is set according to actual conditions and user requirements, for example, when data transmission is performed based on a publish-subscribe mode (DDS mode), the first specific code may be set to a specific data transmission format in the publish-subscribe mode. Embodiments of the present disclosure are not limited by the specific type of the first specific encoding and its contents.
After the publication of the control data is completed, the control data is received by the second node subscribing to the first topic, and is processed to generate input control information in step S403. Wherein the input control information has a second specific coding type different from the first specific coding type.
It should be understood that the first node and the second node are only used for distinguishing different nodes for issuing the control data and receiving the control data, and are not limited to the first node and the second node.
The second specific encoding type is set according to the control logic and control mode of the selected self-balancing controller. For example, when the Beckhoff controller is selected, the second specific encoding type may be set to a data format adopted by the Beckhoff controller, for example, to a binary format. Embodiments of the present disclosure are not limited by the specific content of this second particular type of encoding.
The process of processing the control data may, for example, process and calculate the control data through a navigation planning algorithm or a target trajectory generation algorithm according to actual requirements, generate corresponding navigation data or target motion planning data based on the control data, and encode the data according to the second specific encoding type, thereby obtaining input control information. Embodiments of the present disclosure are not limited by the particular process of processing the control data and the particular algorithm employed.
The above processes S401 to S403 can be implemented, for example, by an input control module in a self-balancing robot control system, for example, when implemented by a Linux system/ROS system, the above processes can be described in more detail. Referring to fig. 5B, when the input control module in the self-balancing robot control system is a Linux system, if the current user input information is a navigation plan, a process of generating the input control information based on the input information includes: the Linux system receives input information of a user and an external sensor, and inputs and converts the input information into output with a specific coding type after the input information is calculated by a navigation module under the Linux system.
Specifically, for example, two node programs teleop _ key.py and client _ tcp.cpp are run under the Linux system. Py node collects input information, encodes the input information to obtain control data, and issues the control data to/cmd _ vel1 topic. The client _ tcp.cpp node receives the control data by subscribing the topic, performs navigation calculation based on the control data, further converts the calculation result into a data type required in the Beckhoff controller, and encodes the data type to obtain input control information, and then the Linux system can transmit the input control information to the Beckhoff end, so that the Linux system end completes data transmission.
After the input control information is generated, in step S404, the input control information is received and decoded to generate input data.
The input data may be represented, for example, in numerical form, or it may also be represented in binary or quaternary coded form. Embodiments of the present disclosure are not limited by the specific composition of the input data and its representation.
Thereafter, in step S405, the input data is processed by a target self-balancing algorithm to generate target control data.
The selection of the target self-balancing algorithm and the process of processing the input data by the target self-balancing algorithm to generate the target control data are realized by the method as described above, for example. The embodiments of the present disclosure are not limited by the specific manner of selecting the target self-balancing algorithm and the specific processing procedure.
After the target control data is obtained, in step S406, the corresponding control variable is assigned according to the target control data, so as to obtain the target control variable. Such as the tilt angle of the motor, position coordinates, etc., embodiments of the present disclosure are not limited by the specific content of the target control variable and its type.
After the target control variable is obtained, in step S407, motor control information is generated based on the target control variable. For example, the motor control information may be generated by sequentially concatenating the target control variables, or may be generated by further processing based on the motor control information. Embodiments of the present disclosure are not limited by the specific process of generating motor control information.
It should be appreciated that the above steps S404-S407 may be performed, for example, by a self-balancing control module, such as by a Beckhoff controller. Or it may be implemented based on an integrated multifunction system.
When the above processes S404 to S407 are performed by the self-balancing control module, the above processes may be further described with reference to fig. 5B, for example. Referring to fig. 5B, the self-balancing control module is, for example, a Beckhoff controller, and is capable of receiving input control information from a Linux system, decoding the input control information, processing decoded control data based on a target self-balancing algorithm, and assigning a variable in a programmable logic controller PLC therein, so as to write data into a PLC program, and further generating motor control information based on the input control information, so as to control a motor.
Specifically, a C + + program adsconnect. exe and a PLC program TwinCAT project3.sln are run on the Beckhoff controller side. The C + + program adsconnect. exe consists of two parts, one part is a server and the other part is a client of the ADS.
Firstly, a C + + server program establishes TCP/IP communication with a client _ tcp.cpp of a Linux system end, receives input control information transmitted by the Linux system end, decodes and processes the input data to generate target control data, assigns the target control data to a variable in a PLC (programmable logic controller), generates a target control variable, and accordingly obtains motor control information. The lib library may then call an API interface to write a value into the PLC program by linking the tcadsdl. And then, the PLC program receives data written by the C + + program, and the motor control information is transmitted into the driver through the sequence of the PLC-NC-physical axis so as to control the motion of the motor. And in the controller at the Beckhoff end, an ads _ client process is controlled and communicated with an Elmo driver in real time through a PLC, and the process is mainly used for storing a preset self-balancing algorithm of the self-balancing robot.
Based on the above, according to the above steps, the input control information is generated based on the input information, and further the final motor control data is generated by decoding and correspondingly processing the input control information, wherein the second specific coding type sequentially encodes and decodes the transmission data according to the preset first specific coding type, which is beneficial to ensuring the data security in the transmission process and is convenient for generating the motor control information directly used for controlling the motor.
In some embodiments, the motor control data is data for controlling at least one of a motor position, a motor rotation direction, and a motor rotation speed of at least a portion of the plurality of motors.
Based on the above, in the application, at least one part of the motor positions, the rotating directions and the rotating speeds of at least one part of the motors in the plurality of motors is controlled, so that the self-balancing robot can be accurately and flexibly controlled in motion, a preset motion task can be well completed, and the self-balancing robot has good self-balancing capability.
In some embodiments, the input control information is to be received in the method based on a first communication protocol. The first communication protocol is intended to characterize the communication protocol used for communication, and may be, for example, a TCP/IP protocol, or it may also be a UCP/IP protocol, or another communication protocol may also be selected based on actual needs. Embodiments of the present disclosure are not limited by the particular type of first communication protocol selected.
Based on the above, the input control information is received based on the first communication protocol, so that the information transmission can be more stable and efficient, and the reliability of the input control information receiving process is improved.
In some embodiments, the driving at least a part of the motors of the self-balancing robot based on the motor control data is implemented by a motor driver module, the motor driver module includes a plurality of motor drive sub-modules corresponding to the motors in a one-to-one manner, and the motor drive sub-modules receive the motor control data through an ethernet control automation technology bus (EtherCAT bus) to implement the linkage control of the motors.
Based on the above, a plurality of motor drive sub-modules in the motor driver receive motor control data by adopting an EtherCAT bus, so that linkage control over a plurality of motors can be realized, the synchronism of motion is ensured, and the motors of the self-balancing robot can be controlled efficiently and accurately to realize good motion control.
In some embodiments, the coordinated control of the plurality of motors comprises: and performing linkage control on at least one part of a hub motor, an azimuth motor, a handlebar telescopic motor and a self-balancing robot deformation motor.
Through setting up to the motor drive of multiple type for can realize well that the linkage control to a plurality of degrees of freedom such as turning to, position, handlebar are flexible and are warp to self-balancing robot.
According to another aspect of the present application, a self-balancing robot control system is presented. Fig. 6 illustrates an exemplary flow diagram of a self-balancing robotic control system 500 according to an embodiment of the present application. The self-balancing robot includes a plurality of motors, and the control system includes an input control module 510, a self-balancing control module 520, and a motor driver module 530.
Wherein the input control module 510 is configured as an input control module configured to receive input information and generate input control information based on the input information.
The input control information comprises motion correction information, wherein the motion correction information is target motion information of the self-balancing robot, and the target motion information comprises at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot.
For example, the input control module may be, for example, a user input interface module, or, as needed, an open source system, such as a robot control system (ROS system), or a Linux system, so as to implement a flexible framework design to implement modular development of a robot by using high flexibility of the system, and implement functions such as distributed computation, multi-information fusion, and multi-data type communication through various modular components and functions in the open source system. And the modular design of functions such as motion control, positioning navigation, target detection and the like of the mobile robot and data interaction between the functions can be realized by utilizing point-to-point communication and distributed computation in the ROS.
The input control information may be, for example, motion control information processed by another integrated processing system (e.g., a robot operating system), and may be, for example, motion control information such as a motion direction, a motion speed, and a motion acceleration of the self-balancing robot. Or it may be other configuration information such as controlling power on or off of the self-balancing robot, etc. Embodiments of the present disclosure are not limited by the specific content of the input control information.
The self-balancing control module 520 is configured to obtain a self-balancing state of the self-balancing robot and obtain self-balancing state information, and receive the input control information from the input control module, and is further configured to: and generating motor control data according to the self-balancing state information and the motion correction information.
The self-balancing state of the self-balancing robot aims to represent the current situation that the self-balancing robot maintains self-balancing. The self-balancing state information of the self-balancing robot aims to represent information capable of reflecting the current self-balancing state of the self-balancing robot. It should be appreciated that embodiments of the present disclosure are not limited by the specific composition of the self-balancing status information.
The self-balancing control module can be a high real-time controller arranged on the self-balancing robot, or an integrated device obtained by integrating the controller with other components. Embodiments of the present disclosure are not limited by the specific composition of the self-balancing control module.
The motor driver module 530 is configured to receive the motor control data and drive at least a portion of the plurality of motors of the self-balancing robot based on the motor control data.
Based on the above, in the present application, the self-balancing control module and the input control module are independently arranged, so that the self-balancing control operation process is separated from other complex logic or motion control operation processes, and the self-balancing control module can run at a high speed in real time to realize control of the self-balancing state of the self-balancing robot; the input control module can select a robot control system with high expandability and an open source to realize complex logic algorithm operation (such as comprehensive data processing, navigation planning and the like).
In the system, the self-balancing control module can directly receive input control information after calculation from the input control module, the input control information and the self-balancing state information are comprehensively processed to realize motion control of the self-balancing robot, and when the control information input by an external user or the system comprises motion correction information associated with the motion control, motor control data can be generated together based on the motion correction information and the self-balancing state information, so that the self-balancing robot can well realize various complex motions and various functional requirements and can keep a good self-balancing state in the motion control process. The method has the advantages of high reliability and high real-time performance of the self-balancing control algorithm, high flexibility of complex logic algorithms (such as navigation algorithms) and good expandability.
In some embodiments, the self-balancing control module generating motor control data based on the motion correction information and self-balancing state information comprises: the self-balancing control module calls a first self-balancing control algorithm, and processes the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data.
The first self-balancing control algorithm may be, for example, a user-specified self-balancing algorithm, or it may also be a self-balancing algorithm determined based on the target motion information. Embodiments of the present disclosure are not limited by the source of the first self-balancing control algorithm and its specific content.
Based on the above, the motor control data is generated by processing the target motion information and the self-balancing state information based on the preset algorithm, so that on the basis of realizing the real-time self-balancing control and the complex motion control of the self-balancing robot, the calculation amount is further reduced by setting the preset algorithm, the calculation efficiency is improved, and the real-time and efficient motion control can be realized.
And wherein, in the event that no input control information is received or the motion correction information for the input control information is default, the self-balancing control module is configured to process the self-balancing state information by a second self-balancing control algorithm to obtain motor control data.
It should be appreciated that the second self-balancing algorithm and the first self-balancing algorithm are not intended to define or distinguish the type of algorithm and its contents, and the first self-balancing algorithm and the second self-balancing algorithm may be, for example, the same self-balancing algorithm, or both may be different self-balancing algorithms. Embodiments of the present disclosure are not limited by the specific contents of the first and second self-balancing algorithms and their relationship.
Based on the above, when the input control information is not received or the motion correction information of the input control information is the default, the self-balancing robot can independently realize the real-time self-balancing state control based on the self-balancing state information and improve the self-balancing capability thereof under the condition of no motion correction information by setting the motor control data obtained by processing and calculating the self-balancing state information based on the second self-balancing control algorithm.
In some embodiments, the self-balancing robot includes at least two self-balancing modes, and the input control information further includes target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes.
The self-balancing mode represents the motion mode of the self-balancing robot and the mode of maintaining dynamic self-balancing in the motion. Which may be characterized, for example, by its corresponding kinematic formula or set of kinematic equations, embodiments of the present disclosure are not limited by the particular manifestation of the self-balancing mode.
Wherein the self-balancing control module 520 further comprises a self-balancing algorithm determination module 521 and a motor control data acquisition module 522. Which is configured to perform the flow shown in fig. 4.
And wherein the self-balancing algorithm determination module 521 is configured to execute the step of step S2034-1 in fig. 4, and determine a target self-balancing algorithm based on the target mode information and the current mode information of the self-balancing robot.
The current mode information of the self-balancing robot aims to represent the current self-balancing mode of the self-balancing robot. The current mode information may be the same as the target mode information, or both may be different, for example. Embodiments of the present disclosure are not limited by the current mode information of the self-balancing robot and its relationship to the target mode information.
The motor control data obtaining module 522 is configured to execute step S2034-2 in fig. 4, and process the self-balancing state information based on the target self-balancing algorithm to obtain motor control data.
Based on the above, when the self-balancing robot includes a plurality of self-balancing modes, when the input control information includes target mode information, a target self-balancing algorithm is determined based on the target mode information and current mode information of the self-balancing robot, and processing of self-balancing state information is achieved according to the target self-balancing algorithm, so that the self-balancing modes of the self-balancing robot can be switched in real time and flexibly based on the input control command, and thus the self-balancing robot can be better applied to different scenes to achieve multiple tasks.
In some embodiments, the input control module comprises a control information sending module based on a first communication protocol, and the self-balancing control module comprises a control information receiving module based on the first communication protocol.
And wherein the input control module sends the input control information via the control information sending module, and the self-balancing control module receives the input control information from the input control module via the control information receiving module.
The first communication protocol is intended to represent a communication protocol for enabling the input control module and the self-balancing control module to communicate with each other, and may be, for example, a TCP/IP protocol, or may be a UCP/IP protocol, or may select another communication protocol based on actual needs. Embodiments of the present disclosure are not limited by the particular type of first communication protocol selected.
In some embodiments, the motor driver module includes a plurality of motor driver sub-modules in one-to-one correspondence with the plurality of motors, and wherein the plurality of motor driver sub-modules and the self-balancing control module are connected by an ethernet control automation technology bus (EtherCat bus) to realize coordinated control of the plurality of motors.
Based on the above, through adopting the self-balancing control module to be connected with a plurality of motor drive sub-modules in the motor driver via the EtherCAT bus, the linkage control of a plurality of motors can be realized, the synchronism of the movement is ensured, and the motors of the self-balancing robot can be controlled efficiently and accurately, so that the good movement control is realized.
In some embodiments, the motor drive sub-module comprises at least a portion of a hub motor drive sub-module, an azimuth motor drive sub-module, a handlebar telescoping motor drive sub-module, a self-balancing robot deformation motor drive sub-module.
The motor driving submodule comprises multiple types of motor driving submodules, so that the motor driving submodules can well realize control over multiple degrees of freedom such as steering, azimuth, handlebar stretching and deformation of the self-balancing robot.
In some embodiments, the motor control data is data for controlling at least one of a motor position, a motor rotation direction, and a motor rotation speed of at least a portion of the plurality of motors.
Based on the above, in the application, at least one part of the motor positions, the rotating directions and the rotating speeds of at least one part of the motors in the plurality of motors is controlled, so that the self-balancing robot can be accurately and flexibly controlled in motion, a preset motion task can be well completed, and the self-balancing robot has good self-balancing capability.
In some embodiments, the self-balancing robotic control system is capable of performing the methods described above and performing the functions described above.
Fig. 7 shows a schematic diagram of a self-balancing robot control system in accordance with an embodiment of the present disclosure.
Referring to fig. 7, in some embodiments, for example, a robot control system (ROS system) which is open-source and capable of implementing a modular design is selected as an input control module of the self-balancing robot control system, a Beckhoff controller which is a high real-time controller is selected as a self-balancing control module of the self-balancing robot control system, and an Elmo motor drive is selected for receiving motor control information from the self-balancing control module and implementing motor control.
When the self-balancing robot operates normally, the self-balancing control module detects the self-balancing state of the self-balancing robot based on a sensor arranged on the self-balancing robot and generates self-balancing state information, and when the self-balancing control module does not receive input control information, the self-balancing control module generates motor control data based on the self-balancing state information, so that the self-balancing robot keeps the self-balancing state.
When a user inputs information into the robot control system based on the keyboard peripheral, for example, when the user selects to start navigation, the ROS system in the self-balancing control system receives image and video data of a plurality of sensors arranged in an external environment where the self-balancing robot is located, navigation path planning is achieved through a path planning component and a data fusion processing component on the ROS source-opening system, and input control information is generated based on the result of the navigation path planning. The input control information indicates, for example, a moving direction of the self-balancing robot and a moving speed thereof.
And then, the ROS system sends the input control information through a preset communication protocol, such as a TCP/IP protocol or a UCP/IP protocol, at the moment, the Beckhoff controller receives the input control information, performs comprehensive processing on the input control information and self-balancing state information, generates motor control data, and transmits the motor control data to the Elmo driver, and the Elmo driver realizes a driving process for the motor according to the motor control data, so that the self-balancing robot control system of the ROS-Beckhoff controller-Elmo driver-motor is established.
Based on the above, the system realizes the operation of complex logic algorithms such as navigation or target path planning through the ROS system with good expandability, and realizes self-balancing state control through the Beckhoff controller with high real-time performance, so that the high reliability and real-time performance of self-balancing control algorithm design of the self-balancing robot and the high flexibility of complex algorithms such as navigation can be considered, meanwhile, the system has good expandability, and modular design can be performed.
According to another aspect of the present disclosure, a self-balancing robot is provided, which includes a plurality of motors, the self-balancing robot includes the self-balancing robot control system as described above, and the self-balancing robot control system implements control of at least a part of the plurality of motors by the self-balancing robot control method as described above, and the self-balancing robot control system is capable of implementing the above-described functions.
In some embodiments, the self-balancing robot includes at least two operating modes, and each of the at least two operating modes has a self-balancing mode corresponding thereto.
For example, when the self-balancing robot is a deformed bicycle, the first working mode of the self-balancing robot is, for example, a standard bicycle mode, which corresponds to a standard self-balancing mode; the second working mode of the self-balancing robot is a two-wheel balance car mode, which corresponds to the two-wheel balance car mode. However, it should be understood that embodiments of the present disclosure are not limited by the specific operating modes that the self-balancing robot has and its self-balancing modes.
According to another aspect of the present disclosure, there is also provided a non-transitory computer readable storage medium having stored thereon computer readable instructions which, when executed by a computer, may perform the method as described above.
Portions of the technology may be considered "articles" or "articles of manufacture" in the form of executable code and/or associated data, which may be embodied or carried out by a computer readable medium. Tangible, non-transitory storage media may include memory or storage for use by any computer, processor, or similar device or associated module. For example, various semiconductor memories, tape drives, disk drives, or any similar device capable of providing a storage function for software.
All or a portion of the software may sometimes communicate over a network, such as the internet or other communication network. Such communication may load software from one computer device or processor to another. For example: from a server or host computer of the target tracking device to a hardware platform of a computer environment or other computer environment implementing the system or similar functionality related to providing the information needed for target tracking. Thus, another medium capable of transferring software elements may also be used as a physical connection between local devices, such as optical, electrical, electromagnetic waves, etc., propagating through cables, optical cables, air, etc. The physical medium used for the carrier wave, such as an electric, wireless or optical cable or the like, may also be considered as the medium carrying the software. As used herein, unless limited to a tangible "storage" medium, other terms referring to a computer or machine "readable medium" refer to media that participate in the execution of any instructions by a processor.
This application uses specific words to describe embodiments of the application. Reference to "a first/second embodiment," "an embodiment," and/or "some embodiments" means a feature, structure, or characteristic described in connection with at least one embodiment of the application. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the present application may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present application may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereon. Accordingly, various aspects of the present application may be embodied entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present application may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The foregoing is illustrative of the present invention and is not to be construed as limiting thereof. Although a few exemplary embodiments of this invention have been described, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the claims. It is to be understood that the foregoing is illustrative of the present invention and is not to be construed as limited to the specific embodiments disclosed, and that modifications to the disclosed embodiments, as well as other embodiments, are intended to be included within the scope of the appended claims. The invention is defined by the claims and their equivalents.

Claims (14)

1. A self-balancing robot control method, comprising:
acquiring a self-balancing state of a self-balancing robot to obtain self-balancing state information;
receiving input control information comprising motion correction information, wherein the motion correction information is target motion information of a self-balancing robot, and the target motion information comprises at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot;
generating motor control data according to the self-balancing state information and the motion correction information;
at least a part of the motors of the self-balancing robot are driven based on the motor control data.
2. The self-balancing robot control method of claim 1, further comprising:
setting a first self-balancing control algorithm and a second self-balancing control algorithm in an algorithm library;
wherein generating motor control data from the self-balancing state information and the motion correction information comprises: calling a first self-balancing control algorithm, and processing the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data;
and wherein the method further comprises: and under the condition that the input control information is not received or the motion correction information of the input control information is default, processing the self-balancing state information through a second self-balancing control algorithm to obtain motor control data.
3. The self-balancing robot control method of claim 1, wherein the self-balancing robot includes at least two self-balancing modes, and the input control information further includes target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes,
wherein generating the motor control data from the self-balancing state information comprises:
determining a target self-balancing algorithm based on the target mode information and the current mode information of the self-balancing robot,
and processing the self-balancing state information based on the target self-balancing algorithm to obtain motor control data.
4. The self-balancing robot control method of claim 3, wherein determining a target self-balancing algorithm based on the target mode information and current mode information of the self-balancing robot comprises:
generating transition mode information according to the current mode information and the target mode information, and acquiring a first self-balancing algorithm corresponding to the transition mode information from an algorithm library;
according to the target self-balancing mode, acquiring a second self-balancing algorithm corresponding to the target self-balancing mode from an algorithm library;
and taking the first self-balancing algorithm and the second self-balancing algorithm together as a target self-balancing algorithm.
5. The self-balancing robot control method of claim 3, wherein the target self-balancing algorithm includes a plurality of self-balancing algorithms, and the processing the self-balancing state information based on the target self-balancing algorithm to obtain the motor control data includes:
and sequentially executing a plurality of self-balancing algorithms in the target self-balancing algorithm according to a preset sequence so as to process the self-balancing state information to obtain motor control data.
6. The self-balancing robot control method of claim 1, further comprising: generating input control information; the generating input control information includes:
receiving input information of a user and an external sensor;
encoding the input information to generate control data with a first specific encoding type, and distributing the control data to a first topic through a first node;
the control data is received by a second node subscribing to the first topic, the control data is processed to generate input control information, wherein the input control information has a second particular encoding type that is different from the first particular encoding type.
7. The self-balancing robot control method of claim 6, wherein generating motor control data according to the self-balancing state information and the motion correction information comprises:
receiving the input control information, decoding the input control information, and generating input data;
processing the input data to generate target control data;
assigning corresponding control variables according to the target control data to obtain target control variables;
motor control information is generated based on the target control variable.
8. A self-balancing robot control system, wherein the self-balancing robot includes a plurality of motors, the control system comprising:
an input control module configured to receive input information and generate input control information based on the input information, wherein the input control information includes motion correction information, the motion correction information is target motion information of a self-balancing robot, and the target motion information includes at least one part of target motion direction data, target motion speed data and target motion acceleration data of the self-balancing robot;
a self-balancing control module configured to obtain a self-balancing state of a self-balancing robot and obtain self-balancing state information, and to receive the input control information from the input control module, and further configured to: generating motor control data according to the self-balancing state information and the motion correction information;
a motor driver module configured to receive the motor control data and drive at least a portion of the plurality of motors of the self-balancing robot based on the motor control data.
9. The self-balancing robot control system of claim 8, wherein the self-balancing control module generating motor control data based on the motion correction information and self-balancing state information comprises: the self-balancing control module calls a first self-balancing control algorithm, and processes the target motion information and the self-balancing state information by using the first self-balancing control algorithm to generate motor control data;
and wherein, in the event that no input control information is received or the motion correction information for the input control information is default, the self-balancing control module is configured to process the self-balancing state information by a second self-balancing control algorithm to obtain motor control data.
10. The self-balancing robot control system of claim 8, wherein a self-balancing robot includes at least two self-balancing modes, and the input control information further includes target mode information indicating a target self-balancing mode of the self-balancing robot, the target self-balancing mode being one of the at least two self-balancing modes,
wherein the self-balancing control module generating motor control data based on the command information and the self-balancing state information comprises:
the self-balancing control module determines a target self-balancing algorithm based on the target mode information and the current mode information of the self-balancing robot,
and the self-balancing control module processes the self-balancing state information based on the target self-balancing algorithm to obtain motor control data.
11. The self-balancing robot control system of claim 8, wherein the motor driver module comprises a plurality of motor driving sub-modules in one-to-one correspondence with the plurality of motors, and wherein the plurality of motor driving sub-modules and the self-balancing control module are connected by an ethernet control automation technology bus to achieve coordinated control of the plurality of motors.
12. A self-balancing robot comprising a plurality of motors including a self-balancing robot control system according to any of the preceding claims 8-11 and which enables control of at least some of the plurality of motors by a self-balancing robot control method according to any of the claims 1-7.
13. The self-balancing robot of claim 12, wherein the self-balancing robot includes at least two modes of operation, and each of the at least two modes of operation has a self-balancing mode corresponding thereto.
14. A computer-readable storage medium having computer-readable instructions stored thereon which, when executed by a computer, perform the method of any of claims 1-7.
CN202010119463.5A 2020-02-26 2020-02-26 Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium Active CN111309016B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010119463.5A CN111309016B (en) 2020-02-26 2020-02-26 Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010119463.5A CN111309016B (en) 2020-02-26 2020-02-26 Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium

Publications (2)

Publication Number Publication Date
CN111309016A true CN111309016A (en) 2020-06-19
CN111309016B CN111309016B (en) 2021-11-05

Family

ID=71154856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010119463.5A Active CN111309016B (en) 2020-02-26 2020-02-26 Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium

Country Status (1)

Country Link
CN (1) CN111309016B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101554726A (en) * 2009-05-15 2009-10-14 北京工业大学 Flexible two-wheel self-balance robot system and motion control method thereof
KR101602197B1 (en) * 2014-07-24 2016-03-10 주식회사 로보쓰리 The self balancing scooter with a steering mechanism using thigh
CN105730586A (en) * 2016-03-11 2016-07-06 厦门大学 Two-wheel self-balancing car control system in two-control mode
CN106240703A (en) * 2016-08-31 2016-12-21 杭州速控软件有限公司 Electrodynamic balance swing car start self-balancing control method and system thereof
CN106406326A (en) * 2016-09-30 2017-02-15 张家港长安大学汽车工程研究院 Self-balancing intelligent vehicle and control method thereof
US20170190335A1 (en) * 2013-04-26 2017-07-06 Carla R. Gillett Vehicle Comprising Autonomous Steering Column System
CN107422740A (en) * 2017-07-06 2017-12-01 北京小米移动软件有限公司 Balance adjusting method and device
CN107562063A (en) * 2016-06-30 2018-01-09 沈阳新松机器人自动化股份有限公司 A kind of self-balance robot attitude control method and system
CN107728635A (en) * 2017-11-13 2018-02-23 北京赛曙科技有限公司 A kind of automatic balancing arrangement and method of motor cycle type robot
CN208654640U (en) * 2018-06-30 2019-03-26 安徽师范大学 Two-wheeled balanced robot's control system
CN110723247A (en) * 2019-10-29 2020-01-24 腾讯科技(深圳)有限公司 Vehicle deformation control method and deformable vehicle

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101554726A (en) * 2009-05-15 2009-10-14 北京工业大学 Flexible two-wheel self-balance robot system and motion control method thereof
US20170190335A1 (en) * 2013-04-26 2017-07-06 Carla R. Gillett Vehicle Comprising Autonomous Steering Column System
KR101602197B1 (en) * 2014-07-24 2016-03-10 주식회사 로보쓰리 The self balancing scooter with a steering mechanism using thigh
CN105730586A (en) * 2016-03-11 2016-07-06 厦门大学 Two-wheel self-balancing car control system in two-control mode
CN107562063A (en) * 2016-06-30 2018-01-09 沈阳新松机器人自动化股份有限公司 A kind of self-balance robot attitude control method and system
CN106240703A (en) * 2016-08-31 2016-12-21 杭州速控软件有限公司 Electrodynamic balance swing car start self-balancing control method and system thereof
CN106406326A (en) * 2016-09-30 2017-02-15 张家港长安大学汽车工程研究院 Self-balancing intelligent vehicle and control method thereof
CN107422740A (en) * 2017-07-06 2017-12-01 北京小米移动软件有限公司 Balance adjusting method and device
CN107728635A (en) * 2017-11-13 2018-02-23 北京赛曙科技有限公司 A kind of automatic balancing arrangement and method of motor cycle type robot
CN208654640U (en) * 2018-06-30 2019-03-26 安徽师范大学 Two-wheeled balanced robot's control system
CN110723247A (en) * 2019-10-29 2020-01-24 腾讯科技(深圳)有限公司 Vehicle deformation control method and deformable vehicle

Also Published As

Publication number Publication date
CN111309016B (en) 2021-11-05

Similar Documents

Publication Publication Date Title
CN111368424B (en) Vehicle simulation method, device, equipment and medium
CN106323269B (en) Autonomous positioning navigation equipment, positioning navigation method and automatic positioning navigation system
Ryll et al. First flight tests for a quadrotor UAV with tilting propellers
CN113296507B (en) Multi-power positioning ship cooperative formation control method based on space-time decoupling
WO2019042141A1 (en) Centralised-distributed control system for four-wheel independently driven and independently steered electric vehicle
Hu et al. A new ROS-based hybrid architecture for heterogeneous multi-robot systems
CN111547176B (en) Self-balancing robot control method and system, self-balancing robot and medium
CN111309016B (en) Self-balancing robot control system, self-balancing robot control method, self-balancing robot and medium
EP3944049A1 (en) Mobile communication terminal device operation of robot terminal
CN111547177B (en) Self-balancing robot control method and system, self-balancing robot and medium
CN112318507A (en) Robot intelligent control system based on SLAM technology
CN112947903B (en) Graphical programming system, platform and method based on Scratch for education unmanned aerial vehicle
CN111506054A (en) Automatic guiding method for chassis of 4WID-4WIS robot
CN112783142B (en) Simulation test system, method, equipment and storage medium for lane centering control
CN211506260U (en) Unmanned aerial vehicle flight control system
Sen et al. A ROS-based smooth motion planning scheme for a home service robot
KR20090086864A (en) Communication network structure of unmanned vehicle system
CN114040263B (en) Portable microminiature underwater robot system
CN110371170A (en) Intelligent power assisting device, system and the method for controlling its offer power-assisted
Ghabcheloo et al. Nonlinear coordinated path following control of multiple wheeled robots with communication constraints
Wang et al. Autonomous Navigation System for Indoor Mobile Robots Based on a Multi-sensor Fusion Technology
WO2024089728A1 (en) Remote operation device, movable-body remote operation system, movable-body control device, image display device, movable body, and remote operation method
Noor et al. STUDY THE PERFORMANCE OF TWO-WHEELED BALANCING MOBILE ROBOT USING FUZZY PD CONTROLLER
Beksi et al. The microvision robot and its capabilities
Zhao et al. Distributed simulation and virtual reality visualization of multi-robot distributed receding horizon control systems

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40023633

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant