A trajectory tracking control method and related equipment for a spherical robot
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-22
- Publication Date
- 2026-08-14
AI Technical Summary
[0002]球形机器人是一种将全部驱动机构封装于球形外壳内部的机器人,具有全向运动、高机动性等独特优势,在狭小空间探测、环境侦察等领域广泛应用;由于球形机器人的动力学系统具有强非线性、非完整约束、驱动与运动耦合复杂等特点,因此现有的轨迹跟踪控制方案控制精度低,导致球形机器人的运动平滑性低
[0014] The embodiments of this application include at least the following beneficial effects: This application provides a trajectory tracking control method, system, electronic device, storage medium, and program product for a spherical robot. This solution obtains the current robot operating parameters, performs multi-level error calculations based on preset expected parameters and the current robot operating parameters to obtain the current rate of curvature change of the robot; performs integral transformation based on the calculated current rate of curvature change and the current robot operating parameters to obtain a target curvature value, and further calculates the target angular velocity; maps the calculated target angular velocity to obtain a target angular velocity command, and drives the robot according to the target angular velocity command; performs multi-level error calculations based on preset expected values and robot operating parameters to obtain curvature changes, and maps these curvature changes to control the robot's drive wheels, adjusting the robot's operating trajectory; and improves the robot's control accuracy by using multi-level error calculations and changes in operating curvature for control.
Smart Images

