Fighting robot controller joint calibration method, controller and control method

By verifying whether the actual stroke of the joint of the fighting robot controller exceeds the target stroke and appropriately handling it, the problem that the actual stroke of the joint of the controller exceeds the allowable range is solved, and the accurate control of the robot's movement is achieved.

CN115674140BActive Publication Date: 2025-02-28SHENZHEN GJS TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211620895.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-02
Publication Date
2025-02-28
Estimated Expiration
2042-12-02

AI Technical Summary

Technical Problem

The actual stroke of the joint of the existing fighting robot controller exceeds the allowable rotation stroke, resulting in the inability to accurately control the robot's movement.

Method used

By obtaining the code of the controller joint, the target stroke, the first limit angle position value and the second limit angle position value, it is determined whether the actual stroke exceeds the target stroke, and perform corresponding processing, such as replacement or shielding the angular position range.

Benefits of technology

Accurately and quickly filter out controller joints whose stroke does not meet the requirements, avoid errors in robot control, and ensure that the controller does not exceed the required stroke range when working.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention relates to the field of robot control technology, and in particular to a combat robot controller joint calibration method, controller and control method. The joint calibration method of the present invention comprises the following steps: obtaining the code of the currently calibrated controller joint; obtaining the target stroke of the currently calibrated controller joint; obtaining the first limit angle position value and the second limit angle position value of the currently calibrated controller joint; judging whether the actual stroke of the currently calibrated controller joint exceeds the target stroke of the controller joint according to the first limit angle position value and the second limit angle position value; if the actual stroke of the currently calibrated controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, otherwise the currently calibrated controller joint is processed. The present invention can effectively avoid the technical problem that the robot cannot be correctly controlled due to the actual joint stroke of the controller exceeding the target stroke.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot control technology, and in particular to a fighting robot controller joint calibration method, a controller and a control method. Background Art

[0002] In order to improve the user's operating experience and reduce the difficulty of the user's controller of the robot, the applicant proposes to use a controller that can be worn on the user to collect the user's limb movements, and then control the robot according to the limb movements. After adopting the above method, since the actions performed by the robot are consistent with the actions of the user's limbs, the user can quickly, simply and accurately control the robot to perform the user's expected actions. Using the above method, the controller adopts an upper limb component, which is composed of upper limb components corresponding to various parts of the human upper limbs. Controller joints are set between adjacent upper limb components, and the controller joints correspond to various joints of the human upper limbs. When the user's upper limbs move, the upper limb component of the controller also rotates, and each joint of the controller can collect the angle of rotation of the corresponding joint of the human body. The range of rotation allowed for different joints of the controller is different, and a limit structure can be used to limit the range of rotation of the controller. However, due to the influence of manufacturing precision, the actual rotation stroke of some controller joints exceeds the allowed rotation stroke, which may cause the controller to control the rotation of the robot joints incorrectly, thereby failing to accurately control the movement of the robot. Summary of the invention

[0003] In view of this, an embodiment of the present invention provides a fighting robot controller joint calibration method, a controller and a control method, which are used to solve the technical problem that the actual stroke of the existing controller joint exceeds the allowable rotation stroke, resulting in the inability to accurately control the robot.

[0004] The technical solution adopted by the present invention is:

[0005] In a first aspect, the present invention provides a method for calibrating joints of a fighting robot controller, the method comprising the following steps:

[0006] S1: Get the code of the controller joint currently being verified;

[0007] S2: Obtaining the target stroke of the controller joint currently being verified according to the code of the controller joint currently being verified;

[0008] S3: Obtaining a first limit angular position value and a second limit angular position value of the controller joint currently being verified, wherein the first limit angular position value is an angular position value when the controller joint rotates along a first direction to a farthest angular position, and the second limit angular position value is an angular position value when the controller joint rotates along a second direction to a farthest angular position, and the first direction and the second direction are two opposite rotation directions;

[0009] S4: judging whether the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint according to the first limit angular position value and the second limit angular position value;

[0010] S5: If the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angular position value and the second limit angular position value are stored; otherwise, the currently verified controller joint is processed.

[0011] Preferably, the step S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, storing the first limit angle position value and the second limit angle position value; otherwise, processing the currently verified controller joint further comprises the following steps:

[0012] S5B1: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, and the type of the currently verified controller joint is obtained according to the code of the currently verified controller joint;

[0013] S5B2: Replace the currently verified controller joint with a controller joint of the same type as the currently verified controller joint;

[0014] S5B3: Repeat steps S1 to S5 until the joint stroke of the verified controller does not exceed the target stroke.

[0015] Preferably, the step S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, storing the first limit angle position value and the second limit angle position value; otherwise, processing the currently verified controller joint further comprises the following steps:

[0016] S5A1: if the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint, then the angular position range of the actual stroke of the controller joint that exceeds the target stroke is obtained as the shielding angular position range;

[0017] S5A2: Determine a new first limit angle position value and a second limit angle position value according to the shielding angle position range;

[0018] S5A3: storing the new first limit angle position value, the second limit angle position value and the shielding angle position range, wherein the shielding angle position range is used to suspend updating the rotation position of the robot corresponding to the servo when the controller joint rotates to the shielding angle position range.

[0019] Preferably, the step S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, storing the first limit angle position value and the second limit angle position value, otherwise processing the current controller joint further comprises the following steps:

[0020] S501: If the actual stroke of the controller joint currently being verified does not exceed the target stroke of the controller joint, selecting one of the first direction and the second direction as an auxiliary verification direction;

[0021] S502: Rotate the controller joint currently being verified toward the auxiliary inspection direction to near the limit angular position of the auxiliary inspection direction, and obtain the angular position value of the current controller joint as the auxiliary inspection angular position value;

[0022] S503: Obtaining the limit angular position value of the positive rotation of the servo and the limit angular position value of the negative rotation of the servo;

[0023] S504: judging whether the auxiliary inspection direction is consistent with the steering gear forward rotation direction according to the auxiliary inspection angle position value, the first limit angle position value, the second limit angle position value, the limit angle position value of the steering gear forward rotation and the limit angle position value of the steering gear negative rotation;

[0024] S505: Store the first limit angle position value and the second limit angle position value according to the judgment result.

[0025] Preferably, the step S504: judging whether the auxiliary inspection direction is consistent with the forward rotation direction of the steering gear according to the auxiliary inspection angle position value, the first limit angle position value, the second limit angle position value and the limit angle position value of the forward rotation of the steering gear further comprises the following steps:

[0026] S5041: Obtaining the rotation stroke of the controller joint according to the first limit angular position value and the second limit angular position value;

[0027] S5042: Obtain the rotation stroke of the servo;

[0028] S5043: acquiring a steering gear inspection angle position value corresponding to the auxiliary inspection angle position value according to the auxiliary inspection angle position value, the rotation stroke of the controller joint, and the rotation stroke of the steering gear;

[0029] S5044: Determine whether the auxiliary inspection direction is consistent with the forward rotation direction of the servo according to the servo inspection angle position value and the servo forward rotation limit angle position value.

[0030] Preferably, the step S505: storing the first limit angular position value and the second limit angular position value according to the judgment result further comprises the following steps:

[0031] S5051: Obtain the first variable and the second variable;

[0032] S5052: If the auxiliary inspection direction is consistent with the forward rotation direction of the steering gear, assign the first limit angle position value to the first variable and assign the second limit angle position value to the second variable;

[0033] S5053: If the auxiliary inspection direction is inconsistent with the forward rotation direction of the servo, the first limit angle position value is assigned to the second variable, and the second limit angle position value is assigned to the first variable.

[0034] In a second aspect, the present invention further provides a controller for controlling a fighting robot, comprising: at least one processor, at least one memory, and computer program instructions stored in the memory, and when the computer program instructions are executed by the processor, the method described in the first aspect is implemented.

[0035] In a third aspect, the present invention further provides a robot control method, which uses a controller wearable on a user's body to control the robot, and the method comprises the following steps:

[0036] ST1: calibrate each controller joint of the controller according to the joint calibration method described in the first aspect;

[0037] ST2: Obtain the angular position value of each controller joint when the controller moves with the user's limbs under user operation;

[0038] ST3: Control the rotation of the servos of the corresponding joints of the robot according to the angular position values ​​of the rotation of each controller joint.

[0039] Preferably, the method further comprises the following steps:

[0040] ST5: Obtain the signal generated by the corresponding pressure sensor when the robot is hit;

[0041] ST6: Apply a torque opposite to the rotation direction of the joint to the corresponding controller joint according to the signal generated by the pressure sensor.

[0042] Preferably, the method further comprises the following steps:

[0043] ST7: Get the shielding angle position range of the controller joint;

[0044] ST8: When the controller joint rotates to the boundary angle position of the shielding angle position range, a torque is applied to the controller joint to drive the controller joint to rotate in a direction away from the shielding angle position range to prevent the controller joint from rotating within the shielding angle range.

[0045] Beneficial effects: The combat robot controller joint verification method, controller and control method of the present invention obtain the target stroke of the controller joint currently being verified through the number of the controller joint, and obtain the first limit angle position value by rotating the controller joint in the first direction, and obtain the second limit angle position value by rotating the controller in the second direction, and then compare the first limit angle position value and the second limit angle position value with the target stroke of the controller joint to determine whether the actual stroke of the controller joint currently being verified exceeds the target stroke. Only when the actual stroke meets the requirements of the target stroke can the verification be passed, otherwise the controller joint needs to be processed. The present invention can accurately and quickly screen out controller joints whose stroke does not meet the requirements, thereby avoiding errors in robot control due to the actual joint stroke of the controller not meeting the requirements. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solution of the embodiment of the present invention, the drawings required for use in the embodiment of the present invention will be briefly introduced below. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work, and these are all within the protection scope of the present invention.

[0047] Figure 1 It is a schematic diagram of the process of the joint calibration method of the present invention;

[0048] Figure 2 It is a flowchart of a first method for processing a joint that exceeds a target stroke according to the present invention;

[0049] Figure 3 is a flow chart of a second method for processing a joint that exceeds a target stroke according to the present invention;

[0050] Figure 4 It is a flow chart of a method for verifying the corresponding relationship between the rotation directions of the controller joint and the steering gear joint of the present invention;

[0051] Figure 5 A schematic flow chart of a method for determining whether the auxiliary inspection direction is consistent with the forward rotation direction of the steering gear according to the present invention;

[0052] Figure 6 A schematic flow chart of a method for recording a first limit angular position value and a second limit angular position value according to the present invention;

[0053] Figure 7 is a structural block diagram of the joint verification device of the present invention;

[0054] Figure 8 The structural block diagram of the controller is shown in Figure 2.

