Fighting robot controller joint matching method, controller and control method

By obtaining the limit angle position and auxiliary angle position of the controller joint, and combining the limit angle position of the servo, the correspondence between the controller joint and the rotation direction of the servo is determined, the problem of the inability to accurately judge the rotation direction in the prior art is solved, and more accurate robot control is achieved.

CN115635466BActive Publication Date: 2025-03-21SHENZHEN GJS TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing robot controllers cannot accurately determine the correspondence between the controller joint rotation direction and the actual rotation direction of the servo, making it difficult for operators to accurately control the robot.

Method used

By obtaining the limit angular position and auxiliary angular position of the controller joint rotating in the preset direction, and combining the limit angular position of the forward rotation of the servo, the corresponding relationship between the rotation direction of the controller joint and the rotation direction of the servo is determined.

Benefits of technology

It realizes the rapid and accurate acquisition of the corresponding relationship between the controller joint rotation direction and the steering direction, which reduces the operator's difficulty in manipulating, and avoids the robot joint control chaos caused by unclear correspondence relationships.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115635466B_ABST
    Figure CN115635466B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of robot control technology, and in particular to a fighting robot controller joint matching method, controller and control method. The joint matching method of the present invention comprises the following steps: obtaining the limit angle position of the controller joint rotating along a first preset direction as the first limit angle position; obtaining the limit angle position of the controller joint rotating along a second preset direction as the second limit angle position; obtaining the auxiliary angle position of the controller joint rotating along a preset positive direction and the limit angle position of the forward rotation of the servo, the preset positive direction being one of the first preset direction and the second preset direction; determining the corresponding relationship between the rotation direction of the controller joint and the rotation direction of the servo according to the first limit angle position, the second limit angle position, the auxiliary angle position and the limit angle position of the forward rotation of the servo. The present invention can accurately determine the corresponding relationship between the rotation direction of the controller joint and the actual rotation direction of the servo.
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 matching method, a controller and a control method. Background Art

[0002] At present, the robot is mostly controlled by means of handle buttons, etc. This method requires the operator to operate the robot by accurately pressing the buttons on the operating handle to produce the expected action of the operator. However, the expected action performed by the robot and the corresponding relationship between the action pressed by the operator are very different, and the operator needs to switch between the robot execution action and the handle button action. This increases the difficulty of the operator's control of the robot. In response to this, the applicant proposes that a controller that can detect the operator's joint movement can be used to control the robot. With this control method, the operator can control the robot to make similar limb movements through his own limb movements, so that the operator's manipulation actions are highly corresponding to the actions finally performed by the robot, thereby greatly reducing the difficulty of the operator's control of the robot. With the aforementioned control method, each joint on the controller has a corresponding relationship with each servo on the controlled robot. The rotation angle position of the joint on the controller determines the rotation angle position of the corresponding servo. When using a magnetic encoder to detect the rotational angular position of a controller joint, the magnetic encoder needs to be installed on the corresponding controller joint first. However, the polarity of the magnetic disk of the installed magnetic encoder is difficult to judge, which will cause an unclear relationship between the running direction of the controller joint and the actual rotation direction of the servo, and thus the robot's joint movements cannot be accurately controlled according to the operator's joint movements. Summary of the invention

[0003] In view of this, an embodiment of the present invention provides a fighting robot controller joint matching method, a controller and a control method, which are used to solve the technical problem that the existing controller cannot accurately determine the correspondence between the controller joint rotation direction and the actual rotation direction of the servo.

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

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

[0006] Obtaining a limit angular position of rotation of a controller joint along a first preset direction as a first limit angular position;

[0007] Acquire a limit angular position of the controller joint rotating along a second preset direction as a second limit angular position, wherein the second preset direction is a rotation direction opposite to the first preset direction;

[0008] Acquire the auxiliary angular position of the controller joint rotating in a preset positive direction and the limit angular position of the servo forward rotation, wherein the preset positive direction is one of a first preset direction and a second preset direction;

[0009] The corresponding relationship between the controller joint rotation direction and the steering gear rotation direction is determined 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.

[0010] Preferably, the step of obtaining the auxiliary angular position of the controller joint rotating in 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, further comprises the following steps:

[0011] Select one of the first preset direction and the second preset direction as a preset positive direction;

[0012] Rotate the controller joint along the preset positive direction to within the preset rotation position range;

[0013] Get the current angular position of the controller joint as the auxiliary angular position.

