Server component assembly method, device, electronic device and storage medium
By obtaining the contact force data at the end of the robot arm and adjusting the motion trajectory using the pose prediction model and a hierarchical search mechanism, the reliability problem caused by pose deviation in server component assembly is solved, and efficient and accurate automatic assembly is achieved.
Patent Information
- Application Number
- CN202510885860.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-06-27
AI Technical Summary
During the assembly process of server components, assembly reliability problems may occur due to unpredictable position deviations between the components and assembly positions, including assembly lag, component damage and risk of failure.
By obtaining the contact force data when the end of the robot arm contacts the server component, the pre-trained pose prediction model predicts the pose deviation, and adjusts the movement trajectory of the robot arm through the contact force matching and layered search mechanism to ensure accurate assembly.
It improves the flexibility and stability of automated assembly of server components, effectively solves the risks of assembly stagnation and component damage caused by posture deviation, and achieves an efficient and accurate assembly process.
Smart Images

Figure CN120363222B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot assembly technology, and in particular to a server component assembly method, device, electronic device and storage medium. Background Art
[0002] With the surge in demand for servers, the efficiency and precision of automated assembly of their core components have become increasingly critical. Robotic arms are key equipment for automated assembly. However, in actual assembly, unpredictable positional deviations between components and assembly positions often occur. These deviations can easily lead to assembly stalls, component damage, and even assembly failure. Summary of the Invention
[0003] The present application provides a server component assembly method, device, electronic device and storage medium to at least solve the assembly reliability problem caused by unpredictable posture deviations between components and assembly positions in the related art.
[0004] The present application provides a server component assembly method, comprising: obtaining contact force data when the end of a robotic arm contacts the server component; inputting the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to the component assembly position; performing contact force matching on the posture deviation, and if the matching result indicates that the posture deviation does not match the contact force data, performing a hierarchical search starting from the posture deviation to determine a target posture deviation of the server component relative to the component assembly position; and adjusting the motion trajectory of the robotic arm using the target posture deviation so that the robotic arm assembles the server component according to the adjusted motion trajectory.
[0005] The present application also provides a server component assembly device, including: a first acquisition module, used to obtain contact force data when the end of the robotic arm contacts the server component; a first determination module, used to input the contact force data into a pre-trained posture prediction model to obtain the posture deviation of the server component relative to the component assembly position; a second determination module, used to perform contact force matching on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, a hierarchical search is performed starting from the posture deviation to determine the target posture deviation of the server component relative to the component assembly position; an assembly module, used to use the target posture deviation to adjust the motion trajectory of the robotic arm so that the robotic arm assembles the server component according to the adjusted motion trajectory.
[0006] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned server component assembly methods when executing the computer program.
[0007] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned server component assembly methods are implemented.
[0008] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned server component assembly methods when executed by a processor.
[0009] Through the present application, when the robotic arm performs the assembly operation, the contact force data generated by the contact between its end and the server component is obtained in real time; the pre-trained posture prediction model is used to infer the posture deviation of the server component relative to the target assembly position based on the contact force; the posture deviation predicted by the model is matched and verified with the measured contact force. If a mismatch is found, the hierarchical search mechanism is triggered, and an efficient search is performed starting from the predicted deviation to locate the target posture deviation that is more in line with the actual contact state; finally, the motion trajectory of the robotic arm is dynamically adjusted according to the target posture deviation to guide it to complete precise assembly. Therefore, the technical problems of assembly jamming, component damage and failure risks caused by unpredictable posture deviations in automated assembly can be solved, and the technical effect of improving the flexibility and stability of automated assembly of server components can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0011] Figure 1 A flow chart of a server component assembly method provided in an embodiment of the present application;
[0012] Figure 2 A flow chart of another server component assembly method provided in an embodiment of the present application;
[0013] Figure 3 A flow chart of another server component assembly method provided in an embodiment of the present application;
[0014] FIG4( a ) is a schematic diagram of the actual relative position between the memory module and the slot provided in an embodiment of the present application;
[0015] FIG4( b ) is a schematic diagram of an inaccurate relative position of a memory module and a slot provided in an embodiment of the present application;
[0016] Figure 5 is a structural block diagram of a server component assembly device according to an embodiment of the present invention;
[0017] Figure 6 FIG. 4 is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0018] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0019] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0020] With the rapid development of information technology, the demand for servers, as core equipment for data storage and computing, is increasing. Server component assembly is a critical step in server production, and its efficiency and quality directly impact overall performance and production costs. Traditional assembly methods rely primarily on manual labor, but manual assembly is not only inefficient but also prone to human error, making it difficult to meet the needs of large-scale production. Therefore, automated assembly technology is gradually becoming a mainstream trend in server component assembly.
[0021] As the core equipment of automated assembly technology, the control strategy of the robotic arm plays a vital role in assembly efficiency and accuracy. In particular, when faced with uncertainty in the assembly posture, the performance of the robotic arm may be affected, hindering the smooth progress of the assembly process. In robotic assembly tasks, two methods are generally used to deal with uncertainty: one is to define uncertainty through probabilistic models, quantify the uncertainty of the posture, and use techniques such as Bayesian estimation, Kalman filtering, and particle filtering to optimize the model by combining sensory input to improve accuracy; the other method is to deal with uncertainty by detecting actual errors and adopting compliant motion strategies based on the definition of the uncertainty range, such as passive compliance, active compliance based on force / torque sensing, impedance control, and force / position hybrid control.
[0022] However, these methods also have limitations in overcoming uncertainty in robotic assembly. They are ineffective for high-dimensional, highly uncertain assembly tasks, especially for objects with complex shapes and requiring precise assembly, such as server memory modules. Furthermore, they rely too heavily on assumptions, prior knowledge, or specific initial conditions, lacking sufficient flexibility and versatility, or being tailored only for specific assembly tasks, limiting their applicability in practical applications.
[0023] In view of this, the technical solution of the present invention uses a data-driven neural network model to directly predict the posture deviation of the server component based on the contact force data at the end of the robotic arm, avoiding the reliance on traditional probabilistic models and strong prior knowledge, thereby improving the generalization ability in complex assemblies with high dimensions and strong uncertainty. At the same time, it combines the contact force matching verification based on the sphere hierarchy and the hierarchical search dynamic correction mechanism. The ball tree model is used to efficiently calculate the theoretical contact force under the target posture for matching verification. When the predicted posture is inconsistent with the actual measured force, a hierarchical spatial search is performed with the predicted value as the starting point, and the candidate posture is sampled and verified in real time until the actual target posture deviation is locked. Finally, the trajectory of the robotic arm is dynamically adjusted. In this way, without the need for task customization design, the problems of real-time disturbances, high-dimensional errors and lack of adaptability faced by traditional control methods in the assembly of complex-shaped precision parts are effectively solved, significantly improving assembly efficiency and accuracy.
[0024] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0025] According to an embodiment of the present invention, an embodiment of a server component assembly method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0026] In this embodiment, a server component assembly method is provided, which can be used for electronic devices, such as computing devices that work in conjunction with a robotic arm. Figure 1 FIG. 1 is a flow chart of a server component assembly method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:
[0027] Step S101: Acquire contact force data when the end of the robotic arm contacts the server component.
[0028] A robotic arm is an industrial robot manipulator with at least 6 degrees of freedom, equipped with a gripper / end effector at its end for grasping server components. The robotic arm is equipped with force / torque sensors, or torque sensors installed at the joints, to measure in real time the force and torque when the end contacts the server components. Server components refer to core parts that need to be assembled into the server, such as memory modules, fans, power supplies, and hard drives. Contact force data refers to the six-dimensional force and torque data measured by the force / torque sensor, which is used to reflect the mechanical state of the robotic arm end contacting the server component and can be expressed as . Specifically, the robotic arm has at least 6 degrees of freedom, and its end effector is equipped with a force / torque sensor, which can directly measure the six-dimensional force / torque data (including force in three directions and torque in three directions) generated when the robotic arm end contacts the server component. If a force / torque sensor is not directly installed, the joint torque sensor can also be used to collect data and calculate the contact force data, thereby obtaining real-time mechanical state information at the time of contact.
[0029] Step S102: input the contact force data into a pre-trained posture prediction model to obtain the posture deviation of the server component relative to the component assembly position.
[0030] The pose prediction model is used to link the contact force data with the relative contact pose between the server component and the assembly position to predict the pose deviation. The assembly position refers to the position where the server component needs to be correctly inserted. For example, in the memory module assembly scenario, it specifically refers to the position of the memory slot. The pose deviation refers to the difference between the actual pose of the server component relative to the component assembly position and the detected pose. Specifically, after the contact force data is input into a pre-trained pose prediction model, the pose prediction model analyzes the relationship between the contact force data and the server component relative to the assembly position based on the rules learned during the training process, and predicts the pose deviation between the server component and the component assembly position based on the input contact force data.
[0031] Step S103: perform contact force matching on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, a hierarchical search is performed starting from the posture deviation to determine the target posture deviation of the server component relative to the component assembly position.
[0032] The target pose deviation refers to the pose deviation ultimately found and successfully matched through a hierarchical search process. Specifically, the pose deviation is verified for contact force matching according to preset matching rules. If the pose deviation and contact force data fail to match, adjustments are made through a hierarchical search strategy. This search process begins with the current pose deviation and proceeds in a hierarchical search. By adjusting the search range, a target pose deviation that meets the preset matching criteria is gradually found, ensuring that the server component can accurately mate with the component assembly position.
[0033] Step S104 : adjusting the motion trajectory of the robotic arm using the target posture deviation, so that the robotic arm assembles the server components according to the adjusted motion trajectory.
[0034] The motion trajectory refers to the spatial path and posture changes followed by the robotic arm gripper / end effector as it carries the server component from its current position to the component assembly position. Specifically, the target posture deviation reflects the true difference between the actual posture of the server component and the detected posture, and the target posture of the end of the robotic arm is recalculated based on the target posture deviation. Based on this target posture, combined with the robotic arm's inverse kinematic solution and trajectory planning algorithm, the motion path of the robotic arm from its current position to the component assembly position is adjusted so that the robotic arm moves according to the adjusted motion trajectory, ensuring that the server component is accurately inserted into the component assembly position based on real-time force feedback and posture correction, thereby completing the assembly task.
[0035] The server component assembly method provided in this embodiment can perceive the mechanical state of the assembly process in real time by obtaining the contact force data when the end of the robotic arm contacts the server component, providing a basis for precise adjustment. The contact force data is input into a pre-trained posture prediction model to obtain the posture deviation in a data-driven manner without relying on complex physical modeling, thereby improving the versatility and flexibility of the method. Through the contact force matching and hierarchical search mechanism, when the predicted posture deviation is inaccurate, it can be searched and verified step by step from local to global to ensure that the accurate target posture deviation is found, effectively dealing with the uncertainty in assembly. Finally, the motion trajectory of the robotic arm is dynamically adjusted based on the target posture deviation to achieve closed-loop control from perception, prediction to execution, and ensure the efficiency and accuracy of server component assembly.
[0036] In this embodiment, a server component assembly method is provided, which can be used for electronic devices, such as computing devices that work in conjunction with a robotic arm. Figure 2 FIG. 1 is a flow chart of a server component assembly method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0037] Step S201 : obtaining first surface data of a server component and second surface data of a component assembly position.
[0038] The first surface data refers to the geometric surface information of the server component and can be represented as a point cloud or polygonal mesh. The second surface data refers to the geometric surface information of the component assembly location and can also be represented as a point cloud or polygonal mesh. Specifically, the first surface data and the second surface data can be extracted from a 3D model. For example, a 3D model of the server component or the component assembly location can be constructed using CAD software and the polygonal mesh data of its surface can be derived. Alternatively, the data can be collected using a sensing device, such as a laser scanner, 3D camera, or other device, to scan the server component or the component assembly location and obtain point cloud data of its surface.
[0039] Step S202 : performing sphere-level division on the first surface data and the second surface data using a preset space division method to generate a first sphere-level structure corresponding to the first surface data and a second sphere-level structure corresponding to the second surface data.
[0040] The preset spatial division method refers to a recursive spatial division algorithm constructed by a preset sphere tree. The first sphere hierarchy refers to a sphere tree structure generated by performing a preset spatial division on the first surface data of the server component, which can also be called a first sphere tree. The second sphere hierarchy refers to a tree structure formed after performing a sphere hierarchy division on the second surface data of the component assembly position, which can also be called a second sphere tree. Specifically, the preset spatial division method adopts a sphere tree recursive spatial division algorithm to simplify complex geometric shapes by dividing the first surface data of the server component and the second surface data of the component assembly position into multiple sphere hierarchies. The first surface data is spatially divided, and a sphere tree structure is generated layer by layer. Each layer of sphere nodes represents a spatial area at a certain level, and the sphere recursively decomposes a large area into smaller spatial units, thereby forming a first sphere hierarchy. The same process is applied to the second surface data to form a second sphere hierarchy.
[0041] For example, if a server component is a memory stick, assuming it's 80mm long, 30mm wide, and 5mm high, first completely enclose the stick with a sufficiently large sphere (for example, with a radius of 50mm). This large sphere serves as the root node of the ball tree. The various parts of the stick are then further subdivided. For example, the edge of the stick, due to its slenderness, can be represented by a smaller sphere with a radius of approximately 2-5mm. For the spring clip of the memory slot, a sphere with a radius of 1-3mm can be used, depending on its thickness and shape. In terms of hierarchical depth, if the structure of the stick and slot is not particularly complex, a 3-5-layer ball tree structure is sufficient to describe its geometric features.
[0042] The server component assembly method provided in this embodiment obtains first surface data of server components and second surface data of component assembly locations, providing accurate raw information for subsequent geometric modeling. Spheres are hierarchically divided using a preset spatial partitioning method to generate corresponding first and second sphere hierarchies. This sphere tree representation, without relying on precise object shape models, efficiently represents the geometric features of components and assembly locations using a hierarchical structure. During the assembly process, non-collision components can be quickly eliminated and collision spheres can be located in real time, effectively improving the ability to handle complex shapes and uncertainties during assembly.
[0043] In some optional implementations, performing sphere hierarchical division on the surface data using a preset spatial division method to generate a sphere hierarchical structure corresponding to the surface data includes:
[0044] Step a1: Obtain the geometric center of the surface data and determine the geometric center as the root node sphere center.
[0045] The geometric center is the mean coordinate value of all data points in surface data (such as point cloud / polygonal mesh data of server components or component assembly locations). The root node center is the center of the sphere at the top level of the sphere tree. This sphere is used to initially enclose the entire surface data of the object and is the starting point of the sphere hierarchy. Specifically, the geometric center is the mean of the three-dimensional coordinates (x, y, z) of all data points in the surface data. To calculate this, the x-mean is calculated by summing the x-coordinates of all points and dividing by the number of points. Similarly, the y- and z-means are calculated, and this mean coordinate is the geometric center. This geometric center is used as the root node center of the sphere tree to construct a root node sphere that initially encloses all surface data.
[0046] Step a2: determine the data point farthest from the root node center in the surface data as the first child node, and determine the data point farthest from the first child node as the second child node.
[0047] The first child node is the data point in the surface data that is farthest from the center of the root node. This node serves as the first child node of the root node. The second child node is the data point in the surface data that is farthest from the first child node. This node serves as the second child node of the root node. Specifically, the spatial distance from each data point in the surface data to the center of the root node is calculated. The point with the largest distance is the first child node. Using the first child node as the new reference point, the distances from all data points to this point are calculated again. The point with the largest distance is determined as the second child node.
[0048] Step a3: Allocate the remaining data points except the first child node and the second child node to the first cluster corresponding to the first child node and the second cluster corresponding to the second child node according to the principle of closest distance.
[0049] The remaining data points refer to all data points in the surface data except the first subnode and the second subnode. The closest distance principle means that when assigning the remaining data points to the first subnode or the second subnode, the spatial distances of the data points to the two subnodes are compared, and the data points are classified into the cluster corresponding to the subnode with a closer distance. The first cluster refers to the subset composed of data points closer to the first subnode. The second cluster refers to the subset composed of data points closer to the second subnode. Specifically, for the remaining data points, their spatial distances to the first subnode and the second subnode are calculated respectively. If the distance to the first subnode is closer, they are assigned to the first cluster corresponding to the first subnode; if the distance to the second subnode is closer, they are assigned to the second cluster corresponding to the second subnode. In this way, the surface data is divided into two initial subsets.
[0050] Step a4: recursively divide the first cluster and the second cluster until a preset stopping condition is met, thereby generating a sphere hierarchy corresponding to the surface data.
[0051] The surface data is first surface data, and the sphere hierarchy structure is the first sphere hierarchy structure corresponding to the first surface data; or the surface data is second surface data, and the sphere hierarchy structure is the second sphere hierarchy structure corresponding to the second surface data.
[0052] The preset stopping condition refers to the termination condition when recursively dividing clusters. For example, it may include the sub-sphere radius being less than a preset value or the number of data points contained in the cluster being less than a specified number. Specifically, the above sphere division process is recursively repeated for the first cluster and the second cluster, and the geometric center of the data points of each cluster is calculated as the sub-sphere center; then, among the data points of the cluster, the point farthest from the ion sphere center is selected as the first child node, and the point farthest from the first child node is selected as the second child node; then, the Euclidean distance of the remaining data points to the two child nodes is calculated according to the principle of closest distance, and the data points are assigned to the cluster corresponding to the child node with the closer distance. The recursive termination conditions may include: the sub-sphere radius is less than a preset threshold (such as the memory bar edge sphere radius ≤2mm), the sub-cluster contains too few points (such as ≤5 points), or the maximum recursive depth is reached (such as 3-5 layers). Finally, a hierarchical ball tree structure is generated.
[0053] For example, when the server component is a memory stick, the process of converting the memory stick geometry into a sphere tree includes: calculating the minimum bounding sphere that can completely contain the cuboid (i.e., the memory stick). Measure the length, width, and height of the cuboid, find its geometric center as the center of the bounding sphere, and the distance from the center of the sphere to the farthest vertex of the cuboid is the radius of the bounding sphere. Assuming the length of the memory stick is L, the width is W, and the height is H, the coordinates of the center of the sphere are ,in and are the coordinates of the corner vertices of the cuboid, and the radius . Select point A farthest from the center of the enclosing sphere, and then select point B farthest from point A. Based on these two points, assign the points in the enclosing sphere (corresponding to the geometric shape points of the memory bar) to the cluster closest to A or B. Calculate the center of each cluster and the minimum radius that can contain all the points in the cluster to obtain two sub-hyperspheres. For example, if the distance from point P to A is less than the distance to B, point P is assigned to the cluster corresponding to A. Repeat the above division steps for the obtained sub-hyperspheres and continue recursion. Each recursive division will make the sub-hypersphere more accurately approximate the local shape of the memory bar. When the sub-hypersphere meets a specific stopping condition, such as when the radius is less than a threshold or the number of points contained is small, the division is stopped, and eventually a ball tree describing the geometric shape of the memory bar is formed.
[0054] When the component assembly location is a memory slot, the process of converting the memory slot geometry into a ball tree includes: the memory slot is a narrow slot with a spring, and the entire slot is first considered as an irregular shape, and the smallest enclosing sphere that can accommodate the entire slot (including the spring) is found. The key dimensions of the slot, such as length, width, depth, and the position and shape of the spring, are measured to determine the center and radius of the enclosing sphere. If the slot length is , width is , depth is The center of the sphere can be determined based on the geometric center of the slot, while the radius is the distance from the center to the farthest point of the slot (including the spring). Because the slot contains a spring, the location and shape of the spring must be carefully considered when partitioning the internal sphere. The point farthest from the center of the sphere and located in the spring area is selected as one of the partition points. A suitable further point is then selected and assigned to different clusters based on distance. The spring portion can be partitioned more finely, as its contact with the memory module during assembly is critical. For example, if the spring has two protrusions, the endpoints of each protrusion can be used as partition points to form a more precise sub-hypersphere describing the spring shape. Similar to the memory module, the partitioned sub-hyperspheres are recursively partitioned. During the partitioning process, the slot's slit is partitioned based on its orientation and width variation. When the sub-hyperspheres meet a certain accuracy requirement, such as accurately describing the slot's key geometric features (slit width variation, spring location, etc.), the partitioning is terminated, and the memory slot's sphere tree is constructed.
[0055] In the above implementation, the symmetry and integrity of the initial division of the spherical tree structure are ensured by obtaining the geometric center of the surface data as the root node sphere center. The point farthest from the root node is determined as the first child node, and the point farthest from the first child node is determined as the second child node. This can maximize the spatial coverage of the initial division and improve the efficiency of subsequent data grouping. The remaining data points are assigned to the corresponding clusters according to the principle of nearest distance, so that the data points in each cluster are compactly distributed and the invalid search area is reduced. The clusters are recursively divided and terminated according to preset conditions. This can not only adaptively generate a hierarchical structure based on the geometric complexity of the object, but also avoid over-division while ensuring the accuracy of the model. The resulting spherical hierarchy can efficiently characterize the geometric characteristics of components and assembly positions.
[0056] Step S203: Obtain contact force data when the end of the robot arm contacts the server component. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0057] Step S204: Input the contact force data into the pre-trained posture prediction model to obtain the posture deviation of the server component relative to the component assembly position. Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.
[0058] Step S205 , performing contact force matching on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, a hierarchical search is performed starting from the posture deviation to determine the target posture deviation of the server component relative to the component assembly position.
[0059] Specifically, the above step S205 includes:
[0060] Step S2051: Acquire the initial relative position of the server component and the component assembly position.
[0061] The initial relative position refers to the initial position of the server component relative to the assembly position of the component detected by vision or auxiliary positioning technology. 2 Specifically, the initial relative positions of server components and their assembly locations can be obtained through visual perception or assisted positioning techniques, such as by using a pose detection algorithm to calculate images captured by a camera. This initial relative position is affected by the accuracy of the image acquisition device and position detection algorithm, and there are uncertainties in perception and algorithm detection.
[0062] Step S2052: Determine the target contact posture between the server component and the component assembly position using the product of the initial relative position and the posture deviation.
[0063] The target contact posture refers to the theoretical contact posture adjusted by the posture deviation, which can be used Specifically, the target contact pose is represented by the formula = 2 Calculated, it will Substitute into the formula, that is, by changing the initial relative position 2 Deviation from posture Combined with the above, the target contact pose can be directly derived.
[0064] Step S2053 : Based on the positional relationship between the first sphere hierarchy structure and the second sphere hierarchy structure, a collision sphere pair corresponding to the server component and the component assembly position under the target contact posture is determined.
[0065] A collision sphere pair refers to a pair of spheres that intersect in the first sphere hierarchy of the server component and the second sphere hierarchy of the component assembly position under the target contact posture. Specifically, under the target contact posture, start from the root node spheres corresponding to the first sphere hierarchy and the second sphere hierarchy respectively, and compare them layer by layer. If the root node spheres do not intersect, there is no collision as a whole; if they intersect, recursively check the child node spheres. When comparing to the leaf node, if a pair of spheres intersects, it is determined to be a collision sphere pair. For example, when the small sphere at the edge of the memory stick intersects with the small sphere of the slot shrapnel, this pair of spheres corresponds to the actual contact area.
[0066] Step S2054: Use the collision sphere pair to perform contact force matching on the posture deviation to obtain a matching result.
[0067] Using the parameter data of the collision sphere pairs and pre-set matching rules, the contact force matching of the pose deviation is verified to obtain a matching result. If the matching result indicates that the pose deviation matches the contact force data, the pose deviation is used to adjust the robot's motion trajectory so that the robot can assemble the server component according to the adjusted motion trajectory.
[0068] In some optional implementations, step S2054 includes:
[0069] Step b1: obtaining the penetration depth of the collision sphere pair, and determining the target contact force between the server component and the component assembly position using the penetration depth and a preset contact stiffness coefficient.
[0070] The penetration depth refers to the depth of the intersection of the two spheres in the collision sphere pair of the first sphere hierarchy and the second sphere hierarchy under the target contact posture, which reflects the actual contact deformation of the object surface and can be expressed as d. The preset contact stiffness coefficient refers to the physical parameter pre-set based on the object material and geometric parameters corresponding to the server component and the component assembly position, which can be expressed as k. The target contact force refers to the theoretical contact force calculated using the penetration depth of the collision sphere pair and the preset contact stiffness coefficient, which can be expressed as Specifically, in the target contact position, the penetration depth of the collision sphere pair that intersects the first sphere hierarchy of the server component and the second sphere hierarchy of the component assembly position is the depth value of the intersection of the two spheres (that is, when the distance between the two sphere centers is less than the sum of the two radii, the difference between the sum of the radii and the distance between the sphere centers). After obtaining the penetration depth, according to Hooke's law, the target contact force is calculated by the formula = k×d calculated.
[0071] Step b2: If the contact force distance between the target contact force and the contact force data is less than a preset threshold, it is determined that the posture deviation matches the contact force data.
[0072] The contact force distance refers to the distance between the target contact force and the measured contact force data, which is used to quantify the degree of difference between the two. For example, it can be the Euclidean distance. The preset threshold refers to the distance threshold determined by statistical analysis of a large amount of measured data. Specifically, the contact force distance between the target contact force and the contact force data is calculated. If the contact force distance is less than the preset threshold, it indicates that the difference between the theoretical contact force calculated based on the posture deviation and the actual detected contact force is within an acceptable range, thereby determining that the posture deviation matches the contact force data, that is, the current posture deviation can accurately reflect the actual assembly posture of the server component.
[0073] In the above-described embodiment, the penetration depth of the colliding sphere pair is obtained and combined with a preset contact stiffness coefficient to determine the target contact force. The geometric penetration is combined with physical and mechanical properties, and a theoretical contact force calculation model is established through Hooke's law, giving the contact force calculation a clear physical meaning and interpretability. By calculating the contact force distance between the target contact force and the contact force data and comparing it with a preset threshold to determine the matching status, a quantitative matching judgment standard is formed, achieving a precise conversion from geometric collision to mechanical verification, ensuring that the accuracy verification process of the posture deviation is objective and quantifiable, thereby providing a reliable matching basis for subsequent hierarchical search and effectively ensuring the accuracy and reliability of contact status judgment during the assembly process.
[0074] In step S2055, if the matching result indicates that the posture deviation does not match the contact force data, a hierarchical search is performed starting from the posture deviation to determine the target posture deviation of the server component relative to the component assembly position. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.
[0075] Step S206: Use the target posture deviation to adjust the motion trajectory of the robot arm so that the robot arm assembles the server components according to the adjusted motion trajectory. Figure 1 Step S104 of the illustrated embodiment will not be described in detail here.
[0076] The server component assembly method provided in this embodiment provides a benchmark for the calculation of the target contact posture by obtaining the initial relative position between the server component and the assembly position, ensuring that the superposition calculation of the posture deviation has a clear reference frame. The target contact posture is determined by multiplying the initial relative position and the posture deviation, and the predicted deviation is integrated into the theoretical posture through calculation, so that the target contact posture is more in line with the uncertainty in the actual assembly scene. The collision sphere pair is determined based on the positional relationship between the first sphere hierarchy and the second sphere hierarchy, and the contact area can be quickly located with the help of the hierarchical geometric representation of the ball tree, avoiding global search and significantly improving the efficiency of collision detection. The collision sphere pair is used for contact force matching, and the theoretical contact force is calculated through the geometric penetration depth and the physical model, thereby achieving accurate verification of the predicted posture deviation and ensuring the accuracy of the posture adjustment, thereby forming a closed-loop control from posture prediction to contact verification, effectively improving the robustness and accuracy of the assembly process.
[0077] In this embodiment, a server component assembly method is provided, which can be used for electronic devices, such as computing devices that work in conjunction with a robotic arm. Figure 3 FIG. 1 is a flow chart of a server component assembly method according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps:
[0078] Step S301: Obtain the first surface data of the server component and the second surface data of the component assembly position. Figure 2 Step S201 of the illustrated embodiment will not be described in detail here.
[0079] Step S302: Perform sphere-level division on the first surface data and the second surface data using a preset spatial division method to generate a first sphere-level structure corresponding to the first surface data and a second sphere-level structure corresponding to the second surface data. Figure 2 Step S202 of the illustrated embodiment will not be described in detail here.
[0080] Step S303: Obtain contact force data when the end of the robot arm contacts the server component. Figure 2 Step S203 of the illustrated embodiment will not be described in detail here.
[0081] Step S304: input the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to the component assembly position.
[0082] Specifically, the pose prediction model includes a feature extraction layer and a deviation prediction layer, which are cascaded. The above step S304 includes:
[0083] Step S3041: extract the contact force direction features between the server component and the component assembly position from the contact force data through the feature extraction layer of the posture prediction model.
[0084] The feature extraction layer refers to the first-stage network in the pose prediction model. It adopts a two-hidden layer structure, a nonlinear activation function, and the Adam gradient optimization algorithm. The contact force direction feature refers to the three-dimensional vector extracted from the contact force data by the feature extraction layer, which represents the equivalent force direction at the contact point. Specifically, the feature extraction layer of the pose prediction model has a two-hidden layer structure and adopts a nonlinear activation function and the Adam optimization algorithm. When the six-dimensional contact force data is input, the feature extraction layer extracts key features that can characterize the contact force direction from the data through calculations of a multi-layer neural network, and ultimately outputs a three-dimensional vector. This vector represents the equivalent force direction at the contact point and is related to the geometric contact position on the object surface. For example, in a memory stick insertion scenario, if the contact occurs at an edge or plane, the direction of the three-dimensional vector can reflect the normal direction of the contact surface or the geometric characteristics of the relative pose deviation, providing key directional information for subsequent uncertainty prediction.
[0085] Step S3042: input the contact force data and contact force direction features into the deviation prediction layer of the posture prediction model to obtain the posture deviation of the server component relative to the component assembly position.
[0086] The deviation prediction layer refers to the second-stage network of the posture prediction model. Its input is the six-dimensional contact force data and the three-dimensional contact force direction features output by the feature extraction layer. The activation function is the rectified linear unit ReLU, the loss function is the mean square error, and the Adam algorithm is used for optimization. Specifically, the input of the deviation prediction layer is the six-dimensional contact force data and the three-dimensional contact force direction features output by the feature extraction layer. The ReLU activation function and the mean square error loss function are used to optimize the model parameters through the Adam algorithm. After the input data is processed by the deviation prediction layer, a six-dimensional vector is output. ,in Roll, pitch, and yaw angles representing relative attitude, Represents the relative position, the six-dimensional vector That is, it characterizes the posture deviation of the server component relative to the assembly position.
[0087] The server component assembly method provided in this embodiment adopts a cascaded structure of a feature extraction layer and a deviation prediction layer in its posture prediction model. The feature extraction layer extracts contact force direction features from the contact force data, effectively refining key directional information from the contact force data, reducing the data dimension while retaining the core features, and providing more targeted input for subsequent posture deviation prediction. The contact force data and contact force direction features are input into the deviation prediction layer together. Combining the original contact force data with the extracted directional features can more comprehensively capture the mapping relationship between the contact state and the posture deviation, so that the posture deviation output by the deviation prediction layer more accurately reflects the posture deviation of the server component relative to the assembly position, thereby improving the accuracy and reliability of the posture prediction.
[0088] In some optional implementations, a highly sensitive microphone array and vibration sensor can be added to the end of the robotic arm to simultaneously collect acoustic signatures (such as component friction spectrum and snap-fit sound pressure) and high-frequency vibration waveforms during the assembly process, thereby constructing a three-dimensional acoustic-vibration-force perception system. A lightweight Bayesian evaluation network is designed to analyze the contact force signal-to-noise ratio, acoustic signature energy entropy, and model confidence in real time, outputting a dynamic uncertainty coefficient κ∈[0,1] (κ>0.7 triggers a high uncertainty warning). A hierarchical search strategy is intelligently controlled based on the κ value: in low-uncertainty scenarios (κ≤0.3), the default step size is maintained to accelerate convergence; in high-uncertainty scenarios (κ>0.7), multimodal fusion is activated. The acoustic-vibration time-frequency signatures (Mel-frequency cepstral coefficients extracted via wavelet transform) and contact force data are input into a graph neural network to reconstruct the contact mechanics model. The search step size is adaptively expanded by δ'=δ·(1+2κ), and the search direction is initialized by using a library of historical similar cases. After successful correction, the acoustic vibration, contact force, and posture deviation data are automatically bound to construct an enhanced sample. The weights of the fully connected layer of the posture prediction model are fine-tuned online through the gradient clipping protection mechanism, and key rules (such as the mapping relationship between "1.2kHz vibration peak + 200Hz voiceprint mutation" and "Z-axis offset dominance") are distilled into lightweight rules and stored in the edge nodes, forming a lifelong learning closed loop.
[0089] In the above-mentioned implementation, the robustness and evolutionary capability of the assembly system under complex disturbances are significantly improved through the acoustic-vibration-force ternary perception system and the adaptive decision-making mechanism. At the hardware level, the acoustic-vibration sensing channel is expanded to provide redundant perception dimensions when the force sensor fails, thereby ensuring data integrity. At the algorithm level, the dynamic uncertainty coefficient κ is used to quantify the intensity of environmental interference, realizing intelligent tuning of hierarchical search. Low-κ scenarios maintain efficient convergence, while high-κ scenarios resist noise interference through multimodal fusion and adaptive step-size expansion, thereby reducing redundant search paths. At the knowledge level, a lifelong learning closed loop is constructed, and the online fine-tuning model speeds up the convergence of errors in the assembly of new components. The key rules are distilled into a lightweight knowledge base for edge nodes, giving the system the ability to autonomously evolve to cope with sudden tolerances, ultimately forming a "highly flexible assembly brain" that becomes more accurate with use.
[0090] Step S305: perform contact force matching on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, perform a hierarchical search starting from the posture deviation to determine the target posture deviation of the server component relative to the component assembly position.
[0091] Specifically, the above step S305 includes:
[0092] In step S3051, contact force matching is performed on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, the search space is expanded in ascending order with the posture deviation as the center point, and candidate posture deviations are generated by sampling according to the preset step size within each layer.
[0093] When the original pose deviation does not match the contact force data, the search space is expanded in ascending order with the pose deviation as the center point, and the possible pose deviation values are sampled in each layer according to the preset step size. Specifically, the theoretical contact force is calculated based on the pose deviation and the sphere hierarchy (i.e., the sphere tree model) through geometric and physical constraints. (i.e., target contact force), and compare it with The measured force (i.e. contact force data) is compared with the contact force distance. If the distance is greater than the preset threshold, it is determined to be mismatched. As the center point, expand the search space in increasing order of levels: level 0 contains only , n layers (n≥1) As the center, a new candidate pose deviation is generated in its neighborhood according to the preset sampling rules The search range of each layer increases with the increase of the level (for example, level = 1 corresponds to a small neighborhood, level = 2 corresponds to a larger range). The preset sampling rule is to use The corresponding parameter is taken as the center and discrete points are generated according to the preset step size (such as Δx±δ, Δy±δ, etc.). For example, when level=1, the step size is small (such as δ=0.1mm / 0.01rad), when level=2, the step size is doubled (δ=0.2mm / 0.02rad), and so on. The search range of each layer is the extended neighborhood of the previous layer. By increasing the sampling step size or the number of sampling points in each dimension, the search space is gradually expanded to ensure that all possible In addition, a breadth-first search can be used, where the nearest neighbor (level=0) is searched first, and if that fails, a wider range (level=1, level=2, etc.) is expanded to ensure that the most likely candidate points are verified first, thus improving search efficiency.
[0094] Step S3052: performing contact force matching on the candidate posture deviation to obtain a target matching result corresponding to the candidate posture deviation.
[0095] The target matching result refers to the judgment result obtained after the contact force matching of the candidate posture deviation. Specifically, for each candidate posture deviation , first use the initial relative position and The target contact posture is determined by multiplying the first sphere hierarchy and the second sphere hierarchy, and the collision sphere pair is determined based on the positional relationship between the first sphere hierarchy and the second sphere hierarchy. The penetration depth of the collision sphere pair is calculated, and the theoretical contact force is obtained by Hooke's law in combination with the preset contact stiffness coefficient k. .Will Contact force data The contact force distance is calculated. If the distance is less than the preset threshold, the target matching result indicates that the candidate pose deviation matches the contact force data, otherwise it does not match.
[0096] Step S3053: When the target matching result indicates that the candidate posture deviation matches the contact force data, the candidate posture deviation is determined as the target posture deviation.
[0097] After the contact force matching is performed on the candidate pose deviation, if the target matching result shows its corresponding theoretical contact force and measured force The contact force distance is less than the preset threshold, that is, the candidate pose deviation is determined to accurately reflect the actual assembly pose of the server component. At this time, the search is stopped and the candidate pose deviation is determined as the target pose deviation. , used to adjust the subsequent motion trajectory of the robotic arm to ensure accurate assembly of server components.
[0098] Step S306: adjusting the motion trajectory of the robotic arm using the target posture deviation, so that the robotic arm assembles the server components according to the adjusted motion trajectory.
[0099] The target pose deviation Substitute into the formula = 2 (in, 2 is the detected relative pose, The target pose of the end-arm is recalculated based on the actual relative pose. Based on this target pose, the robot's inverse kinematics and trajectory planning algorithm are combined to adjust the robot's motion path from its current position to the assembly location. The robot moves along the adjusted trajectory, ensuring that server components (such as memory modules) are accurately inserted into their assembly locations (such as memory slots) based on real-time force feedback and pose corrections, completing the assembly task.
[0100] The server component assembly method provided in this embodiment expands the search space incrementally in layers with the posture deviation as the center point, adopts a search strategy from local to global, and prioritizes verifying the most likely posture deviation area to improve search efficiency. Each layer samples the candidate posture deviation according to the preset step size, and controls the search accuracy by quantizing the step size to ensure the orderly expansion of the search space. Contact force matching is performed on the candidate posture deviation and the target posture deviation is determined based on the target matching result, forming a closed-loop mechanism of prediction, verification and correction. It can not only find the correct solution through search when the predicted posture deviation is inaccurate, but also ensure the accuracy of the target posture deviation with the help of contact force matching, effectively dealing with the posture uncertainty in the assembly process and improving the robustness and adaptability of the method.
[0101] In this embodiment, the server component assembly method described above will be exemplified using a scenario where the server component is a memory module and the component assembly location is a memory slot. As shown in Figures 4(a) and 4(b), Figure 4(a) shows the actual relative position between the memory module and the slot, while Figure 4(b) shows the inaccurate relative position between the memory module and the slot.
[0102] Laser scanning is used to obtain the first surface data of the memory stick and the second surface data of the memory slot (the slit with the shrapnel), and a spherical tree is constructed using a preset spatial partitioning method: the geometric center of the memory stick surface data is calculated as the root node sphere center, the point farthest from the sphere center is selected as the first child node, and then the point farthest from this point is selected as the second child node. The remaining data points are assigned to two clusters according to the closest distance, and recursively divided into sub-spheres with a radius less than 5mm. A first sphere hierarchy containing small edge spheres (radius 2-5mm) is generated. Similarly, a second sphere hierarchy containing small spheres with shrapnel (radius 1-3mm) is constructed for the slot. When the robotic arm grasps the memory stick, the force / torque sensor obtains six-dimensional contact force data and inputs it into a two-stage pose prediction model: the feature extraction layer extracts three-dimensional contact force direction features from the data, and the deviation prediction layer combines this feature with the contact force data to output the pose deviation. The target contact posture is obtained based on the product of the initial relative position and the posture deviation. The collision sphere pair between the memory bar edge and the slot shrapnel is determined through two-ball tree collision detection. The penetration depth is calculated and the theoretical contact force is obtained using Hooke's law. , and the measured force If the Euclidean distance is greater than the preset threshold (determined by data statistics), the search space is expanded hierarchically with the posture deviation as the center, and the 0th layer verification , the first layer samples the candidate pose deviation in the ±0.1mm / 0.01rad neighborhood, and gradually expands the step size until the candidate pose deviation is found. and The matching candidate value is determined as the target pose deviation , and will eventually Substitute into the formula =2 , according to the calculated Adjust the robot arm's motion trajectory so that the memory module is accurately inserted into the slot along the corrected path.
[0103] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0104] This embodiment provides a server component assembly device, such as Figure 5 Shown, including:
[0105] The first acquisition module 501 is used to acquire contact force data when the end of the robot arm contacts the server component;
[0106] A first determination module 502 is configured to input the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to the component assembly position;
[0107] The second determination module 503 is configured to perform contact force matching on the posture deviation. If the matching result indicates that the posture deviation does not match the contact force data, a hierarchical search is performed starting from the posture deviation to determine a target posture deviation of the server component relative to the component assembly position.
[0108] The assembly module 504 is configured to adjust the motion trajectory of the robotic arm using the target posture deviation, so that the robotic arm assembles the server components according to the adjusted motion trajectory.
[0109] In some optional embodiments, the server component assembly device further includes:
[0110] A second acquisition module is used to acquire first surface data of the server component and second surface data of the component assembly position;
[0111] The division module is used to perform sphere-level division on the first surface data and the second surface data using a preset space division method to generate a first sphere-level structure corresponding to the first surface data and a second sphere-level structure corresponding to the second surface data.
[0112] In some optional implementations, the partitioning module includes:
[0113] The first acquisition submodule is used to obtain the geometric center of the surface data and determine the geometric center as the root node sphere center;
[0114] A first determining submodule is configured to determine the data point in the surface data that is farthest from the center of the root node as the first child node, and to determine the data point that is farthest from the first child node as the second child node;
[0115] An allocation submodule, configured to allocate the remaining data points except the first subnode and the second subnode to the first cluster corresponding to the first subnode and the second cluster corresponding to the second subnode according to the principle of the closest distance;
[0116] The partitioning submodule is used to recursively partition the first cluster and the second cluster until a preset stopping condition is met, thereby generating a sphere hierarchy corresponding to the surface data; wherein the surface data is first surface data, and the sphere hierarchy is a first sphere hierarchy corresponding to the first surface data, or, the surface data is second surface data, and the sphere hierarchy is a second sphere hierarchy corresponding to the second surface data.
[0117] In some optional implementations, the second determining module 503 includes:
[0118] A second acquisition submodule is used to obtain the initial relative position of the server component and the component assembly position;
[0119] a second determination submodule, configured to determine a target contact posture between the server component and the component assembly position by using the product of the initial relative position and the posture deviation;
[0120] a third determining submodule, configured to determine, based on a positional relationship between the first sphere hierarchy and the second sphere hierarchy, a collision sphere pair corresponding to an assembly position of the server component and the component under a target contact posture;
[0121] The first matching submodule is used to use the collision sphere pair to perform contact force matching on the posture deviation to obtain a matching result.
[0122] In some optional implementations, the matching submodule includes:
[0123] an acquisition unit, configured to acquire a penetration depth of the collision sphere pair, and determine a target contact force between the server component and the component assembly position using the penetration depth and a preset contact stiffness coefficient;
[0124] The determination unit is configured to determine whether the posture deviation matches the contact force data if a contact force distance between the target contact force and the contact force data is less than a preset threshold.
[0125] In some optional embodiments, the pose prediction model includes a feature extraction layer and a deviation prediction layer; the feature extraction layer and the deviation prediction layer are cascaded; the first determination module 502 includes:
[0126] an extraction submodule for extracting contact force direction features between the server component and the component assembly position from the contact force data through a feature extraction layer of a pose prediction model;
[0127] The fourth determination submodule is used to input the contact force data and contact force direction characteristics into the deviation prediction layer of the posture prediction model to obtain the posture deviation of the server component relative to the component assembly position.
[0128] In some optional implementations, the second determining module 503 further includes:
[0129] The sampling submodule is used to expand the search space in ascending order of levels with the pose deviation as the center point, and generate candidate pose deviations by sampling according to the preset step size within each level;
[0130] The second matching submodule is used to perform contact force matching on the candidate posture deviation to obtain the target matching result corresponding to the candidate posture deviation;
[0131] The fifth determination submodule is configured to determine the candidate posture deviation as the target posture deviation when the target matching result indicates that the candidate posture deviation matches the contact force data.
[0132] For the description of the features in the embodiment corresponding to the server component assembly device, reference can be made to the relevant description of the embodiment corresponding to the server component assembly method, which will not be repeated here.
[0133] The embodiment of the present application also provides an electronic device, such as Figure 6 As shown, it includes a memory 10 and a processor 20. The memory 10 stores a computer program, and the processor 20 is configured to run the computer program to execute the steps in any of the above server component assembly method embodiments.
[0134] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned server component assembly method embodiments when running.
[0135] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0136] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned server component assembly method embodiments are implemented.
[0137] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned server component assembly method embodiments.
[0138] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0139] The above describes in detail the server component assembly method, device, electronic device, and storage medium provided by the present application. This document uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only intended to help understand the method and core concept of the present application. It should be noted that, for those skilled in the art, several improvements and modifications can be made to the present application without departing from the principles of the present application, and such improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A server component assembly method, characterized in that: include: Obtain contact force data when the end of the robotic arm contacts the server component; Inputting the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to the component assembly position; performing contact force matching on the posture deviation, and if a matching result indicates that the posture deviation does not match the contact force data, performing a hierarchical search starting from the posture deviation to determine a target posture deviation of the server component relative to the component assembly position; Adjusting the motion trajectory of the robotic arm using the target posture deviation so that the robotic arm assembles the server component according to the adjusted motion trajectory; The posture prediction model includes a feature extraction layer and a deviation prediction layer; the feature extraction layer and the deviation prediction layer are cascaded; Inputting the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to the component assembly position includes: extracting contact force direction features between the server component and the component assembly position from the contact force data through a feature extraction layer of the posture prediction model; The contact force data and the contact force direction feature are input into the deviation prediction layer of the posture prediction model to obtain the posture deviation of the server component relative to the component assembly position.
2. The server component assembly method according to claim 1, wherein: Also includes: Acquire first surface data of the server component and second surface data of the component assembly position; The first surface data and the second surface data are divided into sphere hierarchies using a preset space division method to generate a first sphere hierarchical structure corresponding to the first surface data and a second sphere hierarchical structure corresponding to the second surface data.
3. The server component assembly method according to claim 2, wherein: The surface data is divided into sphere hierarchies using a preset spatial division method to generate a sphere hierarchical structure corresponding to the surface data, including: Obtaining the geometric center of the surface data, and determining the geometric center as the root node sphere center; Determine the data point farthest from the center of the root node in the surface data as the first child node, and determine the data point farthest from the first child node as the second child node; Allocate the remaining data points except the first sub-node and the second sub-node to the first cluster corresponding to the first sub-node and the second cluster corresponding to the second sub-node according to the principle of closest distance; Recursively dividing the first cluster and the second cluster until a preset stopping condition is met, thereby generating a sphere hierarchy corresponding to the surface data; The surface data is the first surface data, and the sphere hierarchy is the first sphere hierarchy corresponding to the first surface data; or, the surface data is the second surface data, and the sphere hierarchy is the second sphere hierarchy corresponding to the second surface data.
4. The server component assembly method according to claim 2 or 3, characterized in that: The performing contact force matching on the posture deviation includes: obtaining an initial relative position of the server component and the component assembly position; determining a target contact posture between the server component and the component assembly position using a product of the initial relative position and the posture deviation; determining, based on a positional relationship between the first sphere hierarchy and the second sphere hierarchy, a collision sphere pair corresponding to an assembly position between the server component and the component in the target contact posture; The collision sphere pair is used to perform contact force matching on the posture deviation to obtain a matching result.
5. The server component assembly method according to claim 4, wherein: The step of performing contact force matching on the posture deviation using the collision sphere pair to obtain a matching result includes: obtaining a penetration depth of the collision sphere pair, and determining a target contact force between the server component and the component assembly location using the penetration depth and a preset contact stiffness coefficient; If the contact force distance between the target contact force and the contact force data is less than a preset threshold, it is determined that the posture deviation matches the contact force data.
6. The server component assembly method according to claim 1, wherein: The step of performing a hierarchical search based on the posture deviation to determine a target posture deviation of the server component relative to the component assembly position includes: Taking the pose deviation as the center point, the search space is expanded in ascending order of levels, and candidate pose deviations are generated by sampling according to a preset step size within each level; Performing contact force matching on the candidate posture deviation to obtain a target matching result corresponding to the candidate posture deviation; When the target matching result indicates that the candidate posture deviation matches the contact force data, the candidate posture deviation is determined as the target posture deviation.
7. A server component assembly device, characterized in that: include: A first acquisition module is used to acquire contact force data when the end of the robotic arm contacts the server component; A first determination module is configured to input the contact force data into a pre-trained posture prediction model to obtain a posture deviation of the server component relative to a component assembly position; a second determination module, configured to perform contact force matching on the posture deviation, and if a matching result indicates that the posture deviation does not match the contact force data, perform a hierarchical search starting from the posture deviation to determine a target posture deviation of the server component relative to the component assembly position; an assembly module, configured to adjust a motion trajectory of the robotic arm using the target posture deviation, so that the robotic arm assembles the server component according to the adjusted motion trajectory; The posture prediction model includes a feature extraction layer and a deviation prediction layer; the feature extraction layer and the deviation prediction layer are cascaded; and the first determination module includes: an extraction submodule, configured to extract, from the contact force data, contact force direction features between the server component and the component assembly position through a feature extraction layer of the posture prediction model; The fourth determination submodule is used to input the contact force data and the contact force direction characteristics into the deviation prediction layer of the posture prediction model to obtain the posture deviation of the server component relative to the component assembly position.
8. An electronic device, characterized in that: include: memory for storing computer programs; A processor is configured to implement the steps of the server component assembly method according to any one of claims 1 to 6 when executing the computer program.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the server component assembly method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Mechanical arm assembly control method and device, mechanical arm control equipment and storage medium
CN114310912A
Assembly method and system for installing workpiece
CN118288014A