A multi-robot obstacle avoidance method and device based on geometric primitive models
Patent Information
- Application Number
- CN202611049031.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-15
- Publication Date
- 2026-10-09
AI Technical Summary
[0005]有鉴于此,本申请提供一种基于几何基元模型的多机器人避障方法和装置,用以解决多机器人高密度、动态变化场景中发生碰撞的问题
[0040]采用了数理优化的方式对多机器人避碰规划进行结构设计。在现有的超二次曲面避碰计算方法上,本申请提供的基于超二次曲面模型和平方和多项式逼近的机器人避碰算法,采用的输入条件是超二次曲面模型的原始形状参数,即半轴长、指数,与机器人实时运动状态,即位置、速度,这一信息是多机器人系统的底层感知数据,即由传感器直接获取,可以准确、快速获得;在初始参数准确获得的基础上,本申请将机器人几何轮廓、相对运动关系与避碰约束作为一个整体来考虑,以闵可夫斯基和边界作为中间变量,通过对凸平方和多项式逼近与半定规划的数值分析,预测在复杂几何形状下能够构建的可微凸边界,根据预测得到的结果准确求解与之对应的最小速度变化量,也就是说,本发明提供的避碰方法,输入变量是机器人的超二次曲面形状与速度状态,输出的变量则是无碰撞的最优速度修正指令。采用凸平方和多项式逼近的方式能够大幅度降低复杂曲面求导与碰撞检测的运算量,简化了非圆形机器人避碰规划的过程,同时,基于惩罚函数的切点查找算法与规则化速度修正使得本申请能够以更为精确的几何参数对避碰轨迹进行规划。
Smart Images