[0014] Preferably, determining the correspondence between the controller joint rotation direction and the steering gear rotation direction according to the first limit angular position, the second limit angular position, the auxiliary angular position and the limit angular position of the steering gear forward rotation further comprises the following steps:

[0015] Acquire a calculated angular position of the servo corresponding to the auxiliary angular position according to the auxiliary angular position;

[0016] comparing the calculated angular position with the extreme angular position of the servo forward rotation;

[0017] Based on the calculated angular position and the correspondence between the joint rotation direction of the servo forward rotation and the servo rotation direction.

[0018] Preferably, the step of obtaining the calculated angular position of the steering gear corresponding to the auxiliary angular position according to the auxiliary angular position further comprises the following steps:

[0019] The comparison result of the limit angle position determines the controller S411: obtaining a preset rotation range [θ1, θ2] of the controller joint as a first rotation range;

[0020] Obtain the preset rotation range [φ1, φ2] of the servo as the second rotation range;

[0021] Get the middle angular position φmid of the servo;

[0022] Assume that the auxiliary angular position is θa. If φ1≤φmid, then φcount=φ1+|φ1-φ2|×θa / |θ1-θ2|; if φ1>φmid, then φcount=φ1-|φ1-φ2|×θa / |θ1-θ2|, where φcount is the calculated angular position of the servo.

[0023] Preferably, the method of determining the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the comparison result between the calculated angular position and the extreme angular position of the steering gear forward rotation further comprises the following steps:

[0024] If the difference between the calculated angular position of the servo and the extreme angular position of the positive direction of the servo is within the first preset range, the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation;

[0025] If the difference between the calculated angular position of the servo and the extreme angular position of the positive direction of the servo is outside the second preset range, the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation.

[0026] Preferably, after determining the correspondence between the controller joint rotation direction and the steering gear rotation direction according to the first limit angular position, the second limit angular position, the auxiliary angular position and the limit angular position of the steering gear forward rotation, the following steps are also included:

[0027] If the preset positive direction of rotation of the controller joint corresponds to the positive direction of rotation of the servo, the first limit angle position and the second limit angle position are sequentially entered into an array representing the extreme value of the joint;

[0028] If the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, the first limit angle position and the second limit angle position are swapped and then sequentially entered into the array representing the joint limit angle position value.

[0029] In a second aspect, the present invention also provides a fighting robot 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.

[0030] In a third aspect, the present invention also provides a method for controlling a fighting robot, which controls the robot using a controller worn on the operator's body. The method includes the following steps.

[0031] Match the controller joints with the servo rotation direction;

[0032] Obtaining the angular position of the controller joint when the controller joint rotates with the operator's limb joint;

[0033] According to the angular position of the controller joint rotation, a control signal for controlling the steering gear of the corresponding joint of the robot to rotate to the corresponding angular position is obtained;

[0034] The method for matching the controller joint with the steering gear rotation direction is the joint matching method described in any one of claims 1 to 6.

[0035] Beneficial effects: The fighting robot controller joint matching method, controller and control method of the present invention determine the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction by assuming the positive direction (preset positive direction) of the controller joint rotation and using the limit angle positions of the controller joint in two opposite rotation directions and the auxiliary angle positions of the controller joint in the preset positive direction. This method cleverly utilizes the corresponding relationship between the controller rotation range and the steering gear allowable rotation range. The corresponding relationship between the controller joint rotation direction and the steering gear rotation direction can be quickly and accurately obtained by rotating the controller joint in the preset positive direction once, thus avoiding confusion in robot joint control caused by unclear corresponding relationship between joint rotation direction and steering gear rotation direction. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] 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.

[0037] Figure 1 is a schematic flow chart of the joint matching method of the present invention;

[0038] Figure 2 It is a schematic diagram of the structure of the upper limb component of the controller in the present invention;

[0039] Figure 3 It is a schematic diagram of a flow chart of a method for obtaining the auxiliary angle position of a controller joint in the present invention;

[0040] Figure 4 A schematic diagram of a flow chart of a method for the corresponding relationship between the rotation direction of a driving controller and the rotation direction of a steering gear according to the present invention;

[0041] Figure 5 It is a schematic diagram of the rotation range of the servo corresponding to each controller joint;

[0042] Figure 6 A schematic flow chart of a method for obtaining the angular position of a steering gear according to the present invention;

[0043] Figure 7A flow chart of a method for determining a corresponding relationship between a preset positive direction of rotation of a controller and a positive direction of rotation of a steering gear according to the present invention;

