Function simulation method of electronic device and function simulation system using same
By using an automated processor and transceiver in a functional simulation system to identify and determine the functional components of 3D objects from computer-aided design files, the problem of manual coordinate system alignment in the conversion of mechanical design to functional simulation parameters is solved, thus improving the efficiency and accuracy of the workflow.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HTC CORP
- Filing Date
- 2025-03-12
- Publication Date
- 2026-04-28
AI Technical Summary
Existing technologies for converting mechanical designs into functional simulation parameters involve manual coordinate system alignment and non-automated axis transformation, increasing manpower consumption and communication costs. Furthermore, they require design operators to have knowledge of functional simulation, resulting in complex workflows and high error rates.
The functional simulation system uses a processor and transceiver to acquire 3D objects from computer-aided design files, divides them into multiple meshes, identifies functional components, outputs relevant information including position, orientation, and size, and judges the appropriateness of position markings based on user commands and detection results, thus achieving automated functional simulation.
It has enabled the automation of electronic device function simulation, reduced human intervention and communication costs, improved the efficiency and accuracy of workflows, and reduced the error rate.
Smart Images

Figure CN121936092A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to image processing technology, and in particular to a method for simulating the function of an electronic device and a system for simulating the function using said method. Background Technology
[0002] Functional components such as cameras, light-emitting diodes (LEDs), inertial measurement units (IMUs), structured light or time-of-flight (TOF) sensors, and mechanical structures must be strategically placed to meet system requirements and achieve optimal product performance. For example, achieving effective tracking in extended reality (XR) devices requires precise placement of cameras and structured light, while mobile phones require efficient space arrangement of chips, camera modules, and batteries to minimize device size.
[0003] The main technical challenge lies in translating design elements into mechanical design language and functional simulation parameters. Existing workflows typically require manual alignment of the coordinate system origin and transformation of the coordinate axes to synchronize with the attitude standards required for functional simulation evaluation. This results in many procedures not being automated and increases manpower consumption, budget consumption, human factors, learning thresholds, and error rates.
[0004] One approach to addressing these issues is to generate position and orientation data directly from mechanical design software. However, discrepancies in the output of mechanical designers and the need for manual axis conversion can lead to inconsistencies and high communication costs. Another approach is to use third-party software to perform basic simulations of the mechanical design documents beforehand. While this reduces manual intervention, it introduces environmental and budgetary constraints and requires design operators to have prior knowledge of functional simulation, further complicating communication and workflow integration. Summary of the Invention
[0005] This disclosure is a functional simulation system and a method for functional simulation of electronic devices.
[0006] This invention discloses a functional simulation system for an electronic device, comprising a transceiver and a processor. The processor is coupled to the transceiver, wherein the processor is configured to: acquire a computer-aided design file of the electronic device via the transceiver, wherein the computer-aided design file includes a three-dimensional object; divide a first face of the three-dimensional object into a plurality of first grids; identify the three-dimensional object as a functional element based on the plurality of first grids; and output information about the functional element via the transceiver.
[0007] In one embodiment of the invention, the processor is further configured to: divide a second face of a three-dimensional object into a plurality of second meshes; and identify the three-dimensional object as a functional element based on the plurality of first meshes and the plurality of second meshes.
[0008] In one embodiment of the invention, the processor further identifies the three-dimensional object based on at least one of the following: the centroid of the three-dimensional object; the circumcircle of the three-dimensional object; the number of a first set of a plurality of first meshes, wherein each first mesh in the first set corresponds to a normal aligned with a first direction; the total area of the first set; the symmetry between the number of the first set and the number of a second set of a plurality of first meshes corresponding to a second direction; or the number of vertices of a plurality of first meshes in a first face.
[0009] In one embodiment of the invention, the functional element includes a first position mark.
[0010] In one embodiment of the present invention, the processor is further configured to: receive a user command via a transceiver, wherein the user command includes a first yaw angle and a first pitch angle of a three-dimensional object; detect multiple position markers on the three-dimensional object based on the first yaw angle and the first pitch angle to generate a first detection result, wherein the multiple position markers include a first position marker; determine a first difference between the first detection result and a first reference detection result corresponding to the first yaw angle and the first pitch angle; and output a first alarm message based on the first difference.
[0011] In one embodiment of the present invention, the processor is further configured to: detect multiple position markers on a three-dimensional object based on a second yaw angle and a second pitch angle to generate a second detection result, wherein a first offset between the first yaw angle and the second yaw angle is less than a first threshold, and a second offset between the first pitch angle and the second pitch angle is less than a second threshold; input the second detection result into an object tracking algorithm to obtain a tracking score; and output the tracking score.
[0012] In one embodiment of the present invention, the processor is further configured to: determine the distance between a first position marker and a second position marker on a three-dimensional object; and output an alarm message in response to the distance being less than a threshold.
[0013] In one embodiment of the invention, the information includes at least one of the orientation of the functional element, the position of the functional element, or the size of the functional element.
[0014] This invention discloses a method for functional simulation of an electronic device, comprising: acquiring a computer-aided design file of the electronic device, wherein the computer-aided design file includes a three-dimensional object; dividing a first face of the three-dimensional object into a plurality of first grids; identifying the three-dimensional object as a functional element based on the plurality of first grids; and outputting information of the functional element.
[0015] In one embodiment of the present invention, the step of identifying a three-dimensional object as a functional element based on a plurality of first grids includes: dividing a second face of the three-dimensional object into a plurality of second grids; and identifying the three-dimensional object as a functional element based on the plurality of first grids and the plurality of second grids.
[0016] In one embodiment of the invention, the three-dimensional object is further identified based on at least one of the following: the centroid of the three-dimensional object; the circumcircle of the three-dimensional object; the number of a first set of a plurality of first meshes, wherein each first mesh in the first set corresponds to a normal aligned with a first direction; the total area of the first set; the symmetry between the number of the first set and the number of a second set of a plurality of first meshes corresponding to a second direction; or the number of vertices of a plurality of first meshes in a first face.
[0017] In one embodiment of the invention, the functional element includes a first position mark.
[0018] In one embodiment of the present invention, the method further includes: receiving a user command, wherein the user command includes a first yaw angle and a first pitch angle of a three-dimensional object; detecting a plurality of position markers on the three-dimensional object based on the first yaw angle and the first pitch angle to generate a first detection result, wherein the plurality of position markers includes a first position marker; determining a first difference between the first detection result and a first reference detection result corresponding to the first yaw angle and the first pitch angle; and outputting a first alarm message based on the first difference.
[0019] In one embodiment of the present invention, the method further includes: detecting multiple position markers on a three-dimensional object based on a second yaw angle and a second pitch angle to generate a second detection result, wherein a first offset between the first yaw angle and the second yaw angle is less than a first threshold, and a second offset between the first pitch angle and the second pitch angle is less than a second threshold; inputting the second detection result into an object tracking algorithm to obtain a tracking score; and outputting the tracking score.
[0020] In one embodiment of the present invention, the method further includes: detecting the distance between a first position marker and a second position marker on a three-dimensional object; and outputting an alarm message in response to the distance being less than a threshold.
[0021] In one embodiment of the invention, the information includes at least one of the orientation of the functional element, the position of the functional element, or the size of the functional element.
[0022] Based on the above description, the functional simulation system can integrate the mechanical and functional designs of electronic devices using the analysis results of computer-aided design (CAD) files.
[0023] To make the above content easier to understand, several embodiments are described in detail below with reference to the accompanying drawings. Attached Figure Description
[0024] The accompanying drawings are included to provide a further understanding of this disclosure and form part of this specification. These drawings illustrate exemplary embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure.
[0025] Figure 1 A schematic diagram illustrating a functional simulation system for an electronic device is provided according to an embodiment of the present invention.
[0026] Figure 2 A schematic diagram illustrating a three-dimensional (3D) object is provided according to an embodiment of the present invention.
[0027] Figure 3 A schematic diagram of a functional element is illustrated according to an embodiment of the present invention.
[0028] Figure 4 A schematic diagram illustrating the pose of a 3D object according to an embodiment of the present invention.
[0029] Figure 5 A schematic diagram illustrating a graphical user interface (GUI) according to an embodiment of the present invention is provided.
[0030] Figure 6 A schematic diagram illustrating a GUI is provided according to an embodiment of the present invention.
[0031] Figure 7 A flowchart illustrating a method for simulating the function of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0032] Reference will now be made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same element references are used in the drawings and description to denote the same or similar parts.
[0033] Figure 1 A schematic diagram of a functional simulation system 100 for an electronic device is illustrated according to an embodiment of the present invention. The functional simulation system 100 may include a processor 110, a storage medium 120, and a transceiver 130.
[0034] Processor 110 may be, for example, a central processing unit (CPU), or other programmable general-purpose or special-purpose microcontroller (MCU), microprocessor, digital signal processor (DSP), programmable controller, application-specific integrated circuit (ASIC), graphics unit (GPU), arithmetic logic unit (ALU), complex programmable logic device (CPLD), field-programmable gate array (FPGA), or other similar devices or combinations thereof. Processor 110 may be coupled to storage medium 120 and transceiver 130.
[0035] Storage medium 120 may be, for example, any type of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), or similar elements, or combinations thereof. Storage medium 120 may be a non-transitory computer-readable storage medium configured to record a plurality of executable computer programs, modules, or application programs for loading by processor 110 to perform the functions of functional emulation system 100.
[0036] Transceiver 130 can be configured to transmit or receive wired / wireless signals. Transceiver 130 can also perform low-noise amplification, impedance matching, frequency mixing, up- or down-frequency conversion, filtering amplification, and other operations. Processor 110 can communicate with other external devices via transceiver 130. In one embodiment, processor 110 can acquire one or more CAD files from an external device (e.g., a computer) via transceiver 130. CAD files may contain illustrations of one or more 3D objects. In one embodiment, processor 110 can output a GUI via transceiver 130.
[0037] In one embodiment, the 3D object in the CAD file may include a dedicated structure representing a functional element. This functional element may be an electronic component, including, but not limited to, a sensor, camera, camera array, optical transmitter, LED, IMU, TOF sensor, structured light, or position marker.
[0038] Figure 2 A schematic diagram of a 3D object 200 is illustrated according to an embodiment of the present invention. The 3D object 200 may be a head-mounted display (HMD). The 3D object 200 may be configured with a 3D object 300 having a dedicated structure representing a functional element and a 3D object 400 having a dedicated structure representing another functional element. The 3D object 300 (or 400) may be, for example, a camera.
[0039] To identify whether a 3D object in a CAD file is a functional component, the functional simulation system 100 can divide each face of the 3D object into multiple meshes. For example, the functional simulation system 100 can apply a mesh division algorithm to each face of the 3D object. The mesh can be, for example, a triangular mesh or a quadrilateral mesh, depending on the algorithm used. The functional simulation system 100 can identify whether a 3D object is a functional component based on the multiple meshes of each face of the 3D object. The functional simulation system 100 can output information about the identified functional components to a user for reference via transceiver 130. The information may include the specifications of the identified functional components, such as orientation (e.g., yaw, pitch, or roll), position (e.g., coordinates), or dimensions.
[0040] In one embodiment, the functional simulation system 100 can update the design of a 3D object in a CAD file based on identified functional components. For example, after the functional simulation system 100 identifies a camera (e.g., 3D object 300 or 400) on an HMD (e.g., 3D object 200), if the functional simulation system 100 finds that the camera's optical axis is obstructed by the mechanical structure of the HMD, the functional simulation system 100 can adjust the camera's position. After adjustment, the camera's optical axis will no longer be obstructed. Therefore, the design of the 3D object in the CAD file can be updated.
[0041] In one embodiment, the functional simulation system 100 can identify a 3D object based on the following parameters: the center of gravity of the 3D object; the circumcircle of the 3D object; the number of a set of meshes in the 3D object, where each mesh in the set may correspond to a normal aligned with a specific direction; the total area of the set of meshes in the 3D object; the symmetry of the number of multiple sets of meshes in the 3D object (e.g., the number of meshes in a set whose normals are aligned with a first direction and the number of meshes in another set whose normals are aligned with a second direction); or the number of vertices of the meshes in each face of the 3D object. For example, if the 3D object has chamfers or holes, the center of gravity may shift. Therefore, the functional simulation system 100 can identify the 3D object based on the position of the center of gravity.
[0042] Figure 3A schematic diagram of a functional element 300 is illustrated according to an embodiment of the present invention. The functional element 300 may include five faces (i.e., areas enclosed by solid lines), such as face 310, face 320, face 330, face 340, and face 350. The functional simulation system 100 may divide each face into multiple grids and may identify the functional element 300 based on the grid of each face of the functional element 300.
[0043] For example, the functional simulation system 100 can apply a mesh partitioning algorithm to surface 310, dividing it into n meshes, each mesh having a normal aligned with direction D1, where n is a positive integer. On the other hand, the functional simulation system 100 can apply a mesh partitioning algorithm to surface 350, dividing it into m meshes, each mesh having a normal aligned with direction D2, where m is a positive integer. Since surface 310 is a circle with higher curvature and surface 350 is a circle with lower curvature, based on the result of applying the mesh partitioning algorithm, the integer n can be greater than the integer m.
[0044] Assume surface 330 is divided into k grids, where k is a positive integer. Functional simulation system 100 can determine that the number of grids corresponding to normals aligned with direction D1 is n+k, and the number of grids corresponding to normals aligned with direction D2 is m. Functional simulation system 100 can identify 3D object 300 based on the fact that n+k is greater than m. That is, functional simulation system 100 can identify 3D object 300 based on the symmetry between the number of multiple sets of grids of 3D object 300.
[0045] To design an object that can be tracked by applying an object tracking algorithm to an image, one or more location markers (e.g., LEDs) should be placed on the object. The more complex the object structure, the more location markers may be needed.
[0046] Figure 4 A schematic diagram illustrating the pose of a 3D object 500 according to an embodiment of the present invention is provided. A functional simulation system 100 can identify one or more functional elements on the 3D object 500, such as a position marker array (or LED array) 510, wherein the position marker array 510 may include position markers 511 and 512.
[0047] To determine whether the position marker array 510 is properly placed so that the specific attitude of the 3D object 500 can be easily tracked by the object tracking algorithm, the functional simulation system 100 can receive user commands via transceiver 130. These user commands may include the yaw angle θ and pitch angle φ of the 3D object 500. The functional simulation system 100 can output information related to the yaw angle θ and pitch angle φ of the 3D object 500 via a GUI.
[0048] Figure 5A schematic diagram of a GUI 600 is illustrated according to an embodiment of the present invention. GUI 600 may include regions 610 and 620. A functional simulation system 100 may store reference detection results corresponding to each yaw angle θ and pitch angle φ of a 3D object 500. Assuming the functional simulation system 100 receives a user command instructing the 3D object 500 to have yaw angle θ1 and pitch angle φ1, the functional simulation system 100 may display the 3D object 500 in region 610 based on the yaw angle θ1 and pitch angle φ1. The functional simulation system 100 may detect one or more position markers (e.g., 511 or 512) on the displayed image corresponding to (θ1, φ1) to generate a detection result corresponding to (θ1, φ1). The functional simulation system 100 may determine the difference between the detection result corresponding to (θ1, φ1) and the reference detection result corresponding to (θ1, φ1), and may determine whether to output an alarm message based on the difference. For example, if the difference between the detection result corresponding to (θ1, φ1) and the reference detection result corresponding to (θ1, φ1) is greater than a threshold, the functional simulation system 100 can determine that the position marker array 510 is not properly placed and can output an alarm message accordingly. Otherwise, if the difference is less than or equal to the threshold, the functional simulation system 100 can determine that the position marker array 510 is properly placed and can determine not to output an alarm message. The determination result can be represented as a tracking score. In one embodiment, the above difference can be calculated using an object tracking algorithm.
[0049] Region 620 of the GUI 600 can display a graph indicating whether a specific pose of the functional simulation system 100 can be properly tracked based on the current placement of the position marker array 500. For example, region 620 can be divided into non-critical regions 621 and critical regions 622. Pose belonging to non-critical regions 621 is less important for object tracking. Therefore, pose analysis belonging to non-critical regions 621 can be excluded from analysis. On the other hand, poses belonging to critical regions 622 are important for object tracking. The functional simulation system 100 can evaluate whether the current placement of the position marker array 500 is acceptable for poses belonging to critical regions 622. For example, if the functional simulation system 100 determines that the current placement of the position marker array 500 is acceptable for pose (θ1, φ1), the functional simulation system 100 can render a sub-region 623 within the critical region 622 in green, where sub-region 623 corresponds to pose (θ1, φ1). Otherwise, if the functional simulation system 100 determines that the current placement of the position marker array 500 is unacceptable for the pose (θ1, φ1), the functional simulation system 100 may render the sub-region 623 as black.
[0050] Figure 6A schematic diagram of a GUI 600 is illustrated according to an embodiment of the present invention. The GUI 600 may include a region 630 to display the tracking score of the attitude (θ1, φ1) of a 3D object 500. Specifically, upon receiving a user command indicating the attitude (θ1, φ1), the functional simulation system 100 may detect one or more position markers on the 3D object 500 based on a range of attitudes (θ1±α, φ1±β) to generate corresponding detection results, where α and β are offsets less than yaw and pitch thresholds, respectively. The functional simulation system 100 may input the detection results (e.g., attitude (θ1, φ1) and nearby attitudes (θ1±α, φ1±β)) into an object tracking algorithm to calculate the tracking score of the attitude (θ1, φ1). This tracking score may be displayed in region 630 of the GUI 600. If the tracking score of the attitude (θ1, φ1) exceeds a preset value, the attitude (θ1, φ1) is less likely to experience tracking failure due to slight movement or vibration.
[0051] In one embodiment, the functional simulation system 100 can determine the distance between two (or more) location markers (e.g., 511 or 512) on a 3D object (e.g., 500). If the distance is less than a threshold, the location markers may interfere with each other or provide minimal benefit for object tracking. Therefore, the functional simulation system 100 can output an alarm message via the GUI 600.
[0052] Figure 7 A flowchart illustrating a method for simulating the function of an electronic device according to an embodiment of the present invention is provided, wherein the method may be derived from... Figure 1 The functional simulation system 100 shown is implemented. In step S701, a computer-aided design file for an electronic device is acquired, wherein the computer-aided design file contains a three-dimensional object. In step S702, the first face of the three-dimensional object is divided into multiple first meshes. In step S703, the three-dimensional object is identified as a functional element based on the multiple first meshes. In step S704, information about the functional element is output.
[0053] In summary, the functional simulation system of this invention can segment each face of a 3D object in a CAD file to obtain multiple meshes for each face. Since different shapes of 3D objects may lead to different segmentation results, the functional simulation system can identify the 3D object based on its segmentation results. For object tracking (or motion capture) of the 3D object, the placement of position markers must be precise. For a specific pose of the 3D object, the simulation system can evaluate whether the current position marker placement is acceptable for that pose, ensuring that slight movements or vibrations of the 3D object do not cause tracking failure.
[0054] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A functional simulation system for an electronic device, characterized in that, include: transceiver; as well as A processor, coupled to the transceiver, wherein the processor is configured to: The transceiver acquires the computer-aided design file of the electronic device, wherein the computer-aided design file includes three-dimensional objects; The first face of the three-dimensional object is divided into multiple first grids; The three-dimensional object is identified as a functional element based on the plurality of first grids; as well as The transceiver outputs information about the functional components.
2. The functional simulation system of claim 1, wherein the processor is further configured to: The second face of the three-dimensional object is divided into multiple second grids; and The three-dimensional object is identified as the functional element based on the plurality of first grids and the plurality of second grids.
3. The functional simulation system of claim 1, wherein the processor further identifies the three-dimensional object based on at least one of the following: the centroid of the three-dimensional object; the circumcircle of the three-dimensional object; the number of a first set of the plurality of first meshes, wherein each first mesh in the first set corresponds to a normal aligned with a first direction; the total area of the first set; the symmetry between the number of the first set and the number of a second set of the plurality of first meshes corresponding to a second direction; or the number of vertices of the plurality of first meshes in the first face.
4. The functional simulation system according to claim 1, wherein the functional element includes a first position marker.
5. The functional simulation system of claim 4, wherein the processor is further configured to: The transceiver receives user commands, wherein the user commands include the first yaw angle and the first pitch angle of the three-dimensional object. Based on the first yaw angle and the first pitch angle, multiple position markers on the three-dimensional object are detected to generate a first detection result, wherein the multiple position markers include the first position marker; Determine the first difference between the first detection result and the first reference detection result corresponding to the first yaw angle and the first pitch angle; as well as The first alarm message is output based on the first difference.
6. The functional simulation system of claim 5, wherein the processor is further configured to: The plurality of position markers on the three-dimensional object are detected based on the second yaw angle and the second pitch angle to generate a second detection result, wherein the first offset between the first yaw angle and the second yaw angle is less than a first threshold, and the second offset between the first pitch angle and the second pitch angle is less than a second threshold. The second detection result is input into the object tracking algorithm to obtain a tracking score; as well as Output the tracking score.
7. The functional simulation system of claim 4, wherein the processor is further configured to: Determine the distance between the first position marker and the second position marker on the three-dimensional object; and In response to the distance being less than the threshold, an alarm message is output.
8. The functional simulation system of claim 1, wherein the information includes at least one of the orientation of the functional element, the position of the functional element, or the size of the functional element.
9. A method for simulating the function of an electronic device, characterized in that, include: Obtain the computer-aided design file of the electronic device, wherein the computer-aided design file includes three-dimensional objects; The first face of the three-dimensional object is divided into multiple first grids; The three-dimensional object is identified as a functional element based on the plurality of first grids; as well as Output the information of the functional components.
10. The method of claim 9, wherein the step of identifying the three-dimensional object as the functional element based on the plurality of first meshes comprises: The second face of the three-dimensional object is divided into multiple second grids; as well as The three-dimensional object is identified as the functional element based on the plurality of first grids and the plurality of second grids.