Arm angle calculation method, device, system and equipment

CN119681874AActive Publication Date: 2025-03-25GUANGDONG HUILUN TECHNOLOGY CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411822740.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-25
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

In the existing robotic arm control technology, the synchronous effect of robotic arm posture and human body posture is poor and the flexibility is low.

Method used

Using the arm shape angle calculation method based on the inertial measurement unit, by obtaining the attitude matrix of the first inertial measurement unit and the second inertial measurement unit, the first axis direction vector is extracted, the normal vector is calculated, and the arm shape angle of the robot arm is obtained through dot product to maintain the same attitude as the user arm.

Benefits of technology

While ensuring the accuracy of remote control ends, the flexibility of the robotic arm is increased, and it can operate normally in a narrow space, improve the effect of imitating human posture, and complete difficult designated actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119681874A_ABST
    Figure CN119681874A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robot remote control, in particular to an arm angle calculation method, device, system and equipment, and the arm angle calculation method based on inertial measurement units comprises the following steps: obtaining an attitude matrix of a first inertial measurement unit and an attitude matrix of a second inertial measurement unit; respectively extracting a first axial direction vector of the first inertial measurement unit and a first axial direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix; calculating a first normal vector according to the first axial direction vector of the first inertial measurement unit and the first axial direction vector of the second inertial measurement unit; the arm type angle of the mechanical arm is obtained according to the dot product of the first normal vector and the second normal vector, the mechanical arm is controlled according to the arm type angle, the tail end precision of remote control is guaranteed, meanwhile, the posture of the arm is reserved, and flexibility is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot remote control, and in particular to an arm angle calculation method, device, system and equipment. Background Art

[0002] Robot arm remote control is mainly used for operations in special environments. Robot arm remote control technology includes remote control based on optical motion capture and remote control based on data gloves.

[0003] Thanks to the mature motion capture technology, remote control based on optical motion capture has high accuracy, but optical motion capture is only applicable to robotic arms with the same structure as human arms. Moreover, in remote control based on optical motion capture, the markers are deployed to the corresponding positions according to the human joints. Optical motion capture requires an optical camera to capture the position of the luminous markers to complete motion capture. This method has a large limitation on the range of space and can only be used within the shooting range of a specific optical camera. In addition, if the luminous points are blocked, the capture will be lost.

[0004] Controlling a robotic arm based on data gloves is a remote control based on the end. After obtaining the position and posture of the glove, inverse kinematics is used to solve the joint angle of the robotic arm. This method is suitable for heterogeneous robotic arms, but only focuses on the position and posture of the end of the robotic arm. Data gloves can be divided into fiber optic gloves and inertial gloves according to the type of sensor. Fiber optic gloves are prone to wear due to repeated bending, and they are very expensive. Micro-inertial gloves are compact, comfortable to wear, and have a large range of motion, but are greatly affected by magnetic fields.

[0005] In summary, the existing robotic arm control technology only focuses on the position and posture of the robotic arm end. The synchronization between the robotic arm posture and the human body posture is poor and the flexibility is low. Summary of the invention

[0006] The embodiments of the present invention provide an arm angle calculation method, device, system and equipment based on an inertial measurement unit to solve the problems of poor synchronization between the posture of a robotic arm and the posture of a human body and low flexibility in the prior art.

[0007] In a first aspect, the present invention provides a method for calculating an arm angle, the arm angle calculation method based on an inertial measurement unit comprising: Obtaining an attitude matrix of a first inertial measurement unit and an attitude matrix of a second inertial measurement unit; Extracting a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively; Calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit; The arm angle of the robotic arm is obtained according to the dot product of the first normal vector and the second normal vector.

[0008] In one embodiment, the arm angle calculation method based on the inertial measurement unit further includes: Get the handle position at the initial moment and the first moment; Calculate the handle position increment at the first moment relative to the initial moment; According to the mapping relationship between the handle position increment and the robot arm end position increment, the robot arm end position at the first moment is calculated.

[0009] In one embodiment, the arm angle calculation method based on the inertial measurement unit also includes: obtaining a posture increment of the end of the robotic arm according to the posture increment of the handle, and adjusting the end of the robotic arm to a target posture according to the posture increment of the end of the robotic arm.