[0044] Figure 8 A schematic flow chart of the method for controlling two limit angle positions of joint rotation of the controller of the present invention;

[0045] Fig. 9 is a structural block diagram of the joint matching device of the present invention;

[0046] Fig.10 is a structural block diagram of a controller of the present invention;

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

[0048] Fig.12 It is a schematic diagram of the structure of the robot controller;

[0049] Fig.13 A schematic diagram of the structure of the upper limbs of the robot being controlled;

[0050] Fig.14 It is a structural schematic diagram of the controller joint of the present invention;

[0051] Fig.15 It is a schematic diagram of the three-dimensional structure of the limiting structure of the controller joint of the present invention;

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

[0053] 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 existence of other identical elements in the process, method, article or device comprising the elements. If there is no conflict, the embodiments of the present invention and the various features in the embodiments can be combined with each other, all within the protection scope of the present invention.

[0054] Example 1

[0055] like Figure 1 As shown, this embodiment provides a fighting robot joint matching method, specifically a controller joint and a steering gear rotation direction matching method, this embodiment detects the rotation of the controller joint by a magnetic encoder installed on the controller joint, the method includes the following steps:

[0056] S1: Obtaining the limit angular position of the controller joint rotating along a first preset direction as a first limit angular position;

[0057] When the controller is installed, the joint of the controller can rotate around a certain axis. The joint can have two opposite rotation directions when rotating around the axis. For the convenience of description, these two opposite rotation directions are respectively referred to as the first preset direction and the second preset direction in this article. For example, the direction in the figure can be set as the first direction and the direction in the figure as the second direction. The aforementioned first preset direction and the second preset direction can be arbitrarily specified in the two opposite directions of joint rotation, and there is no limitation here.

[0058] like Fig.15As shown, since a limit structure 53 is provided on the controller joint, the angular position of the joint rotation is limited and can only rotate within a certain range.

[0059] After the first preset direction and the second preset direction are set, this step rotates the joint of the controller in one direction until the joint rotates to the limit position where it cannot rotate along this direction, and records the rotation angle position of the current joint detected by the magnetic encoder. The rotation angle position of the current joint detected by the magnetic encoder is used as the first limit angle position. The joint of the controller includes a first component 51 and a second component 52 that can rotate relative to each other, and the magnetic encoder is used to measure the angle of rotation of the first component 51 relative to the second component 52.

[0060] S2: Obtaining a limit angular position of the controller joint rotating along a second preset direction as a second limit angular position, wherein the second preset direction is a rotation direction opposite to the first preset direction;

[0061] In this step, the joint of the controller is rotated in another direction opposite to that in the previous step until the joint is rotated in this direction to the extreme position where it cannot be rotated. The rotation angle position of the current joint detected by the magnetic encoder is recorded. The rotation angle position of the current joint detected by the magnetic encoder is used as the second extreme angle position.

[0062] S3: Obtaining the auxiliary angular position of the controller joint rotating in a preset positive direction and the limit angular position of the servo forward rotation, wherein the preset positive direction is one of a first preset direction and a second preset direction;

[0063] In this step, one of the first preset direction and the second preset direction may be first designated as an assumed positive direction for the rotation of the controller joint. For the sake of convenience in description, this assumed positive direction is referred to as the preset positive direction in this article.

[0064] When the servo is installed on the robot, the positive direction of the servo's rotation is determined. Therefore, the extreme angular position of the servo's positive rotation refers to the extreme position that the servo can reach when rotating in the positive direction.

[0065] like Figure 3 As shown, in this embodiment, S3: obtaining the auxiliary angular position of the controller joint rotating in a preset positive direction and the limit angular position of the servo forward rotation, wherein the preset positive direction is one of the first preset direction and the second preset direction, further comprises the following steps:

[0066] S31: Selecting one of the first preset direction and the second preset direction as a preset positive direction;

[0067] S32: Rotate the controller joint along a preset positive direction to within a predetermined rotation position range;

[0068] If the first preset direction is selected as the preset positive direction in the previous step, then this step rotates the controller joint toward the first preset direction to a position close to the first extreme angle position, and the aforementioned preset position range refers to an angle range in which the angle difference with the first angular position is less than a certain set value, and the aforementioned set value can be set based on experience. Similarly, if the second preset direction is selected as the preset positive direction in the previous step, then this step rotates the controller joint toward the second preset direction to a position close to the second extreme angle position, and the aforementioned preset position range refers to an angle range in which the angle difference with the second angular position is less than a certain set value, and the aforementioned set value can be set based on experience.

