Fighting robot controller calibration method, device, controller and control method
By checking and storing all joints of the fighting robot controller uniformly, the problem of users changing joints privately is solved, ensuring the normal operation of the controller and the accurate control of the robot.
Patent Information
- Application Number
- CN202211533781.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2042-12-02
AI Technical Summary
The existing controller verification methods cannot prevent users from using privately replaced controller joints, resulting in unqualified controllers circulating in the market.
By verifying all joints of the controller, recording and uniformly storing the first limit angle position and the second limit angle position of each joint, and reading these positions when the controller is powered on, ensuring that only joints that have been replaced by regular manufacturers can work properly.
It effectively avoids users from using privately replaced controller joints, ensures the normal operation of the controller and the accurate control of the robot, and prevents the circulation of unqualified controllers.
Smart Images

Figure CN115635467B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control technology, and in particular to a combat robot controller calibration method, device, controller and control method. Background Art
[0002] In the field of robot control, a handle-type controller is usually used to control the robot. The handle-type controller is provided with buttons or joysticks. The user who controls the robot can control the robot to perform the user's expected actions by pressing buttons or operating joysticks. However, the actions of the user pressing buttons or operating joysticks in the aforementioned control method are quite different from the actions performed by the robot, so it is difficult for the user to control the robot. For this, a controller that can recognize the user's limb movements can be used to control the robot. This controller is provided with multiple joints, which correspond to the joints of the human body. When the user's limbs move, the joints of the controller can detect the angle of rotation of the corresponding joints of the user's limbs. Thus, the rotation of the corresponding joints of the user's limbs controls the robot to perform actions that are highly consistent with the user's limb movements. Using the aforementioned controller to control the robot's actions requires the joints of the controller to be verified and the limit angle position of the rotation of each controller joint to be determined so that the robot can be accurately controlled. However, after a joint in the controller is damaged or fails, it is often the case that the joints of the controller are replaced privately without the authorization of the regular manufacturer, and the replaced controller is used to control the robot, which easily leads to the circulation of unqualified controllers in the market. Summary of the invention
[0003] In view of this, an embodiment of the present invention provides a fighting robot controller verification method, device, controller and control method, which are used to solve the technical problem that the existing controller verification method cannot prevent users from using controller joints that have been replaced privately.
[0004] The technical solution adopted by the present invention is:
[0005] In a first aspect, the present invention provides a controller calibration method, wherein the controller includes a plurality of controller joints, and the method includes the following steps:
[0006] After all controller joints of the controller are installed, select one of the controller joints that have not been verified as the controller joint currently being verified;
[0007] Verify the selected controller joints;
[0008] Record the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result;
[0009] Repeat the above steps until all controller joints have been calibrated;
[0010] After all controller joints have been calibrated, the first limit angle positions and the second limit angle positions of all controller joints are sent to the controller using a private communication protocol;
[0011] After the controller is powered on, the first limit angle position and the second limit angle position corresponding to all the controller joints of the controller are read.
[0012] Preferably, the checking of the selected controller joint further comprises the following steps:
[0013] Verify the rotation range of the controller joint currently being verified;
[0014] Verify the rotation direction of the controller joints that have passed the previous verification or processing.
[0015] Preferably, verifying the rotation range of the controller joint currently being verified further includes the following steps:
[0016] Get the actual rotation range of the controller joint currently being verified;
[0017] Get the allowed rotation range of the controller joint currently being verified;
[0018] Determine whether the actual rotation range of the controller joint currently being verified exceeds the allowable rotation range of the controller joint;
[0019] If the actual rotation range of the controller joint currently being verified does not exceed the allowable rotation range of the controller joint, the rotation range verification of the controller joint is qualified, otherwise the controller is processed accordingly.
[0020] Preferably, the step of obtaining the actual rotation range of the currently verified controller joint further comprises the following steps:
[0021] Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the first direction as the first angular position;
[0022] Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the second direction as the second angular position;
[0023] Calculating an actual rotation range of a currently verified controller joint according to the first angular position and the second angular position;
[0024] The first direction and the second direction are two opposite rotation directions.
[0025] Preferably, the step of verifying the rotation direction of the controller joint that has passed the previous verification or has been processed further comprises the following steps:
[0026] Obtaining a preset positive direction of the controller joint currently being verified, where the preset positive direction is one of the first direction and the second direction;
[0027] According to the preset positive direction, one of the first angular position and the second angular position is acquired as the first preset angular position, and the other is acquired as the second preset angular position;
[0028] Get the positive rotation limit angle position and negative rotation limit angle position of the servo corresponding to the controller joint;
[0029] Acquire the angular position of the controller joint currently being verified when it rotates toward the preset positive direction to a position close to the first preset angular position as the preset positive rotation angular position;
[0030] According to the preset positive rotation angle position, the first preset angle position, the second preset angle position, the positive rotation limit angle position of the steering gear, and the negative rotation limit angle position of the steering gear, it is determined whether the preset positive direction is consistent with the positive rotation direction of the steering gear.
[0031] Preferably, recording the first limit angular position value and the second limit angular position value of the currently verified controller joint according to the verification result further includes the following steps:
[0032] If the preset positive direction is consistent with the positive rotation direction of the servo, the first preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the second limit angular position;
[0033] If the preset positive direction is inconsistent with the positive rotation direction of the servo, the second preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the first limit angular position.
[0034] In a second aspect, the present invention further provides a combat robot controller verification device, the device comprising:
[0035] A controller joint selection module, wherein the controller joint selection module is used to select one of the controller joints that have not been verified as the currently verified controller joint after all the controller joints of the controller are installed;
[0036] A controller joint verification module, the controller joint verification module is used to verify the selected controller joints;
[0037] A limit angle position recording module, wherein the limit angle position recording module is used to record the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result;
[0038] A repeating execution module, the repeating execution module is used to repeat the above steps until all controller joints have completed the verification;
[0039] A limit angle position storage module, wherein the limit angle position storage module is used to send the first limit angle position and the second limit angle position of all controller joints to the controller using a private communication protocol after all controller joints have been calibrated;
[0040] The limit angle position reading module is used to read the first limit angle position and the second limit angle position corresponding to all controller joints of the controller after the controller is powered on.
[0041] In a third 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.
[0042] In a fourth 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:
[0043] Verify the controller according to the controller verification method described in the first aspect;
[0044] Obtain the first limit angular position and the second limit angular position of each controller joint;
[0045] Obtain the positive rotation limit angle position and negative rotation limit angle position of the servo corresponding to each controller joint;
[0046] Obtaining the angular position of each controller joint when the controller moves with the user's limbs under user operation;
[0047] The rotation of each servo of the robot is controlled according to the angular position of each controller joint rotation, the first limit angular position, the second limit angular position and the positive rotation limit angular position and negative rotation limit angular position of the servo corresponding to each controller joint.
[0048] Beneficial effects: The combat robot controller verification method, device, controller and control method of the present invention adopt a method of uniformly storing and uniformly reading the first limit angle position and the second limit angle position of all controller joints after all joints of the controller are verified, and each controller joint in the controller has a specific first limit angle position and a second limit angle position, and the first limit angle position and the second limit angle position corresponding to different controller joints are not exactly the same. Therefore, if one or several controller joints are replaced, it is also necessary to re-verify the entire set of controller joints of the controller and resend the verified limit angle position to the controller for updating to ensure that there will be no errors in the control of the robot. If one or several controller joints of the controller are replaced privately without the authorization of the regular manufacturer, then the first limit angle position and the second limit angle position corresponding to the controller joint read after the controller is powered on will not match the actual first limit angle position and the second limit angle position of the controller joint. Using such a controller, it is impossible to control the robot normally, so it can be avoided that the user uses the controller with the controller joint replaced privately to control the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] 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.
[0050] Figure 1 It is a flow chart of the controller verification method of the present invention;
[0051] Figure 2 A schematic diagram of a flow chart of a method for calibrating a single controller joint according to the present invention;
[0052] Figure 3 A schematic diagram of a flow chart of a method for verifying the rotation range of a controller joint according to the present invention;
[0053] Figure 4 A schematic diagram of a flow chart of a method for calculating an actual rotation range of a controller joint according to the present invention;
[0054] Figure 5 It is a schematic diagram of the structure of the arc groove in the joint limiting structure of the controller of the present invention;
[0055] Figure 6 It is a structural schematic diagram of a limit block in the controller joint limit structure of the present invention;
[0056] Figure 7 A schematic diagram of a flow chart of a method for verifying the rotation direction of a controller joint according to the present invention;
[0057] Figure 8 A schematic diagram of a flow chart of a method for recording the limit angle positions of controller joints according to the present invention;
[0058] Fig. 9 is a structural block diagram of a controller verification device of the present invention;
[0059] Fig.10 The structural block diagram of the controller is shown in Figure 2.
[0060] Fig.11 A schematic flow chart of a robot control method of the present invention;
[0061] Fig.12 is a schematic diagram of the servo rotation angle position range of the present invention;
[0062] Fig.13 It is a schematic structural diagram of an upper limb component of the controller in the present invention;
[0063] Fig.14 It is a structural schematic diagram of the controller of the present invention;
[0064] Fig.15 is a structural schematic diagram of a joint module of the present invention;
[0065] Fig.16 is a schematic structural diagram of an upper limb of the robot of the present invention;
[0066] Fig.17 This is a schematic diagram of the fighting robot controller of the present invention controlling the fighting robot. DETAILED DESCRIPTION
[0067] 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.
[0068] Example 1
[0069] like Figure 1 As shown, this embodiment provides a method for verifying a fighting robot controller, wherein the controller includes a plurality of controller joints, and the method includes the following steps:
[0070] S1: After all controller joints of the controller are installed, one of the controller joints that have not been verified is selected as the currently verified controller joint;
[0071] The aforementioned several controller joints refer to the number of controller joints being 2 or more. Since the controller in this embodiment has multiple controller joints, this embodiment adopts a method of verifying the controller joints one by one. If there are still controller joints that have not been verified, this step selects one controller joint from these controllers that have not been verified as a controller joint to be verified in a subsequent step.
[0072] S2: Check the selected controller joints;
[0073] This step verifies the controller joint selected in the previous step. The verification process includes but is not limited to the verification of the rotation direction of the controller joint and the verification of the rotation range of the controller joint.
[0074] like Figure 2 As shown, as an optional but advantageous implementation, in this embodiment S2: verifying the selected controller joint mainly includes the following steps:
[0075] S21: Verify the rotation range of the controller joint currently being verified;
[0076] This step mainly verifies whether the rotation range of the controller joint will exceed the stroke allowed by the controller joint. Different controllers have different stroke limits.
[0077] S22: Verify the rotation direction of the controller joints that have passed the previous verification or processing.
[0078] This step is performed after the rotation range of the controller joint is verified in the previous step. This step mainly verifies the correspondence between the rotation direction of the controller joint and the rotation direction of the robot servo it controls.
[0079] S3: Recording the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result;
[0080] This step determines the first limit angle position and the second limit angle position of the controller joint currently being verified based on the verification result of the previous step. These two angular positions are the boundary values of the angle range that the controller joint currently being verified can rotate. In the control of the robot, these two limit angle positions can be used to calculate the angular position of the corresponding steering gear. After the verification of the previous step, the above two limit angle positions can be accurately obtained, so that the controller can be better used to control the robot later.
[0081] S4: Repeat the above steps until all controller joints have completed the calibration;
[0082] If the current controller joint has completed the calibration, repeat the previous steps and select other controller joints to calibrate one by one until all controller joints on the controller have been calibrated.
[0083] S5: after all controller joints have been calibrated, the first limit angle positions and the second limit angle positions of all controller joints are sent to the controller using a private communication protocol;
[0084] In this step, after all controller joints of the controller have been verified, the two extreme angle positions of all controller joints are sent to the controller by means of a private communication protocol, and then are uniformly written into the storage medium of the controller.
[0085] S6: After the controller is powered on, the first limit angle position and the second limit angle position corresponding to all the controller joints of the controller are read.
[0086] Each time the controller is powered on, the first limit angle position and the second limit angle position recorded after verification will be uniformly read. Since the present embodiment adopts the method of uniformly storing and uniformly reading the first limit angle position and the second limit angle position of all controller joints after all joints of the controller are verified, and each controller joint in the controller has a specific first limit angle position and a second limit angle position, the first limit angle position and the second limit angle position corresponding to different controller joints are not exactly the same. Therefore, if one or several controller joints are replaced, the controller needs to be re-calibrated to ensure that there will be no errors in the control of the robot. If one or several controller joints of the controller are replaced privately without the authorization of the regular manufacturer, then the first limit angle position and the second limit angle position corresponding to the controller joint read after the controller is powered on will not match the actual first limit angle position and the second limit angle position of the controller joint, and the controller will not be able to control the robot normally.
[0087] like Figure 3 As shown, as an optional but advantageous implementation, in this embodiment, S21: verifying the rotation range of the currently verified controller joint further includes the following steps:
[0088] S211: Obtaining the actual rotation range of the controller joint currently being verified;
[0089] Each controller joint is not arbitrarily rotatable, that is, each controller can only rotate within a certain angular position range. A limited position structure is provided on the controller joint in this embodiment, and the controller joint includes two relatively rotatable parts. For the convenience of describing this embodiment, the two relatively rotatable parts are respectively referred to as a first part 51 and a second part 52. Figure 5 and Figure 6As shown, the aforementioned limiting structure can be an arc groove provided in the first part 51 and a limiting block 54 provided in the second part 52. When the limiting block 54 rotates with the second part 52 to abut against one side wall 53 of the arc groove, the controller joint cannot continue to rotate in the direction close to the side wall 53, and the angular position of the controller joint is at a boundary position of the actual rotation range of the controller joint. Similarly, when the limiting block 54 rotates with the first part 51 to abut against the other side wall 53 of the arc groove, the controller joint cannot continue to rotate in the direction close to the side wall 53, and the angular position of the controller joint is at another boundary position of the actual rotation range of the controller joint. The angular position range between the aforementioned two boundary positions is the actual rotation range of the controller joint.
[0090] like Figure 4 As shown, in this embodiment, S211: obtaining the actual rotation range of the controller joint currently being verified further includes the following steps:
[0091] S2111: Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the first direction as the first angular position;
[0092] The controller joint of this embodiment can rotate around a certain axis. The controller joint has two rotation directions. For the convenience of description, these two directions are called the first direction and the second direction in this embodiment, wherein the first direction and the second direction are two opposite rotation directions.
[0093] When implementing this step, the controller joint currently being checked can be rotated in the first direction until the limit block 54 abuts against a side wall 53 of the arc groove. At this time, the angular position of the controller joint is limited by the limit structure, and the angular position of the controller joint is the first angular position.
[0094] S2112: Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the second direction as the second angular position;
[0095] Similarly, when implementing this step, the controller joint currently being checked can be rotated in the second direction until the limit block 54 abuts against the other side wall 53 of the arc groove. At this time, the angular position of the controller joint is limited by the limit structure, and the angular position of the controller joint is the second angular position.
[0096] S2113: Calculate the actual rotation range of the controller joint currently being verified according to the first angular position and the second angular position;
[0097] Assuming the first angular position is α1 and the second angular position is α2, the actual rotation range of the controller joint is |α2-α1|.
[0098] S212: Obtaining the allowed rotational travel of the controller joint currently being verified;
[0099] Each controller joint has an allowable rotation stroke, which can be set based on experience. Due to the limitation of the manufacturing precision of the controller joint, the rotation range of the controller joint limited by the controller joint limit structure may exceed the allowable rotation stroke of the controller joint.
[0100] S213: Determine whether the actual rotation range of the controller joint currently being verified exceeds the allowable rotation range of the controller joint;
[0101] Suppose the controller joint allows rotation range M, where M is a positive number. If |α2-α1|≤M, the actual rotation range of the controller joint does not exceed the controller joint allows rotation range. If |α2-α1|>M, the actual rotation range of the controller joint exceeds the controller joint allows rotation range.
[0102] S214: If the actual rotation range of the controller joint currently being verified does not exceed the allowable rotation range of the controller joint, the rotation range verification of the controller joint is qualified, otherwise the controller is processed accordingly.
[0103] If the controller joint rotation range check is qualified, the next step of rotation direction check can be carried out. If the actual rotation range of the controller joint currently being checked exceeds the allowable rotation range of the controller joint, then the current controller joint rotation range check is unqualified. At this time, the controller joint currently being checked needs to be processed. The processing method can be to replace the controller joint currently being checked with a controller joint of the same type, and then repeat the above steps to check the rotation range of the replaced controller joint until the controller joint rotation range check is qualified.
[0104] like Figure 7 As shown, as an optional but advantageous implementation, in this embodiment, the S22: verifying the rotation direction of the controller joint that has passed the previous verification or has been processed also includes the following steps:
[0105] S221: Acquire a preset positive direction of the controller joint currently being verified, where the preset positive direction is one of the first direction and the second direction;
[0106] In this step, one of the two directions of rotation of the controller joint is selected as the assumed positive direction, which is the preset positive direction mentioned above.
[0107] S222: acquiring, according to the preset positive direction, one of the first angular position and the second angular position as the first preset angular position, and the other as the second preset angular position;
[0108] The angular position defined by the controller joint limit structure when rotating in the preset positive direction is the first preset angular position. For example, if the first direction is selected as the preset positive direction, the first angular position is the first preset angular position, and the second angular position is the second preset angular position. If the second direction is now selected as the preset positive direction, the first angular position is the second preset angular position, and the second angular position is the second preset angular position.
[0109] S223: Obtaining the positive rotation limit angle position of the servo corresponding to the controller joint and the negative rotation limit angle position of the servo;
[0110] The servos of the robot controlled by the controller have a one-to-one correspondence with the controller joints on the controller. After the servos on the robot are installed, the servos also have a set rotation range. When the robot moves normally, the servos rotate within this set rotation range. This set rotation range can be set as needed. For example, the preset rotation range can be approximated to the rotation range of the corresponding human joint. The rotation range of the servo can be defined by the servo's positive rotation limit angular position and the servo's negative rotation limit angular position. When the robot moves normally, the servo rotates within the range between its positive rotation limit angular position and its negative rotation limit angular position. Fig.12 As shown, Fig.12 The figure shows the rotation range of the five motors on the robot, among which the limit angular position of the positive direction rotation of the first servo is 316, and the limit angular position of the negative direction rotation is 866, and the servo rotates between 316 and 866; the limit angular position of the positive direction rotation of the second servo is 158, and the limit angular position of the negative direction rotation is 630, and the servo rotates between 158 and 630; the limit angular position of the positive direction rotation of the third servo is 984, and the limit angular position of the negative direction rotation is 276, and the servo rotates between 984 and 276; the limit angular position of the positive direction rotation of the fourth servo is 158, and the limit angular position of the negative direction rotation is 866, and the servo rotates between 158 and 866; the limit angular position of the positive direction rotation of the fifth servo is 708, and the limit angular position of the negative direction rotation is 158, and the servo rotates between 708 and 158.
[0111] S224: Obtaining the angular position of the controller joint currently being verified when it rotates toward the preset positive direction to a position close to the first preset angular position as the preset positive rotation angular position;
[0112] The degree of approaching the first preset angular position can be set based on experience, and the degree of approaching can be represented by a positive angle value k. Where k is less than half of the actual rotation stroke of the controller joint. For example, if the first preset angular position is αs1, and the angular position of the control joint when it rotates toward the preset positive direction to approach the first preset angular position is αp, then if |αs1-αp| is less than or equal to k, it can be considered that the controller joint has rotated toward the preset positive direction to approach the first preset angular position.
[0113] S225: Determine whether the preset positive direction is consistent with the forward rotation direction of the servo according to the preset positive rotation angle position, the first preset angle position, the second preset angle position, the positive rotation limit angle position of the servo, and the negative rotation limit angle position of the servo.
[0114] In this step, the theoretical rotation angle position of the servo corresponding to the positive rotation angle position can be calculated according to the positive rotation angle position, the first preset angle position, the second preset angle position, the positive rotation limit angle position of the servo, and the negative rotation limit angle position of the servo.
[0115] The specific calculation method is: let the preset positive rotation angle position be αp, the first preset angle position be αs1, the second preset angle position be αs2, the limit angle position of the positive rotation of the servo be γ1, the limit angle position of the negative rotation of the servo be γ2, and the middle position of the servo rotation be γsem. First determine the size relationship between γ1 and γsem. If γ1≤γsem, then γc=γ1+αp×|γ2-γ1| / |αs2-αs1|, if γ1<γsem, then γc=γ1-αp×|γ2-γ1| / |αs2-αs1|, where γc is the theoretical rotation angle position of the servo corresponding to the positive rotation angle position. The middle angle position of the servo is the angle 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 middle position of the servo is 512.
[0116] Then, it can be determined whether the preset positive direction is consistent with the positive rotation direction of the steering gear according to the theoretical rotation angle position of the steering gear and the limit angle position of the positive rotation of the steering gear.
[0117] Before judging, first obtain the allowable error range γdef between the theoretical rotation angle position and the extreme angle position of the positive rotation of the servo. If |γc-γ1|≤γdef, it means that the preset rotation direction is consistent with the positive rotation direction of the servo. When the joint rotates in the preset rotation direction, the servo will also rotate in the positive direction. Otherwise, it means that the preset rotation direction is opposite to the positive rotation direction of the servo. The allowable error range γdef can be determined based on experience. Usually, γdef is less than half of the servo stroke.
[0118] like Figure 8 As shown, in this embodiment, S3: recording the first limit angle position value and the second limit angle position value of the controller joint currently being verified according to the verification result also includes the following steps:
[0119] S31: if the preset positive direction is consistent with the positive rotation direction of the servo, the first preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the second limit angular position;
[0120] If the preset positive direction is consistent with the direction of positive rotation of the servo, the servo rotates positively when the controller joint rotates in the first direction, and the limit angle position of the controller joint rotating in the first direction, i.e., the first limit angle position, corresponds to the limit angle position of positive rotation of the servo. And the limit angle position of the controller rotating in the second direction, i.e., the second limit angle position, corresponds to the limit angle position of negative rotation of the servo.
[0121] S32: If the preset positive direction is inconsistent with the positive rotation direction of the servo, the second preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the first limit angular position.
[0122] If the preset positive direction is inconsistent with the positive rotation direction of the servo, the servo rotates negatively when the controller joint rotates in the first direction, then the limit angle position of the controller joint rotating in the first direction, i.e., the first limit angle position, corresponds to the limit angle position of the negative rotation of the servo. And the limit angle position of the controller rotating in the second direction, i.e., the second limit angle position, corresponds to the limit angle position of the positive rotation of the servo.
[0123] Example 2
[0124] See also Fig. 9 This embodiment provides a combat robot controller verification device, the device comprising:
[0125] A controller joint selection module, wherein the controller joint selection module is used to select one of the controller joints that have not been verified as the currently verified controller joint after all the controller joints of the controller are installed;
[0126] A controller joint verification module, the controller joint verification module is used to verify the selected controller joints;
[0127] A limit angle position recording module, wherein the limit angle position recording module is used to record the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result;
[0128] A repeating execution module, the repeating execution module is used to repeat the above steps until all controller joints have completed the verification;
[0129] A limit angle position storage module, wherein the limit angle position storage module is used to send the first limit angle position and the second limit angle position of all controller joints to the controller using a private communication protocol after all controller joints have completed verification;
[0130] The limit angle position reading module is used to read the first limit angle position and the second limit angle position corresponding to all controller joints of the controller after the controller is powered on.
[0131] The controller joint verification module also includes:
[0132] A controller joint rotation range verification submodule, wherein the controller joint rotation range verification submodule is used to verify the rotation range of the controller joint currently being verified;
[0133] The controller joint rotation direction verification submodule is used to verify the rotation direction of the controller joint that has passed the previous step of verification or has been processed.
[0134] Example 3
[0135] In addition, combined Fig.10 The fighting robot controller verification 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 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 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 combat robot joint verification 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 one of the joint verification methods in the above embodiment is implemented.
[0145] The above is a detailed introduction to the fighting robot joint calibration method, device, and controller provided by the embodiments of the present invention.
[0146] Example 5
[0147] This embodiment provides a fighting robot control method, such as Fig.17 As shown, the robot is controlled by a controller that can be worn on the user's body, such as Fig.14 As shown, the controller includes a wearable device 1, a first upper limb component and a second upper limb component. The first upper limb component and the second upper limb component are connected to the wearable device 1 on the left and right sides of the wearable device 1, respectively. Fig.13 As shown, the two upper limb components 2, namely the first upper limb component and the second upper limb component, are composed of multiple upper limb parts, and controller joints are arranged between adjacent upper limb parts. Fig.15 As shown, each controller joint is composed of a first part 51 and a second part 52, wherein the first part 51 can rotate relative to the second part 52. One of the two adjacent upper limb parts is connected to the first part 51, and the other is connected to the second part 52. The upper limb parts correspond to the parts of the upper limbs of the human body. The specific corresponding relationship is that the shoulder part 21 of the upper limb part corresponds to the shoulder 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] The controller joints also correspond to human body joints. The user wears the wearable device 1 on the body, and then holds the free ends of the first upper limb component and the second upper limb component with the left and right hands respectively. When the user's upper limbs move, the first upper limb component and the second upper limb component can be driven to move by the hands 24, and the controller joints also move with the corresponding human body joints. The angle of the controller joint rotation can be used to detect the angle of the human body joint movement, such as Fig.11 As shown, the method comprises the following steps:
[0149] S10: Verify the controller according to the controller verification method described in the first aspect;
[0150] This step completes the recording of the first limit angle position and the second limit angle position of each joint of the controller by verifying the controller.
[0151] S20: Obtaining the first limit angular position and the second limit angular position of each controller joint;
[0152] S30: Obtaining the positive rotation limit angle position and the negative rotation limit angle position of the servo corresponding to each controller joint;
[0153] S40: Obtaining the angular position of each controller joint rotation when the controller moves with the user's limbs under the user's operation;
[0154] The robot controlled by this embodiment is provided with servos that drive the robot joints to move, and these servos also have corresponding relationships with the controller joints. Fig.13 and Fig.16 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.
[0155] This embodiment uses the angular position of the controller joint rotation to detect the angular position of the human body joint rotation, and uses the angular position of the controller joint rotation to control the robot steering gear rotation, so that the robot driven by the steering gear can perform corresponding actions according to the user's limb movements, so that the actions performed by the robot are highly consistent with the user's own limb movements, thereby greatly reducing the difficulty of the user controlling the robot. As an optional implementation, this embodiment can detect the angular position of the controller joint rotation through a magnetic encoding machine.
[0156] S50: Control the rotation of each servo of the robot according to the angular position of each controller joint rotation, the first limit angular position, the second limit angular position, and the positive rotation limit angular position and negative rotation limit angular position of the servo corresponding to each controller joint.
[0157] In the specific implementation of this step, the rotation angle position of the corresponding servo is first obtained according to the rotation angle position of the controller joint. Let the rotation angle position of the i-th controller joint be αi, the middle position of the servo rotation be γsem, the first preset angle position be αL1, the second preset angle position be αL2, the positive rotation limit angle position of the servo is γ1, the negative rotation limit angle position of the servo is γ2, let the rotation angle position of the servo corresponding to the i-th controller joint be γi, if γ1≤γsem,
[0158] Then γi=γ1+αi×|γ2-γ1| / |αL2-αL1|, if γ1<γsem, then γi=γ1-αi×|γ2-γ1| / |αL2-αL1|.
[0159] After obtaining the rotation angle position of each servo, the controller circuit of the controller sends these angle positions to the corresponding servo, and the corresponding servo rotates to the angle position. The aforementioned controller method can make the rotation range of the controller joint correspond to the rotation range of the robot joint, so that the robot joint driven by the servo can rotate proportionally with the rotation of the controller joint, thereby increasing the difficulty of user operation, so that the user can simply and accurately control the robot to quickly make the user's expected action in the robot competition.
[0160] As an optional but advantageous implementation, in this embodiment, a feedback device is also provided on the controller joint, and the feedback device can be a vibration device or a torque motor. The torque motor is connected to the first part 51 of the controller joint through a housing, and the output end of the torque motor is connected to the second part 52 of the controller joint. Various parts of the robot are provided with pressure sensors for detecting the blows received by the robot. When a certain part of the robot is hit, the pressure sensor will detect the pressure signal generated by the blow, and the robot will send the pressure signal to the controller, and the sensor code of the pressure signal generated by the controller joint and the size of the pressure signal are used to control the vibration of the vibration device or control the torque motor to suppress the rotation of the joint.
[0161] The specific control method includes the following steps:
[0162] S60: Obtaining the struck part of the robot according to the sensor code generating the pressure signal;
[0163] Since different pressure sensors are installed at different parts of the robot and each sensor has a code, the position of the pressure sensor that generates the pressure signal on the robot can be found through the sensor code, and this position can be used as the part of the robot that is hit.
[0164] S70: acquiring a controller joint corresponding to the struck part of the robot according to the struck part of the robot;
[0165] The controller joints corresponding to the hit parts of the robot have a corresponding relationship, and the corresponding relationship can be formulated by the manufacturer according to the needs. For example, the steering gear closest to the hit part of the robot can be made to correspond to the hit part of the robot, and then the controller joint corresponding to the steering gear of the robot is used as the controller joint corresponding to the hit part of the robot.
[0166] S80: According to the magnitude of the pressure signal, the torque motor is controlled to apply a resistance distance to the controller joint corresponding to the struck part of the robot, and the resistance distance is opposite to the rotation direction of the controller joint.
[0167] The heavier the hit on the robot, the greater the pressure signal generated by the pressure sensor. This step uses a torque motor to apply the effect of the hit on the robot to the controller. Since the user needs to operate the controller to move, the user can feel the effect of the robot being hit through the controller. The greater the pressure signal generated by the sensor, the greater the resistance distance applied by the torque motor to the controller joint, and the more obvious the inhibitory effect on the rotation of the controller joint. The user can not only feel the part of the robot that was hit, but also the strength of the hit, making the robot competition more realistic.
[0168] The above is a detailed introduction to the fighting robot controller verification method, device, equipment and storage medium and robot control method of the present invention.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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 verifying a fighting robot controller, characterized in that: The controller includes a plurality of controller joints, and the method includes the following steps: After all controller joints of the controller are installed, select one of the controller joints that have not been verified as the controller joint currently being verified; Verify the selected controller joints; Record the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result; Repeat the above steps until all controller joints have been calibrated; After all controller joints have been calibrated, the first limit angle positions and the second limit angle positions of all controller joints are sent to the controller using a private communication protocol; After the controller is powered on, the first limit angle position and the second limit angle position corresponding to all the controller joints of the controller are read; The verification of the selected controller joint also includes the following steps: Verify the rotation range of the controller joint currently being verified; Verify the rotation direction of the controller joints that have passed the previous verification or processing; Verifying the rotation range of the controller joint currently being verified also includes the following steps: Get the actual rotation range of the controller joint currently being verified; Get the allowed rotation range of the controller joint currently being verified; Determine whether the actual rotation range of the controller joint currently being verified exceeds the allowable rotation range of the controller joint; If the actual rotation range of the controller joint currently being verified does not exceed the allowable rotation range of the controller joint, the rotation range verification of the controller joint is qualified, otherwise the controller is processed accordingly; The step of obtaining the actual rotation range of the currently verified controller joint further comprises the following steps: Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the first direction as the first angular position; Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the second direction as the second angular position; Calculating an actual rotation range of a currently verified controller joint according to the first angular position and the second angular position; The first direction and the second direction are two opposite rotation directions; The verification of the rotation direction of the controller joint that has passed the previous verification or has been processed also includes the following steps: Obtaining a preset positive direction of the controller joint currently being verified, where the preset positive direction is one of the first direction and the second direction; According to the preset positive direction, one of the first angular position and the second angular position is acquired as the first preset angular position, and the other is acquired as the second preset angular position; Get the positive rotation limit angle position and negative rotation limit angle position of the servo corresponding to the controller joint; Acquire the angular position of the controller joint currently being verified when it rotates toward the preset positive direction to a position close to the first preset angular position as the preset positive rotation angular position; Whether the preset positive direction is consistent with the positive rotation direction of the steering gear is determined according to the preset positive rotation angle position, the first preset angle position, the second preset angle position, the extreme angle position of the positive rotation of the steering gear, and the extreme angle position of the negative rotation of the steering gear.
2. The method for verifying a fighting robot controller according to claim 1, characterized in that: The step of judging whether the preset positive direction is consistent with the positive rotation direction of the steering gear according to the preset positive rotation angle position, the first preset angle position, the second preset angle position, the positive rotation limit angle position of the steering gear, and the negative rotation limit angle position of the steering gear further comprises the following steps: Obtain a preset positive rotation angle position αp, a first preset angle position αs1, a second preset angle position αs2, a positive rotation limit angle position of the servo γ1, and a negative rotation limit angle position of the servo γ2, Get the middle position of the servo rotation as γsem; Determine the size relationship between γ1 and γsem; The theoretical rotation angle position of the servo is calculated according to the relationship between γ1 and γsem. If γ1≤γsem, then γc=γ1+αp×|γ2-γ1| / |αs2-αs1|. If γ1<γsem, then γc=γ1-αp×|γ2-γ1| / |αs2-αs1|, where γc is the theoretical rotation angle position of the servo corresponding to the positive rotation angle position. Whether the preset positive direction is consistent with the direction of the forward rotation of the steering gear is determined according to the theoretical rotation angle position of the steering gear and the limit angle position of the forward rotation of the steering gear.
3. The method for verifying a fighting robot controller according to claim 1, characterized in that: The step of recording the first limit angle position value and the second limit angle position value of the controller joint currently being verified according to the verification result also includes the following steps: If the preset positive direction is consistent with the positive rotation direction of the servo, the first preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the second limit angular position; If the preset positive direction is inconsistent with the positive rotation direction of the servo, the second preset angular position is recorded as the first limit angular position, and the second preset angular position is recorded as the first limit angular position.
4. A combat robot controller verification device, characterized in that: The device comprises: A controller joint selection module, wherein the controller joint selection module is used to select one of the controller joints that have not been verified as the currently verified controller joint after all the controller joints of the controller are installed; A controller joint verification module, the controller joint verification module is used to verify the selected controller joints; A limit angle position recording module, wherein the limit angle position recording module is used to record the first limit angle position and the second limit angle position of the controller joint currently being verified according to the verification result; A repeated execution module, wherein the repeated execution module is used to repeatedly run the controller joint selection module, the controller joint verification module, and the limit angle position recording module until all controller joints have completed verification; A limit angle position storage module, wherein the limit angle position storage module is used to send the first limit angle position and the second limit angle position of all controller joints to the controller using a private communication protocol after all controller joints have completed verification; A limit angle position reading module, wherein the limit angle position reading module is used to read the first limit angle position and the second limit angle position corresponding to all controller joints of the controller after the controller is powered on; The verification of the selected controller joint also includes the following steps: Verify the rotation range of the controller joint currently being verified; Verify the rotation direction of the controller joints that have passed the previous verification or processing; Verifying the rotation range of the controller joint currently being verified also includes the following steps: Get the actual rotation range of the controller joint currently being verified; Get the allowed rotation range of the controller joint currently being verified; Determine whether the actual rotation range of the controller joint currently being verified exceeds the allowable rotation range of the controller joint; If the actual rotation range of the controller joint currently being verified does not exceed the allowable rotation range of the controller joint, the rotation range verification of the controller joint is qualified, otherwise the controller is processed accordingly; The step of obtaining the actual rotation range of the currently verified controller joint further comprises the following steps: Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the first direction as the first angular position; Obtaining the angular position defined by the limiting structure of the controller joint when the currently verified controller joint is rotated along the second direction as the second angular position; Calculating an actual rotation range of a currently verified controller joint according to the first angular position and the second angular position; The first direction and the second direction are two opposite rotation directions; The verification of the rotation direction of the controller joint that has passed the previous verification or has been processed also includes the following steps: Obtaining a preset positive direction of the controller joint currently being verified, where the preset positive direction is one of the first direction and the second direction; According to the preset positive direction, one of the first angular position and the second angular position is acquired as the first preset angular position, and the other is acquired as the second preset angular position; Get the positive rotation limit angle position and negative rotation limit angle position of the servo corresponding to the controller joint; Acquire the angular position of the controller joint currently being verified when it rotates toward the preset positive direction to a position close to the first preset angular position as the preset positive rotation angular position; Whether the preset positive direction is consistent with the positive rotation direction of the steering gear is determined according to the preset positive rotation angle position, the first preset angle position, the second preset angle position, the extreme angle position of the positive rotation of the steering gear, and the extreme angle position of the negative rotation of the steering gear.
5. 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.
6. A fighting robot control method, characterized in that: The robot is controlled by a controller wearable on a user's body, the method comprising the following steps: Verifying the controller according to the method for verifying a fighting robot controller according to any one of claims 1 to 3; Obtain the first limit angular position and the second limit angular position of each controller joint; Obtain the positive rotation limit angle position and negative rotation limit angle position of the servo corresponding to each controller joint; Obtaining the angular position of each controller joint when the controller moves with the user's limbs under user operation; The rotation of each servo of the robot is controlled according to the angular position of each controller joint rotation, the first limit angular position, the second limit angular position and the positive rotation limit angular position and negative rotation limit angular position of the servo corresponding to each controller joint.
Citation Information
Patent Citations
Security power limiting and unlocking system of fighting robots
CN109701284A
Wheeled robot check system and method
CN111002328A