[0055] Fig. 9 A schematic flow chart of a robot control method of the present invention;

[0056] Fig.10 It is a schematic diagram of the range of the angular position value of the steering gear of the present invention;

[0057] Fig.11 It is a schematic structural diagram of an upper limb component of the controller in the present invention;

[0058] Fig.12 It is a structural schematic diagram of the controller of the present invention;

[0059] Fig.13 is a structural schematic diagram of a joint module of the present invention;

[0060] Fig.14 is a schematic structural diagram of an upper limb of the robot of the present invention;

[0061] Fig.15 This is a schematic diagram of the fighting robot controller of the present invention controlling the fighting robot. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solution and advantages of the embodiment of the present invention clearer, the technical solution in the embodiment of the present invention will be clearly and completely described in conjunction with the drawings in the embodiment of the present invention. It should be noted that, in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. In the description of the present invention, it should be understood that the orientation or position relationship indicated by the terms "center", "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc. is based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation of the present invention. Moreover, the term "include", "comprise" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such a process, method, article or device. In the absence of further restrictions, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article or device comprising the elements. If there is no conflict, the various features in the embodiments and examples of the present invention can be combined with each other, all within the scope of protection of the present invention.

[0063] Example 1

[0064] like Figure 1 As shown, this embodiment provides a method for calibrating the joints of a fighting robot controller, which is used to calibrate the joints of the controller of the fighting robot, and the controller is used to control the fighting robot. The method comprises the following steps:

[0065] S1: Get the code of the controller joint currently being verified;

[0066] The controller used in this embodiment includes multiple controller joints. In order to quickly and accurately identify which joint of the controller is currently being verified, a code can be assigned to each controller joint in advance. One controller corresponds to one code, and different controller joints have different codes. The code includes but is not limited to numbers, letters, symbols, graphics, and any combination thereof. The present application can adopt a method of verifying each joint of the controller one by one, that is, verifying one controller joint at a time, and then verifying the next controller joint after the current controller joint is verified, until all controller joints are verified.

[0067] S2: Obtaining the target stroke of the controller joint currently being verified according to the code of the controller joint currently being verified;

[0068] This step finds the corresponding target stroke through the code of the controller joint currently being verified. The aforementioned target stroke refers to the rotation range allowed for the controller joint to meet normal operation. Different joints in the controller have different target strokes. The actual rotation range of the controller, that is, the actual stroke of the controller, is limited by the limit structure on the controller.

[0069] S3: Obtaining a first limit angular position value and a second limit angular position value of the controller joint currently being verified, wherein the first limit angular position value is an angular position value when the controller joint rotates along a first direction to a farthest angular position, and the second limit angular position value is an angular position value when the controller joint rotates along a second direction to a farthest angular position, and the first direction and the second direction are two opposite rotation directions;

[0070] In this embodiment, the magnetic encoder installed on the joint can be used to detect the current angular position of the controller joint. Rotating along the first direction to the farthest angular position means rotating the currently verified controller joint in the first direction until the controller is rotated to an angular position where it can no longer be rotated due to the limitation of the limit structure, and the angular position value of the controller detected by the magnetic encoder is used as the first limit angular position value.

[0071] Rotating along the second direction to the farthest angular position means rotating the currently verified controller joint in the second direction until the controller is rotated to an angular position where it cannot be rotated further due to the limitation of the limit structure. At this time, the angular position value of the controller detected by the magnetic encoder is used as the first limit angular position value.

[0072] S4: judging whether the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint according to the first limit angular position value and the second limit angular position value;

[0073] Ideally, the actual rotation range of the controller is smaller than the target stroke. However, due to manufacturing precision issues, the actual rotation range of some controllers may exceed the target stroke. This verification method identifies the controller joints whose actual rotation range exceeds the target stroke.

[0074] As an optional but advantageous implementation, in this embodiment, the target stroke is assumed to be Ct, and the step S4: judging whether the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint according to the first limit angular position value and the second limit angular position value further includes the following steps:

[0075] S41: Calculate the actual stroke C1 of the controller joint currently being verified according to the first limit angular position value and the second limit angular position value, C1=|α1-α2|, where α1 is the first limit angular position value and α2 is the second limit angular position value;

[0076] S42: If C1≤Ct, the actual stroke of the controller joint verified before does not exceed the target stroke of the controller joint;

[0077] S43: If C1>Ct, the actual stroke of the controller joint verified before exceeds the target stroke of the controller joint;

[0078] S5: If the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angular position value and the second limit angular position value are stored; otherwise, the current controller joint is processed.

[0079] This step performs subsequent processing based on the comparison result of the actual stroke of the controller joint and the target stroke of the controller joint in the previous step. There are two types of comparison results of the actual stroke of the controller joint and the target stroke of the controller joint. One of them is that the actual stroke of the controller joint currently being verified does not exceed the target stroke of the controller joint. At this time, the detection values ​​of the limit angular positions of the controller joint rotating in the first direction and the second direction, namely the first limit angular position value and the second limit angular position value, are recorded by storing them in a related storage medium.

[0080] Another result is that the actual stroke of the currently verified controller joint exceeds the target stroke of the controller joint, which means that the currently verified controller joint does not meet the stroke range requirements and cannot be used directly on the controller, requiring subsequent processing.

[0081] like Figure 2 As shown, as an optional but advantageous implementation, in this embodiment, S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, otherwise the current controller joint is processed and the following steps are also included:

[0082] S5B1: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, and the type of the currently verified controller joint is obtained according to the code of the currently verified controller joint;

[0083] The same type of controller joints at the same position on the controller have the same code and the same target stroke. This step finds the type of controller joint used at the position of the currently verified controller joint through the code of the currently verified controller joint.

[0084] S5B2: Replace the currently verified controller joint with a controller joint of the same type as the currently verified controller joint;

[0085] Since the joint travel of the currently verified controller exceeds the range, this step replaces the currently verified controller with a controller joint of the same type as the currently verified controller joint.

[0086] S5B3: Repeat steps S1 to S5 until the joint stroke of the verified controller does not exceed the target stroke.

[0087] This step verifies the replaced and updated controller joint according to the previous steps. If the verification result is that it does not exceed the target stroke, the first limit angular position value and the second limit angular position value of the controller joint are recorded. If it still exceeds the target stroke, a new joint of the same type is replaced for verification until the verified controller joint does not exceed the target stroke.

[0088] Through the aforementioned steps, this embodiment can quickly identify those controller joints whose actual stroke exceeds the target stroke range due to insufficient manufacturing precision, and find controller joints whose actual stroke meets the requirements by replacing new controller joints and recalibrating, thereby ensuring that the controller does not exceed the required stroke range during operation.

[0089] like Figure 3 As shown, as another optional but advantageous implementation, in this embodiment S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, otherwise the current controller joint is processed and the following steps are also included:

[0090] S5A1: if the actual stroke of the controller joint currently being verified does not exceed the target stroke of the controller joint, then the angular position range of the actual stroke of the controller joint that exceeds the target stroke is obtained as the shielding angular position range;

[0091] Assume that the actual stroke of the controller joint is C1=|α1-α2|, where α1 is the first limit angle position value, α2 is the second limit angle position value, and the target stroke is Ct. The angle to be shielded is Cd=C1-Ct. You can choose (α2-Cd, α2] as the shielding angle position range, or you can choose (α1, α1+Cd] as the shielding angle position range.

[0092] S5A2: Determine a new first limit angle position value and a second limit angle position value according to the shielding angle position range;

[0093] If (α2-Cd, α2] is selected as the shielding angle position range, the new first limit angle position value is α1, and the new second limit angle position value is α2-Cd. If (α1, α1+Cd] is selected as the shielding angle position range, the new first limit angle position value is α1+Cd, and the new second limit angle position value is α2.

[0094] S5A3: storing the new first limit angle position value, the second limit angle position value and the shielding angle position range, wherein the shielding angle position range is used to suspend updating the rotation position of the robot corresponding to the servo when the controller joint rotates to the shielding angle position range.

[0095] If (α2-Cd, α2] is selected as the shielding angle position range, when the controller joint rotates to within the range of (α2-Cd, α2], the update of the rotation position of the robot corresponding to the servo will be suspended. If (α1, α1+Cd] is selected as the shielding angle position range, when the controller joint rotates to within the range of (α1, α1+Cd], the update of the rotation position of the robot corresponding to the servo will be suspended. In this way, when the angular position of the controller joint rotation exceeds the target stroke, the corresponding servo will not continue to rotate but keep the current position unchanged, thereby effectively avoiding the control disorder of the robot servo. The above method does not need to replace the controller joint that exceeds the target stroke, which greatly saves costs.

[0096] like Figure 4As shown, as an optional but advantageous implementation, this embodiment also includes checking the consistency between the rotation direction of the joint and the rotation direction of the servo. In this embodiment, S5: if the actual stroke of the currently checked controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, otherwise the current controller joint is processed and the following steps are also included:

[0097] S501: If the actual stroke of the controller joint currently being verified does not exceed the target stroke of the controller joint, selecting one of the first direction and the second direction as an auxiliary verification direction;

[0098] In this embodiment, the controller joint rotation direction is verified under the premise that the actual stroke of the controller joint meets the target stroke requirement. In this step, one direction is selected from either the first direction or the second direction as an auxiliary verification direction.

[0099] S502: Rotate the controller joint currently being verified toward the auxiliary inspection direction to near the limit angular position of the auxiliary inspection direction, and obtain the angular position value of the current controller joint as the auxiliary inspection angular position value.

[0100] For example, if the selected auxiliary inspection direction is the first direction, the controller joint is rotated toward the first direction to the vicinity of the farthest angular position. At this time, the absolute value of the angle difference between the controller joint angle position and the farthest angular position in the first direction is less than a first preset value, which can be set based on experience so that the controller joint angle position is sufficiently close to the farthest angular position in the first direction.

[0101] Similarly, if the selected auxiliary inspection direction is the second direction, the controller joint is rotated toward the second direction to the vicinity of the farthest angular position. At this time, the absolute value of the angle difference between the controller joint angle position and the farthest angular position in the first direction is less than a second preset value, which can be set based on experience so that the controller joint angle position is close enough to the farthest angular position in the second direction.

[0102] S503: Obtaining the limit angular position value of the positive rotation of the servo and the limit angular position value of the negative rotation of the servo;