[0069] S33: Obtain the current angular position of the controller joint as the auxiliary angular position.

[0070] When the controller joint rotates in the preset positive direction to within the preset rotation position range, the current angular position of the controller joint is recorded. In the subsequent steps, this angular position will be used to assist in determining the correspondence between the controller joint and the servo rotation direction. Therefore, in this article, such an angular position is called an auxiliary angular position.

[0071] S4: 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.

[0072] This step utilizes the two extreme positions of the controller joint rotation in combination with the auxiliary angular position of the controller joint rotation and the extreme angular position of the servo's positive rotation to determine the correspondence between the controller joint rotation direction and the servo's rotation direction. This not only makes the controller joint's rotation range correspond to the servo's rotation range, but also cleverly utilizes the correspondence between the controller joint's rotation range and the servo's rotation range to determine whether the preset positive direction of the joint rotation is consistent with the servo's positive rotation direction, thereby quickly and accurately obtaining the correspondence between the controller joint's rotation direction and the servo's rotation direction.

[0073] like Figure 4 As shown, in the specific implementation, the step S4: determining 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 also includes the following steps:

[0074] S41: acquiring a calculated angular position of a steering gear corresponding to the auxiliary angular position according to the auxiliary angular position;

[0075] This embodiment can make the angular position of the controller joint correspond to the angular position of the steering gear, that is, when the controller controls the robot to perform an action, the steering gear corresponding to the joint on the robot will rotate to the corresponding angular position according to the current angular position of the joint. This step converts the auxiliary angular position of the controller joint into the angular position that the steering gear should rotate, that is, the calculated angular position of the steering gear, through calculation.

[0076] like Figure 6 As shown, in this embodiment, the step S41: obtaining the calculated angular position of the steering gear corresponding to the auxiliary angular position according to the auxiliary angular position further includes the following steps:

[0077] S411: Obtaining a preset rotation range [θ1, θ2] of the controller joint as a first rotation range;

[0078] S412: Obtain the preset rotation range [φ1, φ2] of the servo as the second rotation range; The rotation range of the servo is the range between the positive limit position and the negative limit position of the servo, for example Figure 5 In the figure, the rotation range of servo No. 1 is [316,866], that is, φ1=316, φ2=866.

[0079] S413: Get the intermediate angular position φθmid of the servo;

[0080] The middle angular position of the servo is the angular position when the servo rotates to half of the maximum angle the servo can rotate. For example, the maximum angle of the servo can rotate from 0 to 1024, so the middle position of the servo is 512.

[0081] S413: Assume the auxiliary angular position to be θa. If φ1≤φmid, then φcount=φ1+|φ1-φ2|×θa / |θ1-θ2|; if φ1 is greater than φmid, then φcount=φ1-|φ1-φ2|×θa / |θ1-θ2|, where φcount is the calculated angular position of the servo.

[0082] S42: comparing the calculated limit angular position with the limit angular position of the steering gear's forward rotation;

[0083] As shown in Figure 5, after the servos are installed on the robot, the positive and negative directions of the servos and the corresponding rotation range of each servo are determined, that is, the servos can only rotate between their positive rotation limit angle position and negative rotation limit angle position. Figure 5The 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.

[0084] In this step, the limit angular position of the servo's forward rotation is first obtained, and then the limit angular position calculated in the previous step is compared with the limit angular position of the servo's forward rotation to determine whether the aforementioned preset positive direction is consistent with the actual positive direction of the servo's rotation after the servo is installed.

[0085] S43: Determine the corresponding relationship between the controller joint rotation direction and the servo rotation direction according to the comparison result between the calculated angular position and the servo forward rotation limit angular position.

[0086] The corresponding relationship between the controller joint rotation direction and the servo rotation direction refers to which direction of the first preset direction and the second preset direction corresponds to the positive direction of the servo rotation and which direction corresponds to the negative direction of the servo rotation.

[0087] like Figure 7 As shown, in this embodiment, the step S43: determining the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the comparison result of the calculated angular position and the steering gear forward rotation limit angular position also includes the following steps:

[0088] S431: If the difference between the calculated angular position of the servo and the limit angular position of the positive direction of the servo is within the first preset range, the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation;