[0010] In one embodiment, after the step of obtaining the arm angle of the robotic arm according to the dot product of the first normal vector and the second normal vector, the step further includes: According to the arm angle, the motor parameters of the robot arm are solved by inverse kinematics of the robot arm so that the robot arm maintains the same posture as the user's arm.

[0011] In a second aspect, the present invention provides an arm angle calculation device, the arm angle calculation device based on an inertial measurement unit comprises: an acquisition module, used to acquire a posture matrix of a first inertial measurement unit and a posture matrix of a second inertial measurement unit; An extraction module, used to extract a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively; a calculation module, configured to calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit; A determination module is used to obtain the arm angle of the robotic arm according to the dot product of the first normal vector and the second normal vector.

[0012] In a third aspect, the present invention provides a computer device, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the arm angle calculation method as described in the first aspect above when executing the computer program.

[0013] In a fourth aspect, the present invention provides an arm angle calculation system, comprising: a first inertial measurement unit, a second inertial measurement unit, and a first calculator; The first inertial measurement unit is bound to the upper arm of the user; the second inertial measurement unit is bound to the lower arm of the user; The output end of the first inertial measurement unit is connected to the first input end of the first calculator; the output end of the second inertial measurement unit is connected to the second input end of the first calculator; The first calculator is used to obtain the attitude matrix output by the output end of the first inertial measurement unit from the first input end, and to obtain the attitude matrix output by the output end of the second measurement inertial unit from the second input end; it is also used to extract the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the attitude matrix of the first inertial measurement unit and the attitude matrix of the second inertial measurement unit respectively; and to calculate the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; and to obtain the arm angle of the robotic arm according to the dot product of the first normal vector and the second normal vector.

[0014] In one embodiment, the arm angle calculation system also includes: a robotic arm and a robotic arm controller; the output end of the first calculator is connected to the input end of the robotic arm controller; the output end of the robotic arm controller is connected to the robotic arm; the robotic arm controller solves the motor parameters of the robotic arm based on the arm angle obtained from the first calculator and the inverse kinematics of the robotic arm.

[0015] In one embodiment, the arm angle calculation system also includes: a virtual reality device; the virtual reality device includes a virtual reality device player and a camera; the virtual reality device is used to connect to the corresponding inertial measurement unit according to the virtual reality device player selected by the user, and enter the camera video screen after the connection is completed.

[0016] Compared with the prior art, the embodiments of the present invention have the following beneficial effects: The arm angle calculation method based on the inertial measurement unit of the present invention obtains the posture matrix of the first inertial measurement unit and the posture matrix of the second inertial measurement unit; extracts the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the posture matrix of the first inertial measurement unit and the posture matrix of the second inertial measurement unit respectively; calculates the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; obtains the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector; thus, compared with other heterogeneous robot arm remote control, the present invention retains the arm posture while ensuring the terminal accuracy of the remote control, increases flexibility, can operate normally even in a small space, has a higher humanoid posture, and can complete some difficult specified actions. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.

[0018] Figure 1 A schematic diagram of an application environment of a method provided in Embodiment 1 of the present invention; Figure 2 A flowchart of an implementation method of an arm angle calculation method based on an inertial measurement unit provided in one embodiment of the present invention; Figure 3 A schematic diagram of an arm angle provided by an embodiment of the present invention; Figure 4 A schematic diagram of the structure of an arm angle calculation device based on an inertial measurement unit provided by an embodiment of the present invention; Figure 5 A schematic diagram of the structure of a computer device provided in one embodiment of the present invention; Figure 6 A schematic structural diagram of an arm angle calculation system based on an inertial measurement unit provided in one embodiment of the present invention. DETAILED DESCRIPTION

[0019] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present invention. However, it should be clear to those skilled in the art that the present invention may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present invention.

[0020] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.

[0021] It should also be understood that the term "and / or" used in the present description and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0022] As used in the present specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]", depending on the context.

[0023] In addition, in the description of the present specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0024] References to "one embodiment" or "some embodiments" etc. described in the present specification mean that one or more embodiments of the present invention include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0025] The embodiments of the present invention can acquire and process relevant data based on artificial intelligence technology. Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.

[0026] AI basic technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics, etc. AI software technologies mainly include computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0027] It should be understood that the order of execution of the steps in the following embodiments does not imply a precedence of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0028] In order to illustrate the technical solution of the present invention, specific embodiments are provided below for illustration.