[0103] The positive rotation limit angular position value and the negative rotation limit angular position value of the servo are the angular position values ​​of the two end positions of the range of rotation allowed by the servo when the robot moves. When the servo is installed on the robot, the positive rotation limit angular position value and the negative rotation limit angular position value of the servo are also determined. Figure 8 As shown, Figure 8The limit angular position of the first steering gear 41 in the positive direction is 316, and the limit angular position of the negative direction is 866, and the steering gear rotates between 316 and 866; the limit angular position of the second steering gear 42 in the positive direction is 158, and the limit angular position of the negative direction is 630, and the steering gear rotates between 158 and 630; the limit angular position of the third steering gear 43 in the positive direction is 984, and the limit angular position of the negative direction is 276, and the steering gear rotates between 984 and 276; the limit angular position of the fourth steering gear 44 in the positive direction is 158, and the limit angular position of the negative direction is 866, and the steering gear rotates between 158 and 866; the limit angular position of the fifth steering gear 45 in the positive direction is 708, and the limit angular position of the negative direction is 158, and the steering gear rotates between 708 and 158.

[0104] S504: judging whether the auxiliary inspection direction is consistent with the steering gear forward rotation direction according to the auxiliary inspection angle position value, the first limit angle position value, the second limit angle position value, the limit angle position value of the steering gear forward rotation and the limit angle position value of the steering gear negative rotation;

[0105] like Figure 5 As shown, in the specific implementation, this step also includes the following steps:

[0106] S5041: Obtaining the rotation stroke of the controller joint according to the first limit angular position value and the second limit angular position value;

[0107] Assume that the first limit angle position value of the controller joint is α1, and the second limit angle position value is α2, then the joint rotation stroke C1=|α1-α2|;

[0108] S5042: Obtain the rotation stroke of the servo. Assume that the limit angular position value of the positive rotation of the servo is β1, and the limit angular position value of the negative rotation of the servo is β2, then the rotation stroke of the servo is C2=|β1-β2|.

[0109] S5043: acquiring a steering gear inspection angle position value corresponding to the auxiliary inspection angle position value according to the auxiliary inspection angle position value, the rotation stroke of the controller joint, and the rotation stroke of the steering gear;

[0110] In this step, the intermediate angular position value βmid of the servo is first obtained. The intermediate angular position of the servo is the angular position when the servo rotates to half of the maximum angle that the servo can rotate. For example, if the servo can rotate from 0 to 1024 at most, the intermediate position of the servo is 512. Let the auxiliary inspection angular position value be αt. If β1<βmid, then γ=β1+αt×C2 / C1; if β1≥βmid, then γ=β1-αt×C2 / C1.

[0111] S5043: Determine whether the auxiliary inspection direction is consistent with the forward rotation direction of the servo according to the servo inspection angle position value and the servo forward rotation limit angle position value.

[0112] In this step, the allowable error range df between the servo test angle position value and the limit angle position value of the servo forward rotation is first obtained, where df is a positive number, and then the size relationship between |γ-β1| and df is determined. If |γ-β1| is less than or equal to df, it indicates whether the auxiliary test direction is consistent with the forward rotation direction of the servo. When the joint rotates in the auxiliary test direction, the corresponding servo will also rotate in the positive direction. That is, the auxiliary test direction of the controller joint currently being tested corresponds to the positive direction of the servo. The aforementioned allowable error range df can be determined based on experience. Where df is less than C2 / 2.

[0113] If |γ-β1| is greater than df, then determine whether |γ-β1| is greater than C2 / 2. If |γ-β1| is greater than C2 / 2, it indicates that the auxiliary inspection direction of the controller joint currently being inspected corresponds to the negative direction of the servo. When the joint rotates in the auxiliary inspection direction, the corresponding servo will also rotate in the negative direction.

[0114] S505: Store the first limit angle position value and the second limit angle position value according to the judgment result.

[0115] This step stores the first limit angular position value and the second limit angular position value according to the correspondence between the controller joint rotation direction and the robot servo rotation direction determined in the previous step.

[0116] like Figure 6 As shown, this step specifically includes the following steps:

[0117] S5051: Obtain the first variable and the second variable;

[0118] The present application assigns the first limit angular position value and the second limit angular position value to the first variable and the second variable respectively.

[0119] S5052: If the auxiliary inspection direction is consistent with the forward rotation direction of the servo, assign the first limit angle position value to the first variable and assign the second limit angle position value to the second variable;

[0120] This embodiment uses the first variable by default to record the extreme angular position value of the controller joint rotation direction that is consistent with the forward rotation direction of the servo. Therefore, when the auxiliary inspection direction is consistent with the forward rotation direction of the servo, the first extreme angular position value is assigned to the first variable, and the second extreme angular position value is assigned to the second variable.

[0121] S5053: If the auxiliary inspection direction is inconsistent with the forward rotation direction of the servo, the first limit angle position value is assigned to the second variable, and the second limit angle position value is assigned to the first variable.

[0122] Since the first variable is used by default in this embodiment to record the limit angle position value of the controller joint rotation direction consistent with the forward rotation direction of the steering gear, when the auxiliary inspection direction is inconsistent with the forward rotation direction of the steering gear, the limit angle position value of the controller joint rotation direction consistent with the forward rotation direction of the steering gear is the second limit angle position value. At this time, the first limit angle position is assigned to the second variable, and the second limit angle position value is assigned to the first variable.

[0123] By using the above method, no matter what the corresponding relationship between the controller joint and the servo rotation direction is, the limit angular position value of the controller joint rotation direction consistent with the servo positive rotation direction can be obtained from the default first variable, and the limit angular position value of the controller joint rotation direction opposite to the servo positive rotation direction can be obtained from the second variable.

[0124] Example 2

[0125] See also Figure 7 This embodiment provides a combat robot joint calibration device, the device comprising:

[0126] The device comprises: a first limit angle position acquisition module, the first limit angle position acquisition module is used to acquire the limit angle position of the controller joint rotating along the first preset direction as the first limit angle position;

[0127] A second limit angular position acquisition module, the second limit angular position acquisition module is used to control the limit angular position of the joint rotating along a second preset direction as the second limit angular position, wherein the second preset direction is the opposite rotation direction to the first preset direction;

[0128] An auxiliary angular position and limit angular position acquisition module, the auxiliary angular position and limit angular position acquisition module is used to obtain the auxiliary angular position of the controller joint rotating along a preset positive direction and the limit angular position of the steering gear rotating in a positive direction, wherein the preset positive direction is one of a first preset direction and a second preset direction;

[0129] A rotation direction correspondence determination module is used to determine the correspondence between the controller joint rotation direction and the steering gear rotation direction according to the first limit angle position, the second limit angle position, the auxiliary angle position and the limit angle position of the steering gear forward rotation.

[0130] The rotation direction correspondence determination module also includes:

[0131] A calculated angular position acquisition submodule, the calculated angular position acquisition submodule is used to acquire a calculated angular position of the servo corresponding to the auxiliary angular position according to the auxiliary angular position;

[0132] A limit angle position acquisition submodule, wherein the calculated angle position acquisition submodule is used to compare the calculated angle position with the limit angle position of the servo forward rotation;

[0133] The corresponding relationship determination submodule, the calculated angle position acquisition submodule is used to determine the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the comparison result of the calculated angle position and the extreme angle position of the steering gear forward rotation.

[0134] Example 3

[0135] In addition, combined Figure 8 The fighting robot joint verification method of the aforementioned embodiment of the present invention described above can be implemented by the fighting robot controller of this embodiment. Figure 8 A schematic diagram of the hardware structure of a fighting robot controller provided in an embodiment of the present invention is shown.

[0136] The controller of this embodiment may include a control circuit 401 and a memory 402 storing computer program instructions.

[0137] Specifically, the control circuit 401 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiment of the present invention.

[0138] The memory 402 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 402 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 402 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 402 may be inside or outside the data processing device. In a specific embodiment, the memory 402 is a non-volatile solid-state memory. In a specific embodiment, the memory 402 includes a read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM) or a flash memory or a combination of two or more of these.

[0139] The processor 401 implements any one of the regional random data addressing methods in the above embodiments by reading and executing computer program instructions stored in the memory 402 .

[0140] In one example, the controller of this embodiment may also include a communication interface 403 and a bus 410. Figure 6 As shown, the control circuit 401, the memory 402, and the communication interface 403 are connected via a bus 410 and communicate with each other.

[0141] The communication interface 403 is mainly used to implement the communication between the modules, devices, units and / or equipment in the embodiment of the present invention.

[0142] Bus 410 includes hardware, software or both, and couples the various components for the controller to each other. For example, but not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industrial standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus or other suitable bus or a combination of two or more of these. Where appropriate, bus 410 may include one or more buses. Although the embodiments of the present invention describe and illustrate a specific bus, the present invention contemplates any suitable bus or interconnect.

[0143] Example 4

[0144] In addition, in combination with the fighting robot controller joint calibration method in the above embodiment, the embodiment of the present invention can provide a computer-readable storage medium for implementation. The computer-readable storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any one of the joint calibration methods in the above embodiment is implemented.

[0145] The above is a detailed introduction to the joint calibration method, device, controller and storage medium provided by the embodiments of the present invention.

[0146] Example 5

[0147] This embodiment provides a fighting robot control method, such as Fig.15 As shown, the method uses a controller that can be worn on the user's body to control the fighting robot, such as Fig.12As shown, the robot controller used in this embodiment includes at least a wearable device, and a left upper limb component and a right upper limb component respectively connected to the wearable device, wherein the left upper limb component and the right upper limb component are each composed of a plurality of upper limb parts, and two adjacent upper limb parts are connected by a joint module, and a magnetic encoder is provided on the joint module, and the magnetic encoder is used to detect the rotation angle position of the controller joint formed between two adjacent upper limb parts. The various joints of the controller correspond to the various joints of the human body one by one. Fig.11 As shown, the shoulder part 21 of the upper limb part corresponds to the shoulder 21 of the human body, the upper arm part 22 of the upper limb part corresponds to the upper arm of the human body, the forearm part 23 of the upper limb part corresponds to the forearm of the human body, and the hand part 24 of the upper limb part corresponds to the hand of the human body.

[0148] Each joint of the robot controlled by this embodiment also corresponds to the controller one by one, and each joint of the robot is driven by a steering gear corresponding to the joint. Fig.11 and Fig.14 As shown, the first joint 41 of the controller corresponds to the first servo 51 of the robot, the second joint 42 corresponds to the second servo 52 of the robot, the third joint 43 corresponds to the third servo 53 of the robot, the fourth joint 44 corresponds to the fourth servo 54 of the robot, and the fifth joint 45 corresponds to the fifth servo 55 of the robot.

[0149] The controller controls the rotation of the corresponding joints of the robot according to the rotation angle of the human joints detected by the controller joints, so that the actions performed by the robot are consistent with the operator's limb movements, thereby greatly reducing the difficulty of the operator's control of the robot.

[0150] like Fig. 9 As shown, the method includes the following steps.

[0151] ST1: calibrate each controller joint of the controller according to the joint calibration method described in Example 1;

