Exponential transfer function based closed loop positioning method and system for mobile robots
By using a closed-loop control method based on the exponential transfer function, the problem of parameter adjustment difficulties in mobile robot positioning using PID control strategies was solved, enabling efficient and stable positioning of the robot in a two-dimensional plane, avoiding collisions and falls, and improving response speed.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
- Filing Date
- 2024-05-17
- Publication Date
- 2026-06-19
AI Technical Summary
Existing PID control strategies are laborious to adjust parameters and difficult to optimize in closed-loop localization of mobile robots, resulting in poor dynamic performance and easy overshoot and safety issues.
A closed-loop control method based on exponential transfer function is adopted. By constructing an exponential transfer function model, a closed-loop control strategy is generated to control the robot to perform closed-loop motion in a two-dimensional plane, thereby reducing overshoot and improving response speed and stability.
It achieves efficient and stable positioning within a limited space, avoiding robot collisions and falls, and improving response speed and dynamic performance.
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot control technology, and in particular to a closed-loop localization method, system, computer equipment, and storage medium for a mobile robot based on an exponential transfer function. Background Technology
[0002] For mobile robots to perform closed-loop localization, it is necessary to measure the robot's position and determine the robot's speed at the next moment based on the difference between the current actual position and the expected position (position error). Therefore, the control method for position closed-loop localization does not have predictive capabilities. The decision scheme for the robot's speed during localization has a decisive impact on the dynamic performance of the localization process, such as response speed, overshoot, and stability.
[0003] Currently, the most widely used technology is the PID control strategy, where the output velocity equals the sum of the proportional (P), integral (I), and derivative (D) of the position error. The proportional component amplifies the error signal, causing the system to move in the direction that reduces the error; the integral component eliminates the error; and the derivative component dampens the response, reducing overshoot. Experiments are typically conducted by manually adjusting the gain coefficients of these three components to achieve the required dynamic performance for closed-loop positioning.
[0004] However, the physical meaning of the three parameters of PID is not clear, and manual adjustment is quite laborious. They are often adjusted based on experience, and the effect must be verified through physical experiments or simulation experiments for further adjustment. When adjusting the parameters, their effects are mutually antagonistic, making it difficult to achieve optimal dynamic performance, which also brings inconvenience to parameter tuning. Furthermore, the result of the PID control method often contains a certain overshoot, which can easily lead to safety issues in a limited space. If the overshoot is reduced, the response speed will inevitably slow down significantly. Summary of the Invention
[0005] Therefore, it is necessary to provide a method, system, computer device, and storage medium for closed-loop localization of mobile robots based on the exponential transfer function to address the above-mentioned technical problems, thereby solving at least one of the problems existing in the prior art.
[0006] Firstly, a closed-loop localization method for mobile robots based on the exponential transfer function is provided, including:
[0007] Obtain the first initial pose and the first desired pose of the target robot;
[0008] Based on the first initial pose and the first desired pose, determine whether the difference between the first initial pose and the first desired pose is less than a preset threshold.
[0009] If not, construct a closed-loop control model based on the transfer function with an exponential law;
[0010] Based on the closed-loop control model, a closed-loop control strategy for the target robot is generated;
[0011] Based on the closed-loop control strategy, the target robot is controlled to perform closed-loop motion to transform the target robot from the initial pose to the first desired pose.
[0012] In one embodiment, controlling the target robot to perform closed-loop motion based on the closed-loop control strategy to transform the target robot from the initial pose to the first desired pose includes:
[0013] Step a: Obtain the second desired pose and use the first desired pose as the second initial pose;
[0014] Step b: Based on the second initial pose and the second desired pose, determine whether the difference between the second initial pose and the second desired pose is less than the preset threshold;
[0015] Step c: If not, generate a second closed-loop control strategy for the target robot based on the closed-loop control model;
[0016] Step d: Based on the second closed-loop control strategy, control the target robot to perform closed-loop motion to transform the target robot from the second initial pose to the second desired pose;
[0017] Obtain the third desired pose, and use the second desired pose as the second initial pose. Repeat the above steps bd until the target robot is transformed into the target pose.
[0018] In one embodiment, the closed-loop control strategy includes a desired velocity, and controlling the target robot to perform closed-loop motion based on the closed-loop control strategy includes:
[0019] Based on the desired speed, the first speed in the translational state and the second speed in the rotational state of each motor are calculated respectively.
[0020] Based on the first speed and the second speed, the desired speed of each motor is calculated respectively;
[0021] Based on the desired speed of each motor, each motor is controlled separately.
[0022] In one embodiment, generating a closed-loop control strategy for the target robot based on the closed-loop control model includes:
[0023] Based on the difference between the first initial pose and the first desired pose of the target robot, multiple adjustment nodes are constructed according to preset rules;
[0024] Based on the closed-loop control model, the expected speed of the target robot at each of the adjustment nodes is calculated;
[0025] Based on the desired speed of the target robot at each of the adjustment nodes, a first closed-loop control strategy is generated to control the target robot to adjust its speed at the corresponding adjustment nodes according to the desired speed.
[0026] In one embodiment, the initial velocity and approach velocity of the target robot are determined, wherein the approach velocity refers to the velocity when the distance between the current pose of the target robot and the desired pose is less than a preset distance threshold;
[0027] The initial velocity and approach velocity are input into the closed-loop control model to calculate the desired velocity corresponding to each degree of freedom of the target robot.
[0028] Based on the desired speed, the first closed-loop control strategy is generated.
[0029] In one embodiment, the initial velocity is greater than the approach velocity, and the approach velocity is greater than 0.
[0030] In one embodiment, generating a closed-loop control strategy for the target robot based on the closed-loop control model includes:
[0031] Based on the desired pose, obtain the expected values of each degree of freedom of the target robot;
[0032] Based on the initial pose, obtain the initial values of each degree of freedom of the target robot;
[0033] The expected values of each degree of freedom and the initial values are input into the closed-loop control model for calculation, either individually or simultaneously, to generate the closed-loop control strategy corresponding to each degree of freedom of the target robot.
[0034] Secondly, a closed-loop localization system for a mobile robot based on an exponential transfer function is provided, including:
[0035] The pose acquisition unit is used to acquire the first initial pose and the first desired pose of the target robot.
[0036] The difference determination unit is used to determine whether the difference between the first initial pose and the first expected pose is less than a preset threshold based on the first initial pose and the first expected pose.
[0037] The closed-loop control model building unit is used to construct a closed-loop control model based on an exponential transfer function when the judgment result is negative.
[0038] A closed-loop control strategy generation unit is used to generate a closed-loop control strategy for the target robot based on the closed-loop control model.
[0039] The pose conversion unit is used to control the target robot to perform closed-loop motion based on the closed-loop control strategy, so as to convert the target robot from the initial pose to the first desired pose.
[0040] Thirdly, a computer device is provided, including a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor, when executing the computer-readable instructions, implements the steps of the mobile robot closed-loop localization method based on the exponential transfer function as described above.
[0041] Fourthly, a readable storage medium is provided, which stores computer-readable instructions that, when executed by a processor, implement the steps of the mobile robot closed-loop localization method based on the exponential transfer function described above.
[0042] The aforementioned mobile robot closed-loop localization method, system, computer device, and storage medium based on an exponential transfer function include the following steps: acquiring a first initial pose and a first desired pose of the target robot; determining whether the difference between the first initial pose and the first desired pose is less than a preset threshold; if not, constructing a closed-loop control model based on an exponential transfer function; generating a closed-loop control strategy for the target robot based on the closed-loop control model; and controlling the target robot to perform closed-loop motion based on the closed-loop control strategy to transform the target robot from the initial pose to the first desired pose. In this embodiment, closed-loop control of the robot is achieved through an exponential transfer function. By inputting the initial pose and the desired pose, a closed-loop control strategy is constructed to control the robot's closed-loop motion. This enables closed-loop localization of the mobile robot within a finite two-dimensional plane. Furthermore, during localization, overshoot can be minimized to avoid collisions, falls, or other damage to the robot when it approaches a boundary. The method also exhibits fast response and high stability. Attached Figure Description
[0043] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1This is a flowchart illustrating a closed-loop localization method for a mobile robot based on an exponential transfer function according to an embodiment of the present invention.
[0045] Figure 2 This is a schematic diagram of a vx curve in one embodiment of the present invention. Figure 1 ;
[0046] Figure 3 This is a schematic diagram of a vx curve in one embodiment of the present invention. Figure 2 ;
[0047] Figure 4 This is a schematic diagram of a closed-loop positioning system for a mobile robot based on an exponential transfer function in one embodiment of the present invention.
[0048] Figure 5 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation
[0049] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0050] In one embodiment, such as Figure 1 As shown, a closed-loop localization method for mobile robots based on the exponential transfer function is provided, including the following steps:
[0051] In step S110, the first initial pose and the first desired pose of the target robot are obtained;
[0052] In the embodiments of this application, the first initial pose refers to the current real-time pose of the target robot, such as (x, y, θ). The (x, y, θ) may include three independent variables, where x and y represent position and θ represents attitude. That is, three degrees of freedom. It can be understood that the pose may also include multiple degrees of freedom, such as 6 degrees of freedom, 7 degrees of freedom, etc. The specific settings can be made according to the actual situation, and this application does not limit it.
[0053] One approach is to continuously capture the pose of the target robot in real time using a camera, construct an image coordinate system, determine the coordinate positions of the key points of the target robot in the image, determine the pose of the target robot in the image based on the coordinate positions, and then transform it into the robot coordinate system to obtain the pose of the target robot in the robot coordinate system, thereby obtaining the current pose of the target robot.
[0054] As another approach, the current pose of the target robot can be obtained through pre-set planar position sensors, such as linear displacement sensors and angular displacement sensors, to detect the displacement and rotation angle of the target robot and thus determine its current pose.
[0055] One approach is to collect historical movement data of the robot and construct training samples. These training samples are then used to iteratively train a pose prediction model, such as a Transformer model. When the iterative convergence condition is met, a trained pose prediction model is obtained. The current movement data of the target robot can then be acquired. Through feature engineering, this current movement data is converted into a current movement vector, which is then input into the trained pose prediction model for prediction processing to obtain the current pose of the target robot. This movement data can be captured image data or pose data from a past period.
[0056] Understandably, when using pose data as prediction data, the current pose at the current moment can be predicted by using the pose data of the robot in the past period, such as one minute before the current moment. Based on the prediction result, it can be compared with the actual pose again. For example, the similarity can be calculated by Euclidean distance to determine whether the similarity between the two is greater than a preset threshold, such as 90%. If so, the prediction result can be used as the current pose; otherwise, the prediction is repeated.
[0057] Furthermore, to avoid errors in current pose recognition, pose determination can be performed simultaneously using multiple methods, and then the pose with the highest similarity can be selected as the current pose.
[0058] In this embodiment, the first desired pose can be determined based on the robot's driving strategy and boundary position. The driving strategy may include the direction of movement, position of movement, and rotation position of the robot's various parts and as a whole. For example, when it is necessary to perform a grasping action, the motion planning strategy may be the direction of movement, position of movement, and rotation position of the robotic arm. Alternatively, the first desired pose can also be set manually.
[0059] In this embodiment of the application, environmental information can be collected, and virtual boundary information can be created based on the environmental information to obtain the shape information of the robot. Based on the shape information, the robot's activity space can be determined, such as the space required for rotation, the coordinate value of the robot's maximum cross-sectional area when moving, etc., to determine its required space, etc. Then, based on the virtual boundary information and the activity space, the goal is to avoid touching the virtual boundary and minimize the distance between the robot and the virtual boundary, so as to determine the first desired pose.
[0060] In step S120, based on the first initial pose and the first desired pose, determine whether the difference between the first initial pose and the first desired pose is less than a preset threshold;
[0061] In an embodiment of the present application, after obtaining the first initial pose and the first desired pose, the difference between the first initial pose and the first desired pose can be calculated. For example, the difference between the initial value and the expected value of each degree of freedom can be calculated separately. Taking the initial position x as an example, the expected position is x0, and calculate whether the difference between the two is less than the threshold, that is, |x - x0| < thres, where thres represents the preset threshold. The initial position x and the expected position x0 can be the position coordinates of the robot in the world coordinate system, that is, the position coordinates in the environment where it is located.
[0062] In step S130, if not, based on the transfer function of the exponential law, construct a closed-loop control model;
[0063] In an embodiment of the present application, when the difference between the first initial pose and the first desired pose is less than the preset threshold, it means that no pose conversion is required. At this time, the speed of multiple degrees of freedom can be set to zero to brake the robot. Otherwise, a closed-loop control model can be constructed based on the transfer function of the exponential law.
[0064] Among them, the closed-loop control model can be specifically expressed by the following formula:
[0065]
[0066] Among them, sgn(x) is the sign function, v1 and v2 are speed parameters, v1 > v2 > 0, and the v - x curve is as Figure 2 、 Figure 3 shown, Figure 2 The figure indicates x0 > 0; Figure 3 Figure: x0 < 0. The vertical axis of this curve represents the speed v, and the horizontal axis represents the initial pose x.
[0067] Among them, v1 = F(0, x0), v2 = |F(x0, x0)|. v1 is the starting speed, and v2 is the approaching speed. The approaching speed means that when the robot performs position closed-loop motion according to this exponential law, the initial speed is v1, and the speed when approaching the desired position is v2. Therefore, when using this exponential law, the physical meaning of the parameters is clear, and it is easy to set and debug the parameters; at the same time, the speed of the robot when approaching the desired position is low, which can greatly reduce or eliminate overshoot, and it is easy to make the robot position closed-loop control have both fast response and no overshoot performance by appropriately increasing v1 and decreasing v2.
[0068] In step S140, based on the closed-loop control model, generate the first closed-loop control strategy for the target robot;
[0069] In this embodiment of the application, the speed of the target robot can be calculated through the above closed-loop control model. The speed may include multiple speeds, that is, the speed corresponding to each degree of freedom. Based on the speed, a speed adjustment strategy for each degree of freedom can be generated as the first closed-loop control strategy.
[0070] In this embodiment of the application, the first closed-loop control strategy may include the desired speed corresponding to each degree of freedom, as well as the adjustment sequence and adjustment time of the degree of freedom, such as completing the adjustment within 1 second.
[0071] Here, the desired velocity refers to the robot's x-axis velocity v in the robot coordinate system. x y-axis velocity v y The pose is the world coordinate system pose, which can be understood as the desired velocity of each degree of freedom in the robot coordinate system can be output by inputting the world coordinate system pose.
[0072] In step S150, based on the first closed-loop control strategy, the target robot is controlled to perform closed-loop motion to transform the target robot from the initial pose to the first desired pose.
[0073] In this embodiment, based on the generated first closed-loop control strategy, the desired velocity of each degree of freedom can be converted into the desired velocity of each motor of the robot through inverse kinematics calculation. The speed servo of the robot is completed through the speed loop implemented inside the motor, thereby realizing the speed adjustment of each degree of freedom of the target robot so as to transform the target robot from the initial pose to the first desired pose.
[0074] In this embodiment, during the pose transformation process, the robot can detect the environment in real time, such as using ultrasonic sensors and vision sensors, to determine whether there are obstacles around, such as temporarily appearing objects, people, steps, etc., that may obstruct the robot's movement or rotation. If the robot stops moving and outputs an alarm message, and the obstacle is not cleared within a preset time range, the path can be replanned based on the location of the obstacle, the desired pose can be redefined based on the replanned path, and the closed-loop control strategy can be generated again based on the redefined desired pose.
[0075] Furthermore, when the robot's initial pose changes, the robot's current pose can be obtained as the initial pose, or the robot's pose can be reverted to the initial pose before generating the first closed-loop control strategy based on the newly determined desired pose.
[0076] This application provides a closed-loop localization method for a mobile robot based on an exponential transfer function, comprising: acquiring a first initial pose and a first desired pose of a target robot; determining whether the difference between the first initial pose and the first desired pose is less than a preset threshold; if not, constructing a closed-loop control model based on an exponential transfer function; generating a first closed-loop control strategy for the target robot based on the closed-loop control model; and controlling the target robot to perform closed-loop motion based on the first closed-loop control strategy to transform the target robot from the initial pose to the first desired pose. In this application embodiment, closed-loop control of the robot is achieved through an exponential transfer function. By inputting the initial pose and the desired pose, a closed-loop control strategy is constructed to control the robot's closed-loop motion. This enables closed-loop localization of the mobile robot within a finite two-dimensional plane. Furthermore, during the localization process, overshoot can be minimized to avoid collisions, falls, or other damage to the robot when it approaches a boundary. The method also features fast response and high stability.
[0077] In one embodiment of this application, generating a first closed-loop control strategy for the target robot based on the closed-loop control model includes:
[0078] Based on the difference between the first initial pose and the first desired pose of the target robot, multiple adjustment nodes are constructed according to preset rules;
[0079] Based on the closed-loop control model, the expected speed of the target robot at each of the adjustment nodes is calculated;
[0080] Based on the desired speed of the target robot at each of the adjustment nodes, a first closed-loop control strategy is generated to control the target robot to adjust its speed at the corresponding adjustment nodes according to the desired speed.
[0081] Specifically, based on the difference between the first initial pose and the first desired pose of the target robot, multiple adjustment nodes can be constructed according to time points, distance points, angle points, etc. These adjustment nodes are used as speed adjustment points, that is, speed adjustment is performed between adjacent adjustment points. For example, taking the initial position x and the desired position x0 as an example, the difference between the two positions, i.e., the distance, can be used to construct multiple distance nodes as adjustment nodes. Based on the closed-loop control model, the desired speed of the target robot at each of the adjustment nodes can be calculated to control the target robot to perform closed-loop motion at the corresponding adjustment nodes according to the desired speed. In this application, the initial pose and desired pose in each cycle can be further divided into nodes, and the speed between each node can be calculated and determined, thereby dynamically adjusting the multi-degree-of-freedom speed between the initial pose and desired pose in each cycle, which can make the speed adjustment more accurate and stable.
[0082] In one embodiment of this application, generating a first closed-loop control strategy for the target robot based on the closed-loop control model includes:
[0083] Determine the initial velocity and approach velocity of the target robot, wherein the approach velocity is the velocity at which the distance between the current pose and the desired pose of the target robot is less than a preset distance threshold;
[0084] The initial velocity and approach velocity are input into the closed-loop control model to calculate the desired velocity corresponding to each degree of freedom of the target robot.
[0085] Based on the desired speed, the first closed-loop control strategy is generated.
[0086] Specifically, the initial speed and approach speed can be set manually or automatically by the system. By setting these initial and approach speeds, the robot's speed can be kept as low as possible when approaching the desired position, thus greatly reducing or eliminating overshoot. The desired speed can be obtained by inputting the initial and approach speeds into the following formula.
[0087]
[0088] Where sgn(x) is the sign function, v1 is the initial velocity, and v2 is the approach velocity.
[0089] The initial velocity is greater than the approach velocity, and the approach velocity is greater than 0. By appropriately increasing v1 and decreasing v2, the robot's position closed-loop control achieves both fast response and no overshoot.
[0090] In an embodiment of the present application, after controlling the target robot to perform closed-loop motion based on the closed-loop control strategy to convert the target robot from the initial pose to the first desired pose, the following steps are included:
[0091] Step a: Obtain the second desired pose and use the first desired pose as the second initial pose;
[0092] Step b: Based on the second initial pose and the second desired pose, determine whether the difference between the second initial pose and the second desired pose is less than the preset threshold;
[0093] Step c: If not, generate a second closed-loop control strategy for the target robot based on the closed-loop control model;
[0094] Step d: Control the target robot to perform closed-loop motion based on the second closed-loop control strategy to convert the target robot from the second initial pose to the second desired pose;
[0095] Obtain the third desired pose, use the second desired pose as the second initial pose, and repeatedly execute the above steps b - d until the target robot is converted to the target pose.
[0096] Specifically, during the pose adjustment process of the robot, it can be divided into multiple control cycles. In each control cycle, there is an initial pose and a desired pose. For example, in the first cycle, obtain the first initial pose and the first desired pose, then construct a closed-loop control model, and generate a first closed-loop control strategy through this model, so as to convert the first initial pose to the first desired pose. Then use this first desired pose as the initial pose of the next control cycle, and obtain the desired pose of the next cycle again, and then perform the closed-loop motion adjustment of the next cycle until the target robot is converted to the target pose.
[0097] Among them, the control cycle can be divided according to time, distance, rotation angle, etc.
[0098] It can be understood that in each control cycle, when v2T < thres, the robot will jump out of the loop braking before entering the dead zone |x - x0| < thres and crossing the desired position x, so as to ensure that there is no overshoot in positioning.
[0099] In the embodiment of the present application, not only can multiple control cycles be constructed, and the desired speed of each degree of freedom can be calculated and adjusted in each control cycle, but also the division of adjustment nodes can be performed again in each control cycle, and the desired speed of each node can be calculated, so as to form a continuous speed change adjustment strategy, which can improve the accuracy of speed adjustment.
[0100] Understandably, in each control cycle, there exists an initial velocity and an approach velocity, and the initial velocity and approach velocity may be different in each cycle.
[0101] In this embodiment of the application, the closed-loop control strategy includes a desired velocity, and controlling the target robot to perform closed-loop motion based on the first closed-loop control strategy includes:
[0102] Based on the desired speed, the first speed in the translational state and the second speed in the rotational state of each motor are calculated respectively.
[0103] Based on the first speed and the second speed, the desired speed of each motor is calculated respectively;
[0104] Based on the desired speed of each motor, each motor is controlled separately.
[0105] Specifically, the desired velocity can include desired velocities of multiple degrees of freedom. Taking three degrees of freedom (x, y, θ) as an example, the x-axis velocity v can be obtained separately. x y-axis velocity v y And angular velocity ω, taking four motors as an example, for instance, L1, L2, R1, and R2 are respectively positioned at the upper left, lower left, upper right, and lower right of the robot's top-down view, and can be used to control the rotation of the robot's Mecanum wheels. Then, in the translational state, the speed of the motor can be expressed as:
[0106] v R1 (translation) = v x -v y ;
[0107] v R2 (Translation) = -v x -v y ;
[0108] v l1 (translation) = v x +v y ;
[0109] v l2 (Translation) = -v x +v y ;
[0110] When the motor is rotating, its speed can be expressed as:
[0111] v R1 (rotation) = -(x+y)Ω;
[0112] v R2 (rotation) = -(x+y)Ω;
[0113] vl1 (rotation) = -(x+y)Ω;
[0114] v l2 (rotation) = -(x+y)Ω;
[0115] Therefore, using the above formula, the desired speed of each motor can be obtained as follows:
[0116] v R1 =v x -v y -(x+y)Ω;
[0117] v R2 =-v x -v y -(x+y)Ω;
[0118] v l1 =v x +v y -(x+y)Ω;
[0119] v l2 =-v x +v y -(x+y)Ω;
[0120] Based on the desired speed of each motor, a speed loop is implemented within each motor to achieve speed servoing for the robot.
[0121] It's understandable that different robots have different structures, so the number and location of the motors will also differ.
[0122] In this embodiment of the application, generating a first closed-loop control strategy for the target robot based on the closed-loop control model includes:
[0123] Based on the desired pose, obtain the expected values of each degree of freedom of the target robot;
[0124] Based on the initial pose, obtain the initial values of each degree of freedom of the target robot;
[0125] The expected values of each degree of freedom and the initial values are input into the closed-loop control model for calculation, either individually or simultaneously, to generate the closed-loop control strategy corresponding to each degree of freedom of the target robot.
[0126] Specifically, the desired pose can be input into the closed-loop control model, which decomposes and calculates the desired pose to obtain the desired velocity for each degree of freedom. Alternatively, the desired pose can be directly decomposed to obtain position parameters x, y and attitude parameters θ. These position and attitude parameters can then be input into the closed-loop control model to obtain the desired velocity for each degree of freedom. Based on these desired velocities, a closed-loop control strategy for each degree of freedom can be generated.
[0127] In this embodiment, the robot is controlled in a closed loop using an exponential transfer function. By inputting the initial pose and the desired pose, a closed-loop control strategy is constructed to control the robot's closed-loop motion. This enables the mobile robot to achieve closed-loop positioning within a finite two-dimensional plane. During the positioning process, the overshoot can be minimized to avoid collisions, falls, or other damage to the robot when it approaches the boundary. Furthermore, the response speed is fast and the stability is high.
[0128] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0129] In one embodiment, a mobile robot closed-loop localization system based on the exponential transfer function is provided, which corresponds one-to-one with the mobile robot closed-loop localization method based on the exponential transfer function in the above embodiments. For example... Figure 4 As shown, the mobile robot closed-loop localization device based on the exponential transfer function includes a pose acquisition unit 10, a difference determination unit 20, a closed-loop control model construction unit 30, a closed-loop control strategy generation unit 40, and a pose conversion unit 50. Detailed descriptions of each functional module are as follows:
[0130] The pose acquisition unit 10 is used to acquire the first initial pose and the first desired pose of the target robot.
[0131] The difference determination unit 20 is used to determine whether the difference between the first initial pose and the first expected pose is less than a preset threshold based on the first initial pose and the first expected pose.
[0132] The closed-loop control model building unit 30 is used to build a closed-loop control model based on the exponential transfer function when the judgment result is negative.
[0133] The closed-loop control strategy generation unit 40 is used to generate a first closed-loop control strategy for the target robot based on the closed-loop control model.
[0134] The pose conversion unit 50 is used to control the target robot to perform closed-loop motion based on the first closed-loop control strategy, so as to convert the target robot from the initial pose to the first desired pose.
[0135] In one embodiment of this application, the system further includes a loop unit for:
[0136] Step a: Obtain the second desired pose and use the first desired pose as the second initial pose;
[0137] Step b: Based on the second initial pose and the second desired pose, determine whether the difference between the second initial pose and the second desired pose is less than the preset threshold;
[0138] Step c: If not, generate a second closed-loop control strategy for the target robot based on the closed-loop control model;
[0139] Step d: Based on the second closed-loop control strategy, control the target robot to perform closed-loop motion to transform the target robot from the second initial pose to the second desired pose;
[0140] Obtain the third desired pose, and use the second desired pose as the second initial pose. Repeat the above steps bd until the target robot is transformed into the target pose.
[0141] In one embodiment of this application, the first closed-loop control strategy includes a desired velocity, and the pose conversion unit 50 is further configured to:
[0142] Based on the desired speed, the first speed in the translational state and the second speed in the rotational state of each motor are calculated respectively.
[0143] Based on the first speed and the second speed, the desired speed of each motor is calculated respectively;
[0144] Based on the desired speed of each motor, each motor is controlled separately.
[0145] In one embodiment of this application, the closed-loop control strategy generation unit 40 is further configured to:
[0146] Based on the difference between the first initial pose and the first desired pose of the target robot, multiple adjustment nodes are constructed according to preset rules;
[0147] Based on the closed-loop control model, the expected speed of the target robot at each of the adjustment nodes is calculated;
[0148] Based on the desired speed of the target robot at each of the adjustment nodes, a first closed-loop control strategy is generated to control the target robot to adjust its speed at the corresponding adjustment nodes according to the desired speed.
[0149] In one embodiment of this application, the closed-loop control strategy generation unit 40 is further configured to:
[0150] Determine the initial velocity and approach velocity of the target robot, wherein the approach velocity is the velocity at which the distance between the current pose and the desired pose of the target robot is less than a preset distance threshold;
[0151] The initial velocity and approach velocity are input into the closed-loop control model to calculate the desired velocity corresponding to each degree of freedom of the target robot.
[0152] Based on the desired speed, the first closed-loop control strategy is generated.
[0153] In one embodiment of this application, the initial velocity is greater than the approach velocity, and the approach velocity is greater than 0.
[0154] In one embodiment of this application, the closed-loop control strategy generation unit 40 is further configured to:
[0155] Based on the desired pose, obtain the expected values of each degree of freedom of the target robot;
[0156] Based on the initial pose, obtain the initial values of each degree of freedom of the target robot;
[0157] The expected values of each degree of freedom and the initial values are input into the closed-loop control model for calculation, either individually or simultaneously, to generate the closed-loop control strategy corresponding to each degree of freedom of the target robot.
[0158] In this embodiment, the robot is controlled in a closed loop using an exponential transfer function. By inputting the initial pose and the desired pose, a closed-loop control strategy is constructed to control the robot's closed-loop motion. This enables the mobile robot to achieve closed-loop positioning within a finite two-dimensional plane. During the positioning process, the overshoot can be minimized to avoid collisions, falls, or other damage to the robot when it approaches the boundary. Furthermore, the response speed is fast and the stability is high.
[0159] Specific limitations regarding the mobile robot closed-loop localization device based on the exponential transfer function can be found in the limitations of the mobile robot closed-loop localization method based on the exponential transfer function mentioned above, and will not be repeated here. Each module in the aforementioned mobile robot closed-loop localization device based on the exponential transfer function can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0160] In one embodiment, a computer device is provided, which may be a terminal device, and its internal structure diagram may be as follows: Figure 5 As shown, the computer device includes a processor, memory, and network interface connected via a system bus. The processor provides computational and control capabilities. The memory includes a readable storage medium storing computer-readable instructions. The network interface communicates with external terminals via a network connection. When executed by the processor, the computer-readable instructions implement a closed-loop localization method for a mobile robot based on an exponential transfer function. The readable storage medium provided in this embodiment includes both non-volatile and volatile readable storage media.
[0161] In this application embodiment, a computer device is provided, including a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor. When the processor executes the computer-readable instructions, it implements the steps of the mobile robot closed-loop localization method based on the exponential transfer function as described above.
[0162] In one embodiment of the application, a readable storage medium is provided, which stores computer-readable instructions. When executed by a processor, the computer-readable instructions implement the steps of the mobile robot closed-loop localization method based on the exponential transfer function described above.
[0163] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a non-volatile readable storage medium or a volatile readable storage medium. When executed, these computer-readable instructions can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0164] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0165] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A closed-loop localization method for a mobile robot based on an exponential transfer function, characterized in that, include: Obtain the first initial pose and the first desired pose of the target robot; Based on the first initial pose and the first desired pose, determine whether the difference between the first initial pose and the first desired pose is less than a preset threshold. If not, construct a closed-loop control model based on the transfer function with an exponential law; Based on the closed-loop control model, a first closed-loop control strategy for the target robot is generated, wherein the first closed-loop control strategy includes the desired velocity. Based on the first closed-loop control strategy, controlling the target robot to perform closed-loop motion includes: calculating the first speed in the translational state and the second speed in the rotational state of each motor based on the desired speed; calculating the desired speed of each motor based on the first speed and the second speed; and controlling each motor based on the desired speed of each motor to transform the target robot from the first initial pose to the first desired pose. Step a: Obtain the second desired pose and use the first desired pose as the second initial pose; Step b: Based on the second initial pose and the second desired pose, determine whether the difference between the second initial pose and the second desired pose is less than the preset threshold; Step c: If not, generate a second closed-loop control strategy for the target robot based on the closed-loop control model; Step d: Based on the second closed-loop control strategy, control the target robot to perform closed-loop motion to transform the target robot from the second initial pose to the second desired pose; Obtain the third desired pose, and use the second desired pose as the third initial pose. Repeat step bd until the target robot is transformed into the target pose.
2. The mobile robot closed-loop localization method based on exponential transfer function as described in claim 1, characterized in that, The generation of the first closed-loop control strategy for the target robot based on the closed-loop control model includes: Based on the difference between the first initial pose and the first desired pose of the target robot, multiple adjustment nodes are constructed according to preset rules; Based on the closed-loop control model, the expected speed of the target robot at each of the adjustment nodes is calculated; Based on the desired speed of the target robot at each of the adjustment nodes, a first closed-loop control strategy is generated to control the target robot to adjust its speed at the corresponding adjustment nodes according to the desired speed.
3. The mobile robot closed-loop localization method based on exponential transfer function as described in claim 1, characterized in that, The generation of the first closed-loop control strategy for the target robot based on the closed-loop control model includes: Based on the first desired pose, obtain the desired values of each degree of freedom of the target robot; Based on the first initial pose, obtain the initial values of each degree of freedom of the target robot; The expected values of each degree of freedom and the initial values are input into the closed-loop control model for calculation, either individually or simultaneously, to generate the closed-loop control strategy corresponding to each degree of freedom of the target robot.
4. A closed-loop positioning system for a mobile robot based on an exponential transfer function, characterized in that, A method for implementing the mobile robot closed-loop localization method based on the exponential transfer function as described in any one of claims 1 to 3 includes: The pose acquisition unit is used to acquire the first initial pose and the first desired pose of the target robot. The difference determination unit is used to determine whether the difference between the first initial pose and the first expected pose is less than a preset threshold based on the first initial pose and the first expected pose. The closed-loop control model building unit is used to construct a closed-loop control model based on an exponential transfer function when the judgment result is negative. A closed-loop control strategy generation unit is used to generate a first closed-loop control strategy for the target robot based on the closed-loop control model. The pose conversion unit is used to control the target robot to perform closed-loop motion based on the first closed-loop control strategy, so as to convert the target robot from the first initial pose to the first desired pose.
5. A computer device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, characterized in that, When the processor executes the computer-readable instructions, it implements the steps of the mobile robot closed-loop localization method based on the exponential transfer function as described in any one of claims 1 to 3.
6. A readable storage medium storing computer-readable instructions, characterized in that, When the computer-readable instructions are executed by the processor, they implement the steps of the mobile robot closed-loop localization method based on the exponential transfer function as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Control system and method capable of realizing autonomous navigation and precise positioning of mobile robot
CN110262495A
Robot positioning method and device, intelligent robot and storage medium
CN112711249A