[0089] Assume that the total stroke of the servo is C, where C is a positive number. The aforementioned first preset range can be determined based on experience. When the difference between the calculated limit angular position and the limit angular position in the positive direction of the servo is within the first preset range, the absolute value of the difference between the calculated limit angular position and the limit angular position in the positive direction of the servo should be less than half of the total stroke of the servo, that is, less than C / 2.

[0090] In order to facilitate judgment, the absolute value of the difference between the limit angle position and the limit angle position in the positive direction of the servo can be obtained. For example, the calculated limit angle position D of the servoC , the limit angular position of the servo in the positive direction is D p The first preset range is [-a, a], where a is a positive number and a<C. If |D p -D C |≤a, the difference between the calculated limit angular position of the servo and the limit angular position of the servo in the positive direction is within the first preset range.

[0091] If the difference between the calculated limit angle position of the servo and the limit angle position of the positive direction of the servo is within the first preset range, it means that the preset positive direction is consistent with the positive direction of the servo, and when the joint rotates in the preset positive direction, the corresponding servo will also rotate in the positive direction of the servo.

[0092] S432: If the difference between the calculated angular position of the servo and the extreme angular position of the positive direction of the servo is outside the second preset range, the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation.

[0093] The aforementioned second preset range can be determined based on experience. When the difference between the calculated limit angular position and the limit angular position in the positive direction of the servo is within the second preset range, the absolute value of the difference between the calculated limit angular position and the limit angular position in the positive direction of the servo should be greater than half of the entire stroke of the servo.

[0094] For example, the total travel of the servo is C, where C is a positive number, and the calculated limit angular position of the servo is D C , the limit angular position of the servo in the positive direction is D p The second preset range is [-b, b], where b is a positive number and b is greater than C. If |Dp-D C |≥b, the difference between the calculated limit angular position of the servo and the limit angular position of the servo in the positive direction is within a second preset range.

[0095] If the difference between the calculated limit angle position of the servo and the limit angle position of the positive direction of the servo is within the second preset range, it means that the preset positive direction is opposite to the positive direction of the servo. When the joint rotates in the preset positive direction, the corresponding servo will also rotate in the negative direction of the servo.

[0096] As an optional but advantageous implementation, this embodiment can use an array containing two elements to represent the limit angle position value of the controller joint. One element represents the size of the first limit angle position, and the other element represents the size of the second limit angle position. The two elements have a sequence in the array. For the convenience of description, the element in the front row can be called a1, and the element in the back row can be called a2. Figure 8As shown, this embodiment further includes the following steps after S4: determining the positive direction and negative direction of the controller joint rotation according to the first limit angle position, the second limit angle position, the preset positive direction of the controller joint rotation and the limit angle position of the positive rotation of the servo:

[0097] S5: if the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation, the first limit angle position and the second limit angle position are sequentially entered into an array representing the limit angle position value of the joint;

[0098] If the preset positive direction of the controller joint rotation corresponds to the positive direction of the steering gear rotation, it indicates that the first preset direction is consistent with the positive direction of the steering gear rotation. At this time, the limit angle position of the controller joint rotation along the first preset direction corresponds to the limit angle position of the positive direction of the steering gear rotation, and the limit angle position of the controller joint rotation along the second preset direction corresponds to the limit angle position of the positive direction of the steering gear rotation. At this time, the first limit angle position is used as the value of the element a1 of the array, and the second limit angle position is used as the value of the element a2 of the array.

[0099] S6: If the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, the first limit angle position and the second limit angle position are swapped and then sequentially entered into an array representing the joint extreme value.

[0100] If the preset positive direction of rotation of the controller joint corresponds to the negative direction of rotation of the servo, it indicates that the first preset direction is consistent with the negative direction of rotation of the servo. At this time, the extreme angular position of rotation of the controller joint along the first preset direction corresponds to the extreme angular position of the negative direction of rotation of the servo, and the extreme angular position of rotation of the controller joint along the second preset direction corresponds to the extreme angular position of the positive direction of rotation of the servo.

[0101] In order to make the servo still rotate in the positive direction of the servo when the control joint rotates in the first preset direction, this step first swaps the first limit angle position and the second limit angle position and then sequentially enters the array representing the joint extreme value. When the first limit angle position and the second limit angle position are swapped, the value of the element a1 of the array is the second limit angle position, and the value of the element a2 of the array is the first limit angle position.

[0102] Example 2

[0103] See also Fig. 9 This embodiment provides a fighting robot controller joint matching device, the device comprising:

[0104] 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;