[0152] This step verifies each controller joint, replaces the controller joints whose actual travel exceeds the target travel range with controller joints that meet the requirements, or performs special processing on the controller joints that exceed the target travel range.

[0153] ST2: Obtain the angular position value of each controller joint when the controller moves with the user's limbs under user operation;

[0154] The operator wears the controller on his body through a wearable device, and drives the left upper limb assembly and / or the right upper limb assembly to move by holding the gripping part of the left upper limb assembly and / or the right upper limb assembly of the controller. The joints of the controller move synchronously with the corresponding joints of the operator, and the rotation angle of the controller joint detected by the magnetic encoder is used as the rotation angle of the corresponding joint of the operator.

[0155] ST3: Control the rotation of the servos of the corresponding joints of the robot according to the angular position values ​​of the rotation of each controller joint.

[0156] like Fig. 9 As shown, each joint of the robot controlled by this embodiment also corresponds to the controller one by one, and each joint of the robot is driven by a steering gear corresponding to the joint. The controller controls the rotation of the corresponding joint of the robot according to the rotation angle of the human joint detected by the controller joint, so that the action performed by the robot is consistent with the limb action of the operator, thereby greatly reducing the difficulty of the operator to control the robot.

[0157] In this embodiment, the angular position value of the controller joint rotation is assumed to be αi. If β1<βmid, the corresponding angular position value of the joint rotation is βi=β1+αi×C2 / C1; if β1≥βmid, the corresponding angular position value of the joint rotation is =β1-αi×C2 / C1.

[0158] As an optional but advantageous implementation, in this embodiment, the controller joint module includes a first component 51 and a second component 52, and a torque motor is provided on the controller joint, the housing of the torque motor is connected to one of the first component 51 and the second component 52, and the output end of the torque motor is connected to the other of the first component 51 and the second component 52. The torque motor is used to apply a torque to the controller joint to hinder the rotation of the joint, and the direction of the torque is opposite to the direction of rotation of the controller joint. In this embodiment, pressure sensors are also provided at various parts of the robot to detect the blows received by the robot. The greater the blow received by the robot, the greater the pressure detected by the pressure sensor.

[0159] As an optional but advantageous implementation, the control method in this embodiment further includes the following steps:

[0160] ST4: Get the correspondence between the robot's pressure sensor and controller joints;

[0161] In this embodiment, the pressure sensors on the robot can be matched to the joints of the robot one by one. For example, the joint of the robot closest to the pressure sensor can be used as the joint corresponding to the pressure sensor. Since the controller joints and the robot joints also have a one-to-one correspondence, the pressure sensors and the controller joints also have a one-to-one correspondence.

[0162] ST5: Obtain the signal generated by the corresponding pressure sensor when the robot is hit;

[0163] The signal generated by the pressure sensor includes the number of the pressure sensor and the magnitude of the pressure detected by the pressure sensor.

[0164] ST6: applying a torque opposite to the rotation direction of the joint to the corresponding controller joint according to the signal generated by the pressure sensor;

[0165] This step specifically includes:

[0166] ST61: Determine the magnitude and time of the applied torque according to the magnitude of the pressure detected by the pressure sensor;

[0167] The greater the blow received by the robot, the greater the pressure detected by the pressure sensor, the greater the torque applied accordingly, and the longer the time for which the torque is applied.

[0168] ST62: applying a torque of a corresponding magnitude to the controller joint within a corresponding time according to the magnitude and time of the torque;

[0169] The control method of this embodiment can feedback the effect of the robot's slow movement after being hit to the user through the joints of the controller. Due to the action of the torque motor set on the controller, when a part of the robot is hit, it becomes difficult for the user to rotate the joint, and the greater the hitting force, the more difficult it is for the user to rotate the joint and the longer it lasts, making the robot competition game more realistic.

[0170] When the shielding angle position is used to process the controller joint that exceeds the stroke, the robot control method of the present application further includes the following steps:

[0171] ST7: Get the shielding angle position range of the controller joint;

[0172] ST8: When the controller joint rotates to the boundary angle position of the shielding angle position range, a torque is applied to the controller joint to drive the controller joint to rotate in a direction away from the shielding angle position range to prevent the controller joint from rotating within the shielding angle range.

[0173] In this embodiment, when the controller joint rotates to the vicinity of the shielding position range, a torque is applied to the controller joint to prevent it from continuing to rotate in the direction of the shielding angle position range, thereby ensuring that the stroke of the controller joint does not exceed the target stroke.

[0174] The above is a detailed introduction to the fighting robot joint calibration method, controller and control method of the present invention.

[0175] It should be clear that the present invention is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present invention.

[0176] The functional blocks shown in the structural block diagram described above can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present invention are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier. "Machine-readable medium" may include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0177] It should also be noted that the exemplary embodiments mentioned in the present invention describe some methods or systems based on a series of steps or devices. However, the present invention is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiments, or in a different order from the embodiments, or several steps can be performed simultaneously.

[0178] The above is only a specific implementation of the present invention. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the system, module and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. It should be understood that the protection scope of the present invention is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present invention, and these modifications or replacements should be covered within the protection scope of the present invention.

Claims