[0029] A method for calculating arm angle provided in the first embodiment of the present invention can be applied in the following aspects: Figure 1 In the application environment, the client communicates with the server. The client includes but is not limited to PDAs, desktop computers, laptops, ultra-mobile personal computers (UMPCs), netbooks, cloud terminal devices, personal digital assistants (PDAs), and other terminal devices. The server can be implemented with an independent server or a server cluster consisting of multiple servers.

[0030] See also Figure 2 , is a flow chart of a method for calculating arm angle based on an inertial measurement unit provided in the first embodiment of the present invention. The above-mentioned method for calculating arm angle based on an inertial measurement unit can be applied to Figure 1 The client in the client, the terminal device corresponding to the client connects to the target database through the preset application programming interface (API). When the target data is driven to execute the corresponding task, the corresponding task log will be generated, and the above task log can be collected through the API. Figure 2 As shown, the arm angle calculation method includes the following steps: S101: Acquire the attitude matrix of the first inertial measurement unit and the attitude matrix of the second inertial measurement unit.

[0031] The first inertial measurement unit is attached to the upper arm of the user, and the second inertial measurement unit is attached to the lower arm of the user. The first inertial measurement unit and the second inertial measurement unit are both located on the same arm of the user. An inertial measurement unit (IMU) is a device that measures the three-axis attitude angle (or angular velocity) and acceleration of an object.

[0032] Specifically, the attitude matrices R1 and R2 of the two inertial measurement units can be expressed by the following formula: Where R1 represents the attitude matrix of the first inertial measurement unit, and R2 represents the attitude matrix of the second inertial measurement unit. (x, y, z) represent the x-axis, y-axis, and z-axis of the reference coordinate system, respectively. (x1 , ,y1 , , z1 , ) represent the x-axis, y-axis, and z-axis of the first inertial measurement unit coordinate system, respectively. (x2 , , y2 , , z2 ,) represent the x-axis, y-axis, and z-axis of the second inertial measurement unit coordinate system, respectively.

[0033] Specifically, regarding the representation of the posture matrix, the actual application is not limited to this, and it can be determined according to the specific application environment, all of which are within the protection scope of this application.

[0034] S102: extracting a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively.

[0035] Specifically, the first axis direction vector O1 of the first inertial measurement unit and the first axis direction vector O2 of the second inertial measurement unit can be expressed as: S103: Calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit.

[0036] Specifically, the calculation method of the first normal vector S is as follows: S104: Obtaining an arm angle of the robot arm according to a dot product of the first normal vector and the second normal vector.

[0037] The implementer can select a bionic robot arm according to the needs. One implementation method is to select a seven-degree-of-freedom collaborative robot arm.

[0038] The arm angle Ψ is set as the angle between the plane normal vectors of the first axis directions of the two IMUs on the arm and the vertical axis (z axis) of the human body coordinate system. It should be noted that the first axis direction is the axis direction perpendicular to the arm. The first axis direction of the first inertial measurement unit is the direction perpendicular to the axis of the upper arm or lower arm where it is located. Figure 3 As shown in the figure, 1 indicates the first axis direction of the first inertial measurement unit, 2 indicates the first axis direction of the second inertial measurement unit, and Ψ is the arm angle.

[0039] The arm angle Ψ can be obtained by the dot product of the normal vector S and the horizontal plane normal vector H.

[0040] Specifically, the calculation method of the arm angle is as follows: Wherein, sg represents the direction of the arm angle, S is the first normal vector, and H is the horizontal plane normal vector. The sign can be determined by the cross product of the two normal vectors and the vector directions of the two IMUs. One implementation method is to use the clockwise rotation direction of the horizontal plane normal vector direction as the positive direction, and the counterclockwise rotation direction of the horizontal plane normal vector direction as the negative direction. In practical applications, it is not limited to this, and it can be determined according to the specific application environment, all of which are within the scope of protection of this application.

[0041] The arm angle calculation method based on the inertial measurement unit of this embodiment obtains the posture matrix of the first inertial measurement unit and the posture matrix of the second inertial measurement unit; extracts the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the posture matrix of the first inertial measurement unit and the posture matrix of the second inertial measurement unit respectively; calculates the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; obtains the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector; thus, the direction vector of the human body standing is used as the normal vector of the initial plane to calculate the angle with the arm angle plane. The selected VR device (including VR title and handle) has a larger range of activities and lower cost compared with other motion capture methods; compared with other heterogeneous robot arm remote control, the present invention not only ensures the end accuracy of remote control but also retains the arm posture, increases flexibility, and can operate normally even in a small space with a higher humanoid posture, and can complete some difficult specified actions.