Figure CN122883980A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of robotics and automation control, and in particular to a multi-robot obstacle avoidance method based on a geometric primitive model. Background Technology
[0002] With the evolution of intelligent manufacturing and swarm intelligence technologies, the application of multi-robot systems in warehousing and logistics, industrial inspection, and social services is deepening. In real-world dynamic shared environments, robots face the challenges of high-density, unstructured scenarios, placing extremely high demands on system safety and real-time performance. For the robot itself, accurately modeling its own geometric contours and those of dynamic obstacles during high-speed movement and dense interaction, and quickly calculating the optimal collision-free trajectory, is a core bottleneck restricting its large-scale deployment. By introducing models to refine the robot's geometric envelope and combining mathematical optimization methods for real-time decision-making, the robot's passage efficiency and collision avoidance success rate in complex environments can be significantly improved. Geometric programming and sum-of-squares polynomial optimization based on velocity obstacles are core technologies for dynamic collision avoidance, and the robustness and solution efficiency of their algorithms are crucial for improving the overall performance of multi-robot systems. Currently, the increasing market demand for flexible production and dynamic task response is driving research progress in multi-robot collision avoidance.
[0003] Existing multi-robot collision avoidance methods are all based on velocity obstacles (VOs). Each method uses the VO to represent the set of velocities that cause a collision between the robot and the obstacle. Changing the boundary shape of the robot and the obstacle will change the shape of the VO, thus affecting the complexity of subsequent calculations of velocity changes. Major multi-robot collision avoidance research focuses on the following directions: The first is a method based on optimal reciprocal collision avoidance algorithms to calculate circular models. The second is to extend the robot-obstacle boundary from a circular model to an elliptical model through affine transformation, using a linear approximation method to approximate the shape of the elliptical robot and pedestrian, while simultaneously approximating the Minkowski sum to achieve efficient real-time collision avoidance. The third is a robot collision avoidance algorithm based on polygonal boundaries, where the calculation only needs to handle the case of sharp edges. The fourth is to design a collision avoidance algorithm in robotics using a hyperquadratic surface model. This algorithm uses the OpenCV built-in function convexHull during the calculation process to quickly provide a navigation solution for the robot.
[0004] However, the four approaches mentioned above share three common problems. First, current research largely focuses on idealized models such as circles or simple polygons. For hyperquadratic surface models with complex curvature and non-convex characteristics, there is a lack of efficient and differentiable mathematical expressions, making it difficult to achieve both accurate modeling and real-time computation. Second, most studies rely on traditional convex hull algorithms or simple linear approximations when dealing with Minkowski sums, making it difficult to convert complex boundary constraints into a standard form that can be directly solved by modern optimizers while maintaining geometric accuracy. Third, the construction of velocity barrier domains and the solution of tangent points often employ traditional numerical iteration or geometric search, which suffers from slow convergence, susceptibility to local optima, or computational timeouts when dealing with high-dimensional, nonlinear approximation surfaces. All these problems make it difficult for mobile robots to balance safety, smoothness, and real-time performance in high-density, dynamically changing human-robot collaboration and industrial production environments, limiting the large-scale application of the system. Summary of the Invention
[0005] In view of this, this application provides a multi-robot obstacle avoidance method and apparatus based on a geometric primitive model to solve the problem of collisions occurring in high-density, dynamically changing scenarios involving multiple robots.
[0006] Specifically, this application is implemented through the following technical solution:
[0007] The first aspect of this application provides a multi-robot obstacle avoidance method based on a geometric primitive model, the method comprising:
[0008] In a planar coordinate system, a hyperquadratic curve envelope is constructed based on the robot's motion data and the hyperquadratic curve shape parameters;
[0009] The Minkowski sum and boundary between the hyperquadratic envelopes of the first and second target robots are approximated by using convex SOS polynomials to obtain the boundary of the differentiable contact region.
[0010] Obtain two tangent lines from the origin of the planar coordinate system to the boundary of the contact area; determine an arc-shaped boundary on the boundary of the contact area based on the two tangent lines; and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangent lines.
[0011] For a relative velocity point falling within the velocity obstacle domain, determine the minimum distance from the relative velocity point to the boundary of the velocity obstacle domain, and determine the velocity variable based on the value of the minimum distance;
[0012] Obtain the velocity variable of any robot in the multi-robot system relative to the first target robot, and correct the velocity of the first target robot based on the velocity variable to complete collision avoidance.
[0013] In a preferred embodiment of the present invention, the motion data includes the robot's current position and current velocity, and the hyperquadratic envelope shape parameters include the semi-axis length and exponent, including:
[0014] In the planar coordinate system, based on the motion and shape data of each robot in the robot system, a hyperquadratic envelope is constructed, including:
[0015] The heading angle of the hyperquadratic surface is determined based on the robot's current speed;
[0016] Based on the semi-axis length, exponent, heading angle, and the robot's current position, the hyperquadratic envelope is constructed using implicit equations.
[0017] In another preferred embodiment of the present invention, the step of approximating the Minkowski sum and boundary between the hyperquadratic envelopes of the first and second target robots using a convex SOS polynomial to obtain a differentiable contact region boundary includes:
[0018] Obtain the Minkowski sum of the hyperquadratic breadth of the first target robot and the second target robot;
[0019] Construct a convex SOS polynomial to approximate the Minkowski sum, and use the sampled Minkowski sum boundary points as the optimization condition that the convex SOS polynomial is less than or equal to 1. The optimization objective is to minimize the negative logarithm of the determinant of the semidefinite matrix corresponding to the convex SOS polynomial. Solve for the semidefinite matrix.
[0020] The convex SOS polynomial is determined based on the semidefinite matrix obtained by solving, and the convex SOS polynomial is used as the boundary of the contact region.
[0021] In another preferred embodiment of the present invention, obtaining two tangent lines from the origin of the planar coordinate system to the boundary of the contact area includes:
[0022] Based on the geometric center point of the boundary of the contact area, a reference straight line connecting the geometric center and the origin is constructed;
[0023] With the tangent points located on both sides of the reference line as constraints, and with the tangent points respectively satisfying that they are perpendicular to the gradient and located on the boundary of the contact region, a system of equations is constructed.
[0024] The system of equations is solved using the penalty function method to obtain the first and second tangent points;
[0025] A first tangent line is constructed based on the first tangent point and the origin of the plane coordinate system, and a second tangent line is constructed based on the second tangent point and the origin of the plane coordinate system.
[0026] In another preferred embodiment of the present invention, an arcuate boundary is determined on the boundary of the contact area according to the two tangents, and a velocity obstacle domain for the first target robot is constructed according to the arcuate boundary and the two tangents, including:
[0027] The region enclosed by the arc-shaped boundary and the first and second tangents is defined as the velocity obstacle domain of the first target robot.
[0028] In another preferred embodiment of the present invention, determining the minimum distance from the relative velocity point to the boundary of the velocity barrier domain includes:
[0029] Determine the first safe point on the first tangent line that is closest to the relative velocity point; determine the second safe point on the second tangent line that is closest to the relative velocity point; and determine the third safe point on the arcuate boundary that is closest to the relative velocity point.
[0030] The distances from the relative velocity point to the first safety point, the second safety point, and the third safety point are obtained respectively, and the minimum value is taken as the minimum distance.
[0031] In another preferred embodiment of the present invention, determining the third safety point closest to the relative velocity point on the boundary of the contact area includes:
[0032] A reference line is determined to be collinear with the first tangent point and the second tangent point. Based on the reference line, constraints are constructed to solve for the third safe point. The constraints satisfy the following conditions: the point is located on the side of the reference line closer to the origin and on the boundary of the contact area.
[0033] A second aspect of this application provides a multi-robot obstacle avoidance device based on a geometric primitive model, the device comprising:
[0034] The first construction module is used to construct the hyperquadratic curve envelope in a planar coordinate system based on the robot's motion data and hyperquadratic curve shape parameters.
[0035] The differentiable contact region boundary acquisition module is used to approximate the Minkowski sum and boundary between the hyperquadratic envelopes of the first target robot and the second target robot using a convex SOS polynomial, thereby obtaining the differentiable contact region boundary.
[0036] The second construction module is used to obtain two tangents from the origin of the planar coordinate system to the boundary of the contact area, determine an arc-shaped boundary on the boundary of the contact area based on the two tangents, and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangents.
[0037] The speed variable determination module is used to determine the minimum distance from the relative speed point to the boundary of the speed obstacle domain for a relative speed point falling within the speed obstacle domain, and determine the speed variable based on the value of the minimum distance;
[0038] The speed correction module is used to acquire the speed variable of any robot in the multi-robot system relative to the first target robot, and correct the speed of the first target robot based on the speed variable to complete collision avoidance.
[0039] This application provides a multi-robot obstacle avoidance method and apparatus based on a geometric primitive model, which has the following advantages:
[0040] A mathematical optimization approach is employed for the structural design of multi-robot collision avoidance planning. Building upon existing hyperquadratic surface collision avoidance calculation methods, this application provides a robot collision avoidance algorithm based on hyperquadratic surface models and quadratic sum-of-the-factor polynomial approximation. The input conditions are the original shape parameters of the hyperquadratic surface model (i.e., semi-axis length and exponent) and the robot's real-time motion state (i.e., position and velocity). This information is the underlying perception data of the multi-robot system, directly acquired by sensors, and can be obtained accurately and quickly. Based on the accurate acquisition of initial parameters, this application considers the robot's geometric contour, relative motion relationships, and collision avoidance constraints as a whole, using Minkowski coefficients and boundaries as intermediate variables. Through numerical analysis of convex quadratic sum-of-the-factor polynomial approximation and semidefinite programming, it predicts the differentiable convex boundaries that can be constructed under complex geometries. Based on the predicted results, the corresponding minimum velocity change is accurately calculated. In other words, the collision avoidance method provided by this invention uses the robot's hyperquadratic surface shape and velocity state as input variables, and outputs the optimal velocity correction command for collision-free operation. The use of convex square sum polynomial approximation can significantly reduce the computational load of differentiation and collision detection for complex surfaces, simplifying the collision avoidance planning process for non-circular robots. At the same time, the tangent point search algorithm based on the penalty function and the regularized velocity correction enable this application to plan the collision avoidance trajectory with more accurate geometric parameters. Attached Figure Description
[0041] Figure 1 This is a flowchart illustrating a multi-robot obstacle avoidance method based on a geometric primitive model according to an exemplary embodiment;
[0042] Figure 2 This is a schematic diagram illustrating the approximation of the Minkowski sum by a polynomial of the sum of squares, according to an exemplary embodiment.
[0043] Figure 3 This is a schematic diagram of a reference line according to an exemplary embodiment;
[0044] Figure 4This is a schematic diagram of a velocity collision domain according to an exemplary embodiment;
[0045] Figure 5 This is a schematic diagram illustrating multiple security points according to an exemplary embodiment;
[0046] Figure 6 This is a schematic diagram illustrating the minimum speed variation according to an exemplary embodiment;
[0047] Figure 7 This is a heatmap illustrating the sum of squares polynomial approximation and the Minkowski sum-area ratio as a function of the ratio of the major and minor axes of the hyperquadratic surface, according to an exemplary embodiment.
[0048] Figure 8 This is a heatmap illustrating the elliptical approximation and the Minkowski ratio and the area ratio as a function of the ratio of the major and minor axes of the hyperquadratic surface, according to an exemplary embodiment.
[0049] Figure 9 This is a schematic diagram illustrating the success rates of different robot navigation algorithms according to an exemplary embodiment;
[0050] Figures 10 to 21 This is a schematic diagram of the trajectory visualization of ORCA and SSCA under different τ parameters and the number of robots, according to an exemplary embodiment.
[0051] Figure 22 This is a snapshot diagram of multiple time steps of multiple robots using SSCA for collision-free navigation in a robot operating system, according to an exemplary embodiment.
[0052] Figure 23 This is a block diagram of an electronic device according to an exemplary embodiment. Detailed Implementation
[0053] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application.
[0054] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used herein are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0055] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0056] The following specific embodiments are given to illustrate the technical solution of this application in detail.
[0057] Example 1:
[0058] Figure 1 This is a flowchart of an embodiment of a multi-robot obstacle avoidance method based on a geometric primitive model provided in this application. Please refer to... Figure 1 The method provided in this embodiment includes steps S1 to S5:
[0059] Step S1: In the planar coordinate system, construct the hyperquadratic envelope based on the robot's shape data and the hyperquadratic curve shape parameters.
[0060] In step S1, the planar coordinate system refers to the top-view two-dimensional planar coordinate system of the robot's spatial location. The hyperquadratic surface shape parameters are a set of static configuration data used to define the size and shape of the robot's physical contour; they are the basis for constructing the precise geometric envelope and include the semi-axis length and exponent. The hyperquadratic envelope refers to the high-precision digital geometric contour that encloses the robot's body; it transforms the robot's physical shape into a computer-processable mathematical model.
[0061] Optionally, step S1 specifically includes:
[0062] Step S11: Determine the heading angle of the hyperquadratic surface based on the robot's current speed.
[0063] Based on the robot's current speed Determine the heading angle of the hyperquadratic surface. The heading angle is the angle between the robot's direction of motion and the X-axis of the coordinate system, which determines the rotation angle of the hyperquadratic envelope.
[0064] Step S12: Construct a hyperquadratic envelope using implicit equations based on the semi-axis length, exponent, rotation matrix, and the robot's current position. The constraint condition for the hyperquadratic envelope is that the implicit equation is less than or equal to 1.
[0065] Specifically, a hyperquadratic envelope is constructed in a planar coordinate system. The planar coordinate system refers to the top-view two-dimensional planar coordinate system of the robot's spatial location. The expression for the hyperquadratic curve is constructed as follows:
[0066] ;
[0067] in, This is an implicit equation, a general mathematical formula used to describe a geometric shape, and forms the theoretical basis for constructing the envelope. It is constrained to be less than or equal to 1. That is, ≤1 characterizes the hyperquadratic breadth.
[0068] The semi-axis length is the shape parameter of the hyperquadratic surface.
[0069] This is the robot's current position.
[0070] The exponent of the shape parameter of the hyperquadratic surface. .
[0071] Step S1 constructs a hyperquadratic envelope by fusing shape parameters and real-time pose information. This not only overcomes the shortcomings of traditional circular models, such as low accuracy and the tendency to generate conservative paths, but also provides a differentiable mathematical basis for subsequent differential geometric calculations based on square sum polynomial approximation. Thus, the real-time performance of dynamic collision avoidance is improved while ensuring physical safety.
[0072] Step S2: Use the convex SOS polynomial to approximate the Minkowski sum and boundary between the hyperquadratic envelopes of the first and second target robots to obtain the differentiable contact region boundary.
[0073] In step S2, an SOS polynomial refers to a polynomial function that can be expressed as the sum of squares of several polynomials; a convex SOS polynomial refers to a class of polynomial functions whose convexity is guaranteed by semidefinite programming constraints.
[0074] The boundary of the contact area is the critical contour obtained by the Minkowski sum operation of the hyperquadratic envelopes of the first target robot and the hyperquadratic envelopes of the second target robot, which is used to define the collision and non-collision areas of the two robots in the relative position space.
[0075] Optionally, step S2 includes:
[0076] Step S21: Obtain the Minkowski sum of the hyperquadratic breadth of the first target robot and the second target robot.
[0077] Before step S21, the planar coordinate system is transformed to construct a velocity space. The velocity space refers to the space with velocity as the coordinate axis, where each coordinate corresponds to a set of relative motion states. The horizontal axis represents the velocity along the x-axis, and the vertical axis represents the velocity along the y-axis.
[0078] Based on any two target robots making collision avoidance decisions, obtain the Minkowski sum of their hyperquadratic breadths:
[0079] ;
[0080] Combination Figure 2 As shown, the Minkowski sum is the "addition" of two point sets or geometric objects in vector space, that is, the new set obtained by translating each point of one set along the vector of the other set. For the super quadratic breadth of the first target robot, The reflection set of the hyperquadratic envelope of the second target robot. The contact space between the first target robot and the second target robot is defined as follows: and The Minkowski sum and . Optionally, a rotation matrix is constructed using the heading angle, which is used to construct the Minkowski sum and of the two robot hyperquadratic surfaces. The rotation matrix is generated based on the heading angle of the hyperquadratic surface. Specifically, the rotation matrix is represented as: Rotation matrices are used to perform rotational transformations on points in a two-dimensional plane.
[0081] Step S22: Construct a convex SOS polynomial to approximate the Minkowski sum, with the boundary sampling points of the Minkowski sum being less than or equal to 1 as the optimization condition, and the objective being to minimize the negative logarithm of the determinant of the semidefinite matrix corresponding to the convex SOS polynomial, and solve for the semidefinite matrix.
[0082] Using SOS polynomials to approximate the Minkowski sum, and based on the properties of SOS polynomials, the polynomial optimization problem is transformed into a semidefinite programming problem:
[0083] ;
[0084] Here, P1 is the first objective, which refers to minimizing the area of the sum of squares polynomial in the form of negative logarithms. The smaller the area of the sum of squares polynomial, the more accurate the envelope. Given a semi-definite matrix G, matrix G satisfies specific mathematical properties, namely... It guarantees the non-negativity of the sum of squares polynomials. This is an SOS polynomial with a semidefinite matrix as the optimization variable. Let be the set of boundary sampling points for Minkowski and .
[0085] Semidefinite programming refers to a specific optimization framework for solving semidefinite matrices G, which is used to transform complex geometric approximation problems into standard convex optimization problems for solution.
[0086] The SOS polynomial obtained from problem P1 may not be convex. To reduce the difficulty of subsequent tangent calculations, based on the properties of convex SOS polynomials, the semidefinite programming problem of SOS polynomials is transformed into a semidefinite programming problem of convex SOS polynomials:
[0087] ;
[0088] Wherein, P2 represents the solution to objective two.
[0089] ,in , Indicates that the independent variable is The set of sums of squares and polynomials.
[0090] The decision variables in the optimization problem are obtained by solving a semidefinite programming problem.
[0091] After solving P2, a semidefinite matrix is obtained. .
[0092] Step S23: Determine the convex SOS polynomial based on the semidefinite matrix obtained by solving, and use the convex SOS polynomial as the boundary of the contact region.
[0093] Substitute the semidefinite matrix obtained from the solution back Obtain the boundary of the differentiable contact region.
[0094] Step S2 transforms the nonlinear geometric boundary into a differentiable convex polynomial form through a convex square sum polynomial approximation step. This not only overcomes the mathematical defects of the traditional convex hull algorithm, but also eliminates the local optimum trap in subsequent optimization through convexity guarantee. Thus, while ensuring high geometric accuracy, it realizes real-time collision avoidance calculation for large-scale robot swarms.
[0095] Continue to refer to Figure 1 Step S3: Obtain two tangents from the origin of the planar coordinate system to the boundary of the contact area, determine an arc-shaped boundary on the boundary of the contact area based on the two tangents, and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangents.
[0096] In step S3, the relative velocity point refers to the endpoint of the vector representing the relative motion state of two robots in a planar coordinate system. The origin of the planar coordinate system indicates that the relative velocity between any two robots is zero. The velocity obstacle domain represents the area in the planar coordinate system where the relative velocity point is located and where robot collisions will occur. Figure 4 As shown, the arc-shaped boundary is the blue curve portion in the figure.
[0097] In a planar coordinate system, based on the current velocities of the first and second target robots, the relative velocity vectors of the two are calculated as the relative velocity points:
[0098] ;
[0099] In this context, the relative velocity point refers to the endpoint of the vector representing the relative motion state of two robots in a planar coordinate system.
[0100] Let be the relative velocity vector between the first target robot and the second target robot.
[0101] This represents the current speed of the first target robot.
[0102] This represents the current speed of the second target robot.
[0103] The point where the relative velocity is zero is the origin of the planar coordinate system. .
[0104] Based on the above, step S3 specifically includes:
[0105] Step S31: Based on the geometric center point of the contact area boundary, construct a reference line connecting the geometric center and the origin of the plane coordinate system. This reference line is used to help distinguish between two different tangents. For example... Figure 3 As shown, the reference line Lop divides the space into two parts: (upper left inequality) represents the region to the left of the reference line Lop, and (lower right inequality) represents the region to the right of the reference line Lop.
[0106] Step S32: With the tangent points located on both sides of the reference line as constraints, construct a system of equations with the tangent points being perpendicular to the gradient and located on the boundary of the contact region.
[0107] Optionally, the system of equations constructed in step S32 is characterized as follows:
[0108] ;
[0109] Where, vector The gradient of the boundary, the normal, and the vector. It is the line from the spatial velocity point to the point of tangency. The first line of the equation indicates that the tangent is perpendicular to the normal. To approximate the implicit function of the Minkowski sum, Let be the coordinates of the tangent point to be determined. The second line of the equation indicates that the tangent point lies on the boundary of the contact region.
[0110] Step S33: Solve the system of equations based on the penalty function method to obtain the first tangent point and the second tangent point.
[0111] Among them, the penalty function method is a mathematical tool for transforming constrained optimization problems into unconstrained optimization problems. In step S33, the process of solving the two tangent lines is transformed into two independent unconstrained optimization problems:
[0112] ;
[0113] ;
[0114] in, The penalty coefficient is used. By introducing the penalty function method, the constrained optimization problem is transformed into an unconstrained optimization problem, reducing the computational difficulty of finding the tangent. The first tangent point is obtained by solving the two unconstrained optimization problems. Second tangent point .
[0115] Step S34: Construct a first tangent line based on the first tangent point and the origin of the plane coordinate system, and construct a second tangent line based on the second tangent point and the origin of the plane coordinate system.
[0116] like Figure 4 As shown, a ray connecting the origin of the plane coordinate system to the point of tangency forms a tangent line.
[0117] Step S35: The area enclosed by the arc-shaped boundary, the first tangent, and the second tangent is taken as the speed obstacle domain of the first target robot.
[0118] like Figure 4 As shown, the area enclosed by the arc-shaped boundary and the first and second tangents is the velocity barrier domain.
[0119] Step S3 transforms the nonlinear geometric collision risk into a convex constraint region in the planar coordinate system that can be analytically solved by constructing the tangents between the origin of the planar coordinate system and the differentiable approximation boundary. This not only preserves the high accuracy of the hyperquadratic surface modeling, but also reduces the computational complexity of subsequent collision avoidance optimization through clear boundary definition, thus achieving a balance between safety and real-time performance.
[0120] Continue to refer to Figure 1Step S4: For a relative velocity point that falls within the velocity obstacle zone, determine the minimum distance from the relative velocity point to the boundary of the velocity obstacle zone, and determine the velocity variable based on the value of the minimum distance.
[0121] Among them, the velocity variable refers to the displacement vector from the relative velocity point to the velocity obstacle domain.
[0122] In one alternative approach, step S4 specifically includes:
[0123] Step S41: Determine the first safe point on the first tangent line that is closest to the relative velocity point, determine the second safe point on the second tangent line that is closest to the relative velocity point, and determine the third safe point on the arc-shaped boundary that is closest to the relative velocity point.
[0124] The safe point refers to the point of relative velocity where a collision will not occur. (Combined with...) Figure 5 As shown, based on the reference line and the reference straight line, on the side of the reference line away from the origin, the point on the first tangent line closest to the relative velocity point is the first safe point, the point on the second tangent line closest to the relative velocity point is the second safe point, and on the side of the reference line close to the origin, the third safe point on the arc-shaped boundary is the closest to the relative velocity point.
[0125] Step S42: Obtain the distances from the relative velocity point to the first safety point, the second safety point, and the third safety point, and take the minimum value as the minimum distance.
[0126] Combination Figure 6 As shown, calculate the distance from the relative velocity point to each safety point:
[0127] The configuration symbol function is:
[0128] ;
[0129] in, For symbolic functions, The origin is used to determine the point. Position relative to a straight line.
[0130] First safety point: First tangent line The nearest point on the objective function is: The constraints are .
[0131] Second safety point: Second tangent line The nearest point on the objective function is: The constraints are .
[0132] The distances from the relative velocity point to the first and second safe points are obtained by solving the problem.
[0133] Determine a reference line that is collinear with the first and second tangent points. Based on the reference line, construct constraints to solve for the third safe point. The constraints satisfy the following conditions: the point is located on the side of the reference line closer to the origin and on the boundary of the contact area.
[0134] Combination Figure 6 As shown, calculate the distance from the relative velocity point to the third safety point:
[0135] Third safe point: Approaching Minkowski and the boundary from the origin. The nearest point on the objective function is: The constraints are and .
[0136] In this process, the calculation of the velocity variable at the third safety point is transformed into an unconstrained optimization problem. .
[0137] The distance from the relative velocity point to the third safe point is obtained by solving the problem.
[0138] Step S43: Determine the velocity variable based on the minimum distance value.
[0139] Compare the distances from the relative velocity point to the first safety point, the second safety point, and the third safety point, and take the minimum value as the minimum distance. Determine the velocity variable of the second target robot relative to the first target robot based on the value of the minimum distance.
[0140] Step S4 uses tangent points to construct reference lines and distances to partition and measure, enabling the system to accurately convert the event of "relative velocity falling into the velocity barrier domain" into a velocity correction amount with a minimum amplitude and a definite direction.
[0141] Continue to refer to Figure 1 Step S5: Obtain the velocity variable of any robot in the multi-robot system relative to the first target robot, and correct the velocity of the first target robot based on the velocity variable to complete collision avoidance.
[0142] The process of obtaining the velocity variable of any robot in the multi-robot system relative to the first target robot requires repeating steps S1 to S4.
[0143] Step S5 optimizes the algorithm by processing the minimum speed change, minimizing the speed correction magnitude while ensuring safe collision avoidance. This eliminates unnecessary trajectory oscillations and detours, and completes collision-free navigation in a high-density dynamic environment within milliseconds, significantly improving the passage efficiency and task success rate of the multi-robot system.
[0144] In summary, the multi-robot obstacle avoidance method based on a geometric primitive model provided in this embodiment can significantly reduce the computational load of complex surface differentiation and collision detection by using convex square sum polynomial approximation, simplifying the collision avoidance planning process for non-circular robots. At the same time, the tangent point search algorithm based on the penalty function and the regularized velocity correction enable this application to plan the collision avoidance trajectory with more accurate geometric parameters.
[0145] Based on the above-mentioned multi-robot obstacle avoidance method based on a geometric primitive model, an effectiveness verification experiment was conducted, as detailed below:
[0146] Simulation Experiment
[0147] Experimental basis
[0148] The SSCA algorithm is implemented in the RVO2 library. Its Minkowski approximation is formulated as a semidefinite programming problem and solved using the Mosek solver. Experiments are conducted in a circular environment with radius r = 4, where the start and end points are randomly distributed on the boundary, and the arc distance is greater than one-quarter of the circumference to ensure a non-trivial navigation task. The robot's maximum speed is v. pref =1, and is modeled as a hyperquadratic surface with a major axis fixed at 0.2 and a minor axis varying between 0.02 and 0.2. Parameters are set to... =0.86, simulation step size is Δt=0.1. According to the robot's major and minor axes settings, the navigation task is considered successful when the robot's distance from the target position is less than 0.03.
[0149] Experimental Task
[0150] Two representative circular robot collision avoidance algorithms, ORCA and RL-RVO, were employed. ORCA was used to compare the differences between the circular and hyperquadratic robot envelopes in rule-based methods, while RL-RVO was used to evaluate the competitiveness of SSCA against state-of-the-art deep reinforcement learning methods. To ensure a fair comparison, both methods used the circumcircle of the hyperquadratic robot shape as their circular representation. Performance was evaluated using three metrics: success rate, travel time, and average speed, reflecting task completion, efficiency, and trajectory smoothness, respectively. Each quantitative navigation experiment was repeated 50 times, and results are presented as mean ± standard deviation.
[0151] Experimental results
[0152] <Approximation Error>
[0153] The approximation error is quantified by the area ratio, which is defined as follows: and A SOS A elliptical and A MinkLet represent the areas enclosed by the SOS polynomial, the ellipse, and the Minkowski sum, respectively. All areas are calculated using the Shoelace formula, which sums the areas of triangles through the cross product of vectors. The influence of the ratio of the major and minor axes (i.e., the ratio of the lengths of the major and minor axes of the hyperquadratic surface) on the approximation accuracy is studied by fixing the minor axis to 1 and adjusting the shape exponent. Figure 7 and Figure 8 The results show that, due to the decrease in Minkowski coefficients and boundary smoothness, the area ratio increases with the increase in the ratio of the major and minor axes. When using the SOS polynomial ( Figure 7 Within the shape index range of 0.5–1.5, the area ratio remains below 5%, but increases sharply beyond this range, especially when the index approaches 0 or 2, significantly worsening the boundary smoothness. In contrast, the elliptical approximation ( Figure 8 The low area ratio could not be maintained under any exponent, and the error exceeded 20% when the exponent was between 0 and 0.5. These findings suggest that, under conditions of moderate shape exponent and varying aspect ratio, the SOS polynomial provides a significantly more accurate and robust Minkowski approximation compared to the ellipse.
[0154] <Navigation travel time and average speed>
[0155] Detailed results are recorded in Table 1, with the best performance values for each scenario highlighted by bold underlines. The results show that when the number of robots is 2, the travel time performance of the three algorithms is comparable; however, when the number of robots increases to 4, 6, and 8, SSCA consistently outperforms the baseline algorithm. In the four-robot scenario, SSCA reduces travel time by up to 6.67% compared to ORCA and by up to 15.75% compared to RL-RVO; in the six-robot scenario, the reductions are 9.27% and 27.45%, respectively; the improvement is most significant in the eight-robot scenario, with SSCA reducing travel time by up to 11.97% compared to ORCA and by up to 33.32% compared to RL-RVO. These results indicate that the efficiency advantage of SSCA increases with increasing robot density. In addition to efficiency, SSCA also exhibits excellent stability. In most scenarios, its travel time standard deviation is the lowest among all methods, typically less than half that of ORCA or RL-RVO. This indicates that SSCA is more robust to changes in the starting and target positions, consistently providing reliable navigation performance. The performance gains are also reflected in average speed: in six-robot and eight-robot scenarios, SSCA achieved the highest navigation speed in most cases, while in other settings its performance was comparable to the baseline method.
[0156] The observed trends can be attributed to differences in modeling among the algorithms. ORCA and RL-RVO approximate the robot as a circle, ignoring its geometric features, resulting in an inability to optimize trajectories based on true shape information. In contrast, SSCA utilizes precise hyperquadratic envelopes, enabling trajectory planning to better reflect the robot's geometry and avoid unnecessary detours. Furthermore, RL-RVO is particularly sensitive to the initial target configuration; when robot target positions are close together, it often leads to extended travel times or even deadlocks. This limitation stems from the inherent difficulty in reinforcement learning to enforce precise and consistent target arrival behavior through reward design.
[0157] Table 1. SSCA vs. baseline algorithms (ORCA and RL-RVO) ratios for different robot numbers (N) and major / minor axis ratios. / Comparison of trajectory length and average velocity values under ( )
[0158] Navigation success rate
[0159] The results are summarized as follows: Figure 9 As shown, the color gradient from red to blue represents a success rate from 0 to 1. The simulation environment considers swarms of varying numbers of robots and hyperquadratic surface robot models with different major and minor axis ratios. Figure 9 As shown, RL-RVO consistently maintains the lowest overall success rate, even dropping below 50% in some scenarios. This result can be attributed to the discrepancy between the circular approximation used by RL-RVO and the stringent target arrival criteria requiring higher positional accuracy. Therefore, RL-RVO, originally designed for circular agents, struggles to guarantee successful arrival in hyperquadratic surface scenarios. In contrast, SSCA shows a significant improvement over ORCA—achieving a success rate equal to or higher than ORCA in 16 out of 20 scenarios. This advantage stems from a more accurate hyperquadratic surface representation, effectively reducing deadlock issues common with circular approximations. As further illustrated in the case study in Section VE, this modeling choice enables more effective collision avoidance and significantly improves the overall navigation success rate. Across all test scenarios, SSCA outperforms ORCA by an average of approximately [missing information - likely a percentage].
[0160] With a success rate of 8.5%, it is more than 25% better than RL-RVO.
[0161] Qualitative Analysis of Navigation Trajectory
[0162] To further validate the proposed SSCA algorithm, we conducted multi-robot navigation case studies under different traffic conditions, and subsequently deployed and tested a Mecanum wheel mobile robot on the ROS-Gazebo simulation platform. These case studies aim to highlight the differences between SSCA and the benchmark method ORCA when robots navigate under constrained conditions. Specifically, we designed scenarios with two, three, and four robots traveling towards each other, with both algorithms using the same starting point and target configuration to ensure a fair comparison. In all experiments, the observation radius parameter was set to two different values, τ = 2 and τ = 10, indicating that each robot only considers neighboring robots within its perception radius to perform collision avoidance.
[0163] Trajectory results as follows Figures 10 to 21 As shown, the significant advantages of SSCA are highlighted. In the two-robot scenario, ORCA failed to resolve head-on collisions, leading to deadlock and mission failure, while SSCA successfully avoided collisions and enabled both robots to reach the target. In the three-robot scenario, ORCA with τ=2 exhibited significant detours, including backtracking behavior with turning angles exceeding 90°, reflecting short-sighted obstacle avoidance due to inaccurate circular envelopes. Increasing the observation radius to τ=10 partially alleviated this problem, but at the cost of requiring a larger perception range. In contrast, SSCA achieved smooth and efficient trajectories under both τ=2 and τ=10 conditions, with no backtracking observed. In the four-robot scenario, ORCA exhibited two backtrackings under τ=2 and one backtracking under τ=10, while SSCA reduced backtracking to a single occurrence at τ=2 and eliminated it completely at τ=10. Since backtracking is a key indicator of short-sighted detours that degrade overall trajectory quality, these results clearly demonstrate that SSCA can consistently generate higher-quality navigation paths.
[0164] In addition to the case study, we further validated its practicality by deploying SSCA in the ROS-Gazebo simulation environment. The experiment used a four-wheeled Mecanum wheel Arduino 10011 robot car. This platform, equipped with Mecanum wheels that allow for flexible changes in speed and direction, is an ideal vehicle for testing flexible motion planning. Six robots were evenly distributed along a circle, with their target points located symmetrically on the diameter. Figure 22 As shown, all robots reached the target efficiently and without collision, which not only verified the robustness of SSCA in intensive navigation tasks, but also proved its feasibility in actual robot deployment.
[0165] Example 2:
[0166] A second aspect of this application provides a multi-robot obstacle avoidance device based on a geometric primitive model, the device comprising:
[0167] The first construction module is used to construct the hyperquadratic curve envelope in a planar coordinate system based on the robot's motion data and hyperquadratic curve shape parameters.
[0168] The differentiable contact region boundary acquisition module is used to approximate the Minkowski sum and boundary between the hyperquadratic envelopes of the first target robot and the second target robot using a convex SOS polynomial, thereby obtaining the differentiable contact region boundary.
[0169] The second construction module is used to obtain two tangents from the origin of the planar coordinate system to the boundary of the contact area, determine an arc-shaped boundary on the boundary of the contact area based on the two tangents, and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangents.
[0170] The speed variable determination module is used to determine the minimum distance from the relative speed point to the boundary of the speed obstacle domain for a relative speed point falling within the speed obstacle domain, and determine the speed variable based on the value of the minimum distance;
[0171] The speed correction module is used to acquire the speed variable of any robot in the multi-robot system relative to the first target robot, and correct the speed of the first target robot based on the speed variable to complete collision avoidance.
[0172] In summary, the robot collision avoidance device based on a hyperquadratic surface model and square sum polynomial approximation provided in this embodiment can significantly reduce the computational load of complex surface differentiation and collision detection by adopting the convex square sum polynomial approximation method, simplifying the collision avoidance planning process for non-circular robots. At the same time, the tangent point search algorithm based on the penalty function and the regularized speed correction enable this application to plan the collision avoidance trajectory with more accurate geometric parameters.
[0173] Example 3:
[0174] Thirdly, embodiments of this application provide an electronic device, Figure 23 This is a block diagram illustrating an electronic device according to an exemplary embodiment. (e.g.) Figure 23 As shown, the electronic device may include a processor 11 and a memory 12 storing computer program instructions.
[0175] Specifically, the processor 11 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0176] The memory 12 may include a large-capacity storage device for data or instructions. For example, and not limitingly, the memory 12 may include a hard disk drive (HDD), a floppy disk drive, a solid-state drive (SSD), flash memory, an optical disk drive, a magneto-optical disk drive, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 12 may include removable or non-removable (or fixed) media. Where appropriate, the memory 12 may be internal or external to a data processing device. In a particular embodiment, the memory 12 is non-volatile memory. In a particular embodiment, the memory 12 includes read-only memory (ROM) and random access memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), an electrically alterable read-only memory (EAROM), or flash memory, or a combination of two or more of these. Where appropriate, the RAM can be Static Random-Access Memory (SRAM) or Dynamic Random-Access Memory (DRAM). DRAM can be Fast Page Mode Dynamic Random-Access Memory (FPMDRAM), Extended Data Out Dynamic Random-Access Memory (EDODRAM), Synchronous Dynamic Random-Access Memory (SDRAM), etc.
[0177] The memory 12 can be used to store or cache various data files that need to be processed and / or communicated, as well as possible computer program instructions executed by the processor 11.
[0178] The processor 11 reads and executes computer program instructions stored in the memory 12 to implement any of the multi-robot obstacle avoidance methods based on geometric primitive models in the above embodiments.
[0179] In one embodiment, the electronic device may further include a communication interface 13 and a bus 10. Wherein, as... Figure 23 As shown, the processor 11, memory 12, and communication interface 13 are connected through bus 10 and communicate with each other.
[0180] The communication interface 13 is used to enable communication between the various modules, devices, units, and / or equipment in the embodiments of this application. The communication port 13 can also enable data communication with other components such as external devices, image / data acquisition devices, databases, external storage, and image / data processing workstations.
[0181] Bus 10 includes hardware, software, or both, that couples components of an electronic device together. Bus 10 includes, but is not limited to, at least one of the following: data bus, address bus, control bus, expansion bus, and local bus. For example, and not as a limitation, bus 10 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, bus 10 may include one or more buses. Although specific buses are described and illustrated in the embodiments of this application, this application considers any suitable bus or interconnection.
[0182] The apparatus of this embodiment can be used to perform... Figure 1 The steps of the method embodiment shown are similar in principle and process, and will not be repeated here.
[0183] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0184] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0185] Fourthly, embodiments of this application provide a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the multi-robot obstacle avoidance method based on a geometric primitive model provided in the first aspect.
[0186] The readable storage medium may be more specifically adopted, including but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device, or any suitable combination thereof.
[0187] In a possible implementation, this application can also be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform steps implementing the multi-robot obstacle avoidance method based on a geometric primitive model provided in the first aspect.
[0188] The program code for executing this application can be written in any combination of one or more programming languages. The program code can be executed entirely on the user device, partially on the user device, as a standalone software package, partially on the user device and partially on a remote device, or entirely on a remote device.
[0189] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A multi-robot obstacle avoidance method based on a geometric primitive model, characterized in that, The method includes: In a planar coordinate system, a hyperquadratic curve envelope is constructed based on the robot's motion data and the hyperquadratic curve shape parameters; The Minkowski sum and boundary between the hyperquadratic envelopes of the first and second target robots are approximated by using convex SOS polynomials to obtain the boundary of the differentiable contact region. Obtain two tangent lines from the origin of the planar coordinate system to the boundary of the contact area; determine an arc-shaped boundary on the boundary of the contact area based on the two tangent lines; and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangent lines. For a relative velocity point falling within the velocity obstacle domain, determine the minimum distance from the relative velocity point to the boundary of the velocity obstacle domain, and determine the velocity variable based on the value of the minimum distance; Obtain the velocity variable of any robot in the multi-robot system relative to the first target robot, and correct the velocity of the first target robot based on the velocity variable to complete collision avoidance.
2. The multi-robot obstacle avoidance method based on a geometric primitive model according to claim 1, characterized in that, The motion data includes the robot's current position and current velocity, and the hyperquadratic envelope shape parameters include the semi-axis length and exponent; In the planar coordinate system, based on the motion and shape data of each robot in the robot system, a hyperquadratic envelope is constructed, including: The heading angle of the hyperquadratic surface is determined based on the robot's current speed; The hyperquadratic envelope is constructed using implicit equations based on the semi-axis length, exponent, heading angle, and the robot's current position.
3. The multi-robot obstacle avoidance method based on a geometric primitive model according to claim 2, characterized in that, The method of approximating the Minkowski sum and boundary between the hyperquadratic envelopes of the first and second target robots using convex SOS polynomials to obtain the differentiable contact region boundary includes: Obtain the Minkowski sum of the hyperquadratic breadth of the first target robot and the second target robot; Construct a convex SOS polynomial to approximate the Minkowski sum, and use the boundary sampling points of the Minkowski sum being less than or equal to 1 as the optimization condition. The optimization objective is to minimize the negative logarithm of the determinant of the semidefinite matrix corresponding to the convex SOS polynomial. Solve for the semidefinite matrix. The convex SOS polynomial is determined based on the semidefinite matrix obtained by solving, and the convex SOS polynomial is used as the boundary of the contact region.
4. The multi-robot obstacle avoidance method based on a geometric primitive model according to claim 1, characterized in that, The step of obtaining two tangent lines from the origin of the planar coordinate system to the boundary of the contact area includes: Based on the geometric center point of the boundary of the contact area, a reference straight line connecting the geometric center and the origin is constructed; With the tangent points located on both sides of the reference line as constraints, and with the tangent points respectively satisfying that they are perpendicular to the gradient and located on the boundary of the contact region, a system of equations is constructed. The system of equations is solved using the penalty function method to obtain the first and second tangent points; A first tangent line is constructed based on the first tangent point and the origin of the planar coordinate system, and a second tangent line is constructed based on the second tangent point and the origin.
5. A multi-robot obstacle avoidance method based on a geometric primitive model according to claim 4, characterized in that, The step of determining an arc-shaped boundary on the boundary of the contact area based on the two tangents, and constructing a velocity obstacle domain for the first target robot based on the arc-shaped boundary and the two tangents, includes: The region enclosed by the arc-shaped boundary, the first tangent, and the second tangent is defined as the velocity obstacle domain of the first target robot.
6. The multi-robot obstacle avoidance method based on a geometric primitive model according to claim 5, characterized in that, Determining the minimum distance from the relative velocity point to the boundary of the velocity barrier domain includes: Determine the first safe point on the first tangent line that is closest to the relative velocity point, determine the second safe point on the second tangent line that is closest to the relative velocity point, and determine the third safe point on the arc-shaped boundary that is closest to the relative velocity point; The distances from the relative velocity point to the first safety point, the second safety point, and the third safety point are obtained respectively, and the minimum value is taken as the minimum distance.
7. A multi-robot obstacle avoidance method based on a geometric primitive model according to claim 6, characterized in that, Determining the third safe point on the boundary of the contact area that is closest to the relative velocity point includes: A reference line is determined to be collinear with the first tangent point and the second tangent point. Based on the reference line, constraints are constructed to solve for the third safe point. The constraints satisfy the following conditions: the point is located on the side of the reference line closer to the origin and on the boundary of the contact area.
8. A multi-robot obstacle avoidance device based on a geometric primitive model, characterized in that, The device includes: The first construction module is used to construct the hyperquadratic curve envelope in a planar coordinate system based on the robot's motion data and hyperquadratic curve shape parameters. The differentiable contact region boundary acquisition module is used to approximate the Minkowski sum and boundary between the hyperquadratic envelopes of the first target robot and the second target robot using a convex SOS polynomial, thereby obtaining the differentiable contact region boundary. The second construction module is used to obtain two tangents from the origin of the planar coordinate system to the boundary of the contact area, determine an arc-shaped boundary on the boundary of the contact area based on the two tangents, and construct the velocity obstacle domain of the first target robot based on the arc-shaped boundary and the two tangents. The speed variable determination module is used to determine the minimum distance from the relative speed point to the boundary of the speed obstacle domain for a relative speed point falling within the speed obstacle domain, and determine the speed variable based on the value of the minimum distance; The speed correction module is used to acquire the speed variable of any robot in the multi-robot system relative to the first target robot, and correct the speed of the first target robot based on the speed variable to complete collision avoidance.