Method for automatically adjusting hand feeling of touchpad
By combining visual positioning and force feedback data, the problem of manual dependence in touchpad feel detection and adjustment has been solved, realizing automated and precise touchpad feel adjustment, and improving production consistency and efficiency.
Patent Information
- Application Number
- CN202610076654.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-21
- Publication Date
- 2026-05-19
AI Technical Summary
Existing technologies rely on manual operation for touchpad feel detection and adjustment, resulting in low efficiency, high labor intensity, and difficulty in achieving stable and quantifiable feel standards, thus failing to achieve precise and adaptive adjustment of touchpad feel.
By combining visual positioning with force feedback data, the tool uses a camera to detect the bit angle, plan the movement path, collect pressure feedback data, analyze the feel, and automatically adjust according to standardized thresholds.
It enables automatic and accurate detection and closed-loop adjustment of touchpad feel, improving production consistency and adjustment efficiency.
Smart Images

Figure CN122066769A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of notebook computer assembly and testing technology, and in particular to a method for automatically adjusting the touchpad feel. Background Technology
[0002] In the current field of electronic device manufacturing, the touchpad, as a crucial interface for human-computer interaction, directly impacts user experience and product reputation. Furthermore, with the increasing sophistication of laptop manufacturing processes, users are demanding higher standards for touchpad tactile feedback. The touchpad's feel is typically determined by a combination of factors, including the force of the press, the smoothness of the rebound, and the consistency of triggering. However, in mass production, factors such as material tolerances, assembly variations, and structural fatigue can cause fluctuations in the feel of different individual touchpads, and even different areas of the same touchpad. Traditional touchpad detection and adjustment rely primarily on manual operation, with operators subjectively pressing and adjusting the touchpad. This method is not only inefficient and labor-intensive, but also makes it difficult to achieve stable and quantifiable touch standards due to subjective judgment, becoming a bottleneck restricting the consistency and reliability of high-end touchpad products.
[0003] To address this challenge, related technical solutions have introduced automated equipment to improve efficiency, but these often rely on preset, fixed parameters and paths to perform testing and adjustments. This approach lacks the dynamic calibration capability for precise positioning of the execution unit, and it cannot perform intelligent analysis and adaptive adjustment based on real-time, authentic tactile feedback. This results in insufficient adjustment precision, poor adaptability to different batches or models of products, and difficulty in achieving objective and standardized production of the complex subjective experience of tactile feedback.
[0004] Therefore, how to achieve precise and adaptive adjustment of touchpad feel, and how to dynamically judge the feel state and make adjustments based on real-time feedback data while ensuring detection and positioning accuracy, has become a key technical problem that urgently needs to be solved in the current touchpad production and quality inspection process. Summary of the Invention
[0005] In view of the above problems, an automatic touchpad feel adjustment method is proposed to overcome or at least partially solve the problem of traditional methods requiring subjective judgment of touch feel by the operator. This method is applied to an adjustment device, which includes an upper camera, a lower camera, a bit, and XYZU motion axes for driving the bit's movement. The adjustment device is used to control a tapping detection station, and the method includes:
[0006] In a pre-established coordinate system, the angle of the bit is detected and positioned at the bit visual calibration point by the lower camera to obtain the detection and positioning result. The bit is used to adjust the touch panel.
[0007] Based on the coordinate system and the detection and positioning results, the path for the striking detection station to move to the striking target working point is determined;
[0008] The system controls the tapping detection station to move to the target tapping point along the path and perform a tapping action on the touch panel, collecting pressure feedback data during the tapping process.
[0009] The pressure feedback data is analyzed, and based on a preset standardized tactile threshold, it is determined whether the tactile state of the touchpad meets the requirements.
[0010] Based on the judgment result, the drive adjustment mechanism controls the bit to perform an adjustment operation on the touch panel.
[0011] In an optional embodiment of the present invention, the pre-established coordinate system is established through the following steps:
[0012] Enable the XYZU motion axis and control the XYZU motion axis to move to the safe origin of the equipment;
[0013] The upper camera takes pictures of the preset Mark points, and the coordinate system is established based on the picture results;
[0014] Once the coordinate system is established, set the initialization completion flag and switch to working mode.
[0015] In an optional embodiment of the present invention, the step of detecting and locating the angle of the bit at the bit visual calibration point using the lower camera to obtain the detection and positioning result includes:
[0016] Verify whether the visual calibration point of the bit is consistent with the coordinates of the equipment safety origin in the horizontal direction;
[0017] When the visual calibration point of the bit is consistent with the horizontal coordinate of the safety origin of the device, the control motion component moves the bit to the visual calibration point of the bit.
[0018] The bit angle detection command is executed by the lower camera to acquire images and analyze the angle of the bit, thereby obtaining the bit angle detection result.
[0019] In an optional embodiment of the present invention, the step of controlling the tapping detection station to move to the tapping target working point along the path and perform a tapping action on the touchpad includes:
[0020] Send a tap start signal to the tap detection station to control the tap detection station to tap the target working point of the touch panel;
[0021] When the current tapping operation is determined to be the first tap, the XYU axes are moved to the preset assembly point in advance;
[0022] The Z-axis of the adjustment device is moved to an avoidance position, which is located below the working point of the striking target.
[0023] The pressure feedback data returned by the impact detection station during the impact operation is collected.
[0024] In an optional embodiment of the present invention, the step of analyzing the pressure feedback data includes:
[0025] Peak and trough analysis was performed on the tapping pressure curve to extract the peak force that characterizes the touchpad's pressing feel;
[0026] The peak force is compared with a preset standardized tactile threshold, and the current tactile state of the touchpad is determined based on the comparison result to see if it meets the requirements.
[0027] If the peak force is less than the preset minimum force threshold, it is determined that the tapping pressure is abnormal and the re-tapping process is triggered.
[0028] In an optional embodiment of the present invention, it further includes:
[0029] Acquire multiple peak force data corresponding to consecutive tapping tests;
[0030] Analyze the variation range of the multiple peak force data;
[0031] If the range of change is less than or equal to the preset tolerance threshold, it is determined to be a data anomaly, and a relocation process is triggered.
[0032] In an optional embodiment of the present invention, the step of driving the adjustment mechanism to control the bit to perform an adjustment operation on the touch panel according to the judgment result includes:
[0033] If the judgment result is not in compliance with the requirements, the target adjustment state is determined based on the pressure feedback data. The target adjustment state includes loosening, tightening, or rotational adjustment.
[0034] Based on the target adjustment state, determine the target rotation angle according to the corresponding rules;
[0035] Control the Z-axis to move to the adjustment preparation position, which is located above the screw to be adjusted;
[0036] The Z-axis is controlled to move downwards from the adjustment preparation position to the assembly height at a preset slow speed, and the axial pressure data of the bit is collected during the movement or when the assembly height is reached.
[0037] In an optional embodiment of the present invention, determining the target rotation angle according to the target adjustment state and the corresponding rules includes:
[0038] If the target adjustment state is loosened, the target rotation angle is a preset loosening-fixing angle;
[0039] If the target adjustment state is tightened, the target rotation angle is a preset tightening angle;
[0040] If the target adjustment state is rotation adjustment, the target rotation angle is calculated based on the pressure feedback data.
[0041] In an optional embodiment of the present invention, it further includes:
[0042] Determine if the collected axial pressure data of the bit is normal;
[0043] When the axial pressure data of the bit is normal, control the U-axis to rotate the target rotation angle, and monitor the rotation torque during the rotation process;
[0044] When the bit axial pressure data is abnormal, anomaly handling options are provided, including at least one of re-detection, marking the product as abnormal, or ignoring the abnormality.
[0045] In an optional embodiment of the present invention, the step of controlling the U-axis to rotate the target rotation angle and monitoring the rotation torque during the rotation includes:
[0046] When the rotational torque is detected to exceed the preset torque threshold, the rotation operation is stopped and torque over-limit anomaly handling is performed.
[0047] When the rotation operation is completed normally, record the current adjustment angle of the U-axis.
[0048] Secondly, embodiments of the present invention also disclose an automatic touchpad feel adjustment device, the adjustment device including an upper camera, a lower camera, a bit, and an XYZU motion axis for driving the bit's movement, the adjustment device being used to control a tapping detection station, the device comprising:
[0049] The detection and positioning module is used to detect and position the angle of the bit through the lower camera in a pre-established coordinate system to obtain the detection and positioning result. The bit is used to adjust the touch panel.
[0050] The path location determination module is used to determine the motion path and target position of the tapping detection station relative to the touch panel based on the coordinate system and the detection positioning result;
[0051] The pressure data acquisition module is used to control the tapping detection station to perform a tapping action on the touch panel according to the movement path and the target position, and to collect the pressure feedback data generated during the tapping process;
[0052] The standard judgment module is used to analyze the pressure feedback data and, based on a preset standardized tactile threshold, determine whether the tactile state of the touchpad meets the requirements.
[0053] The adjustment drive module is used to drive the adjustment mechanism to control the bit to perform adjustment operations on the touch panel based on the judgment result.
[0054] Thirdly, embodiments of this application provide an electronic device, including a processor, a memory, and a program or instructions stored in the memory and capable of running on the processor, wherein the program or instructions, when executed by the processor, implement the method described above.
[0055] Fourthly, a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the method described above.
[0056] This invention combines visual positioning with force feedback data to achieve automatic and accurate detection and closed-loop adjustment of touchpad feel, effectively improving production consistency and adjustment efficiency. Attached Figure Description
[0057] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0058] Figure 1 This is a flowchart of a method for automatically adjusting the touchpad feel according to an embodiment of the present invention;
[0059] Figure 2 This is a flowchart of the entire process of adjusting the touchpad feel provided in an embodiment of the present invention. Detailed Implementation
[0060] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0061] Reference Figure 1The diagram illustrates a flowchart of an automatic touchpad feel adjustment method according to an embodiment of the present invention. This method is applied to an adjustment device, which includes an upper camera, a lower camera, a bit, and XYZU motion axes for driving the bit's movement. The adjustment device is used to control a tapping detection station. Specifically, the method may include the following steps:
[0062] Step 101: In the pre-established coordinate system, the angle of the bit is detected and positioned at the bit visual calibration point by the lower camera to obtain the detection and positioning result. The bit is used to adjust the touch panel.
[0063] The pre-established coordinate system refers to a world coordinate system based on the workbench plane of the automated laptop assembly and inspection line. This coordinate system is aligned with the designed assembly position of the touchpad within the laptop chassis. The lower camera is an industrial vision camera installed below or to the side of the equipment's working area, with its lens facing the bit and touchpad working area. It is used to acquire image data of the bit and product features. The bit visual calibration point refers to the preset fixed camera field of view center position for image acquisition and angle calibration of the bit. Moving the bit to this position ensures that the bit tip is located at the center of the lower camera's field of view, used for angle detection and positioning of the bit. The bit angle refers to the tilt angle of the bit's axis relative to the normal direction of the touchpad plane, used to adjust the touchpad fixing screws. This angle directly affects the perpendicularity and force uniformity of the screw being screwed in. The detection and positioning results are high-precision data including the bit angle deviation and the offset in the X and Y directions relative to the center position of the target screw hole on the touchpad.
[0064] In the specific implementation of this step, on the laptop assembly line, after the touchpad is precisely assembled to the back of the machine, the XYZU motion axes are controlled to move the bit to the common field of view of the lower camera. The lower camera, as a global positioning unit, can acquire and locate images of the target adjustment features on the tip of the bit and the touchpad surface in a stationary state, within an established unified world coordinate system. For example, it can acquire and locate images of screw holes or edges. Through image processing, on the one hand, the preset visual marks on the bit are identified, and their axial angles are calculated; on the other hand, the image coordinates of the target adjustment point on the touchpad are precisely located. Combined with the camera calibration parameters, both are unified to the same world coordinate system, thereby calculating the angular deviation between the bit axis and the perpendicular line to the target adjustment point, as well as the two-dimensional positional offset between the bit tip and the target point, which together constitute the detection and positioning result.
[0065] In some embodiments of the present invention, step 101, "detecting and positioning the angle of the bit using a lower camera to obtain a detection and positioning result," may include the following sub-steps:
[0066] Sub-step 1011: Verify whether the visual calibration point of the bit is consistent with the coordinates of the equipment safety origin in the horizontal direction;
[0067] Sub-step 1012: When the visual calibration point of the bit is consistent with the horizontal coordinate of the safety origin of the device, control the motion component to move the bit to the visual calibration point of the bit;
[0068] Sub-step 1013: Execute the bit angle detection command through the lower camera to acquire images and analyze the angle of the bit, and obtain the bit angle detection result.
[0069] The equipment safety origin refers to a fixed mechanical coordinate point in the equipment space that will not collide with any components, serving as the starting reference point for motion control. The bit angle detection command refers to a specific instruction sent to the downward-facing camera, which triggers a set of preset image processing procedures, including image acquisition, bit visual feature recognition, and an algorithm to calculate the bit axis angle based on the image data. The angle detection result refers to the angular deviation value of the bit axis relative to a preset reference direction returned by the vision system after executing the bit angle detection command. This result provides a basis for subsequent motion path compensation and attitude adjustment.
[0070] In practice, sub-steps 1011-1013 can be implemented using the following code:
[0071] case (int)NormalRunStep.XYU axis moves to the bit visual calibration point:
[0072] If (m_dicPoint[(int)POINT.bit visual calibration point].x != m_dicPoint[(int)POINT.safe point].x || m_dicPoint[(int)POINT.bit visual calibration point].y != m_dicPoint[(int)POINT.safe point].y)
[0073] {
[0074] ShowMessage("The visual calibration point of the bit is inconsistent with the safety point XY. Please check.");
[0075] return;
[0076] }
[0077] int n_re = AxisGoto((int)POINT.Pickle head visual calibration point);
[0078] if (n_re != 0)
[0079] return;
[0080] NormalStepNum = (int)NormalRunStep.Z-axis moves to the height of the bit's visual calibration point;
[0081] break
[0082] case (int)NormalRunStep.Z-axis moves to the height of the bit's visual calibration point:
[0083] AxisZ.AxisSingleTo(m_dicPoint[(int)POINT.Pickle head visual calibration point].z +dOff_Z);
[0084] NormalStepNum = (int)NormalRunStep. (Lower camera bit angle detection)
[0085] break
[0086] case (int)NormalRunStep. Camera bit angle detection:
[0087] data_DownSnap.m_strDownSnapCode = DateTime.Now.ToString("yyyyMMddHHmmss");
[0088] data_DownSnap.m_bDownCamCalibResult = DownCam.CamCommunicate(this, ShowLogEx, (int)CamCmdIdx.bitb_down_camera_angle_detection, data_DownSnap.m_strDownSnapCode);
[0089] NormalStepNum = (int)NormalRunStep.Z-axis moves to safe height - after calibrating the bit;
[0090] break
[0091] It should be noted that the safety point in the code is also the device's safety origin. This step, in the online adjustment process after the laptop touchpad assembly, enables precise, real-time measurement of the spatial pose relationship between the adjustment tool and the adjustment target. This result directly serves the dynamic compensation of the motion path in subsequent steps, ensuring that the screwdriver can be automatically adjusted in a completely vertical posture, aligned with the center of the screw hole. This fundamentally solves the problems of screw misalignment, stripping, or uneven pressure on the touchpad caused by manual operation or cumulative equipment errors. It is the primary technical step to ensure standardized adjustment of the touchpad feel, and plays a decisive role in improving the consistency of the touchpad's pressing feel, assembly yield, and production efficiency.
[0092] In some embodiments of the present invention, the pre-established coordinate system in step 101 is established through the following steps:
[0093] Enable the XYZU motion axis and control the XYZU motion axis to move to the safe origin of the equipment;
[0094] The upper camera takes pictures of the preset Mark points, and a coordinate system is established based on the picture results;
[0095] Once the coordinate system is established, set the initialization completion flag and switch to working mode.
[0096] The preset Mark point refers to a high-contrast, precisely calibrated pattern with a known shape, fixed on the worktable. Its theoretical world coordinates have been precisely measured in advance and can also be called a reference Mark point. Establishing the coordinate system based on the photographic results means identifying the actual pixel coordinates of the preset Mark point (i.e., the reference Mark point) in the image using a visual algorithm, matching them with the known world coordinates, and thus calculating the translation, rotation, and scaling parameters required to transform the image pixel coordinates to the device's world coordinates. This completes the hand-eye calibration and establishes a unified machine vision coordinate system.
[0097] In the specific implementation of this step, the servo drives of all motion axes are first enabled. Then, each axis is controlled to move sequentially to the safe origin of the device. After confirming that each axis is in position, the X, Y, and Z axes are further controlled to move the camera to the reference mark point shooting position. The reference mark point shooting position refers to a preset coordinate position in the device coordinate system. Moving to this position ensures that the preset mark point is located at the center of the upper camera's field of view.
[0098] Next, the upper camera is triggered to take a picture, and the corresponding visual processing flow is invoked to identify and locate the reference mark point, and the detection result of the reference mark point and its sub-pixel coordinates in the image are returned. These coordinates are compared and calculated with the preset theoretical coordinates of the reference mark point, thereby completing the calibration and establishment of the coordinate system.
[0099] In some embodiments of the present invention, an initialization step may be included before step 101. The initialization includes steps such as starting the button light, connecting the hardware device, initializing the PLC interactive station, enabling the XYZU axes, initializing the device data, moving the Z axis to a safe height, retracting the light source cylinder, moving the XYU axes to the safe origin of the device, moving the XY axes to the upper camera reference Mark point shooting position, sending a shooting command to the upper camera, judging the shooting result, and correcting the bit angle.
[0100] Specifically, the establishment and initialization of the coordinate system described above can be achieved using the following code:
[0101] public override void StationInit()
[0102] {
[0103] while(true)
[0104] {
[0105] #region Initialization Process
[0106] switch (InitStepNum)
[0107] {
[0108] case (int)InitStep.Initialization begins:
[0109] bIsFirst = true;
[0110] bIsFirstDown = true;
[0111] break
[0112] case (int)InitStep.Turn off light source:
[0113] SetDo("Start button light", false);
[0114] InitStepNum = (int)InitStep.HardwareDeviceConnection;
[0115] break
[0116] case (int)InitStep.Hardware Device Connection:
[0117] / / Connect to PLC
[0118] UpCam = new CameraCommu(0, "Screw Adjustment Station");
[0119] DownCam = new CameraCommu(3, "Screw Adjustment Station");
[0120] InitStepNum = (int)InitStep. Waiting for the PLC interactive station to complete initialization;
[0121] break
[0122] case (int)InitStep. Wait for the PLC interactive station to complete initialization:
[0123] if (StationMgr.GetInstance().GetStation("PLC Interactive Station").StationEnable)
[0124] WaitRegBit(SysBitReg.PLC interactive station initialization complete, true);
[0125] InitStepNum = (int)InitStep.XYZU axis enable;
[0126] break
[0127] Enable on XYZU axes using case (int)InitStep.XYZU:
[0128] AxisEnable(true);
[0129] WaitTimeDelay(1000);
[0130] InitStepNum = (int)InitStep.initialize device data;
[0131] break
[0132] case (int)InitStep.Initialize device data:
[0133] ProductMgr.GetInstance().Job.Init();
[0134] data_DownSnap = new ProductData();
[0135] InitStepNum = (int)InitStep.Z-axis moves to a safe height;
[0136] break
[0137] case (int)InitStep.Z-axis moves to a safe height:
[0138] AxisZ.AxisSingleTo(m_dicPoint[(int)POINT.safepoint].z,50);
[0139] InitStepNum = (int)InitStep.Light source cylinder retracts;
[0140] break
[0141] case (int)InitStep.Light source cylinder retracts:
[0142] CylBack("Light Source Cylinder");
[0143] InitStepNum = (int)InitStep.XYU axis moves to a safe point;
[0144] break
[0145] case (int)InitStep.XYU axis moves to a safe point:
[0146] n_re = AxisGoto((int)POINT.safepoint, 50);
[0147] if (n_re != 0)
[0148] return;
[0149] MarkIsOpen = GetParamInt("IsUseMarkCalib") != 0;
[0150] case (int)InitStep.XY axis moves to the upper camera reference Mark point shooting position:
[0151] AxisX.AxisSingleTo(m_dicPoint[(int)POINT.reference Mark point image position].x, 100, false);
[0152] AxisY.AxisSingleTo(m_dicPoint[(int)POINT.reference Mark point shooting position].y, 100, false);
[0153] AxisZ.AxisSingleTo(m_dicPoint[(int)POINT.reference Mark point image position].z, 100, false);
[0154] _axisYState = AxisY.WaitMotionEx(m_dicPoint[(int)POINT.reference Mark point shooting position].y);
[0155] _axisXState = AxisX.WaitMotionEx(m_dicPoint[(int)POINT.reference Mark point shooting position].x);
[0156] _axisZState = AxisZ.WaitMotionEx(m_dicPoint[(int)POINT.reference Mark point shooting position].z);
[0157] break
[0158] case (int)InitStep.Send photo capture command to camera:
[0159] MarkIsOK = true;
[0160] CylOut("Light Source Cylinder");
[0161] UpCam.CamCommunicate(this, ShowLogEx, (int)CamCmdIdx.UpCam markpoint capture, productData.m_strProductCode);
[0162] InitStepNum = (int)InitStep.Determines the photo capture result;
[0163] break
[0164] case (int)InitStep.Determines the photo result:
[0165] double Mark_X = SystemMgr.GetInstance().GetSystemParamDouble("UpMark_X");
[0166] double Mark_Y = SystemMgr.GetInstance().GetSystemParamDouble("UpMark_Y");
[0167] double Mark_Limit = SystemMgr.GetInstance().GetSystemParamDouble("Mark_Limit");
[0168] CylBack("Light Source Cylinder");
[0169] productData.m_bUpCamResult = UpCam.bResult;
[0170] InitStepNum = (int)InitStep.XYU axis moves to a safe point;
[0171] break
[0172] case (int)InitStep. Initialization complete:
[0173] ShowLogEx("Initialization complete");
[0174] SetBit(SysBitReg.Screw Adjustment Station Initialization Complete, true);
[0175] NormalStepNum = (int)NormalRunStep.Start bit angle correction; / / This points to the starting point of step 101.
[0176] InitStepNum = (int)InitStep.InitializationStart;
[0177] return;
[0178] }
[0179] ShowLogAll(null, Lastlog, Enum.GetName(typeof(InitStep),InitStepNum), InitStepNum);
[0180] #endregion
[0181] }
[0182] }
[0183] The coordinate system establishment and initialization procedure described above is a sequential state machine that completes the following key tasks in sequence to prepare for step 101 and subsequent adjustment actions. In the specific implementation of this initialization process, firstly, the servo drives of all motion axes (X, Y, Z, U axes) are enabled. Then, each axis is controlled to move sequentially to the device's safe origin, m_dicPoint. After confirming that each axis is in position, the X, Y, and Z axes are further controlled to move the upper camera to the reference Mark point shooting position, ensuring that the Mark point is located at the center of the upper camera's field of view. Next, the upper camera is triggered to take a picture (UpCam.CamCommunicate), and the corresponding vision processing flow (corresponding instruction CamCmdIdx.uppercammarkpointphoto) is called to identify and locate the Mark point. The vision system returns the detection result of the Mark point (UpCam.bResult) and its sub-pixel coordinates in the image. These coordinates are compared and calculated with the preset theoretical coordinates of the Mark point (UpMark_X, UpMark_Y), thereby completing the calibration and establishment of the coordinate system. Finally, set the status register bit SetBit(SysBitReg.Screw adjustment station initialization complete, true), and switch the running steps to the first step of the normal working mode (NormalStepNum=(int)NormalRunStep.Start bit angle correction). This step is the entry point of step 101 in the claim (i.e., detecting bit angle by lower camera) in the program, and also marks the completion of the initialization process.
[0184] Therefore, the initialization process lays a crucial foundation for the accurate execution of step 101, ensuring that the motion system, vision system, and world coordinate system are all ready and interconnected.
[0185] Step 102: Based on the coordinate system and the detection and positioning results, determine the path for the striking detection station to move to the striking target working point.
[0186] The detection and positioning results are the data obtained in step 101, including the bit angle deviation and position offset. The path refers to the trajectory sequence that the XYZU motion axes need to move from the preset equipment safety origin to the target working point where the striking is performed. This path planning takes into account obstacle avoidance and efficiency.
[0187] In this step, the target striking point refers to the precise three-dimensional spatial coordinates defined in the world coordinate system corresponding to the area to be detected on the touchpad. Determining this point involves two stages: first, obtaining its theoretical coordinates based on product design data; second, using the detection and positioning results obtained in step 101, which reflect the deviation between the actual and theoretical poses of the bit, as a system error, to dynamically compensate the theoretical coordinates in real time, thereby obtaining the precise target striking point for actual motion control.
[0188] In this step, the world coordinate system established in step 101 is used as the absolute reference to read the stored design coordinates of the touchpad target point. Then, the bit pose deviation calculated in step 101 is used as a compensation amount to correct the design coordinates, resulting in a precise striking target working point. Based on the coordinates of the equipment safety origin and the striking target working point, an efficient, collision-free motion path is automatically planned.
[0189] In one specific implementation, the theoretical coordinates of the target screw hole on the touchpad are (X: 100.0mm, Y: 50.0mm, Z: 0.0mm, U: 0.0°). The detection and positioning results of step 101 show that the bit has an offset of +0.02mm in the X direction and a deflection of +0.5° in the U axis. Considering this deviation as a systematic error that needs to be compensated, the calculated actual striking target working point is (X: 99.98mm, Y: 50.0mm, Z: 0.0mm, U: -0.5°). Subsequently, the movement path from the equipment's safe origin to this point is planned: first, the X, Y, and U axes are moved to above the target point at a safe height on the Z axis, and finally the Z axis is lowered to the contact height.
[0190] This step enables dynamic correction and precise mapping from the theoretical design location to the actual execution location. It ensures that the tapping action is accurately applied to the designated point on the touchpad with correct posture, providing a fundamental guarantee for obtaining accurate and effective pressure feedback data subsequently.
[0191] Step 103: Control the tapping detection station to move to the target tapping point along the path and perform a tapping action on the touch panel, and collect pressure feedback data during the tapping process.
[0192] The tapping action refers to a simulated human hand pressing a specific point on the touchpad, performed by a tapping detection station independent of the adjustment device. The pressure feedback data is a set of time-series data reflecting the force and deformation relationship of the touchpad, collected in real-time by a force sensor during the tapping action.
[0193] In the specific implementation of this step, a trigger signal is first sent to the tapping detection station to initiate the pre-programmed tapping action. Simultaneously or before this, to improve the overall work cycle, the XYU axes of the control and adjustment device are moved to a preset assembly point as preparation. At the same time, the Z-axis is lowered to a slightly lower clearance position than the target tapping point to ensure that components such as the bit do not interfere with the tapping action. Throughout the entire tapping action, the invention also synchronously receives and records the real-time pressure feedback data stream returned from the tapping detection station.
[0194] In some embodiments of the present invention, step 103 may include the following sub-steps:
[0195] Sub-step 1031: Send a tap start signal to the tap detection station to control the tap detection station to tap the target working point of the touchpad;
[0196] Sub-step 1032: When it is determined that the current tapping operation is the first tapping, control the XYU axis to move to the preset assembly point in advance;
[0197] Sub-step 1033: Control the Z-axis of the adjustment device to move to the avoidance position, which is located below the working point of the striking target;
[0198] Sub-step 1034: Collect pressure feedback data returned by the impact testing station during the impact operation.
[0199] The tapping start signal is a digital or communication command used to trigger the internal drive mechanism of the tapping detection station to initiate a standardized pressing action. The returned pressure feedback data is a voltage or digital signal uploaded in real time by the force sensor built into the tapping detection station through an analog input module or a dedicated acquisition card.
[0200] In this step, the present invention sends a rising edge pulse or a specific message to the control unit of the tapping detection station via an I / O port or fieldbus. Upon receiving the signal, the tapping detection station immediately starts from its standby position and performs tapping towards the target working point according to a preset stroke, speed, and acceleration. The present invention sets a Boolean variable to record whether it is the first tap (e.g., bIsFirstDown). If the Boolean variable is true, a command is immediately sent to the motion controller after or simultaneously with the tapping command to drive the X-axis, Y-axis, and U-axis to move towards the assembly point at a high speed. By utilizing the execution time of the tapping action, the adjusting component is moved to the vicinity of the next working position in advance, thereby shortening the overall cycle time. The avoidance position is a preset Z-axis height coordinate, the value of which is less than the Z coordinate of the target working point to ensure that the bit and other adjusting tools are in a low position during the tapping process, avoiding spatial interference with the moving parts of the tapping detection station. Specifically, a positioning command can be sent to the Z-axis servo drive to lower it from its current position or a safe height to the avoidance position and wait for the positioning to complete. This invention also employs a data acquisition unit for data acquisition, which needs to maintain communication with the pressure signal output terminal of the impact detection station. Throughout the entire time period from the start to the end of the impact, pressure values are continuously read at a fixed sampling frequency and stored as a data sequence corresponding to a timestamp, forming a complete impact pressure curve.
[0201] Specifically, the process of sub-steps 1031-1034 above can be implemented using the following code:
[0202] case (int)NormalRunStep.Notify the tapping detection station to tap:
[0203] / / 1. Trigger the tap detection station to start working
[0204] SetBit(SysBitReg.NotifyTapDetectorTap, true);
[0205] / / 2. Determine if this is the first tap and take appropriate action.
[0206] if (bIsFirstDown)
[0207] {
[0208] / / Upon the first strike, retract the light source cylinder and move it to the ready position.
[0209] CylBack("Light Source Cylinder");
[0210] bIsFirstDown = false;
[0211] NormalStepNum = (int)NormalRunStep.XYU Move above the assembly point;
[0212] }
[0213] else
[0214] {
[0215] / / For subsequent taps, simply wait for the tap to complete.
[0216] NormalStepNum = (int)NormalRunStep. Waiting for the tapping detection station to complete its tapping process;
[0217] }
[0218] break
[0219] case (int)NormalRunStep.XYU moves the code above the assembly point.
[0220] / / 3. Move the XYU axes above the assembly point in advance to optimize the cycle time.
[0221] AxisX.AxisSingleTo(productData.m_dUpAssemblePoint.fX,100,false);
[0222] AxisY.AxisSingleTo(productData.m_dUpAssemblePoint.fY,100,false);
[0223] AxisU.AxisSingleTo(productData.m_dUpAssemblePoint.fU,100,false);
[0224] / / Wait for each axis to complete its movement
[0225] _axisYState=AxisY.WaitMotionEx(productData.m_dUpAssemblePoint.fY);
[0226] _axisXState=AxisX.WaitMotionEx(productData.m_dUpAssemblePoint.fX);
[0227] _axisUState=AxisU.WaitMotionEx(productData.m_dUpAssemblePoint.fU);
[0228] / / Once all axes are in position, prepare to move the Z-axis.
[0229] if (_axisYState + _axisXState + _axisUState == 0)
[0230] {NormalStepNum = (int)NormalRunStep.Z-axis moves 5mm above the assembly height;}
[0231] break
[0232] case (int)NormalRunStep. Move the Z-axis 5mm above the assembly height:
[0233] / / 4. Move the Z-axis to a safe height above the tapping point (5mm above in this example)
[0234] AxisZ.AxisSingleTo(dZAssembleHight-4, 50); / / dZAssembleHight is the reference value for the assembly height.
[0235] NormalStepNum = (int)NormalRunStep. Waiting for the tapping detection station to complete its tapping process;
[0236] break
[0237] case (int)NormalRunStep. Waiting for the tapping detection station to complete:
[0238] WaitRegBit(SysBitReg.Tap Detector Completed, true);
[0239] SetBit(SysBitReg.TapDetectorCompleted, false); / / Clear the completion flag
[0240] NormalStepNum = (int)NormalRunStep. This determines the result of the tapping detection station.
[0241] break
[0242] `case (int)NormalRunStep.` determines the result of the tapping detection station.
[0243] if (productData.m_bCollectionResult)
[0244] {
[0245] / / Data collection successful, proceeding to data analysis steps.
[0246] NormalStepNum = (int)NormalRunStep. Calculates peak and valley values to update curve information;
[0247] }
[0248] else
[0249] {NormalStepNum = (int)NormalRunStep.Product test failed;}
[0250] break
[0251] Step 104: Analyze the pressure feedback data and determine whether the touchpad's feel meets the requirements based on the preset standardized tactile threshold.
[0252] In some embodiments of the present invention, step 104 specifically includes the following sub-steps:
[0253] Step 1041: Perform peak and trough analysis on the tapping pressure curve to extract the peak force that characterizes the touchpad's pressing feel.
[0254] Step 1042: Compare the peak force with the preset standardized tactile threshold, and determine whether the current tactile state of the touchpad meets the requirements based on the comparison result.
[0255] Step 1043: If the peak force is less than a preset minimum force threshold, it is determined that the tapping pressure is abnormal and the re-tapping process is triggered.
[0256] In some embodiments of the present invention, to further ensure the reliability of the judgment, step 104 further includes:
[0257] Step 1044: Obtain multiple peak force data corresponding to the continuous multiple tapping tests.
[0258] Step 1045: Analyze the variation range of multiple peak force data.
[0259] Step 1046: If the range of change is less than or equal to a preset tolerance threshold, it is determined to be a data anomaly and a relocation process is triggered.
[0260] The striking pressure curve is a graphical representation of the pressure value collected by the pressure sensor over time during a single striking action. The curve typically includes peaks and troughs, corresponding to the maximum and minimum pressure values, respectively, and can be used to analyze the dynamic characteristics of the pressure. Peak and trough analysis is a method for feature extraction from the striking pressure curve, identifying key force parameters, i.e., identifying the maximum and minimum pressure values. The standardized tactile threshold is a pre-defined quantitative force standard based on the target tactile feel, including a acceptable range, minimum force value, and tolerance threshold. The tolerance threshold refers to the upper limit of the allowable peak force fluctuation range in multiple consecutive striking tests. If the peak force variation range of multiple tests does not exceed this threshold, it indicates that the data variation is too small, possibly due to a fixed striking position and mechanical repetition, requiring repositioning and testing. This step of the analysis includes feature extraction, single-point judgment, and stability verification.
[0261] In the specific implementation of this step, firstly, peak and trough analysis is performed on the pressure curve of each tap to extract the peak force. Then, this peak force is compared with a preset threshold. If the peak force is lower than the minimum force threshold, it is directly determined as a tapping anomaly, triggering a re-tapping process; if the peak force is normal, the process proceeds to reliability verification. During the verification phase, a sequence of peak forces from multiple consecutive taps is obtained, and its variation range is analyzed. If this variation range is too small, less than or equal to a preset tolerance threshold, it indicates that although the data is stable, there may be an overall deviation, thus determining it as data anomaly and triggering a higher-level repositioning process.
[0262] In one specific implementation, the peak force of a single tap was 45 gf, which is greater than the minimum threshold of 10 gf. The peak forces of three consecutive taps were 44 gf, 45 gf, and 43 gf, with a variation range of 2 gf. Since this range is less than the tolerance threshold of 5 gf, the data was determined to be stable but generally low, possibly due to a fixed offset in positioning, thus triggering a repositioning process.
[0263] In practice, step 104 and its sub-steps can be implemented using the following code:
[0264] case (int)NormalRunStep.Calculate peak and valley values and update curve information:
[0265] {
[0266] DataProcessing.GetInstance().Func_TP finds peaks and troughs (productData);
[0267] / / Determine if the maximum force of a single tap has reached the minimum threshold.
[0268] if (productData.TotalCurveData[productData.m_nDetectNum - 1].m_dMaxForce < 10)
[0269] {
[0270] DialogResult dial = ShowMessageEx("Abnormal tapping pressure, maximum force did not exceed 10g", new string[] { "Tap again", "NG (non-conforming) material discharged"});
[0271] if (dial == DialogResult.Yes)
[0272] {NormalStepNum=(int)NormalRunStep.Notify the tap detection station to tap;}
[0273] else
[0274] {
[0275] productData.m_nAdjustProcess = 5;
[0276] productData.m_strNGCode = "C0035";
[0277] productData.m_strNGReason = "Get Force Error:";
[0278] NormalStepNum = (int)NormalRunStep. Product test failed;
[0279] }
[0280] }
[0281] else
[0282] {
[0283] int counts = 3; / / Analyze the data from the three most recent consecutive tests.
[0284] if(productData.L_d_PF_data.Count>=3&&productData.L_d_PF_data.Max()>=1&&productData.m_nAdjustProcess!=4)
[0285] {
[0286] / / Extract the most recent N consecutive peak force data for stability analysis
[0287] List <double>list=productData.L_d_PF_data.Skip(productData.L_d_PF_data.Count-counts).ToList();
[0288] / / Stability determination: If the range of variation of the most recent N peak forces is less than or equal to the preset tolerance value (3g).
[0289] if (list.Max() - list.Min() <= 3)
[0290] {
[0291] productData.L_d_PF_data.Clear(); / / Clear historical data
[0292] NormalStepNum = (int)NormalRunStep.Curve Abnormal_Retake Brush Head Photo;
[0293] break
[0294] }
[0295] }
[0296] / / Judgment criteria: The length of the historical data list is >= 4, the maximum peak value in the list is < 1g, and it is in normal mode.
[0297] else if (productData.L_d_PF_data.Count >= 4 && productData.L_d_PF_data.Max() < 1 && IsNormalRunMode())
[0298] {
[0299] counts = 4; / / In this state, analyze the most recent 4 data points.
[0300] List <double>list = productData.L_d_PF_data.Skip(productData.L_d_PF_data.Count-counts).ToList();
[0301] if (list.Max() - list.Min() <= 3)
[0302] {
[0303] / / Data is too stable, triggering relocation
[0304] productData.L_d_PF_data.Clear();
[0305] NormalStepNum = (int)NormalRunStep.Curve Abnormal_Retake Bit Photo;
[0306] break
[0307] }
[0308] }
[0309] / / If both data validity and stability checks pass, then determine the adjustment strategy.
[0310] NormalStepNum = (int)NormalRunStep. Determine the test result;
[0311] }
[0312] break
[0313] }
[0314] `case (int)NormalRunStep.` determines the test result.
[0315] {
[0316] / / Special mode: No-load test mode, tightening and loosening are performed in a fixed sequence.
[0317] if (SystemMgr.GetInstance().IsDryRunMode())
[0318] {
[0319] if(productData.m_nAdjustNum<=1) / / Tighten the product once or twice
[0320] {productData.m_nAdjustProcess=2; / / 2 corresponds to tightening}
[0321] else if (productData.m_nAdjustNum>=2&&productData.m_nAdjustNum<=3) / / Loosen the screw after 3 or 4 executions.
[0322] {productData.m_nAdjustProcess = 1; / / 1 corresponds to loosening}
[0323] else / / Debugging ends after 4 attempts
[0324] {productData.m_nAdjustProcess=4; / / 4 corresponds to the adjustment completion}
[0325] }
[0326] / / Based on the identified adjustment process status code, jump to the corresponding angle calculation subprocess.
[0327] if (productData.m_nAdjustProcess == 1) / / Loosen state
[0328] {
[0329] NormalStepNum = (int)NormalRunStep.Calculate the loosening angle; / / Jump to the step that calculates the required loosening angle.
[0330] }
[0331] else if (productData.m_nAdjustProcess == 2) / / Tightening status
[0332] {
[0333] NormalStepNum = (int)NormalRunStep.Calculate the tightening angle; / / Jump to the step that calculates the required tightening angle.
[0334] }
[0335] else if (productData.m_nAdjustProcess == 3) / / Rotation adjustment (fine-tuning) status
[0336] {
[0337] NormalStepNum = (int)NormalRunStep. Calculates the required rotation angle; / / Jumps to the step of dynamically calculating the fine-tuning angle based on feedback data.
[0338] }
[0339] else if (productData.m_nAdjustProcess == 4) / / Adjustment complete status
[0340] {
[0341] / / Save the complete curve data of this tapping test for traceability and analysis.
[0342] productData.Func_save_the_curve_data_after_tapping();
[0343] NormalStepNum = (int)NormalRunStep. Product testing complete;
[0344] }
[0345] else if (productData.m_nAdjustProcess == 5) / / Test failed status
[0346] {
[0347] productData.Func_SaveCurveDataAfterClick(); / / Data saved if the click fails
[0348] NormalStepNum = (int)NormalRunStep.Product test failed; / / Jump to the failure handling process.
[0349] }
[0350] else if (productData.m_nAdjustProcess == 6)
[0351] {
[0352] NormalStepNum = (int)NormalRunStep. Calculate the required rotation angle and force value adjustment V2_23; / / Jump to the V2.23 algorithm calculation steps.
[0353] }
[0354] break
[0355] }
[0356] case (int)NormalRunStep.Curve Abnormal_Retake Bit Photo:
[0357] {
[0358] NormalStepNum = (int)NormalRunStep.Z-axis return to safe position_retake bit photo; / / Jump to the step of safe movement and retaking the bit photo;
[0359] break
[0360] }
[0361] This step constructs a dual judgment logic that progresses from simple to complex. It not only captures obvious tapping failures but also identifies hidden deviations through stability analysis, thereby significantly improving the intelligence and reliability of touch judgment and providing a high-quality decision-making basis for precise adjustments.
[0362] Step 105: Based on the judgment result, drive the adjustment mechanism to control the bit to perform adjustment operation on the touch panel.
[0363] The judgment result is the conclusion in step 104 regarding whether the feel state meets the requirements; the adjustment mechanism refers to the mechanical unit composed of the XYZU motion axis and servo drive system, used to drive the bit to perform spatial motion and rotation; the adjustment operation refers to the physical execution process of calibrating the feel parameters of the present invention by controlling the rotation of the bit to tighten or loosen the fixing screws of the touch panel, thereby changing the internal structural tension.
[0364] In some embodiments of the present invention, step 105 may include the following sub-steps:
[0365] Sub-step 1051: If the judgment result is not in compliance with the requirements, the target adjustment state is determined based on the pressure feedback data. The target adjustment state includes loosening, tightening or rotation adjustment.
[0366] Sub-step 1052: Adjust the state according to the target and determine the target rotation angle according to the corresponding rules.
[0367] Among them, the target adjustment status is a status indicator used to guide the current adjustment direction, which is derived from the analysis of pressure feedback data (such as the difference between peak force and threshold and its changing trend). It mainly includes three types: loosening, tightening, and rotation adjustment (to make fine adjustments at a specific angle).
[0368] In some embodiments of the present invention, sub-step 1052 further includes the following sub-step:
[0369] Sub-step 10521: If the target adjustment state is loosened, the target rotation angle is the preset loosening and fixing angle;
[0370] Sub-step 10522: If the target adjustment state is tightened, the target rotation angle is the preset tightening angle;
[0371] Sub-step 10523: If the target adjustment state is rotation adjustment, calculate the target rotation angle based on the pressure feedback data.
[0372] Sub-step 1053: Control the Z-axis to move to the adjustment preparation position, which is located above the screw to be adjusted;
[0373] Sub-step 1054: Control the Z-axis to move downward from the adjustment preparation position to the assembly height at a preset slow speed, and collect the bit axial pressure data during the movement or when the assembly height is reached.
[0374] The target rotation angle is the absolute or relative angle value that the bit needs to rotate, determined based on the target adjustment state. The adjustment preparation position is a preset height coordinate on the Z-axis located directly above the screw to be adjusted, maintaining a safe distance from the screw head, to ensure that the bit can be vertically and accurately aligned with the screw. The assembly height is the Z-axis position where the bit is in full contact with the screw head and a preset initial pressure is applied; the bit axial pressure data is a sequence of axial force values that are collected in real time by a force sensor during the Z-axis pressing process, reflecting the contact state between the bit and the screw.
[0375] In some embodiments of the present invention, step 105 may further include the following sub-step after sub-step 1054:
[0376] Sub-step 1055: Determine whether the collected bit axial pressure data is normal;
[0377] Sub-step 1056: When the axial pressure data of the bit is normal, control the U-axis to rotate the target rotation angle, and monitor the rotation torque during the rotation process;
[0378] Sub-step 1057: When the bit axial pressure data is abnormal, provide anomaly handling options, which include at least one of re-detection, marking the product as abnormal, or ignoring the abnormality.
[0379] In some embodiments of the present invention, sub-step 1056, "controlling the U-axis to rotate the target rotation angle and monitoring the rotation torque during rotation," specifically includes the following sub-steps:
[0380] Sub-step 10561: When the rotational torque is detected to exceed the preset torque threshold, stop the rotation operation and perform torque over-limit anomaly handling;
[0381] Sub-step 10562: When the rotation operation is completed normally, record the current adjustment angle of the U-axis.
[0382] Among them, the rotational torque is the tangential resistance torque experienced by the bit during screw rotation, used to determine whether stripping or over-tightening occurs; the preset torque threshold is a safe upper limit of torque set to protect the screw and bit.
[0383] In one specific implementation, assuming a rotational adjustment is required, a counter-clockwise rotation of 12 degrees is calculated. The Z-axis first moves to an adjustment preparation position 2 mm above the screw, then slowly descends at a rate of 0.3 mm per second. During the downward pressure, the axial pressure steadily increases to 4.8 N, indicating normal contact. Subsequently, the U-axis rotates 12 degrees, and the real-time torque peak does not exceed the threshold of 2.0 N·cm. After rotation, the U-axis angle is recorded, and a new round of tapping tests is initiated to verify the feel. In a specific implementation where the torque exceeds the limit, based on the feel assessment, it is determined that the screw needs to be tightened, and the target rotation angle is calculated to be 40 degrees clockwise. When performing the rotational adjustment step, i.e., when the Z and U axes move to the corresponding angle, the U-axis begins to drive the bit to rotate. During the rotation, the motion control card monitors the motor's output torque in real time via the servo driver. When the rotation reaches approximately 25 degrees, the real-time monitoring function AxisU.WaitMotionExMonitorULinmtF() returns error code 9, indicating that the actual torque has exceeded the preset torque safety threshold. For example, the preset threshold is 2.5 N·cm, while the actual torque instantaneously reaches 3.1 N·cm. This invention will immediately trigger a safety response, including but not limited to: immediately stopping the U-axis servo drive, recording error information in the log, and jumping the execution steps to torque over-limit exception handling.
[0384] In practical implementation, sub-steps 1053-1057, and sub-steps 1056 specifically including sub-steps 10561 and 10562, can be implemented using the following code:
[0385] case (int)NormalRunStep.Z-axis moves 4mm above the assembly height:
[0386] AxisZ.AxisSingleTo(dZAssembleHight - 4);
[0387] SetBit(SysBitReg.Notify XJC stress sampling station to start sampling, true);
[0388] NormalStepNum = (int)NormalRunStep.Z-axis slow movement to assembly height;
[0389] break
[0390] case (int)NormalRunStep.Z-axis slow movement to assembly height:
[0391] AxisZ.AxisSingleTo(dZAssembleHight, 10);
[0392] NormalStepNum = (int)NormalRunStep.Angle Exceedance Detection;
[0393] break
[0394] `case (int)NormalRunStep.` determines the pressure along the z-axis.
[0395] if (Func_gets and judges the pressure data())
[0396] {NormalStepNum = (int)NormalRunStep.AngleExceedanceCheck;}
[0397] else
[0398] {NormalStepNum = (int)NormalRunStep.Pressure data anomaly;}
[0399] break
[0400] case (int)NormalRunStep.Stress data anomaly:
[0401] DialogResult dia = ShowMessageEx("Bit pressure data abnormal", new string[]{ "Retest", "Product abnormal", "Ignore"});
[0402] if (dia == DialogResult.Yes)
[0403] {NormalStepNum = (int)NormalRunStep.determines the z-axis pressure;}
[0404] else if (dia == DialogResult.No)
[0405] {
[0406] productData.m_strNGCode = "C0036";
[0407] productData.m_strNGReason = "Abnormal batch head pressure";
[0408] productData.m_nAdjustProcess = 5;
[0409] NormalStepNum = (int)NormalRunStep. Determine the test result;
[0410] }
[0411] else
[0412] {NormalStepNum = (int)NormalRunStep.AngleExceedanceCheck;}
[0413] break
[0414] case (int)NormalRunStep.Angle Exceedance Judgment:
[0415] NormalStepNum = (int)NormalRunStep.ZU axis coordinates to move to the corresponding angle;
[0416] break
[0417] case (int)NormalRunStep.ZU axis moves to the corresponding angle:
[0418] AxisU.bIsStop = false;
[0419] bIsThreadOpen = true;
[0420] Thread.Sleep(50);
[0421] int screw rotation direction = productData.TotalCurveData[productData.m_nDetectNum-1].m_dAdjustAngle>0?1:(productData.TotalCurveData[productData.m_nDetectNum-1].m_dAdjustAngle<0?-1:0);
[0422] AxisU.AxisSingleTo(AxisU.GetAxisPos()+dUAngle,dUSpeed,false);
[0423] if (AxisU.WaitMotionExMonitorULinmtF()==9)
[0424] {
[0425] ShowLogEx("Axis_U Force Error", LogLevel.Error);
[0426] NormalStepNum = (int)NormalRunStep. Torque over-limit exception handling;
[0427] break
[0428] }
[0429] dUAssembleAngle += dUAngle;
[0430] NormalStepNum = (int)NormalRunStep.U-axis reversed 2 degrees - Adjustment complete;
[0431] break
[0432] This invention combines visual positioning with force feedback data to achieve automatic and accurate detection and closed-loop adjustment of touchpad feel, effectively improving production consistency and adjustment efficiency.
[0433] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.
[0434] Figure 2 This is a flowchart of the entire lifecycle of touchpad feel adjustment provided in this embodiment of the invention. First, an initialization process is performed, followed by product loading, and then visual positioning of the bit and the product. Specifically, this may include an upper camera capturing a reference mark point to establish a coordinate system, and a lower camera performing angle detection on the bit at the bit visual calibration point. Then, a tapping detection station is controlled to tap and collect data. Based on the collected information, the product status is determined. If the status is good, the data is recorded and uploaded, and the product flows normally to the next process. If the product status is unqualified (i.e., NG), the adjustment module needs to be controlled for adjustment.
[0435] An embodiment of the present invention also provides an automatic touchpad feel adjustment device. The adjustment device includes an upper camera, a lower camera, a bit, and an XYZU motion axis for driving the bit's movement. The adjustment device is used to control a tapping detection station. The device includes:
[0436] The detection and positioning module is used to detect and position the angle of the bit through the lower camera in a pre-established coordinate system to obtain the detection and positioning result. The bit is used to adjust the touch panel.
[0437] The path location determination module is used to determine the motion path and target position of the tapping detection station relative to the touch panel based on the coordinate system and the detection positioning result;
[0438] The pressure data acquisition module is used to control the tapping detection station to perform a tapping action on the touch panel according to the movement path and the target position, and to collect the pressure feedback data generated during the tapping process;
[0439] The standard judgment module is used to analyze the pressure feedback data and, based on a preset standardized tactile threshold, determine whether the tactile state of the touchpad meets the requirements.
[0440] The adjustment drive module is used to drive the adjustment mechanism to control the bit to perform adjustment operations on the touch panel based on the judgment result.
[0441] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0442] An embodiment of this application also provides an electronic device, which may include a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the method described above.
[0443] An embodiment of this application also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, it implements the method described above.
[0444] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0445] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.
[0446] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the aforementioned element.
[0447] The above provides a detailed description of a method for automatically adjusting the touchpad feel. Specific examples have been used to illustrate the principle and implementation of this invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, those skilled in the art will recognize that, based on the ideas of this invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this invention.< / double> < / double>
Claims
1. A method for automatically adjusting the touchpad feel, characterized in that, An adjustment device is applied to a device comprising an upper camera, a lower camera, a bit, and an XYZU motion axis for driving the bit's movement. The adjustment device is used to control a striking detection station. The method includes: In a pre-established coordinate system, the angle of the bit is detected and positioned at the bit visual calibration point by the lower camera to obtain the detection and positioning result. The bit is used to adjust the touch panel. Based on the coordinate system and the detection and positioning results, the path for the striking detection station to move to the striking target working point is determined; The system controls the tapping detection station to move to the target tapping point along the path and perform a tapping action on the touch panel, collecting pressure feedback data during the tapping process. The pressure feedback data is analyzed, and based on a preset standardized tactile threshold, it is determined whether the tactile state of the touchpad meets the requirements. Based on the judgment result, the drive adjustment mechanism controls the bit to perform an adjustment operation on the touch panel.
2. The method according to claim 1, characterized in that, The pre-established coordinate system is established through the following steps: Enable the XYZU motion axis and control the XYZU motion axis to move to the safe origin of the equipment; The upper camera takes pictures of the preset Mark points, and the coordinate system is established based on the picture results; Once the coordinate system is established, set the initialization completion flag and switch to working mode.
3. The method according to claim 1, characterized in that, The step of detecting and locating the angle of the bit at the bit visual calibration point using the lower camera to obtain the detection and positioning result includes: Verify whether the visual calibration point of the bit is consistent with the coordinates of the equipment safety origin in the horizontal direction; When the visual calibration point of the bit is consistent with the horizontal coordinate of the safety origin of the device, the control motion component moves the bit to the visual calibration point of the bit. The bit angle detection command is executed by the lower camera to acquire images and analyze the angle of the bit, thereby obtaining the bit angle detection result.
4. The method according to claim 1, characterized in that, The steps of controlling the tapping detection station to move to the tapping target working point according to the path and perform a tapping action on the touch panel, and collecting pressure feedback data during the tapping process, include: Send a tap start signal to the tap detection station to control the tap detection station to tap the target working point of the touch panel; When the current tapping operation is determined to be the first tap, the XYU axes are moved to the preset assembly point in advance; The Z-axis of the adjustment device is moved to an avoidance position, which is located below the working point of the striking target. The pressure feedback data returned by the impact detection station during the impact operation is collected.
5. The method according to claim 1, characterized in that, The steps for analyzing the pressure feedback data include: Peak and trough analysis was performed on the tapping pressure curve to extract the peak force that characterizes the touchpad's pressing feel; The peak force is compared with a preset standardized tactile threshold, and the current tactile state of the touchpad is determined based on the comparison result to see if it meets the requirements. If the peak force is less than the preset minimum force threshold, it is determined that the tapping pressure is abnormal and the re-tapping process is triggered.
6. The method according to claim 5, characterized in that, Also includes: Acquire multiple peak force data corresponding to consecutive tapping tests; Analyze the variation range of the multiple peak force data; If the range of change is less than or equal to the preset tolerance threshold, it is determined to be a data anomaly, and a relocation process is triggered.
7. The method according to claim 1, characterized in that, The step of controlling the bit to perform an adjustment operation on the touch panel based on the judgment result includes: If the judgment result is not in compliance with the requirements, the target adjustment state is determined based on the pressure feedback data. The target adjustment state includes loosening, tightening, or rotational adjustment. Based on the target adjustment state, determine the target rotation angle according to the corresponding rules; Control the Z-axis to move to the adjustment preparation position, which is located above the screw to be adjusted; The Z-axis is controlled to move downwards from the adjustment preparation position to the assembly height at a preset slow speed, and the axial pressure data of the bit is collected during the movement or when the assembly height is reached.
8. The method according to claim 7, characterized in that, The step of adjusting the target state according to the target and determining the target rotation angle according to the corresponding rules includes: If the target adjustment state is loosened, the target rotation angle is a preset loosening-fixing angle; If the target adjustment state is tightened, the target rotation angle is a preset tightening angle; If the target adjustment state is rotation adjustment, the target rotation angle is calculated based on the pressure feedback data.
9. The method according to claim 7, characterized in that, Also includes: Determine if the collected axial pressure data of the bit is normal; When the axial pressure data of the bit is normal, control the U-axis to rotate the target rotation angle, and monitor the rotation torque during the rotation process; When the bit axial pressure data is abnormal, anomaly handling options are provided, including at least one of re-detection, marking the product as abnormal, or ignoring the abnormality.
10. The method according to claim 9, characterized in that, The steps of controlling the U-axis to rotate the target rotation angle and monitoring the rotation torque during the rotation include: When the rotational torque is detected to exceed the preset torque threshold, the rotation operation is stopped and torque over-limit anomaly handling is performed. When the rotation operation is completed normally, record the current adjustment angle of the U-axis.