[0042] On the basis of the above embodiment, optionally, the arm angle calculation method based on the inertial measurement unit also includes: S201, obtaining the handle position at the initial moment and the first moment.

[0043] S202, calculating the handle position increment at the first moment relative to the initial moment.

[0044] S203, calculating the position of the end of the robotic arm at the first moment according to the mapping relationship between the handle position increment and the robotic arm end position increment.

[0045] The present invention sets up a master-slave mapping model, the end position of the robot arm adopts incremental mapping, and the posture adopts absolute mapping, which is used to solve the end position and posture of the robot arm. The formula is as follows: Among them, ΔP 从,t1 Represents the increment of the end position of the robot arm, ΔP 主,t1 represents the increment of the handle position, K represents the mapping coefficient, P 从,t1 represents the position of the end of the robot arm at time t1, P 从,t0 represents the position of the end of the robot at time t0, P 主,t1 represents the position of the handle at time t1, P 主,t0 Represents the position of the handle at time t0. t0 and t1 represent the initial time (moment) and real time (first moment). According to the mapping relationship between the end position of the robot arm and the handle position in the above formula, the actual time position of the end of the robot arm can be obtained.

[0046] On the basis of the above embodiment, optionally, the arm angle calculation method based on the inertial measurement unit also includes: S301, obtaining a posture increment of the end of the robotic arm according to the posture increment of the handle, and adjusting the end of the robotic arm to a target posture according to the posture increment of the end of the robotic arm.

[0047] Since the rotation postures of the master and slave terminals correspond to each other, the master and slave terminal postures use absolute increments, namely: According to the handle posture increment ΔR 主,t1 Get the increment ΔR at the end of the robot arm 从,t1 After that, the posture to which the end of the robot arm will move can be obtained by obtaining the current posture of the end of the robot arm.

[0048] Specifically, after obtaining the parameters of the virtual reality device (including the position of the handle) and the inertial measurement unit, a sending node is set to send them uniformly through a transmission protocol. Preferably, the transmission protocol uses UDP.

[0049] The virtual reality device data is obtained, and the position and posture information of the end of the robotic arm is obtained through model mapping processing.

[0050] Optionally, after obtaining the end-arm position and arm angle, use the ROS send node to publish information. The Robot Operating System (ROS) is a secondary operating system for robots. With ROS, developers do not have to worry about multi-device support and underlying drivers, making the development and research of robot control simpler and easier to use.

[0051] Based on the above embodiment, optionally, the arm angle calculation method based on the inertial measurement unit further includes after step S104: S401, according to the arm angle, solve the motor parameters of the robot arm through inverse kinematics of the robot arm, so that the robot arm maintains the same posture as the user's arm.

[0052] Combined with the arm angle Ψ obtained in step one, the motor parameters of the robot arm are calculated through the inverse kinematics of the robot arm to keep the robot arm in the same posture as the arm. Kinematic analysis includes the relationship between the position, velocity and acceleration of each connecting rod of the robot arm. The rotation amount of each joint is calculated based on the posture state of the end of the robot arm, which is called inverse kinematic analysis. Inverse kinematics solution methods include numerical methods and analytical methods. The numerical method includes Newton's iteration method, genetic algorithm, and cyclic coordinate descent method to solve the inverse solution of the robot arm. Regarding the solution method, it is not limited to this in actual application, and it can be determined according to the specific application environment, which is within the scope of protection of this application.

[0053] Based on the above embodiment, optionally, before step S101, the following steps are further included: S501, prepare virtual reality equipment and inertial measurement unit.

[0054] Preferably, the virtual reality device is a virtual reality head display. There should be at least four inertial measurement units: a first, a second, a third, and a fourth inertial measurement unit.

[0055] S502, after wearing the virtual reality device, the inertial measurement units are respectively bound to the upper and lower arms of the user's left and right arms.

[0056] Optionally, the first inertial measurement unit and the second inertial measurement unit are placed on the same arm of the user, and the first inertial measurement unit is located at the upper arm, the second inertial measurement unit is located at the lower arm, and the third inertial measurement unit and the fourth inertial measurement unit are placed on the other arm of the user, the third inertial measurement unit is located at the upper arm, and the fourth inertial measurement unit is located at the lower arm. The actual application is not limited to this, and it can be determined according to the specific application environment, and all are within the protection scope of this application.

