Motion control method of curling robot
Through deep learning-based curling ball position estimation network and adaptive optimization algorithm, the problem of insufficient situation analysis capabilities of curling robots in the competition is solved, and higher throwing accuracy and strategic decision-making capabilities are achieved.
Patent Information
- Application Number
- CN202411671570.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-21
- Publication Date
- 2025-02-25
AI Technical Summary
The existing curling robots have limited ability to analyze the situation during the game and cannot automatically optimize the throwing strategy and control algorithms based on the real-time position and field conditions of the curling ball, resulting in insufficient control accuracy and strategy decision-making capabilities.
A deep learning-based curling ball position estimation network is used, combining depth sensors and iterative nearest point algorithms to obtain the position information of curling balls in real time, and dynamically generate the optimal throwing strategy through an adaptive optimization algorithm.
It significantly improves the throwing accuracy and strategic decision-making capabilities of the curling robot, provides more effective throwing strategy reference, and improves the overall tactical level.
Smart Images

Figure CN119499624A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of deep learning and intelligent control technology, and in particular to a motion control method for a curling robot, applicable to curling robots, intelligent motion systems and related automated decision-making fields. Background Technology
[0002] Curling is a sport that demands high precision in control and strategic planning; accurate throws and sound strategic planning directly determine the outcome. Existing curling robots have limited ability to analyze the situation during matches and cannot automatically optimize throwing strategies and control algorithms based on the real-time position of the curling puck and the playing surface conditions, thus limiting their performance in actual competitions. To address these issues, this invention proposes a motion control method for curling robots based on deep learning. By accurately acquiring the position information of the curling puck using deep learning technology and combining it with an adaptive optimization algorithm, a throwing strategy is dynamically generated based on the real-time scene, improving the control precision and strategic decision-making ability of the curling robot. Summary of the Invention
[0003] The purpose of this invention is to address the problems in existing technologies by proposing a motion control method for a curling robot. This method uses deep learning technology to acquire the position information of the curling ball in real time and combines it with an adaptive optimization algorithm to dynamically generate the optimal throwing strategy. This method not only improves the throwing accuracy of the curling robot during competitions but also provides strategic references for athletes, enhancing their overall tactical level.
[0004] This invention is achieved through the following technical solution: This invention proposes a motion control method for a curling robot, the method comprising the following steps:
[0005] Step 1: Obtain curling ball position information: A deep learning-based curling ball position estimation network is used, combined with depth sensors and the iterative nearest point algorithm for fine-tuning, to calculate the current position information of the curling balls in the house.
[0006] Step 2: Generate curling ball throwing strategy: By obtaining the curling ball throwing strategy requirements for the current round and the current position information of the curling ball on the ice, the optimal throwing target position of the curling ball is generated. That is, all throwing schemes are transformed into feasible solutions of an adaptive optimization algorithm, and the value evaluation function value of the feasible solution is calculated. The optimal throwing scheme is the throwing scheme with the maximum value evaluation function value obtained by solving the optimization algorithm.
[0007] Step 3: Execute the curling robot's throwing action: Based on the optimal target position of the curling ball and the current position information of the curling ball, calculate the initial velocity, throwing direction and rotation angle of the curling ball to generate the necessary instructions for throwing and control the curling robot to complete the throwing action.
[0008] Further, in step 1, the construction of the curling ball position estimation network is specifically as follows: the estimation network consists of an encoder, a decoder, and a regression layer; a color image of the curling ball is captured by a camera and input into the encoder, the encoder extracts features from the input image, and then processes it through the regression layer to predict the position information of the curling ball; the decoder generates a segmented image through upsampling, further optimizes the position prediction result, and then predicts the position information of the curling ball again through the regression layer.
[0009] Furthermore, in step 1, a loss function is established, and the error of the location estimation network is optimized using the following loss function:
[0010] Loss=λ1||T true -T pred ||+λ2·arccos(2·max( true ,q pred >,0) 2 -1)
[0011] Where λ1 and λ2 are the weighting coefficients for the position and attitude loss of the curling puck, respectively; q true and q pred For both real and predicted quaternions; to solve the problem of dual representation of quaternions, the maximum value of the inner product is taken as max( true ,q pred >,0) to eliminate ambiguity.
[0012] Furthermore, in the iterative nearest point algorithm in step 1, point cloud alignment and optimization are required. Specifically, the point cloud is aligned and optimized using the depth map and geometric features of the curling ball to minimize the error between the curling ball template point cloud and the depth camera point cloud information.
[0013]
[0014] Among them, P i P represents a point in the point cloud of a curling ball template. i ' is the actual point in the point cloud of the target curling ball; R is the rotation matrix; t is the translation vector; by minimizing the error, the rotation matrix R and the translation vector t are optimized to accurately estimate the position and attitude of the curling ball;
[0015] The position information P of the curling ball in the camera coordinate system camera Through the external parameter matrix R cam2world Translation vector t cam2world Position information P converted to world coordinate system world :
[0016] P world =R cam2world P camera +tcam2world
[0017] Based on deep learning, the position estimation of the curling ball and the fine-tuning of the nearest point are combined with coordinate transformation to finally obtain the three-dimensional position information of the curling ball in the world coordinate system.
[0018] Furthermore, step 2 specifically includes:
[0019] Step 2.1: Select optimization parameters;
[0020] Population size: In the process of optimizing throwing strategies, the population size N is first determined, which is the number of individuals used for the throwing strategy evaluation;
[0021] Maximum number of iterations: Sets the maximum number of iterations T for the optimization algorithm. max This controls the running time of the algorithm;
[0022] Search space dimension: Determine the dimension D of the search space based on multiple variables of the throwing strategy;
[0023] Fitness function: A fitness function is set to evaluate the merits of each throwing strategy. The fitness function is used as a value evaluation function, which is a weighted sum of the score of one's own stone when the stone reaches the target position, the distance of each stone from the house and the value of the stone throwing strategy to obtain the value evaluation function expression.
[0024] Step 2.2: Design the fitness function:
[0025] Score(Df,Cl,Jx)=W iq ·S i +W ir ·F ir +∑W ix ·J ix
[0026] Among them, W iq S represents the weight value of the score for the i-th throw in this game. i This indicates the number of curling balls in your house that are closer to the center than any opponent's curling ball when the ball reaches the target position in this round; W ir F represents the weight value of curling ball r associated with the i-th throw strategy in this game; ir W represents the effect on curling ball r when the i-th throw of the curling ball reaches the target position in this match; ix J represents the weight value of each curling ball's position x after the i-th throw, sorted by distance from the ball to the house in ascending order; ix Let x represent the order of the distances from the i-th curling ball to the house, sorted from smallest to largest, after the i-th throw.
[0027] Step 2.3: Calculate the value assessment function of feasible solutions; sort all throwing strategies in ascending order; select the top-ranked strategies from the sorted list. Individual A in a population i =S i (i = 1, 2, 3, ..., P), select the remaining ones. Individuals in a population
[0028] Step 2.4: Solution Position Update; In each iteration, the optimal individual is selected based on the maximum value of the value evaluation function, and the solution position is calculated after each iteration; the formula is as follows:
[0029]
[0030] in, This indicates the final position of the solution after this round of iterations; each iteration will calculate a new solution position, gradually approaching the optimal solution; `ave` indicates balancing the current optimal solution. and random exploration solution The average value, the search process combines local search and global exploration;
[0031] During the iterative process of optimizing the algorithm, to ensure that the throwing strategy is within a reasonable range, the boundary conditions are constrained by the following formula:
[0032]
[0033] Among them, c t and d t Let represent the minimum and maximum values of all variables in the t-th iteration, respectively; T is the maximum number of iterations; γ is the parameter for adjusting the development accuracy level; h is the parameter for adjusting the continuous convergence angle; λ is the parameter for adjusting the iteration; and I is the scaling factor of the projection strategy, used to adjust the size of the solution to ensure that the update speed of the solution is within a reasonable range.
[0034] Furthermore, in step 3, it is necessary to obtain the position information of the curling ball and the target position to determine the initial conditions for the throwing task, specifically:
[0035] The current state of the curling ball is represented as follows: x, y are the current position coordinates. The current angle at which the curling puck is pointing;
[0036] The state of the target curling ball is represented as follows: x r ,y r The target location coordinates, The target curling ball is pointed at an angle;
[0037] State error:
[0038] Further, in step 3, the throwing parameters are calculated, specifically: based on the distance between the current position of the curling puck and the target position, the initial velocity, throwing direction, and rotation angle required for the throw are calculated;
[0039] The kinematic model of curling is: v is the forward speed of the curling ball, δ is the turning angle, and L is the wheelbase of the front and rear wheels of the curling robot;
[0040] The throwing control command is: u = [v, δ] T v is the forward velocity, and δ is the turning angle;
[0041] Reference trajectory X r The state changes are as follows: Where u r =[v r ,δ r ] T It is a reference control input;
[0042] The dynamic changes in the error state are as follows:
[0043] Linearized error dynamic equation: It is a linearized matrix;
[0044] Throwing parameter calculation: based on state error The required initial velocity v, throwing direction angle θ, and rotation angle are generated. And satisfy dynamic constraints: u min ≤u≤u max .
[0045] Furthermore, in step 3, a throwing command is generated and executed. Specifically, a throwing command is generated, including speed and direction, to control the curling robot to perform the throwing task, and the throwing trajectory is monitored in real time by sensors to ensure that the curling ball accurately reaches the target position.
[0046] To ensure that the trajectory tracking error is minimized, the objective function J(k) is defined to optimize at time k:
[0047]
[0048] Where, N p To predict the time domain length, N u To control the time domain length, Q is the trajectory error weighting coefficient, R is the control increment weighting coefficient, ε is the slack variable, and ρ is the slack variable weighting coefficient.
[0049] The throwing control command is obtained through objective function optimization: u = [v, δ] T v is the forward speed, and δ is the turning angle;
[0050] During the throwing process, the current position X is updated in real time, the trajectory deviation X~ is monitored, and the control input u is corrected. r The task is complete when ||≤ε.
[0051] The present invention also proposes an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the motion control method for a curling robot.
[0052] The present invention also proposes a computer-readable storage medium for storing computer instructions, which, when executed by a processor, implement the steps of the motion control method for a curling robot.
[0053] Compared with the prior art, the beneficial effects of the present invention are:
[0054] Compared to existing technologies, the target position obtained through this optimization process has a higher probability of optimality, which can significantly improve the training and competition capabilities of curling robots, lay the foundation for the accurate throwing of curling robots, and provide curling athletes with more effective throwing strategy learning, helping them to throw curling balls with a higher scoring rate in competitions, thus promoting the development of curling. Attached Figure Description
[0055] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0056] Figure 1 This is a flowchart of the motion control method for a curling robot according to the present invention. Detailed Implementation
[0057] 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 embodiments of the present invention, and not all embodiments. 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.
[0058] Combination Figure 1 This invention proposes a motion control method for a curling robot, the method comprising the following steps:
[0059] Step 1: Obtain curling ball position information: A deep learning-based curling ball position estimation network is used, combined with depth sensors and the iterative nearest point algorithm for fine-tuning, to calculate the current position information of the curling balls in the house.
[0060] In step 1, the curling ball position estimation network is constructed as follows: the estimation network consists of an encoder, a decoder, and a regression layer. A color image of the curling ball is captured by a camera and input into the encoder. The encoder extracts features from the input image, which are then processed by the regression layer to predict the curling ball's position. To ensure the network's robustness, the encoder segments the curling ball and the background, automatically filtering out interference information such as lighting and occlusion. The decoder generates a segmented image through upsampling, further optimizing the position prediction result, and then predicts the curling ball's position again through the regression layer. Based on this structure, the position estimation network can accurately output the curling ball's position information even when the input image contains noise, occlusion, or a complex background.
[0061] In step 1, a loss function is established, and the error of the location estimation network is optimized using the following loss function:
[0062] Loss=λ1||T true -T pred ||+λ2·arccos(2·max( true ,q pred >,0) 2 -1)
[0063] Where λ1 and λ2 are the weighting coefficients for the position and attitude loss of the curling puck, respectively; q true and q pred For both real and predicted quaternions; to solve the problem of dual representation of quaternions, the maximum value of the inner product is taken as max( true ,q pred >,0) to eliminate ambiguity.
[0064] In the iterative nearest point algorithm in step 1, point cloud alignment and optimization are required. Specifically, the point cloud is aligned and optimized using the depth map and geometric features of the curling ball to minimize the error between the curling ball template point cloud and the depth camera point cloud information.
[0065]
[0066] Among them, P i P represents a point in the point cloud of a curling ball template. i ' is the actual point in the point cloud of the target curling ball; R is the rotation matrix; t is the translation vector; by minimizing the error, the rotation matrix R and the translation vector t are optimized to accurately estimate the position and attitude of the curling ball;
[0067] The position information P of the curling ball in the camera coordinate system camera Through the external parameter matrix R cam2world Translation vector t cam2world Position information P converted to world coordinate system world :
[0068] P world =R cam2world P camera +t cam2world
[0069] Based on deep learning, the position estimation of the curling ball and the fine-tuning of the iterative nearest point, combined with coordinate transformation, finally obtain the three-dimensional position information of the curling ball in the world coordinate system. This provides support for the precise positioning of the curling robot during the game and passes it to the throwing strategy generation module for further analysis of the situation and determination of the desired throwing target position of the curling ball.
[0070] Step 2: Generate curling ball throwing strategy: By obtaining the curling ball throwing strategy requirements for the current round and the current position information of the curling ball on the ice, the optimal throwing target position of the curling ball is generated. That is, all throwing schemes are transformed into feasible solutions of an adaptive optimization algorithm, and the value evaluation function value of the feasible solution is calculated. The optimal throwing scheme is the throwing scheme with the maximum value evaluation function value obtained by solving the optimization algorithm.
[0071] Step 2 specifically involves:
[0072] Step 2.1: Select optimization parameters;
[0073] Population size: In the process of optimizing throwing strategies, the population size N is first determined, which is the number of individuals used for the throwing strategy evaluation;
[0074] Maximum number of iterations: Sets the maximum number of iterations T for the optimization algorithm. max This controls the running time of the algorithm;
[0075] Search space dimension: The dimension D of the search space is determined based on multiple variables of the throwing strategy;
[0076] Fitness function: A fitness function is set to evaluate the merits of each throwing strategy. The fitness function is used as a value evaluation function, which is a weighted sum of the score of one's own stone when the stone reaches the target position, the distance of each stone from the house and the value of the stone throwing strategy to obtain the value evaluation function expression.
[0077] Step 2.2: Design the fitness function:
[0078] Score(Df,Cl,Jx)=W iq ·S i +W ir ·Fir +∑W ix ·J ix
[0079] Among them, W iq S represents the weight value of the score for the i-th throw in this game. i This indicates the number of curling balls in your house that are closer to the center than any opponent's curling ball when the ball reaches the target position in this round; W ir F represents the weight value of curling ball r associated with the i-th throw strategy in this game; ir W represents the effect on curling ball r when the i-th throw of the curling ball reaches the target position in this match; ix J represents the weight value of each curling ball's position x after the i-th throw, sorted by distance from the ball to the house in ascending order; ix Let x represent the order of the distances from the i-th curling ball to the house, sorted from smallest to largest, after the i-th throw.
[0080] Step 2.3: Calculate the value assessment function of feasible solutions; sort all throwing strategies in ascending order; select the top-ranked strategies from the sorted list. Individual A in a population i =S i (i = 1, 2, 3, ..., P), select the remaining ones. Individuals in a population
[0081] Step 2.4: Solution Position Update; In each iteration, the optimal individual is selected based on the maximum value of the value evaluation function, and the solution position is calculated after each iteration; the formula is as follows:
[0082]
[0083] in, This indicates the final position of the solution after this round of iterations; each iteration will calculate a new solution position, gradually approaching the optimal solution; `ave` indicates balancing the current optimal solution. and random exploration solution The average value, the search process combines local search and global exploration;
[0084] During the iterative process of optimizing the algorithm, to ensure that the throwing strategy is within a reasonable range, the boundary conditions are constrained by the following formula:
[0085]
[0086] Among them, c t and d tLet represent the minimum and maximum values of all variables in the t-th iteration, respectively; T is the maximum number of iterations; γ is the parameter for adjusting the development accuracy level; h is the parameter for adjusting the continuous convergence angle; and λ is the iteration adjustment parameter. I is the scaling factor of the algorithm, used to adjust the size of the solution and ensure that the update speed of the solution is within a reasonable range. By using the above scaling factor, the original discontinuous boundary scaling factor can be transformed into a continuous boundary scaling factor, thereby increasing the ergodicity of the algorithm.
[0087] Step 3: Execute the curling robot's throwing action: Based on the optimal target position of the curling ball and the current position information of the curling ball, calculate the initial velocity, throwing direction and rotation angle of the curling ball to generate the necessary instructions for throwing and control the curling robot to complete the throwing action.
[0088] In step 3, it is necessary to obtain the position information of the curling puck and the target position to determine the initial conditions for the throwing task, specifically:
[0089] The current state of the curling ball is represented as follows: x, y are the current position coordinates. The current angle at which the curling puck is pointing;
[0090] The state of the target curling ball is represented as follows: x r ,y r The target location coordinates, The target curling ball is pointed at an angle;
[0091] State error:
[0092] In step 3, the throwing parameters are calculated, specifically: based on the distance between the current position of the curling puck and the target position, the initial velocity, throwing direction, and rotation angle required for the throw are calculated;
[0093] The kinematic model of curling is: v is the forward speed of the curling ball, δ is the turning angle, and L is the wheelbase of the front and rear wheels of the curling robot;
[0094] The throwing control command is: u = [v, δ] T v is the forward speed, and δ is the turning angle;
[0095] Reference trajectory X r The state changes are as follows: Where u r =[v r ,δ r ] T It is a reference control input;
[0096] The dynamic changes in the error state are as follows:
[0097] Linearized error dynamic equation: It is a linearized matrix;
[0098] Throwing parameter calculation: based on state error The required initial velocity v, throwing direction angle θ, and rotation angle are generated. And satisfy dynamic constraints: u min ≤u≤u max .
[0099] In step 3, a throwing command is generated and executed. Specifically, the throwing command, including speed and direction, is generated to control the curling robot to perform the throwing task. The throwing trajectory is monitored in real time by sensors to ensure that the curling ball accurately reaches the target position.
[0100] To ensure that the trajectory tracking error is minimized, the objective function J(k) is defined to optimize at time k:
[0101]
[0102] Where, N p To predict the time domain length, N u To control the time domain length, Q is the trajectory error weighting coefficient, R is the control increment weighting coefficient, ε is the slack variable, and ρ is the slack variable weighting coefficient.
[0103] The throwing control command is obtained through objective function optimization: u = [v, δ] T v is the forward speed, and δ is the turning angle;
[0104] During the throwing process, the current position X is updated in real time, and trajectory deviation is monitored. And correct the control input u, when ||XX r The task is complete when ||≤ε.
[0105] The present invention also proposes an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the motion control method for a curling robot.
[0106] The present invention also proposes a computer-readable storage medium for storing computer instructions, which, when executed by a processor, implement the steps of the motion control method for a curling robot.
[0107] The memory in this application embodiment can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM). It should be noted that the memory used in the methods described in this invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0108] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0109] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0110] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0111] The motion control method for a curling robot proposed in this invention has been described in detail above. Specific examples have been used to illustrate the principle and implementation of this invention. The description of the above embodiments is only for the purpose of helping to understand the method and core idea of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation and application scope based on the idea of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.
Claims
1. A motion control method for a curling robot, characterized in that: The method comprises the following steps: Step 1: Obtain the curling ball position information: Use the curling ball position estimation network based on deep learning, combined with the depth sensor and iterative closest point algorithm for fine-tuning, to calculate the curling ball position information in the current base camp; Step 2: Generate a curling ball throwing strategy: Generate the optimal curling ball throwing target position by obtaining the curling ball throwing strategy requirements for the current round and the current curling ball position information on the field, that is, convert all throwing plans into feasible solutions of the adaptive optimization algorithm, and calculate the value evaluation function value of the feasible solution; solve it through the optimization algorithm, and obtain the throwing plan when the value evaluation function value is the largest as the optimal throwing plan; Step 3: Execute the throwing action of the curling robot: Based on the optimal target position of the curling ball and the current position information of the curling ball, calculate the initial throwing velocity, throwing direction and rotation angle of the curling ball to generate the instructions required for throwing and control the curling robot to complete the throwing action.
2. The method according to claim 1, characterized in that In step 1, the curling ball position estimation network is built as follows: the estimation network consists of an encoder, a decoder and a regression layer; a color image of the curling ball is captured by a camera and input into the encoder, the encoder extracts features from the input image, and then processes it through the regression layer to predict the position information of the curling ball, and the decoder generates a segmented image through upsampling, further optimizes the position prediction result, and then predicts the position information of the curling ball again through the regression layer.
3. The method according to claim 2, characterized in that In step 1, a loss function is established and the error of the position estimation network is optimized using the following loss function: Loss=λ1||T true -T pred ||+λ2·arccos(2·max(<q true ,q pred >,0) 2 -1) Among them, λ1 and λ2 are the weight coefficients of the position and posture loss of the curling ball respectively; q true and q pred is the real and predicted quaternion; to solve the problem of double representation of quaternion, the maximum value of the inner product max( true ,q pred >,0) to eliminate ambiguity. 4. The method according to claim 3, characterized in that In the iterative closest point algorithm of step 1, point cloud alignment and optimization are required. Specifically, point cloud alignment and optimization are performed through the depth map and geometric features of the curling ball to minimize the error between the curling ball template point cloud and the depth camera point cloud information: Among them, P i is a point in the curling ball template point cloud; P i ' is the actual point in the target curling ball point cloud; R is the rotation matrix; t is the translation vector; by minimizing the error, the rotation matrix R and the translation vector t are optimized to accurately estimate the position and posture of the curling ball; The position information P of the curling ball in the camera coordinate system camera Through the external parameter matrix R cam2world and the translation vector t cam2world Converted to the position information P in the world coordinate system world : P world =R cam2world P camera +t cam2world The curling ball position estimation based on deep learning and iterative nearest point fine-tuning, combined with coordinate transformation, ultimately obtains the three-dimensional position information of the curling ball in the world coordinate system.
5. The method according to claim 4, characterized in that The step 2 is specifically as follows: Step 2.1: Select optimization parameters; Population size: In the process of throwing strategy optimization, the population size N is first determined, that is, the number of throwing strategy individuals used for evaluation; Maximum number of iterations: Set the maximum number of iterations T of the optimization algorithm max , controls the running time of the algorithm; Search space dimension: Determine the dimension D of the search space based on multiple variables of the throwing strategy; Fitness function: Set the fitness function to evaluate the pros and cons of each throwing strategy; The fitness function is used as a value evaluation function, which obtains the value evaluation function expression by weighted summing the score of the curling stone when the curling stone reaches the target position, the distance of each curling stone from the base camp of both sides, and the value of the curling throwing strategy; Step 2.2: Design fitness function: Score(Df,Cl,Jx)=W iq ·S i +W ir ·F ir +∑W ix ·J ix Among them, W iq represents the weight value of the score of the i-th throw in this game, S i Indicates the number of curling balls in the home base that are closer to the center of the circle than any curling ball of the opponent when the curling balls reach the target position in this round; W ir represents the weight value of the curling ball r associated with the i-th throwing strategy in this game; F ir W represents the effect of the curling ball r when the curling ball reaches the target position for the i-th throw in this game; ix represents the weight value of the position x of each curling ball reaching the base camp after the i-th throw, sorted from small to large; J ix It represents the rank x of the distances of the curling balls to the base camp after the i-th throw; Step 2.3: Calculate the value of the feasible solution evaluation function; sort all throwing strategies in ascending order; select the first one after sorting. A i =S i (i=1,2,3,...,P), select the remaining Individuals Step 2.4: Update the position of the solution; in each round of iteration, the optimal individual will be selected according to the maximum value of the value evaluation function, and the solution position after each iteration will be calculated; the formula is as follows: in, Indicates the final position of the solution after this round of iterative calculation; each iteration will calculate a new solution position, gradually approaching the optimal solution; ave means balancing the current optimal solution and random exploration solution The average value of , the search process is both local search and global exploration; In the iterative process of the optimization algorithm, in order to ensure that the throwing strategy is within a reasonable range, the boundary conditions are constrained by the following formula: Among them, c t and d t They represent the minimum and maximum values of all variables in the tth iteration respectively, T is the maximum number of iterations, γ is the parameter for adjusting the development accuracy level, h is the continuous convergence angle adjustment parameter, and λ is the iteration adjustment parameter; I is the scaling factor of the investment strategy, which is used to adjust the size of the solution to ensure that the update speed of the solution is within a reasonable range.
6. The method according to claim 5, characterized in that In step 3, the curling ball position and target position information need to be obtained to determine the initial conditions for the throwing task, specifically: The current state of the curling ball is represented as: x, y are the current position coordinates, The current curling ball handle is pointing at the angle; The state of the target curling ball is represented as: x r ,y r is the target position coordinate, Point the curling ball in the corner for the target; State error:
7. The method according to claim 6, characterized in that In step 3, the throwing parameters are calculated, specifically: according to the distance between the current position of the curling ball and the target position, the initial velocity, throwing direction and rotation angle required for throwing are calculated; The kinematic model of curling is: v is the forward speed of the curling ball, δ is the steering angle, and L is the wheelbase of the front and rear wheels of the curling robot; The throwing control instruction is: u=[v,δ] T , v is the forward speed, δ is the steering angle; Reference trajectory X r The status changes to: where u r =[v r ,δ r ] T is the reference control input; The dynamic change of error state is: Linearized error dynamic equation: is the linearization matrix; Throwing parameter calculation: according to the state error Generate the required initial velocity v, throwing direction angle θ, and rotation angle And satisfy the dynamic constraints: u min ≤u≤u max .
8. The method according to claim 7, characterized in that In step 3, a throwing instruction is generated and executed, specifically: a throwing instruction is generated, including speed and direction, to control the curling robot to perform the throwing task, and the throwing trajectory is monitored in real time through sensors to ensure that the curling ball reaches the target position accurately; To ensure that the trajectory tracking error is minimized, the optimization objective function J(k) at time k is defined as: Among them, N p is the predicted time domain length, N u is the control time domain length, Q is the trajectory error weight coefficient, R is the control increment weight coefficient, ε is the relaxation variable, and ρ is the relaxation variable weight coefficient; The throwing control instruction is obtained by optimizing the objective function: u=[v,δ] T , v is the forward speed, δ is the steering angle; During the throwing process, the current position X is updated in real time to monitor the trajectory deviation And correct the control input u, when ||XX r When ||≤ε, the task is completed.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
10. A computer-readable storage medium for storing computer instructions, characterized in that: When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Throwing method of curling robot
CN110538439A
Curling throwing robot motion control system and rolling time domain optimization method thereof
CN110554701A
Intelligent robot curling detection method based on YOLOv5
CN115100111A
payment processing method for HCE-type payment cards
KR1020200144735A
Cited By
Hierarchical strategy learning-based curling robot dynamic throwing method and system
CN120595584A