[0105] 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;

[0106] 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;

[0107] 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.

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

[0109] 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;

[0110] 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;

[0111] 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.

[0112] Example 3

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

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

[0115] 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.

[0116] 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.

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

[0118] 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.

[0119] 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.

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

[0121] Example 4

[0122] In addition, in combination with the joint matching 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 a processor, any joint matching method in the above embodiment is implemented.

[0123] The above is a detailed introduction to the fighting robot controller joint matching method and controller provided in the embodiments of the present invention.

[0124] Example 5

[0125] like Fig.11 As shown, this embodiment provides a fighting robot control method, such as Fig.16 As shown, the control method uses the controller worn on the operator's body in Example 1 to control the robot. Fig.12 As shown, the controller at least includes a wearable component 1 and an upper limb component 2. Figure 2 The upper limb assembly 2 shown includes a plurality of upper limb components, and a rotatable joint is formed between two adjacent upper limb components. One end of the upper limb assembly 2 of the controller is rotatably connected to the wearable component 1, and the other end is provided with a control unit for driving the upper limb assembly 2 to move under the action of an external force. The upper limb components of the controller correspond one-to-one to the various parts of the upper limbs of the human body. The specific corresponding relationship is that the shoulder component 21 of the upper limb component corresponds to the shoulder 21 of the human body, the upper arm component 22 of the upper limb component corresponds to the upper arm of the human body, the forearm component 23 of the upper limb component corresponds to the forearm of the human body, and the hand component 24 of the upper limb component corresponds to the hand of the human body. The joints between the upper limb components 2 on the controller also correspond one-to-one to the corresponding joints of the human body. As shown in FIG. Fig.13 As shown, the joints of the controlled robot correspond to the joints of the controller and the joints of the operator. The first joint 41 of the controller corresponds to the first steering gear 51 of the robot, the second joint 42 corresponds to the second steering gear 52 of the robot, the third joint 43 corresponds to the third steering gear 53 of the robot, the fourth joint 44 corresponds to the fourth steering gear 54 of the robot, and the fifth joint 45 corresponds to the fifth steering gear 55 of the robot.

[0126] After the operator wears the aforementioned control device, he holds the control unit with his hand. When the operator's hand 24 drives the operator's upper limb to move, the control unit drives each rotation joint in the upper limb assembly 2 to rotate, so that the upper limb assembly 2 moves synchronously with the operator's upper limb. At this time, the rotation angle of each rotation joint in the upper limb assembly 2 is consistent with the rotation angle of each human joint of the operator's upper limb. In this example, the rotation angle of each human joint of the operator can be detected by obtaining the current angular position of each rotation joint in the upper limb assembly 2, so as to control the robot according to the body movement of the operator's upper limb later.

[0127] The method of this embodiment includes the following steps.

[0128] S1A: Match the controller joint with the servo rotation direction;

[0129] In this step, the joint matching method in Example 1 is first used to match the rotation direction of the controller joint with the rotation direction of the servo to determine the corresponding relationship between the rotation direction of the controller joint and the rotation direction of the servo.

[0130] S2A: Obtain the angular position of the controller joint rotation when the controller joint rotates with the operator's limb joint;

[0131] When the operator wears the controller, the upper limb assembly 2 of the controller is located outside the upper limb of the operator. When the upper limb of the operator moves, the upper limb assembly 2 of the controller also moves synchronously with the operator. When the operator's joints rotate, the controller joints corresponding to the operator's joints on the controller also rotate by corresponding angles. Therefore, by obtaining the angular position of the rotation of the controller joint, the angle of the operator's joint movement can be obtained.

[0132] S3A: obtaining a control signal for controlling the steering gear of the corresponding joint of the robot to rotate to a corresponding angular position according to the angular position of the controller joint rotation;

[0133] This step converts the angular position of the controller joint rotation into a control signal for the corresponding angle of rotation of the robot's corresponding joint servo, so that the angle of rotation of the robot's corresponding joint servo is consistent with the angle of rotation of the controller joint. After receiving the control signal, the robot rotates to the corresponding position. Since the rotation angle of the controller joint is consistent with the rotation angle of the corresponding joint on the operator's body, the rotation angle of the robot's corresponding joint servo is also consistent with the rotation angle of the corresponding joint on the operator's body, making it easier for the operator to operate the robot. In addition, when the controller obtains the rotation of the operator's corresponding joint, it does not need to obtain the image of the operator's operation, so it is not easily disturbed by the external environment.