[0057] It should be understood that the order of execution of the steps in the above embodiment does not necessarily mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present invention.

[0058] Corresponding to the method of the above embodiment, Figure 4 The structural block diagram of the arm angle calculation device based on the inertial measurement unit provided in the third embodiment of the present invention is shown. The arm angle calculation device based on the inertial measurement unit is applied to a computer device, and the computer device is connected to the target database through a preset application program interface. When the target database is driven to execute the corresponding task, a corresponding task log will be generated, and the task log can be collected through the API. For the convenience of explanation, only the part related to the embodiment of the present invention is shown.

[0059] See also Figure 4 , an arm angle calculation device comprises: An acquisition module 601 is used to acquire a posture matrix of a first inertial measurement unit and a posture matrix of a second inertial measurement unit; An extraction module 602 is used to extract a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively; A calculation module 603, configured to calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit; The determination module 604 is used to obtain the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector.

[0060] Optionally, the arm angle calculation device based on the inertial measurement unit further includes: The position determination module is used to obtain the handle position at the initial moment and the first moment; calculate the handle position increment at the first moment relative to the initial moment; and calculate the end position of the robotic arm at the first moment based on the mapping relationship between the handle position increment and the end position increment of the robotic arm.

[0061] Optionally, the arm angle calculation device based on the inertial measurement unit further includes: The posture adjustment module is used to obtain the posture increment of the end of the robotic arm according to the posture increment of the handle, and adjust the end of the robotic arm to the target posture according to the posture increment of the end of the robotic arm.

[0062] Optionally, the arm angle calculation device based on the inertial measurement unit further includes: The motor parameter calculation module is used to solve the motor parameters of the robot arm through the inverse kinematics of the robot arm according to the arm angle, so that the robot arm maintains the same posture as the user's arm. It should be noted that the information interaction, execution process and other contents between the above modules are based on the same concept as the embodiment of the method of the present invention. Their specific functions and technical effects can be found in the method embodiment section, and will not be repeated here.

[0063] Figure 5 This is a schematic diagram of the structure of a computer device provided in Embodiment 4 of the present invention. Figure 5 As shown, the computer device of this embodiment includes: at least one processor ( Figure 5 Only one is shown), a memory, and a computer program stored in the memory and executable on at least one processor, wherein when the processor executes the computer program, the steps in any of the above-mentioned embodiments of the arm angle calculation method are implemented.

[0064] The computer device may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that Figure 5 This is merely an example of a computer device and does not constitute a limitation on the computer device. The computer device may include more or fewer components than those shown in the figure, or a combination of certain components, or different components. For example, it may also include a network interface, a display screen, and an input device.

[0065] The processor may be a CPU, or other general-purpose processors, 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, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0066] The memory includes a readable storage medium, an internal memory, etc., wherein the internal memory may be the memory of a computer device, and the internal memory provides an environment for the operation of the operating system and computer-readable instructions in the readable storage medium. The readable storage medium may be a hard disk of a computer device, and in other embodiments, it may also be an external storage device of the computer device, for example, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the computer device. Further, the memory may also include both an internal storage unit of the computer device and an external storage device. The memory is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of a computer program, etc. The memory may also be used to temporarily store data that has been output or is to be output.

[0067] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention. The specific working process of the units and modules in the above-mentioned device can refer to the corresponding process in the above-mentioned method embodiment, which will not be repeated here. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above-mentioned method embodiment can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device capable of carrying computer program code, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0068] The present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by a computer program product. When the computer program product runs on a computer device, the computer device can implement the steps in the above-mentioned method embodiment when executing.

[0069] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0070] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0071] In the embodiments provided by the present invention, it should be understood that the disclosed devices / computer equipment and methods can be implemented in other ways. For example, the device / computer equipment embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0072] Figure 6 A structural schematic diagram of an arm angle calculation system based on an inertial measurement unit provided in Example 5 of the present invention.

