Mechanical arm control method and device, controller, robot and storage medium
By integrating force measurement data in multiple clamping positions based on the load force balance equation in the clamping state of the robot arm, the load target parameters are obtained, which solves the problem that traditional calibration methods cannot meet the efficient and precise operation control, and accurately controls the load when multiple robot arms are clamped.
Patent Information
- Application Number
- CN202510576411.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-06-13
AI Technical Summary
The traditional calibration method of six-dimensional force sensor at the end of the robot arm can only identify the relevant parameters at the end of a single robot arm and cannot meet the needs of efficient and accurate operation and control.
In the clamped state of the robot arm, the force measurement data in multiple clamped positions are integrated based on the load force balance equation, the load target parameters are obtained, and the corresponding operations are controlled to perform the robot arm based on these parameters.
Accurate identification of load-related parameters when multiple robotic arms clamp the load is achieved, and the accuracy of robotic arms control and operation flexibility are improved.
Smart Images

Figure CN120134322A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotic arm control, and in particular, to a robotic arm control method, device, controller, robot, and storage medium. Background Art
[0002] The six-axis force sensor installed at the end of the robotic arm can sense the force and torque exerted by the environment on the robotic arm. With this ability, technicians can control the robotic arm to make flexible contact and interaction with the environment. Therefore, the six-axis force sensor has a wide range of applications in the field of robotic arms, and in order to enable the six-axis force sensor to work accurately, its calibration method has always been highly regarded.
[0003] However, using the traditional calibration method for the six-axis force sensor at the end of the robotic arm, only the relevant parameters of the six-axis force sensor at the end of a single robotic arm can be identified, and the application scenario is limited, unable to meet the requirements for more efficient and precise operation control. Summary of the Invention
[0004] In view of this, the present application provides a robotic arm control method, device, controller, robot, and storage medium, which can identify the relevant parameters of the load under the clamping of the robotic arm to achieve more precise control.
[0005] In a first aspect, the present application provides a robotic arm control method, including:
[0006] In response to the force measurement data detected by the six-axis force sensors located at the ends of the robotic arms in different clamping postures, based on the load force balance equation under the clamping state of the robotic arm, the force measurement data in all the clamping postures is integrated to obtain the load target parameters; wherein, the clamping posture is the specified end posture reached under the clamping state of the robotic arm;
[0007] Based on the load target parameters, control the actuator to perform corresponding operations.
[0008] In a second aspect, the present application provides a robotic arm control device, including:
[0009] A data processing module, configured to, in response to the force measurement data detected by the six-axis force sensors located at the ends of the robotic arms in different clamping postures, integrate the force measurement data in all the clamping postures based on the load force balance equation under the clamping state of the robotic arm to obtain the load target parameters; wherein, the clamping posture is the specified end posture reached under the clamping state of the robotic arm;
[0010] A control module, configured to control the actuator to perform corresponding operations based on the load target parameters.
[0011] In a third aspect, the present application provides a controller, which includes a processor and a memory. The memory stores a computer program, and the processor is configured to execute the computer program to implement the robotic arm control method according to any one of the foregoing embodiments.
[0012] In a fourth aspect, the present application provides a robot, which includes at least two robotic arms and the controller according to the foregoing embodiment.
[0013] In a fifth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed, the robotic arm control method according to any one of the foregoing embodiments is implemented.
[0014] The embodiments of the present application have the following advantages:
[0015] The present application proposes a robotic arm control method. By responding to the force measurement data detected by the six-axis force sensors at the ends of each robotic arm in different gripping postures, and based on the load force balance equation in the robotic arm gripping state, the force measurement data in all gripping postures are integrated to obtain the required load target parameters. Then, based on the obtained load target parameters, each robotic arm is controlled to perform corresponding operations. This method can identify the load-related parameters when several robotic arms grip a load, which is beneficial for controlling the robotic arms to perform more precise corresponding operations such as flexible contact and interaction with the external environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and thus should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.
[0017] Figure 1 Shows a schematic structural diagram of a robot according to an embodiment of the present application;
[0018] Figure 2 Shows a first flowchart of the robotic arm control method according to an embodiment of the present application;
[0019] Figure 3 Shows a second flowchart of the robotic arm control method according to an embodiment of the present application;
[0020] Figure 4 Shows a flowchart of calibrating the force measurement data according to an embodiment of the present application;
[0021] Figure 5 Shows a flowchart of constructing the force balance equation according to an embodiment of the present application;
[0022] Figure 6 Shows a schematic diagram of coordinate system conversion when the robotic arm holds a load in an embodiment of the present application;
[0023] Figure 7 Shows a first schematic structural diagram of a robotic arm control device in an embodiment of the present application;
[0024] Figure 8 Shows a second schematic structural diagram of a robotic arm control device in an embodiment of the present application.
[0025] Description of main element symbols:
[0026] 10 - Robot; 11 - Controller; 111 - Processor; 112 - Memory; 12 - Robotic arm; 121 - Left robotic arm; 122 - Right robotic arm; 13 - Actuator;
[0027] 20 - Robotic arm control device; 21 - Data processing module; 22 - Data calibration module; 23 - Control module; 24 - Sensor calibration module; 25 - Equation construction module. Detailed implementation manners
[0028] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments.
[0029] Generally, the components of the embodiments of the present application described and illustrated herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the present application claimed, but merely represents selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts belong to the scope of protection of the present application.
[0030] Hereinafter, the terms "including", "having" and their cognates that can be used in various embodiments of the present application are only intended to indicate specific features, numbers, steps, operations, elements, components or combinations of the foregoing items, and should not be construed as first excluding the existence or adding the possibility of one or more other features, numbers, steps, operations, elements, components or combinations of the foregoing items.
[0031] In addition, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0032] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present application pertain. The terms (such as those defined in a commonly used dictionary) will be interpreted to have the same meaning as the contextual meaning in the relevant technical field and will not be interpreted to have an idealized meaning or an overly formal meaning, unless clearly defined in various embodiments of the present application.
[0033] Conventional calibration methods for six-axis force sensors mounted at the end of a robotic arm can generally only identify the relevant parameters of a single six-axis force sensor at the end of the robotic arm and cannot be directly applied to the parameter identification scenario where multiple robotic arms jointly grip a load. For this reason, the present application proposes a new method for identifying load-related parameters, which can be used to achieve more precise control of the robotic arm. Specifically, by comprehensively considering the measurement results of the six-axis force sensors mounted at the end of each robotic arm and combining with the load force balance equation under the gripping state of the robotic arm, parameters such as the mass and centroid position of the gripped load can be accurately calculated. Then, corresponding control instructions can be calculated based on these load parameters to control each robotic arm to perform corresponding operations, thereby achieving more precise control, etc. For example, achieving balance maintenance when a mobile robot (such as a legged robot) carries an object; or enabling a humanoid robot to more accurately perceive the force exerted from the outside when interacting with the environment; or improving the operation accuracy and safety of an industrial robot during automated operations, etc.
[0034] It should be understood that the technical solution of the present application is not only applicable to the scenario where two robotic arms grip a load, but can also be transplanted to the scenario where multiple robotic arms jointly grip the same load, as long as there is a common base fixedly connected to these robotic arms. Further explanation, the robotic arm control method of the present application is not only applicable to robots, but can also be applied to robotic arms that can work independently of the robot body. Here, the form of existence of the execution object is not uniquely limited. In addition, the shape of the load in the present application is not limited either. For example, it can be a large cargo box in an industrial scenario, an object in a human-machine interaction scenario, etc. The robotic arm control method of the present application will be described below with specific embodiments.
[0035] Figure 1 Fig. 10 shows a schematic structural diagram of a robot 10 according to an embodiment of the present application. Exemplarily, the robot 10 includes a controller 11, a robotic arm 12, and an actuator 13. For the convenience of understanding the method of the present application, a robot with two robotic arms is mainly used as an example for illustration, such as Figure 1The left robotic arm 121 and the right robotic arm 122 shown can be used to jointly grip a load and move it. The actuator 13 is used to enable the robot to perform corresponding operations. Among them, the actuator 13 includes, but is not limited to, a moving / walking mechanism. Correspondingly, the operations that can be performed can be, for example, performing chassis movement, leg walking of a humanoid robot, etc.; or a cleaning mechanism. Correspondingly, the operations that can be performed can be, for example, mopping the floor, sweeping the floor, spraying water, etc., depending on the application scenario of the robot 10.
[0036] The controller 11 includes a processor 111 and a memory 112. The memory 112 stores a computer program. The processor 111 runs the computer program, so that the robot 10 executes the functions of each module in the robotic arm control method or the robotic arm control device 20 of the embodiments of the present application. Thus, after identifying relevant load parameters such as the mass and centroid position of the gripped load, corresponding operation control can be performed to achieve the purpose of improving control accuracy and the like.
[0037] Among them, the processor 111 can be an integrated circuit chip with signal processing capabilities. The processor 111 can be a general-purpose processor, including at least one of a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application.
[0038] The memory 112 can be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. Among them, the memory 112 is used to store a computer program. After receiving an execution instruction, the processor 111 can execute the computer program accordingly.
[0039] It can be understood that each end of the robotic arm in this application is provided with an actuator and related sensors. Among them, the end effector is a component that directly contacts the object to be operated by the robotic arm and completes specific tasks. For example, a gripping tool belongs to a common component type and is used to grasp, hold, and transport objects. For sensors used to sense external environmental information, they can include, but are not limited to, force sensors, torque sensors, vision sensors, encoders, etc. Taking a force sensor as an example, it can specifically be a single-direction, three-dimensional, or six-dimensional force sensor, etc. This application mainly uses a six-dimensional force sensor as an example for illustration, where the six-dimensional force sensor can be used to simultaneously measure forces in three directions and torques in three directions.
[0040] In addition, this application does not specifically limit the form of existence of the robot 10. For example, the robotic arm can be installed on a movable chassis (such as a wheeled or tracked type, etc.) to form a mobile robot, such as an automated guided vehicle (AGV), etc.; it can also be installed on a fixed base or workbench for scenarios of some high-precision and repetitive tasks; in addition, it can also be installed on the torso of a bipedal robot to form a humanoid robot for various scenarios such as single-machine cargo handling, interaction and cooperation between multiple humanoid robots, or human-robot interaction, but not limited to this.
[0041] Figure 2 A flowchart of a robotic arm control method according to an embodiment of this application is shown. Exemplarily, the robotic arm control method includes steps S110 to S130:
[0042] S110, in response to the force measurement data detected by the six-dimensional force sensors located at the ends of each robotic arm in different gripping poses, based on the load force balance equation in the robotic arm gripping state, data integration is performed on the force measurement data in all gripping poses to obtain load target parameters.
[0043] Among them, the gripping pose refers to the specified end pose reached in the robotic arm gripping state, that is, the specified position and orientation that each end of the robotic arm needs to reach. The robotic arm gripping state refers to the state where at least two robotic arms grip the same load. In this application, by selecting some gripping poses in the Cartesian space for the robotic arm, where the orientations in each gripping pose are different, and then by controlling the joint angles of each robotic arm to make it in the robotic arm gripping state and maintaining this gripping state to move to these specified end poses in sequence. Each time a specified pose is reached, the force measurement data output by the six-dimensional force sensors at the ends of each robotic arm is respectively recorded.
[0044] Regarding the selection of the number of clamping postures, it should be at least more than 2. For example, it can be 3 - 6 groups, and no specific limitation is made here. It can be understood that at any clamping posture, the two six - dimensional force sensors both output measurement data, which is recorded as a set of measurement data at the current clamping posture at this time; correspondingly, multiple clamping postures correspond to multiple sets of measurement data.
[0045] As an alternative solution, as Figure 3 shown, before integrating the force measurement data at all clamping postures based on the load force balance equation in the clamping state of the robotic arm, the method further includes:
[0046] S120, calibrating each force measurement data to obtain force calibration data. Among them, the force calibration data is used for data integration based on the load force balance equation in the clamping state of the robotic arm. In other words, data integration is performed on the force calibration data at all clamping postures based on this load force balance equation.
[0047] It can be understood that by calibrating these force measurement data through step S110 and then using the calibrated data for data integration, the influence of the identified end - effector and its own offset on the output measurement results of the six - dimensional force sensor can be excluded, so as to ensure the accuracy of load parameter identification.
[0048] In addition, as an alternative solution, before step S110 or S120, the method further includes:
[0049] Responding to the output signals of the six - dimensional force sensor when the end of a single robotic arm moves to different postures, and obtaining the calibration parameters of the current six - dimensional force sensor based on this output signal, that is, obtaining the calibration parameters of the six - dimensional force sensor installed at the end of each robotic arm respectively.
[0050] Among them, the calibration parameter refers to the parameter calculated by calibrating the six - dimensional force sensor of a single robotic arm in a specific way and used for calibrating this six - dimensional force sensor. In other words, the above - mentioned calibration parameters are used for calibrating each obtained force measurement data. For example, the calibration parameter may include the relevant parameters of the end - effector fixedly connected to the six - dimensional force sensor, which may include the mass and centroid position of the end - effector, etc. It can be understood that the six - dimensional force sensor is installed at the end of the robotic arm, and the end - effector itself has mass and cannot be ignored, so the relevant parameters of each six - dimensional force sensor can be calibrated first. In addition, the calibration parameter may also include the zero - point offset of the six signals (including forces and torques in the XYZ three directions) output by the six - dimensional force sensor.
[0051] Exemplarily, for the six-axis force sensors installed at the end of each robotic arm, a calibration method for a single robotic arm can be used for calibration separately to obtain the calibration parameters of each six-axis force sensor. For example, traditional calibration methods mainly include: having the end of a single robotic arm grasp a load with known parameters and move it to several poses with different postures, and recording the output signals of the six-axis force sensor at this pose; furthermore, based on the principle of force balance, the mass and the position of the centroid of the end effector fixedly connected to the six-axis force sensor can be calculated based on these output signals. In addition, considering that there may be some inherent deviations in the six-axis force sensor, the average output value of the six-axis force sensor in each direction without external force can be calculated as its zero-point offset value.
[0052] Taking the calibration parameters exemplified above as an example, exemplarily, as Figure 4 shown, the calibration process in step S120 includes:
[0053] S210, according to the forward kinematics of the robotic arm and the parameters of the end effector (including mass, centroid position, etc.), calculate the action (denoted as the six-dimensional vector Fg) of the gravity of the end effector of each robotic arm in the force measurement data (denoted as the six-dimensional vector Fo) detected by its own six-axis force sensor.
[0054] S230, subtract the action and the zero-point offset (denoted as the six-dimensional vector Fb) from the force measurement data to obtain the force calibration data after calibrating the six-axis force sensor (i.e., Fo - Fg - Fb). Among them, the calibration method for a single six-axis force sensor can refer to relevant published literature and will not be elaborated here.
[0055] It can be understood that by first excluding the inherent deviation information of each six-axis force sensor, this provides a more accurate data basis for the identification of load-related parameters, and preferably ensures the accuracy of this solution.
[0056] Among them, the load force balance equation is constructed based on the principle that when the load is in a static state under the clamping state of the robotic arm in the same coordinate system, the resultant force and the resultant moment received are zero. In this embodiment, by constructing the force balance equation satisfied when the load is in a static state during the robotic arm clamping by the robot 10 and substituting these measurement data into the force balance equation for data integration, the required load target parameters can be calculated. For example, the load target parameters include but are not limited to the mass and the centroid position of the load.
[0057] In one embodiment, exemplarily, the load force balance equation in the state where the robotic arm holds the load is constructed in the following manner, including: first, performing coordinate system transformation on the six-axis force sensors at the end of each robotic arm, that is, using the rotation matrix between the two coordinate systems to transform the force measurement data (including three-dimensional force and three-dimensional torque) output by the two six-axis force sensors in their own sensor coordinate systems to the same coordinate system; and, respectively transferring the force application points of each six-axis force sensor to the load to the same target point within the load, that is, using the principle of force translation to transform the application points on the surface of the load to points within the load; finally, based on the characteristic that the load satisfies force balance in the static state in the transformed same coordinate system, constructing a force balance equation described by the load target parameters.
[0058] Among them, the above-mentioned same coordinate system is the base coordinate system commonly connected by each robotic arm. Taking a humanoid robot as an example, this base coordinate system can be selected as the torso, etc. It should be understood that establishing the base coordinate system on the torso is not the only option. For example, it can also be selected on the base of the robotic arm, etc., and can be specifically set according to actual needs, which is not limited here.
[0059] The above-mentioned target point can be selected inside the load body, such as the center of mass of the load, etc. Since there is no moment arm for gravity to the internal point, it is beneficial to simplify the calculation of parameters such as the position of the center of mass of the load. Optionally, for a load with a regular shape, it can also be selected as the center of gravity, etc., which is not limited here.
[0060] In one embodiment, the load force balance equation mainly includes two parts, namely the force balance equation and the torque balance equation of the load. Among them, the force balance equation is constructed based on the principle that the resultant force is zero in the static state, while the torque balance equation is constructed based on the principle that the resultant torque is zero in the static state. Furthermore, the force balance equation and the torque balance equation can be respectively used to calculate different types of load target parameters. For example, the mass of the load can be calculated using the force balance equation; the position of the center of mass of the load can be calculated using the torque balance equation.
[0061] Furthermore, as Figure 5 shown, the construction of the force balance equation includes sub-steps S310 - S330:
[0062] S310, obtaining the rotation amount after coordinate system transformation of the force and torque applied by each six-axis force sensor to the load.
[0063] Among them, the rotation amount is used to describe the conversion result of the force and torque applied by each six-axis force sensor to the load from its own sensor coordinate system to the base coordinate system, which is mainly related to the rotation matrix. It can be understood that the force measurement data in step S110 is in the coordinate system of the six-axis force sensor at the end of the robotic arm. Therefore, it is necessary to convert this force measurement data to the same coordinate system (such as the base coordinate system) for subsequent analysis and calculation.
[0064] For example, as Figure 6 shown, if this method is applied in a scenario including two robotic arms, such as Figure 1 shown, the left robotic arm 121 and the right robotic arm 122, if the origins of the coordinate systems of the six-axis force sensors on the left robotic arm 121 and the right robotic arm 122 are respectively denoted as L and R, and the origin of the base coordinate system is denoted as B, then according to the forward kinematics principle of each robotic arm, the relationships between the coordinate systems of the six-axis force sensors at the ends of the left robotic arm 121 and the right robotic arm 122 and the base coordinate system can be obtained respectively. Demonstratively, the homogeneous matrices of the coordinate systems of the six-axis force sensors at the ends of the left robotic arm 121 and the right robotic arm 122 in the base coordinate system can be respectively expressed as:
[0065]
[0066] In the formula, is the homogeneous matrix corresponding to the left robotic arm 121, is the homogeneous matrix corresponding to the right robotic arm 122; is the rotation matrix from the base coordinate system to the coordinate system of the six-axis force sensor at the end of the left robotic arm 121; represents the vector (directed line segment) from the origin of the base coordinate system to the origin of the coordinate system of the six-axis force sensor at the end of the left robotic arm 121; represents the vector from the origin of the base coordinate system to the origin of the coordinate system of the six-axis force sensor at the end of the right robotic arm 122.
[0067] If a set of measurement data sensed by the six-axis force sensors when the left robotic arm 121 and the right robotic arm 122 hold the load is denoted as and Among them, the vectors and both include the forces in the x, y, and z directions (i.e., three-dimensional forces), and the vectors and both include the torques in the x, y, and z directions (i.e., three-dimensional torques). It should be understood that the three-dimensional forces and three-dimensional torques applied by the six-axis force sensor to the load are opposite in direction and equal in magnitude to the three-dimensional forces and three-dimensional torques sensed by the six-axis force sensor from the load.
[0068] Then, the expressions of the rotation amounts corresponding to the left robotic arm 121 and the right robotic arm 122 respectively are: and
[0069] S320. According to the vector and rotation amount from the origin of the sensor coordinate system of each six - axis force sensor to the target point, obtain the translation amount of the force and moment applied by each six - axis force sensor to the load.
[0070] Among them, the translation amount means that the action points of the three - dimensional force and three - dimensional moment applied by each six - axis force sensor to the load are transferred to the same point inside the load, so as to conduct mechanical analysis by means of the principle of force translation.
[0071] Exemplarily, if the target point is denoted as O, combined with the rotation amount obtained above, for the expressions of the translation amounts corresponding to the left robotic arm 121 and the right robotic arm 122 respectively, there are:
[0072] and
[0073] In the formula, represents the vector from the origin of the coordinate system of the six - axis force sensor of the left robotic arm 121 to the target point selected inside the load, represents the vector from the origin of the coordinate system of the six - axis force sensor of the right robotic arm 122 to the target point inside the load. It can be understood that the translation operation is mainly used for torque and force - arm analysis.
[0074] S330. Based on the translation amount, construct the force balance equation of the load in the static state.
[0075] Exemplarily, according to the principle that the resultant force of the load in the static state is zero, based on the force components in the translation amounts associated with each six - axis force sensor and the gravity received by the load, the force balance equation in the state of the robotic arm clamping can be constructed; and, according to the principle that the resultant torque of the load in the static state is zero, based on the torque components in the translation amounts associated with each six - axis force sensor and the torque applied by the gravity to the load, the torque balance equation in the state of the robotic arm clamping can be constructed. Among them, the above - mentioned association means that each six - axis force sensor at the end of each robotic arm has its corresponding translation amount.
[0076] It can be understood that if the target point is selected as the center of mass of the load, since the gravity has no force - arm relative to the center of mass, the torque applied by the gravity to the load is zero. Thus, in one embodiment, the expression of the force balance equation is:
[0077]
[0078] In the formula, is the gravity received by the load, where m is the mass of the load, is the gravity acceleration vector. It should be noted that the magnitude of the vector is g, and the direction is the same as the vector in opposite directions.
[0079] Therefore, after obtaining the force measurement data or force calibration data under different clamping postures, the required load target parameters can be calculated by integrating the data through the force balance equation.
[0080] For example, when calculating the mass of the clamped load, the mass corresponding to each clamping posture can be calculated according to the force balance equation in the state of the robotic arm clamping and the three-dimensional force data at each clamping posture, and then the average value of the masses at all clamping postures is used as the mass of the load.
[0081] Exemplarily, based on the force balance equation the following calculation equation for the mass m of the load can be obtained: In the formula, is the length of the vector It can be understood that substituting the three-dimensional force data at any clamping posture into this equation can obtain the load mass at the corresponding clamping posture. Furthermore, taking the average value of all load masses as the mass of the solved load, that is: In the formula, represents the finally solved mass of the load, n represents the number of postures, and m i represents the load mass calculated at the i-th posture.
[0082] Also for example, when calculating the centroid position of the load, the moment balance equation can be converted into a moment balance conversion equation described by the position of the centroid of the load in the sensor coordinate system of the six-axis force sensor at the end of any one of the robotic arms; furthermore, according to the three-dimensional force data and three-dimensional moment data at each clamping posture, the moment balance conversion equation can be processed using the least squares method to estimate the centroid position.
[0083] Exemplarily, according to the moment balance equation Combined with the conversion relationship between vectors, for example, the above moment balance equation can be converted to:
[0084]
[0085] In the formula, is the vector from the origin of the coordinate system of the six-axis force sensor of the right robotic arm 122 to the origin of the base coordinate system, is the vector from the origin of the base coordinate system to the origin of the coordinate system of the six-axis force sensor of the left robotic arm 121, is the vector from the origin of the coordinate system of the six-axis force sensor of the left robotic arm 121 to the centroid position of the load.
[0086] Furthermore, taking the selection of the left robotic arm 121 as an example, since the robotic arm has been gripping the load all the time, the position of the centroid O of the load in the coordinate system of the six-axis force sensor at the end of the left robotic arm 121 (denoted as ) remains unchanged all the time. According to the coordinate transformation rule, there is Meanwhile, combining is the skew-symmetric matrix generated based on the vector , is the skew-symmetric matrix generated based on the vector . Thus, the above moment balance equation can be further transformed into:
[0087]
[0088] Thus, substitute each group of three-dimensional force data and three-dimensional moment data into the above equation respectively, and use the form of Ax = b for integration. Among them, let is okay, that is, there is Finally, use the least squares method to calculate the integrated equation to obtain the estimated value of the position of the load centroid in the coordinate system of the six-axis force sensor at the end of the left robotic arm 121, that is:
[0089]
[0090] In the formula, is the generalized inverse matrix of A. Thus far, the position of the load centroid in the coordinate system of the six-axis force sensor at the end of the left robotic arm 121 has been calculated. It can be understood that the position of the load centroid in the coordinate system of the six-axis force sensor at the end of the right robotic arm 122 can also be calculated by the same method which is not limited here.
[0091] It can be understood that by measuring data with different gripping postures and integrating multiple groups of parameters obtained by substituting these force measurement data into the acquisition equation, the accuracy of the load parameter identification result can be better guaranteed.
[0092] S130, based on the load target parameters, control the actuator to perform corresponding operations.
[0093] Exemplarily, after calculating the required load target parameters (such as the mass and centroid position of the load) through step S110, the robotic arm or robot can generate corresponding control instructions considering the load target parameters, and then drive and control the corresponding actuator 13 to perform corresponding operations. For example, perform walking drive control on the mobile chassis, or adjust the magnitude or direction of the force applied to the load at the end of each robotic arm, etc., which is not limited here and can be specifically controlled according to the requirements of the actual gripping scenario.
[0094] The robotic arm control method of the present application first calibrates the six - dimensional force sensor at the end of a single robotic arm using a traditional method to obtain calibration parameters. Then, in response to the robotic arm moving to different end poses in a clamping state to collect force measurement data, optionally, after calibrating the six - dimensional force sensor at the end of a single robotic arm, the calibration parameters are used to calibrate these force measurement data to eliminate the influence of the identified calibration parameters. Then, by using the force balance equation when the load is in a static state, the calibrated force measurement data are processed and integrated, and parameters such as the mass of the clamped load and the centroid position relative to the coordinate system of the six - dimensional force sensor at the end of any robotic arm can be accurately identified, which are then used for robotic arm or robot control. This method extracts relevant information about the clamped load from the force measurement data detected by the six - dimensional force sensor in the collaborative clamping state of the robotic arm, which is beneficial for achieving more precise control operations for the robotic arm or robot.
[0095] Figure 7 FIG. 4 shows a schematic structural diagram of a robotic arm control device 20 according to an embodiment of the present application. Exemplarily, the robotic arm control device 20 includes:
[0096] A data processing module 21, configured to, in response to force measurement data detected by six - dimensional force sensors located at the ends of respective robotic arms in different clamping poses, integrate all the force measurement data based on the load force balance equation in the clamping state of the robotic arm to obtain load target parameters; wherein, the clamping pose is a specified end pose reached in the clamping state of the robotic arm; A control module 23, configured to control an actuator to perform corresponding operations based on the load target parameters.
[0097] In some alternative embodiments, as Figure 8 shown, the robotic arm control device 20 further includes a data calibration module 22, wherein the data calibration module 22 is configured to calibrate each of the force measurement data to obtain force - calibrated data; the force - calibrated data is used for data integration based on the load force balance equation in the clamping state of the robotic arm.
[0098] In some alternative embodiments, the robotic arm control device 20 further includes a sensor calibration module 24, wherein the sensor calibration module 24 is configured to, in response to output signals of the six - dimensional force sensor when a single robotic arm end moves to different poses, calculate calibration parameters of the current six - dimensional force sensor based on the output signals, and the calibration parameters are used to calibrate the force measurement data.
[0099] In some alternative embodiments, the calibration parameters include: parameters of the end effector fixedly connected to the six-axis force sensor, where the parameters of the end effector include the mass and the centroid position of the end effector; and, the zero-point offsets of the six-direction signals output by the six-axis force sensor.
[0100] In some alternative embodiments, the data calibration module 22 is specifically configured to calculate, according to the forward kinematics of the robotic arm and the parameters of the end effector, the action amount of the gravity of the end effector of each robotic arm in the force measurement data detected by its own six-axis force sensor; and then, subtract the action amount and the zero-point offset from the force measurement data to obtain the force calibration data after calibrating the six-axis force sensor.
[0101] In some alternative embodiments, the load force balance equation is constructed based on the principle that the resultant force and the resultant moment are zero when the load is in a static state in the clamped state of the robotic arm; further, the robotic arm control device 20 further includes an equation construction module 25, where the equation construction module 25 is configured to perform coordinate system transformation on the six-axis force sensors at the ends of each robotic arm and transfer the force application points applied by each six-axis force sensor to the load to the same target point within the load, and then construct the force balance equation of the load in the static state.
[0102] In some alternative embodiments, when constructing the force balance equation of the load in the static state, the equation construction module 25 is further configured to obtain the rotation amount after performing the coordinate system transformation on the force and moment applied by each six-axis force sensor to the load; according to the vector from the origin of the sensor coordinate system of each six-axis force sensor to the target point and the rotation amount, obtain the translation amount of the force and moment applied by each six-axis force sensor to the load; and construct the force balance equation of the load in the static state based on the translation amount.
[0103] In some alternative embodiments, the force balance equation includes a force balance equation and a moment balance equation of the load;
[0104] Among them, based on the principle that the resultant force is zero in the static state, according to the force component in the translation amount associated with each six-axis force sensor and the gravity received by the load, the force balance equation in the clamped state of the robotic arm is constructed;
[0105] Based on the principle that the resultant moment is zero in the static state, according to the moment component in the translation amount associated with each six-axis force sensor and the moment applied to the load by the gravity, the moment balance equation in the clamped state of the robotic arm is constructed.
[0106] In some alternative embodiments, the target point is the centroid of the load.
[0107] In some alternative embodiments, the coordinate system transformation includes: transforming the measurement data output by each of the six - dimensional force sensors in the sensor coordinate system to the base coordinate system of the robot.
[0108] In some alternative embodiments, the expression of the force balance equation is:
[0109]
[0110] In the formula, and respectively represent the rotation matrices from the sensor coordinate systems of the six - dimensional force sensors at the ends of the left robotic arm 121 and the right robotic arm 122 to the base coordinate system; are respectively the three - dimensional force and three - dimensional moment sensed by the six - dimensional force sensor when the left robotic arm 121 holds the load at its end; are respectively the three - dimensional force and three - dimensional moment sensed by the six - dimensional force sensor when the right robotic arm 122 holds the load at its end; and are respectively the vectors from the origin of the sensor coordinate systems of the left robotic arm 121 and the right robotic arm 122 to the centroid of the load; represents the gravity force received by the load.
[0111] In some alternative embodiments, the force balance equation includes the force balance equation and the moment balance equation received by the load; the target parameters include the mass of the load;
[0112] Among them, the data processing module 21 is further configured to calculate the mass corresponding to each clamping pose according to the force balance equation in the state of the robotic arm holding the object and the three - dimensional force data in each clamping pose, and take the average value of the masses in all clamping poses as the mass of the load.
[0113] In some alternative embodiments, the target point is the centroid of the load; the target parameters include the centroid position of the load; among them, the data processing module 21 is further configured to convert the moment balance equation into a moment balance conversion equation for describing the position of the centroid of the load in the coordinate system of the six - dimensional force sensor at the end of any one of the robotic arms; and estimate the centroid position by processing the moment balance conversion equation using the least - squares method according to the three - dimensional force data and the three - dimensional moment data in each clamping pose.
[0114] It can be understood that the device in this embodiment corresponds to the robotic arm control method in the above embodiment, and the optional items in the above embodiment are also applicable to this embodiment, so they will not be described repeatedly here.
[0115] This application also provides a controller 11, which can be applied to a robot 10 or a robotic arm as shown in Figure 1 Figure 10, etc. Among them, the controller 11 includes a processor 111 and a memory 112. The memory 112 stores a computer program, and the processor 111 is configured to execute the computer program to implement the robotic arm control method in the above embodiment.
[0116] This application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed, it implements the robotic arm control method according to any one of the foregoing embodiments. For example, the computer-readable storage medium may include, but is not limited to: USB flash drive, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk, or optical disc, etc., various media that can store program codes.
[0117] In several embodiments provided by this application, it should be understood that the disclosed device and method can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and structure diagrams in the drawings show the possible architectures, functions, and operations of the device, method, and computer program product according to multiple embodiments of this application. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in an alternative implementation, the functions marked in the blocks may occur in a different order than marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the structure diagram and / or flowchart, as well as the combination of blocks in the structure diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0118] In addition, each functional module or unit in various embodiments of this application may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.
[0119] When the above-mentioned functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a smart phone, a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
[0120] As described above, the above are only specific implementation manners of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed by this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application.
Claims
1. A robot arm control method, characterized in that: include: In response to force measurement data detected by a six-dimensional force sensor at the end of each robotic arm in different clamping postures of the robotic arm, data integration is performed on the force measurement data in all the clamping postures based on the load force balance equation in the clamping state of the robotic arm to obtain a load target parameter; wherein the clamping posture is a specified end posture reached in the clamping state of the robotic arm; Based on the load target parameters, the actuator is controlled to perform corresponding operations.
2. The robot arm control method according to claim 1, characterized in that: The load force balance equation is constructed based on the principle that the resultant force and moment of the load when the load is in a static state under the clamping state of the robot arm are zero; The load force balance equation in the clamping state of the robot arm is constructed as follows: The six-dimensional force sensors at the ends of the respective robotic arms are transformed into coordinate systems and the force application points applied by each of the six-dimensional force sensors to the load are transferred to the same target point within the load, thereby constructing a force balance equation for the load in a static state.
3. The robot arm control method according to claim 2, characterized in that: The constructing of the force balance equation of the load in a static state includes: Obtaining the rotation amount after the force and torque applied by each of the six-dimensional force sensors to the load are converted into the coordinate system; Obtaining the translation amount of the force and torque applied to the load by each of the six-axis force sensors according to the vector from the origin of the sensor coordinate system of each of the six-axis force sensors to the target point and the rotation amount; A force balance equation of the load in a static state is constructed based on the translation amount.
4. The robot arm control method according to claim 3, characterized in that: The force balance equation includes the force balance equation and the moment balance equation of the load; According to the principle that the resultant force is zero in a static state, the force balance equation in the clamping state of the robot arm is constructed according to the force component in the translation amount associated with each of the six-dimensional force sensors and the gravity exerted on the load; According to the principle that the resultant torque is zero in a static state, the torque balance equation in the clamping state of the robot arm is constructed according to the torque component in the translation amount associated with each of the six-dimensional force sensors and the torque applied to the load by the gravity.
5. The robot arm control method according to any one of claims 2 to 4, characterized in that: The target point is the center of mass of the load; The coordinate system conversion includes: transforming the measurement data output by each of the six-dimensional force sensors in the sensor coordinate system into a base coordinate system common to each of the mechanical arms.
6. The robot arm control method according to claim 5, characterized in that: In the case where the mechanical arm includes a left mechanical arm and a right mechanical arm, the force balance equation is expressed as: In the formula, and Respectively representing the rotation matrices of the sensor coordinate system of the six-dimensional force sensor at the end of the left robotic arm and the end of the right robotic arm to the base coordinate system; They are respectively the three-dimensional force and the three-dimensional moment sensed by the six-dimensional force sensor when the end of the left robotic arm clamps the load; are respectively the three-dimensional force and the three-dimensional moment sensed by the six-dimensional force sensor when the end of the right robotic arm clamps the load; and are respectively the vectors from the origin of the sensor coordinate system of the left robotic arm and the right robotic arm to the center of mass of the load; Indicates the weight force on the load.
7. The robot arm control method according to claim 2, characterized in that: The force balance equation includes the force balance equation and the moment balance equation of the load; the force measurement data includes three-dimensional force data and three-dimensional moment data, and the load target parameter includes the mass of the load; The force measurement data under all the clamping positions are integrated based on the load force balance equation under the clamping state of the robot arm to obtain the load target parameters, including: According to the force balance equation in the clamping state of the robot arm and the three-dimensional force data in each clamping posture, the mass in the corresponding clamping posture is calculated respectively, and the average value of the mass in all clamping postures is taken as the mass of the load.
8. The robot arm control method according to claim 7, characterized in that: The target point is the center of mass of the load; the load target parameters also include the center of mass position of the load; The force measurement data under all the clamping positions are integrated based on the load force balance equation under the clamping state of the robot arm to obtain the load target parameters, including: Converting the moment balance equation into a moment balance conversion equation described by the position of the mass center of the load in the sensor coordinate system of the six-dimensional force sensor at the end of any one of the mechanical arms; According to the three-dimensional force data and the three-dimensional moment data in each clamping posture, the moment balance conversion equation is processed using the least squares method to estimate the center of mass position.
9. The robot arm control method according to claim 1, characterized in that: The force measurement data under all the clamping positions are integrated based on the load force balance equation under the clamping state of the robot arm, and the ... Each of the force measurement data is calibrated to obtain force calibration data; the force calibration data is used for data integration based on the load force balance equation in the clamping state of the robot arm.
10. The robot arm control method according to claim 9, characterized in that: The step of calibrating each of the force measurement data to obtain force calibration data also includes: In response to the output signal of the six-axis force sensor when the end of a single robotic arm moves to different positions, calibration parameters of the current six-axis force sensor are obtained based on the output signal, and the calibration parameters are used to calibrate the force measurement data.
11. The robot arm control method according to claim 10, characterized in that: The calibration parameters include: parameters of the end clamping tool fixedly connected to the six-axis force sensor, and zero point offsets of six direction signals output by the six-axis force sensor; wherein the parameters of the end clamping tool include the mass and center of mass position of the end clamping tool; The step of calibrating each of the force measurement data to obtain force calibration data comprises: Calculate the effect of the gravity of the end gripping tool in each robot arm on the force measurement data detected by the six-dimensional force sensor of the robot arm according to the forward kinematics of the robot arm and the parameters of the end gripping tool; The action amount and the zero point offset are subtracted from the force measurement data to obtain force calibration data after the six-dimensional force sensor is calibrated.
12. A robot arm control device, characterized in that: include: A data processing module, for responding to force measurement data detected by a six-dimensional force sensor at the end of each robotic arm in different clamping postures of the robotic arm, and integrating the force measurement data under all the clamping postures based on a load force balance equation under the clamping state of the robotic arm to obtain a load target parameter; wherein the clamping posture is a specified end posture reached under the clamping state of the robotic arm; The control module is used to control the actuator to perform corresponding operations based on the load target parameters.
13. A controller, characterized in that: The controller includes a processor and a memory, wherein the memory stores a computer program, and the processor is used to execute the computer program to implement the robot arm control method according to any one of claims 1 to 11.
14. A robot, characterized in that: The robot comprises: at least two robotic arms and the controller according to claim 13.
15. A computer-readable storage medium, characterized in that: It stores a computer program, and when the computer program is executed, the robot arm control method according to any one of claims 1-11 is implemented.
Citation Information
Cited By
Charging gun plugging positioning and error correction method and equipment based on mechanical arm
CN122323820A