Figure CN122569374A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a trajectory tracking control method and related equipment for a spherical robot. Background Technology
[0002] A spherical robot is a robot in which all driving mechanisms are encapsulated inside a spherical shell. It has unique advantages such as omnidirectional motion and high mobility, and is widely used in fields such as confined space exploration and environmental reconnaissance. However, due to the strong nonlinearity, nonholonomic constraints, and complex coupling between driving and motion of the dynamic system of a spherical robot, the existing trajectory tracking control schemes have low control accuracy, resulting in low motion smoothness of the spherical robot. Summary of the Invention
[0003] The main objective of this application is to propose a trajectory tracking control method and related equipment for a spherical robot, which can improve control accuracy.
[0004] To achieve the above objectives, one aspect of this application proposes a trajectory tracking control method for a spherical robot, the method comprising: The current robot operating parameters are obtained, and multi-level error calculations are performed based on the current robot motion parameters and preset expected parameters to obtain the current rate of curvature change; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature, and current speed; The target curvature value is obtained by integrating the current rate of curvature change and the current robot operating parameters, and the target angular velocity is obtained by calculating the target curvature value and the current robot operating parameters. The target angular velocity is calculated by mapping the target angular velocity and the current robot parameters to obtain the target angular velocity command, and the robot is controlled according to the target angular velocity command.
[0005] In some embodiments, the step of performing multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current rate of curvature change specifically includes: Data extraction is performed on the current robot operating parameters to obtain the current path curvature, current motion direction angle, and current position information; The current curvature error is obtained by calculating the difference between the current path curvature and the desired curvature in the preset desired parameters; the current heading error is obtained by calculating the difference between the current motion direction angle and the desired path tangent direction angle in the preset desired parameters; and the current lateral error is obtained by calculating the difference between the current position information and the desired path in the preset desired parameters. The current rate of change of curvature is obtained by summing the current curvature error, the current heading error, the current lateral error, and a preset weight set.
[0006] In some embodiments, the step of performing an integral transformation based on the current rate of curvature change and the current robot operating parameters to obtain the target curvature value specifically includes: Data is extracted from the current robot operating parameters to obtain the current speed, and the first parameter is obtained by multiplying the current speed and the current rate of curvature change. The first parameter is integrated to obtain the second parameter, and the target curvature value is obtained by summing the second parameter and the desired curvature in the preset expected parameter.
[0007] In some embodiments, the step of calculating the target angular velocity based on the target curvature value and the current robot operating parameters specifically includes: The current robot operating parameters are converted to the time domain to obtain time domain operating parameters, and the time domain operating parameters are extracted to obtain the current time domain velocity. The target angular velocity is obtained by multiplying the current time-domain velocity and the target curvature value.
[0008] In some embodiments, the step of performing a mapping calculation based on the target angular velocity and current robot parameters to obtain the target angular velocity command specifically includes: Data is extracted from the current robot parameters to obtain the drive wheel radius and the third parameter, and the fourth parameter is obtained by calculating the ratio between the drive wheel radius and the current speed. The target angular velocity command is obtained by calculating based on the third parameter, the target angular velocity, and the fourth parameter; wherein the target angular velocity command includes the angular velocity of the left drive motor and the angular velocity of the right drive motor.
[0009] In some embodiments, the preset weight set is determined according to the following method: Data is extracted from the current robot operating parameters to obtain the current speed, and a first weight value is obtained by calculating the ratio of the current speed, the preset closed-loop bandwidth, and the preset damping ratio. The fifth parameter set is obtained by exponentiation based on the preset closed-loop bandwidth, and the second weight value set is obtained by ratio calculation based on the fifth parameter set and the current speed. The first weight value and the second weight value set are integrated to obtain the preset weight value set.
[0010] To achieve the above objectives, another aspect of this application proposes a trajectory tracking control system for a spherical robot, the system comprising: The curvature calculation module is used to obtain the current robot operating parameters and perform multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current curvature change rate; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature and current speed; The conversion calculation module is used to perform integral conversion based on the current rate of curvature change and the current robot operating parameters to obtain the target curvature value, and to calculate the target angular velocity based on the target curvature value and the current robot operating parameters; The mapping control module is used to perform mapping calculations based on the target angular velocity and the current robot parameters to obtain the target angular velocity command, and to control the robot according to the target angular velocity command.
[0011] To achieve the above objectives, another aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described above.
[0012] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods described above.
[0013] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer program product, including a computer program that, when executed by a processor, implements the aforementioned method.
[0014] The embodiments of this application include at least the following beneficial effects: This application provides a trajectory tracking control method, system, electronic device, storage medium, and program product for a spherical robot. This solution obtains the current robot operating parameters, performs multi-level error calculations based on preset expected parameters and the current robot operating parameters to obtain the current rate of curvature change of the robot; performs integral transformation based on the calculated current rate of curvature change and the current robot operating parameters to obtain a target curvature value, and further calculates the target angular velocity; maps the calculated target angular velocity to obtain a target angular velocity command, and drives the robot according to the target angular velocity command; performs multi-level error calculations based on preset expected values and robot operating parameters to obtain curvature changes, and maps these curvature changes to control the robot's drive wheels, adjusting the robot's operating trajectory; and improves the robot's control accuracy by using multi-level error calculations and changes in operating curvature for control. Attached Figure Description
[0015] Figure 1 This is a flowchart of a trajectory tracking control method for a spherical robot provided in an embodiment of this application; Figure 2 yes Figure 1 The flowchart of step S101 in the text; Figure 3 yes Figure 1 The flowchart of step S102 in the document; Figure 4 yes Figure 1 Another flowchart of step S102 in the process; Figure 5 yes Figure 1 The flowchart of step S103 in the process; Figure 6 This is a flowchart illustrating weight set calibration in a trajectory tracking control method for a spherical robot provided in this application embodiment; Figure 7 This is a flowchart of a specific embodiment provided in this application; Figure 8 This is a schematic diagram of the trajectory tracking control system for a spherical robot provided in an embodiment of this application; Figure 9 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0016] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.
[0017] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words “if,” “when,” or “in response to a determination” as used herein may be interpreted as “when…” or “when…” or “in response to a determination.”
[0018] As used in this application, the terms "at least one", "multiple", "each", "any", etc., "at least one" includes one, two or more, "multiple" includes two or more, "each" refers to each of the corresponding multiples, and "any" refers to any one of the multiples.
[0019] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0020] Before providing a detailed description of the embodiments of this application, some of the nouns and terms involved in the embodiments of this application will be explained first. The nouns and terms involved in the embodiments of this application are subject to the following interpretations.
[0021] This application provides a trajectory tracking control method for a spherical robot, relating to the field of information technology. This method can be applied to a terminal, a server, or software running on either a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, or vehicle terminal, but is not limited thereto. The server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network. The software can be an application implementing a trajectory tracking control method for a spherical robot, but is not limited to the above forms.
[0022] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0023] It should be noted that in all specific embodiments of this application, when processing data related to user identity or characteristics, such as user information, user behavior data, user historical data, and user location information, user permission or consent is obtained first. Furthermore, the collection, use, and processing of this data comply with relevant laws, regulations, and standards. In addition, when embodiments of this application require access to sensitive personal information of users, separate permission or consent from the user is obtained through pop-ups or redirection to confirmation pages. Only after obtaining the user's separate permission or consent is the necessary user-related data required for the proper functioning of these embodiments acquired.
[0024] Figure 1 This is an optional flowchart of a trajectory tracking control method for a spherical robot provided in an embodiment of this application. Figure 1 The method may include, but is not limited to, steps S101 to S103.
[0025] Step S101: Obtain the current robot operating parameters, and perform multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current rate of curvature change; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature and current speed; Step S102: Perform integral transformation based on the current rate of curvature change and the current robot operating parameters to obtain the target curvature value, and calculate the target angular velocity based on the target curvature value and the current robot operating parameters; Step S103: Perform mapping calculations based on the target angular velocity and the current robot parameters to obtain the target angular velocity command, and control the robot according to the target angular velocity command.
[0026] In steps S101 to S103 of this embodiment, the current motion state of the spherical robot is collected by sensors installed inside the robot to obtain the current motion direction angle, current motion speed, and curvature of the current running path. Data is also collected through a built-in map or navigation system to obtain the robot's current position. The system integrates the collected data to obtain the robot's current operating parameters. Based on the collected current robot operating parameters and preset desired parameters, the system performs multi-level error calculations to obtain the error between the current robot's running trajectory and the preset desired trajectory. The robot's running trajectory is then adjusted based on this error. The system calculates the rate of curvature change of the current robot's running trajectory based on the calculated error data, integrates and converts the rate of curvature change, and calculates the target curvature value in conjunction with the desired curvature. Based on the target curvature value, a target angular velocity is calculated to adjust the spherical robot to the desired trajectory. This target angular velocity is mapped and converted into a control quantity recognizable by the spherical robot's drive motor, resulting in a corresponding target angular velocity command. The system then drives the spherical robot to adjust and move along the desired path according to this target angular velocity command.
[0027] Please see Figure 2 In some embodiments, step S101 may include, but is not limited to, steps S201 to S203: Step S201: Extract data from the current robot operating parameters to obtain the current path curvature, current motion direction angle, and current position information; Step S202: Calculate the difference between the current path curvature and the desired curvature in the preset desired parameters to obtain the current curvature error; calculate the difference between the current motion direction angle and the desired path tangent direction angle in the preset desired parameters to obtain the current heading error; calculate the difference between the current position information and the desired path in the preset desired parameters to obtain the current lateral error. Step S203: Summation is performed based on the current curvature error, current heading error, current lateral error, and preset weight set to obtain the current rate of curvature change.
[0028] In step S201 of some embodiments, the system extracts data from the collected and integrated current robot operating parameters to obtain the current robot operating path curvature, current motion direction angle, and current position information; the system can perform multi-level error calculation based on the extracted data so as to subsequently calculate the control quantity of the drive motor.
[0029] In step S202 of some embodiments, the system calculates the lateral error based on the preset desired path and the currently acquired position information, by calculating the shortest distance between the current robot position and the desired path; the system calculates the difference between the tangent direction angle of the desired path at the current robot position and the acquired current motion direction angle of the robot to obtain the heading error, which represents the angle between the actual motion direction and the tangent direction of the desired path; the system calculates the difference between the acquired curvature of the current path and the preset desired curvature to obtain the curvature error, which represents the difference between the actual curvature and the desired curvature; the system calculates the curvature change rate corresponding to the adjustment path that adjusts the current robot onto the desired path based on the calculated multi-layer error and the preset curvature control rate.
[0030] In step S203 of some embodiments, the system sums up the various errors calculated previously to obtain the rate of curvature change used to adjust the spherical robot to the desired path; in this embodiment, the rate of curvature change is calculated according to the following formula: , in, This is the derivative of curvature with respect to arc length, i.e., the rate of change of curvature; The curvature damping coefficient; This is the angle error feedback coefficient; This is the position error feedback coefficient; This is the path length; The tangent direction angle of the desired path; This is the actual direction angle of motion; This refers to lateral error; The actual curvature; Let be the desired curvature.
[0031] Please see Figure 3 In some embodiments, step S102 may include, but is not limited to, steps S301 to S302: Step S301: Extract data from the current robot operating parameters to obtain the current speed, and perform a product operation based on the current speed and the current rate of curvature change to obtain the first parameter; Step S302: Integrate the first parameter to obtain the second parameter, and sum the second parameter and the desired curvature in the preset desired parameter to obtain the target curvature value.
[0032] In step S301 of some embodiments, the system extracts data from the current robot's operating parameters obtained through data collection and integration to obtain the current robot's operating speed; the system performs a product operation based on the extracted current robot's operating speed and the calculated rate of curvature change to obtain a first parameter; the system performs a subsequent integral transformation based on the calculated first parameter to convert the collected arc length domain data into time domain data.
[0033] In step S302 of some embodiments, the system performs an integral calculation on the calculated first parameter, converting the arc length domain data into time domain data to obtain a second parameter; the system then performs a summation operation on the calculated second parameter and a preset desired parameter to obtain the target curvature value for adjusting the robot's running trajectory; in this embodiment, the target curvature value is calculated according to the following formula: , in, For the target curvature value, For the desired curvature, This is the derivative of curvature with respect to arc length, i.e., the rate of change of curvature. This represents the linear velocity of the robot's forward movement.
[0034] Please see Figure 4 In some embodiments, step S102 may also include, but is not limited to, steps S401 to S402: Step S401: Perform time-domain transformation on the current robot operating parameters to obtain time-domain operating parameters, and extract data from the time-domain operating parameters to obtain the current time-domain velocity; Step S402: Perform a product operation based on the current time domain velocity and the target curvature value to obtain the target angular velocity.
[0035] In step S401 of some embodiments, the system converts the robot's forward linear velocity in the current robot's operating parameters obtained by data collection and integration to obtain the robot's forward velocity in the time domain, which is used to subsequently calculate the control quantity for controlling the robot's drive motor.
[0036] In step S402 of some embodiments, after obtaining the robot's forward velocity data in the time domain, the system performs a product operation based on the previously calculated target curvature value to obtain the target angular velocity parameter corresponding to the robot's drive motor; in this embodiment, the target angular velocity parameter is calculated according to the following formula: , in, For the target angular velocity parameters, For the target curvature value, This represents the robot's forward speed.
[0037] Please see Figure 5 In some embodiments, step S103 may also include, but is not limited to, steps S501 to S502: Step S501: Extract data from the current robot parameters to obtain the drive wheel radius and the third parameter, and calculate the ratio between the drive wheel radius and the current speed to obtain the fourth parameter; Step S502: Calculate the target angular velocity command based on the third parameter, the target angular velocity, and the fourth parameter; wherein the target angular velocity command includes the angular velocity of the left drive motor and the angular velocity of the right drive motor.
[0038] In step S501 of some embodiments, the system extracts data using preset robot parameters to obtain corresponding robot parameters, including parameters such as the radius of the robot's drive wheel and the distance between the drive wheels; the system calculates the ratio of the extracted drive wheel radius and the drive wheel distance as the third parameter for calculating the control quantity of the drive motor; then, the system calculates the ratio of the extracted drive wheel radius and the converted robot forward speed to obtain the corresponding fourth parameter.
[0039] In step S502 of some embodiments, the system calculates the third parameter, and maps it with the previously calculated fourth parameter and the target angular velocity to obtain the target angular velocity command for driving the robot, and drives the left and right wheels of the robot to move, controlling the robot's running trajectory to return to the desired trajectory; in this embodiment, the mapping process is performed using the following formula: , in, The motor speed of the left wheel, The motor speed of the right wheel. The distance between the drive wheels, The radius of the drive wheel, For the target angular velocity, This represents the robot's forward speed.
[0040] Please see Figure 6 In some embodiments, the preset weight set in the trajectory tracking control method for a spherical robot provided in this application can be calibrated and set through steps S601 to S603: Step S601: Extract data from the current robot operating parameters to obtain the current speed, and calculate the ratio based on the current speed, preset closed-loop bandwidth and preset damping ratio to obtain the first weight value; Step S602: Perform power operation based on the preset closed-loop bandwidth to obtain the fifth parameter set, and calculate the ratio between the fifth parameter set and the current speed to obtain the second weight value set; Step S603: Integrate the first weight value and the second weight value set to obtain the preset weight value set.
[0041] In step S601 of some embodiments, before calculating the multi-layer error, the corresponding curvature value, and then the corresponding angular velocity, the system calibrates the weighting coefficients for multi-layer error calculation based on the collected robot operating parameters to adaptively adjust the rate of robot adjustment and achieve smooth adjustment. The system extracts data from the collected robot operating parameters to obtain the robot's forward speed. The system combines the preset expected closed-loop bandwidth and preset damping ratio to calculate the first weighting coefficient, i.e., the curvature damping coefficient. In this embodiment, the system calculates according to the following formula: , in, The curvature damping coefficient is... For the desired closed-loop bandwidth, To preset the damping ratio, This represents the robot's forward speed.
[0042] In step S602 of some embodiments, the system further performs an exponentiation operation based on the preset expected closed-loop bandwidth to obtain multiple expected closed-loop bandwidth data of different powers as the fifth parameter set; the system calculates the corresponding weight coefficient set for other errors based on the calculated fifth parameter set and the collected robot forward speed; in this embodiment, the system calculates according to the following formula: , in, For the desired closed-loop bandwidth, For the robot's forward speed, This is the angle error feedback coefficient. This is the position error feedback coefficient.
[0043] In step S603 of some embodiments, after the system calibrates and obtains the weight coefficients corresponding to each error, it integrates the weight coefficients to obtain a preset weight set, and performs subsequent curvature control to obtain the corresponding drive motor angular velocity control command.
[0044] The following is a detailed description and explanation of the solutions in the embodiments of the present invention, using specific application examples: Please see Figure 7 , Figure 7This is a flowchart illustrating the trajectory tracking control method for a spherical robot provided in this application, implemented in a specific embodiment. The system constructs a corresponding curvature control law based on a three-layer feedback structure of curvature error, heading error, and position error. The system collects current motion data of the spherical robot, including its current position, motion direction angle, forward linear velocity, and current path curvature. This collected motion data is input into the curvature control law for error calculation to obtain the current curvature change rate of the spherical robot. The system performs integral calculations based on the calculated curvature change rate to obtain the target curvature for adjustment, and combines this with the robot's current running speed to calculate the target angular velocity driving the spherical robot's motor. The system performs mapping processing based on the current parameters of the spherical robot to obtain a recognizable angular velocity drive command for the spherical robot's motor, controlling the spherical robot to return to the desired path. Simultaneously, the control system in the spherical robot is equipped with feedback control. After the adjustment at the current moment is completed, the robot's motion state data is collected in real time and input into the constructed curvature control law for a new round of adjustment control.
[0045] The embodiments of this application include at least the following beneficial effects: This application provides a trajectory tracking control method, system, electronic device, storage medium, and program product for a spherical robot. This solution obtains the current robot operating parameters, performs multi-level error calculations based on preset expected parameters and the current robot operating parameters to obtain the current rate of curvature change of the robot; performs integral transformation based on the calculated current rate of curvature change and the current robot operating parameters to obtain a target curvature value, and further calculates the target angular velocity; maps the calculated target angular velocity to obtain a target angular velocity command, and drives the robot according to the target angular velocity command; performs multi-level error calculations based on preset expected values and robot operating parameters to obtain curvature changes, and maps these curvature changes to control the robot's drive wheels, adjusting the robot's operating trajectory; and improves the robot's control accuracy by using multi-level error calculations and changes in operating curvature for control.
[0046] Please see Figure 8 This application also provides a trajectory tracking control system for a spherical robot, which can implement the above-described method. The system includes: The curvature calculation module is used to obtain the current robot operating parameters and perform multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current curvature change rate; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature and current speed; The conversion calculation module is used to perform integral conversion based on the current rate of curvature change and the current robot operating parameters to obtain the target curvature value, and to calculate the target angular velocity based on the target curvature value and the current robot operating parameters; The mapping control module is used to perform mapping calculations based on the target angular velocity and the current robot parameters to obtain the target angular velocity command, and to control the robot according to the target angular velocity command.
[0047] It is understood that the content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0048] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.
[0049] It is understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0050] Please see Figure 9 , Figure 9 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 901 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 902 can be implemented as a read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory 902 can store the operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 902 and is called and executed by the processor 901 using the methods described in the embodiments of this application. The 903 input / output interface is used to implement information input and output. The communication interface 904 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 905 transmits information between various components of the device (e.g., processor 901, memory 902, input / output interface 903, and communication interface 904); The processor 901, memory 902, input / output interface 903, and communication interface 904 are connected to each other within the device via bus 905.
[0051] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0052] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0053] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0054] It is understood that the content of the above method embodiments is applicable to the embodiments of this program product. The specific functions implemented by the embodiments of this program product are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0055] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0056] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0057] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0058] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0059] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0060] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0061] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0062] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0063] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0064] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0065] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0066] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A trajectory tracking control method for a spherical robot, characterized in that, The method includes: The current robot operating parameters are obtained, and multi-level error calculations are performed based on the current robot motion parameters and preset expected parameters to obtain the current rate of curvature change; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature, and current speed; The target curvature value is obtained by integrating the current rate of curvature change and the current robot operating parameters, and the target angular velocity is obtained by calculating the target curvature value and the current robot operating parameters. The target angular velocity is calculated by mapping the target angular velocity and the current robot parameters to obtain the target angular velocity command, and the robot is controlled according to the target angular velocity command.
2. The method according to claim 1, characterized in that, The step of performing multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current rate of curvature change specifically includes: Data extraction is performed on the current robot operating parameters to obtain the current path curvature, current motion direction angle, and current position information; The current curvature error is obtained by calculating the difference between the current path curvature and the desired curvature in the preset desired parameters; the current heading error is obtained by calculating the difference between the current motion direction angle and the desired path tangent direction angle in the preset desired parameters; and the current lateral error is obtained by calculating the difference between the current position information and the desired path in the preset desired parameters. The current rate of change of curvature is obtained by summing the current curvature error, the current heading error, the current lateral error, and a preset weight set.
3. The method according to claim 1, characterized in that, The step of integrating and converting the current rate of curvature change and the current robot operating parameters to obtain the target curvature value specifically includes: Data is extracted from the current robot operating parameters to obtain the current speed, and the first parameter is obtained by multiplying the current speed and the current rate of curvature change. The first parameter is integrated to obtain the second parameter, and the target curvature value is obtained by summing the second parameter and the desired curvature in the preset expected parameter.
4. The method according to claim 1, characterized in that, The calculation of the target angular velocity based on the target curvature value and the current robot operating parameters specifically includes: The current robot operating parameters are converted to the time domain to obtain time domain operating parameters, and the time domain operating parameters are extracted to obtain the current time domain velocity. The target angular velocity is obtained by multiplying the current time-domain velocity and the target curvature value.
5. The method according to claim 1, characterized in that, The step of mapping and calculating the target angular velocity based on the target angular velocity and the current robot parameters to obtain the target angular velocity command specifically includes: Data is extracted from the current robot parameters to obtain the drive wheel radius and the third parameter, and the fourth parameter is obtained by calculating the ratio between the drive wheel radius and the current speed. The target angular velocity command is obtained by calculating based on the third parameter, the target angular velocity, and the fourth parameter; wherein the target angular velocity command includes the angular velocity of the left drive motor and the angular velocity of the right drive motor.
6. The method according to claim 2, characterized in that, The preset weight set is determined according to the following method: Data is extracted from the current robot operating parameters to obtain the current speed, and a first weight value is obtained by calculating the ratio of the current speed, the preset closed-loop bandwidth, and the preset damping ratio. The fifth parameter set is obtained by exponentiation based on the preset closed-loop bandwidth, and the second weight value set is obtained by ratio calculation based on the fifth parameter set and the current speed. The first weight value and the second weight value set are integrated to obtain the preset weight value set.
7. A trajectory tracking control system for a spherical robot, characterized in that, The system includes: The curvature calculation module is used to obtain the current robot operating parameters and perform multi-level error calculation based on the current robot motion parameters and preset expected parameters to obtain the current curvature change rate; wherein, the current robot motion parameters include the current motion direction angle, current position information, current path curvature and current speed; The conversion calculation module is used to perform integral conversion based on the current rate of curvature change and the current robot operating parameters to obtain the target curvature value, and to calculate the target angular velocity based on the target curvature value and the current robot operating parameters; The mapping control module is used to perform mapping calculations based on the target angular velocity and the current robot parameters to obtain the target angular velocity command, and to control the robot according to the target angular velocity command.
8. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the method as described in any one of claims 1 to 6.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 6.