[0073] Master-slave isomorphism means that the operating ends of the master and slave have exactly the same configuration, kinematic model, and dynamic model, and may only differ in size. The advantages of master-slave isomorphism are that the master-slave motion is highly intuitive, the control is relatively simple, the master-slave mapping is easy to implement, and the amount of calculation is small. The disadvantage is that the master operating end needs to refer to the slave end for design, and the versatility is cross-cutting. Master-slave heterogeneity means that the mechanical structures of the master operating end and the slave operating end are different, so that there are large differences in their respective motion relationships. In this case, the master operating end and the slave operating end can be designed according to different needs, which increases the versatility of the master operating end. According to the different mapping methods of the manipulator, it can generally be divided into joint angle mapping method and end posture mapping method. Joint angle mapping directly transmits the arm joint data to the homogeneous manipulator so that the joints of the homogeneous manipulator rotate at the same angle. End posture mapping maps the position and posture of the end of the arm to the end of the heterogeneous manipulator, and then solves the angles of each joint through inverse kinematics.

[0074] A robot remote operation system generally consists of three parts: the master end, which includes the user and the master controller; the slave end, which includes the robotic arm, the slave controller and the operating environment; and remote operation communication, which is used to analyze and transmit information between the master and slave ends.

[0075] like Figure 6As shown, the arm angle calculation system based on the inertial measurement unit of this embodiment includes: a first inertial measurement unit, a second inertial measurement unit, a first calculator, a virtual reality device, a handle and a mechanical arm. The master end includes: a virtual reality device, a handle, a first inertial measurement unit, a second inertial measurement unit, and the slave end includes: a mechanical arm.

[0076] The first inertial measurement unit is attached to the upper arm of the user, and the second inertial measurement unit is attached to the lower arm of the user.

[0077] The output end of the first inertial measurement unit is connected to the first input end of the first calculator; the output end of the second inertial measurement unit is connected to the second input end of the first calculator.

[0078] The first calculator is used to obtain the attitude matrix output by the output end of the first inertial measurement unit from the first input end, and to obtain the attitude matrix output by the output end of the second measurement inertial unit from the second input end; it is also used to extract the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the attitude matrix of the first inertial measurement unit and the attitude matrix of the second inertial measurement unit respectively; it is also used to calculate the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; and it is used to obtain the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector.

[0079] The virtual reality device includes a virtual reality device player and a camera; the virtual reality device is used to connect to a corresponding inertial measurement unit according to a virtual reality device player (VR Player) selected by a user, and enter a camera video screen after the connection is completed.

[0080] The handle is controlled by the user, and can be selected as a left-hand handle or a right-hand handle.

[0081] The robot arm adjusts its posture according to the received posture and position parameters.

[0082] Optionally, the arm angle calculation system based on the inertial measurement unit also includes a robotic arm controller, wherein the output end of the first calculator is connected to the input end of the robotic arm controller; the output end of the robotic arm controller is connected to the robotic arm; the robotic arm controller calculates the motor parameters of the robotic arm according to the arm angle output by the first calculator obtained from the input end and the inverse kinematics of the robotic arm. The robotic arm adjusts the posture of the robotic arm according to the calculated motor parameters.

[0083] In practical applications, the first inertial measurement unit is wirelessly connected to the first calculator, and the second inertial measurement unit is wirelessly connected to the first calculator. The first calculator and the robotic arm are wirelessly connected to send parameters to the robotic arm, so that the robotic arm is controlled by the robotic arm controller. The practical application is not limited to this, and it depends on the specific application environment, which is within the protection scope of this application.

[0084] The use process of the robot remote operation system constructed by the present invention is as follows: select and wear the VR device and IMU; in the VR device, select the pre-prepared program VR Player, select the IMU device to be connected, and after the connection is completed, enter the camera video screen to observe the surrounding environment; start a series of nodes such as release, remote control, pan / tilt, etc.; the user makes corresponding actions according to specific postures, and then starts the parameter zeroing instruction; starts the robotic arm, waits for the robotic arm to reset, and then starts the operation; after the end, it is necessary to close the node first, and then take off the VR device.

[0085] The arm angle calculation system based on the inertial measurement unit of this embodiment obtains the posture matrix output by the output end of the first inertial measurement unit from the first input end through the first calculator, and obtains the posture matrix output by the output end of the second measurement inertial unit from the second input end; it is also used to extract the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the first inertial measurement unit posture matrix and the second inertial measurement unit posture matrix respectively; and is used to calculate the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; and is used to obtain the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector. Therefore, compared with other heterogeneous robot arm remote control, the present invention retains the arm posture while ensuring the end accuracy of the remote control, increases flexibility, and can operate normally even in a small space. The humanoid posture is higher and some difficult specified actions can be completed.