[0134] Suppose the angular position value currently detected by the controller joint is θr, the preset rotation range of the controller joint is [θ1,θ2], the preset rotation range of the servo is [φ1,φ2], and the intermediate angular position of the servo is φmid. Then the angular position value currently detected by the controller joint is θr, and the angular position value of the servo of the corresponding joint rotates to the corresponding angular position is φr, where if φ1≤φmid, φr=φ1+|φ1-φ2|×θa / |θ1-θ2|; if φ1>φmid, φr=φ1-|φ1-φ2|×θa / |θ1-θ2|.

[0135] As an optional but advantageous embodiment, a torque motor is provided on the controller joint of this embodiment, and the controller joint includes two parts that can rotate relative to each other, the housing of the torque motor is connected to one part of the controller joint, and the output end of the torque motor is connected to the other part of the controller joint. The torque motor is used to apply a torque that hinders the rotation of the controller joint, that is, the direction of the torque output by the torque motor is opposite to the direction of rotation of the controller joint.

[0136] In this embodiment, the control method further includes the following steps:

[0137] S5A: Get the hitting signal sent by the robot when it is hit;

[0138] In this embodiment, pressure sensors can be installed at various parts of the robot. For example, pressure sensors can be installed at the shoulder, upper arm, lower arm, hand, etc. of the robot, and each pressure sensor can be assigned an ID. When a certain part of the robot is hit, the pressure sensor at the part can detect the pressure generated by the hit, thereby generating a hit signal, which includes the ID of the pressure sensor of the detected pressure and the magnitude of the detected pressure.

[0139] S6A: Obtaining the struck part of the robot and the strength of the strike according to the strike signal;

[0140] Since the IDs of the pressure sensors in different parts of the robot are different, the part of the robot that was hit can be obtained based on the ID in the hitting signal, and the strength of the hit on that part can be obtained based on the magnitude of the pressure. The greater the pressure, the greater the strength of the hit.

[0141] S7A: acquiring a joint of a controller corresponding to a hit part of the robot according to the hit part of the robot;

[0142] In this step, the joint near the part of the robot that is hit can be selected as the target joint according to the part of the robot that is hit. For example, if the robot's upper arm is hit, the joint between the upper arm and the shoulder or the joint between the upper arm and the forearm can be selected as the target joint. Since there is a one-to-one correspondence between the joints of the controller and the joints of the robot, this step obtains the controller joint on the controller that corresponds to the selected target joint.

[0143] S8A: Determine the angular position range for applying the obstruction torque to the joint according to the strength of the blow received; In this step, the angular position range for applying the obstruction torque is determined according to the strength of the blow received by the joint robot, that is, the greater the strength of the blow received, the greater the angular position range for applying the obstruction torque. In this way, the user can better feel the difficulty in performing actions caused by the robot being injured, and the feedback effect that the more severe the blow received, the more difficult it is to perform actions.

[0144] S9A: When the joint of the corresponding controller rotates within the angular position range, a torque is applied to the joint to hinder the rotation of the joint.

[0145] For example, if the angular position range for applying the resisting torque determined in the previous step is [k1, k2], then when the joint of the controller rotates to an angular position between k1 and k2, the torque motor applies a force to the controller joint that is opposite to the rotation direction of the joint. In this way, after the robot is hit, it will be more difficult for the operator to rotate the corresponding limb joints, just like the feeling of slow movement after being injured.

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

[0147] 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.

[0148] 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.

[0149] 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.