1. A method for calibrating joints of a fighting robot controller, characterized in that: The method comprises the following steps: S1: Get the code of the controller joint currently being verified; S2: Obtaining the target stroke of the controller joint currently being verified according to the code of the controller joint currently being verified; S3: Obtaining a first limit angular position value and a second limit angular position value of the controller joint currently being verified, wherein the first limit angular position value is an angular position value when the controller joint rotates along a first direction to a farthest angular position, and the second limit angular position value is an angular position value when the controller joint rotates along a second direction to a farthest angular position, and the first direction and the second direction are two opposite rotation directions; S4: judging whether the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint according to the first limit angular position value and the second limit angular position value; S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, storing the first limit angle position value and the second limit angle position value, otherwise processing the currently verified controller joint; The step S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored; otherwise, the processing of the currently verified controller joint further includes the following steps: S5B1: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored, and the type of the currently verified controller joint is obtained according to the code of the currently verified controller joint; S5B2: Replace the currently verified controller joint with a controller joint of the same type as the currently verified controller joint; S5B3: repeating steps S1 to S5 until the joint travel of the verified controller does not exceed the target travel; The step S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored; otherwise, the processing of the currently verified controller joint further includes the following steps: S5A1: if the actual stroke of the controller joint currently being verified exceeds the target stroke of the controller joint, then the angular position range of the actual stroke of the controller joint that exceeds the target stroke is obtained as the shielding angular position range; S5A2: Determine a new first limit angle position value and a second limit angle position value according to the shielding angle position range; S5A3: storing a new first limit angle position value, a second limit angle position value and a shielding angle position range, wherein the shielding angle position range is used to suspend updating the rotation position of the robot corresponding to the servo when the controller joint rotates to the shielding angle position range; S5: if the actual stroke of the currently verified controller joint does not exceed the target stroke of the controller joint, the first limit angle position value and the second limit angle position value are stored; otherwise, the processing of the current controller joint further includes the following steps: S501: If the actual stroke of the controller joint currently being verified does not exceed the target stroke of the controller joint, selecting one of the first direction and the second direction as an auxiliary verification direction; S502: Rotate the controller joint currently being verified toward the auxiliary inspection direction to near the limit angular position of the auxiliary inspection direction, and obtain the angular position value of the current controller joint as the auxiliary inspection angular position value; S503: Obtaining the limit angular position value of the positive rotation of the servo and the limit angular position value of the negative rotation of the servo; S504: judging whether the auxiliary inspection direction is consistent with the steering gear forward rotation direction according to the auxiliary inspection angle position value, the first limit angle position value, the second limit angle position value, the limit angle position value of the steering gear forward rotation and the limit angle position value of the steering gear negative rotation; S505: Store the first limit angle position value and the second limit angle position value according to the judgment result.

2. The method for calibrating joints of a fighting robot controller according to claim 1, characterized in that: The step S504 of judging whether the auxiliary inspection direction is consistent with the steering gear forward rotation direction according to the auxiliary inspection angle position value, the first limit angle position value, the second limit angle position value and the limit angle position value of the steering gear forward rotation further comprises the following steps: S5041: Obtaining the rotation stroke of the controller joint according to the first limit angular position value and the second limit angular position value; S5042: Obtain the rotation stroke of the servo; S5043: acquiring a steering gear inspection angle position value corresponding to the auxiliary inspection angle position value according to the auxiliary inspection angle position value, the rotation stroke of the controller joint, and the rotation stroke of the steering gear; S5044: Determine whether the auxiliary inspection direction is consistent with the forward rotation direction of the servo according to the servo inspection angle position value and the servo forward rotation limit angle position value.

3. The method for calibrating joints of a fighting robot controller according to claim 2, characterized in that: S505: Storing the first limit angular position value and the second limit angular position value according to the judgment result further includes the following steps: S5051: Obtain the first variable and the second variable; S5052: If the auxiliary inspection direction is consistent with the forward rotation direction of the steering gear, assign the first limit angle position value to the first variable and assign the second limit angle position value to the second variable; S5053: If the auxiliary inspection direction is inconsistent with the forward rotation direction of the servo, the first limit angle position value is assigned to the second variable, and the second limit angle position value is assigned to the first variable.

4. A fighting robot controller, used to control the fighting robot, characterized in that: include: At least one processor, at least one memory and computer program instructions stored in the memory, when the computer program instructions are executed by the processor, implement the method according to any one of claims 1 to 3.

5. A fighting robot control method, characterized in that: The robot is controlled by using a fighting robot controller wearable on a user's body, and the method comprises the following steps: ST1: Verify each controller joint of the controller according to the fighting robot controller joint verification method described in claim 1; ST2: Obtain the angular position value of each controller joint when the controller moves with the user's limbs under user operation; ST3: Control the rotation of the servos of the corresponding joints of the robot according to the angular position values ​​of the rotation of each controller joint.

6. The fighting robot control method according to claim 5, characterized in that: The method further comprises the following steps: ST5: Obtain the signal generated by the corresponding pressure sensor when the robot is hit; ST6: Apply a torque opposite to the rotation direction of the joint to the corresponding controller joint according to the signal generated by the pressure sensor.

7. The fighting robot control method according to claim 6, characterized in that: The method further comprises the following steps: ST7: Get the shielding angle position range of the controller joint; ST8: When the controller joint rotates to the boundary angle position of the shielding angle position range, a torque is applied to the controller joint to drive the controller joint to rotate in a direction away from the shielding angle position range to prevent the controller joint from rotating within the shielding angle range.

Citation Information

Patent Citations

  • Robot control method, robot and control terminal

    CN110154030A

  • Gaming robot

    US20180256989A1