[0086] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0087] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the protection scope of the present invention.

Claims

1. A method for calculating arm angle, characterized in that: The method comprises: Obtaining an attitude matrix of a first inertial measurement unit and an attitude matrix of a second inertial measurement unit; Extracting a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively; Calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit; The arm angle of the robotic arm is obtained according to the dot product of the first normal vector and the second normal vector.

2. The method according to claim 1, characterized in that Also includes: Get the handle position at the initial moment and the first moment; Calculate the handle position increment at the first moment relative to the initial moment; According to the mapping relationship between the handle position increment and the robot arm end position increment, the robot arm end position at the first moment is calculated.

3. The method according to claim 1, characterized in that Also includes: The posture increment of the end of the robotic arm is obtained according to the posture increment of the handle, and the end of the robotic arm is adjusted to the target posture according to the posture increment of the end of the robotic arm.

4. The method according to claim 1, characterized in that After the step of obtaining the arm angle of the robot arm according to the dot product of the first normal vector and the second normal vector, the method further includes: According to the arm angle, the motor parameters of the robot arm are solved by inverse kinematics of the robot arm so that the robot arm maintains the same posture as the user's arm.

5. An arm angle calculation device, characterized in that: The device comprises: An acquisition module, used to acquire the attitude matrix of the first inertial measurement unit and the attitude matrix of the second inertial measurement unit; An extraction module, used to extract a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit from the first inertial measurement unit attitude matrix and the second inertial measurement unit attitude matrix respectively; a calculation module, configured to calculate a first normal vector according to a first axis direction vector of the first inertial measurement unit and a first axis direction vector of the second inertial measurement unit; A determination module is used to obtain the arm angle of the robotic arm according to the dot product of the first normal vector and the second normal vector.

6. The device according to claim 5, characterized in that Also includes: The position determination module is used to obtain the handle position at the initial moment and the first moment; and calculate the handle position increment at the first moment relative to the initial moment; According to the mapping relationship between the handle position increment and the robot arm end position increment, the robot arm end position at the first moment is calculated.

7. A computer device, characterized in that: The computer device includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the arm angle calculation method as described in claims 1 to 4 is implemented.

8. An arm angle calculation system, characterized in that: include: A first inertial measurement unit, a second inertial measurement unit, and a first calculator; The first inertial measurement unit is bound to the upper arm of the user's arm; the second inertial measurement unit is bound to the lower arm of the user's arm; The output end of the first inertial measurement unit is connected to the first input end of the first calculator; the output end of the second inertial measurement unit is connected to the second input end of the first calculator; The first calculator is used to obtain the attitude matrix output by the output end of the first inertial measurement unit from the first input end, and to obtain the attitude matrix output by the output end of the second measurement inertial unit from the second input end; it is also used to extract the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit from the attitude matrix of the first inertial measurement unit and the attitude matrix of the second inertial measurement unit respectively; and to calculate the first normal vector according to the first axis direction vector of the first inertial measurement unit and the first axis direction vector of the second inertial measurement unit; and to obtain the arm angle of the robotic arm according to the dot product of the first normal vector and the second normal vector.

9. The system according to claim 8, characterized in that The arm angle calculation system based on the inertial measurement unit also includes: a robotic arm and a robotic arm controller; the output end of the first calculator is connected to the input end of the robotic arm controller; the output end of the robotic arm controller is connected to the robotic arm; the robotic arm controller solves the motor parameters of the robotic arm based on the arm angle obtained from the output end of the first calculator and the inverse kinematics of the robotic arm.

10. The system according to claim 8, characterized in that The arm angle calculation system based on the inertial measurement unit also includes: a virtual reality device; the virtual reality device includes a virtual reality device player and a camera; the virtual reality device is used to connect to the corresponding inertial measurement unit according to the virtual reality device player selected by the user, and enter the camera video screen after the connection is completed.

Citation Information

Patent Citations

  • Mechanical arm based on inertial measurement units and control method thereof

    CN104772756A

  • Somatosensory control system and control method for apery mechanical arm

    CN106313049A

  • Precise motion control method for tail ends of mechanical arms

    CN108638069A

  • Teleoperation interactive operation method based on force position feedback

    CN111590537A

  • Mechanical arm control method, mechanical arm control device, computing equipment and system

    CN113119104A