[0150] 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 fighting robot controller joint matching method, characterized in that: The method comprises the following steps: Acquire the limit angular position of the controller joint rotating along the first preset direction as the first limit angular position; Acquire a limit angular position of the controller joint rotating along a second preset direction as a second limit angular position, wherein the second preset direction is a rotation direction opposite to the first preset direction; Acquire the auxiliary angular position of the controller joint rotating in a preset positive direction and the limit angular position of the servo forward rotation, wherein the preset positive direction is one of a first preset direction and a second preset direction; Determine the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the first limit angular position, the second limit angular position, the auxiliary angular position and the limit angular position of the steering gear forward rotation; The step of obtaining the auxiliary angular position of the controller joint rotating in a preset positive direction and the limit angular position of the servo forward rotation, wherein the preset positive direction is one of a first preset direction and a second preset direction, further comprises the following steps: Select one of the first preset direction and the second preset direction as a preset positive direction; Rotate the controller joint along the preset positive direction to within the preset rotation position range; Get the current angular position of the controller joint as the auxiliary angular position; The method of determining the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the first limit angular position, the second limit angular position, the auxiliary angular position and the limit angular position of the steering gear forward rotation further comprises the following steps: Acquire a calculated angular position of the servo corresponding to the auxiliary angular position according to the auxiliary angular position; comparing the calculated angular position with the extreme angular position of the servo forward rotation; According to the correspondence between the calculated angular position and the rotation direction of the joint for the positive rotation of the servo and the rotation direction of the servo; The step of obtaining the calculated angular position of the steering gear corresponding to the auxiliary angular position according to the auxiliary angular position further comprises the following steps: The comparison result of the limit angle position determines that the controller obtains a preset rotation range [θ1, θ2] of the controller joint as a first rotation range; Obtain the preset rotation range [φ1, φ2] of the servo as the second rotation range; Get the middle angular position φmid of the servo; Assume the auxiliary angular position is θa. If φ1≤φmid, then φcount=φ1+|φ1-φ2|×θa / |θ1-θ2|; if φ1>φmid, then φcount=φ1-|φ1-φ2|×θa / |θ1-θ2|, where φcount is the calculated angular position of the servo. The method of determining the corresponding relationship between the controller joint rotation direction and the steering gear rotation direction according to the comparison result of the calculated angular position and the steering gear forward rotation limit angular position also includes the following steps: If the difference between the calculated angular position of the servo and the extreme angular position of the positive direction of the servo is within the first preset range, the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation; If the difference between the calculated angular position of the servo and the extreme angular position of the positive direction of the servo is outside the second preset range, the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, and the preset positive direction of the controller joint rotation corresponds to the positive direction of the servo rotation.

2. The fighting robot controller joint matching method according to claim 1, characterized in that: After determining the corresponding relationship 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, the following steps are also included: If the preset positive direction of rotation of the controller joint corresponds to the positive direction of rotation of the servo, the first limit angle position and the second limit angle position are sequentially entered into an array representing the extreme value of the joint; If the preset positive direction of the controller joint rotation corresponds to the negative direction of the servo rotation, the first limit angle position and the second limit angle position are swapped and then sequentially entered into the array representing the joint limit angle position value.

3. 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-2.

4. A method for controlling a fighting robot, using a fighting robot controller worn on an operator's body to control the robot, characterized in that: The method comprises the following steps: Match the controller joints with the servo rotation direction; Obtaining the angular position of the controller joint rotation when the controller joint rotates with the operator's limb joints; According to the angular position of the controller joint rotation, a control signal for controlling the steering gear of the corresponding joint of the robot to rotate to the corresponding angular position is obtained; The method for matching the controller joints with the steering gear rotation direction is the fighting robot controller joint matching method described in any one of claims 1 to 2.

5. The fighting robot control method according to claim 4, characterized in that: The step of obtaining a control signal for controlling the steering gear of the corresponding joint of the robot to rotate to the corresponding angular position according to the angular position of the controller joint rotation also includes the following steps: Get the angular position value θr currently detected by the controller joint; Get the preset rotation range of the controller joint as [θ1,θ2] and the preset rotation range of the servo as [φ1,φ2]; Get the middle angular position of the servo as φmid and the angular position currently detected by the controller joint; According to the angular position value θr currently detected by the controller joint, the angular position value φr of the servo of the corresponding joint is obtained to rotate to the corresponding angular position, wherein if φ1≤φmid, then φr=φ1+|φ1-φ2|×θa / |θ1-θ2|; if φ1>φmid, then φr=φ1-|φ1-φ2|×θa / |θ1-θ2|; A control signal is generated according to the angular position value φr to control the steering gear to rotate to the corresponding angular position.

6. The fighting robot control method according to claim 5, characterized in that , further comprising the following steps; S5A: Get the hitting signal sent by the robot when it is hit; S6A: Obtaining the struck part of the robot and the strength of the strike according to the strike signal; S7A: acquiring a joint of a controller corresponding to a hit part of the robot according to the hit part of the robot; S8A: determining an angular position range for applying a resisting torque to the joint according to the force of the blow; S9A: When the joint of the corresponding controller rotates within the angular position range, a torque is applied to the joint to hinder the rotation of the joint.

Citation Information

Patent Citations

  • Control method for prevention of falling of martial art challenge robot from arena

    CN106965185A

  • Angle detection device and method for mechanical joint

    CN111319065A