Fighting robot controller detection method, device and system based on joint encoding
By using encoding and limiting structures in controller joint detection, rotating in two rotation directions and screening measurement data, the problem of inter-joint interference in controller joint detection is solved, and a fast and accurate detection effect is achieved.
Patent Information
- Application Number
- CN202211533775.6
- 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
In the prior art, when the controller joint detection is detected, mutual interference is easily caused between the joints, resulting in inaccurate detection.
By obtaining the currently detected controller joint code and rotating it in two opposite rotation directions to an angular position defined by the limit structure, measuring data for the joint is received and filtered out to detect whether its rotation range exceeds the allowable stroke.
It realizes rapid and accurate acquisition of rotation angle position data of controller joints, and can screen out joints that do not meet the stroke range in two rotations, improving detection efficiency and accuracy.
Smart Images

Figure CN115674139B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control technology, and in particular to a method, device and system for detecting a fighting robot controller based on joint coding. Background Art
[0002] In order to allow users to conveniently and accurately control the robot to perform the actions expected by the users, a wearable controller that can detect the rotation of the user's limb joints can be used to control the robot. This controller uses limb parts corresponding to human limbs to simulate human limbs. These limb parts form a rotatable connection through the controller joints, and the rotation of the controller joints is used to track the angle of rotation of the user's joints. An angular position sensor that can detect the angular position of the controller joint rotation in real time is installed on the controller joint, so that the rotation angle of the corresponding joint of the human body can be indirectly measured based on the data collected by the position sensor, so that the robot can perform corresponding actions according to the rotation angle of the corresponding joint of the user. In order to accurately control the robot, each controller joint on the controller needs to be individually tested before leaving the factory, but the controller is often equipped with multiple controller joints. When the controller joints are individually tested, it is easy for each controller joint to cause mutual interference. Summary of the invention
[0003] In view of this, an embodiment of the present invention provides a fighting robot controller detection method, device and system based on joint coding, which is used to solve the technical problem that the joints of each controller are prone to mutual interference during the existing controller joint detection.
[0004] The technical solution adopted by the present invention is:
[0005] In a first aspect, the present invention provides a controller detection method, the method comprising the following steps:
[0006] Get the code of the currently detected controller joint;
[0007] After rotating the currently detected controller joint along a first direction to a first angular position defined by a limiting structure, receiving measurement data sent by each controller joint, wherein the measurement data is data of the current rotational angular position of each controller joint measured by an angular position sensor;
[0008] Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data;
[0009] After rotating the currently detected controller joint along the second direction to a second angular position defined by the limiting structure, receiving measurement data sent by each controller joint, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0010] Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data;
[0011] Detecting whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data;
[0012] The first direction and the second direction are two opposite rotation directions.
[0013] Preferably, the data sent by each controller joint is included in a message sent by each controller joint, and the message also includes the code of each controller joint. The step of filtering out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint as the first measurement data according to the code of the currently detected controller joint includes the following steps:
[0014] Get the length of the measurement data corresponding to the currently detected controller joint;
[0015] Determine the position of the measurement data of the currently detected controller joint in the message sent by each controller joint according to the number of the currently detected controller joint and the length of the measurement data corresponding to the currently detected controller joint;
[0016] According to the position, the measurement data of the currently detected controller joint is extracted from the messages sent by each controller joint.
[0017] Preferably, the step of detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data further comprises the following steps:
[0018] Obtain the allowed rotational travel of the currently detected controller joint according to the number of the currently detected controller joint;
[0019] Determine the actual rotation stroke of the controller joint currently detected according to the first measurement data and the second measurement data;
[0020] Whether the rotation range of the currently detected controller joint exceeds the allowable rotation range is determined based on the size relationship between the allowable rotation range of the currently detected controller joint and the actual rotation range.
[0021] Preferably, after detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data, the method further includes the following steps:
[0022] Selecting a direction from the first direction and the second direction as a reference direction;
[0023] selecting one of the first angular position and the second angular position as a reference angular position according to the reference direction;
[0024] After rotating the currently detected controller joint toward the reference direction to near the reference angle position, receiving measurement data sent by each controller joint;
[0025] Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the third measurement data;
[0026] The first limit angular position and the second limit angular position of the currently detected controller joint are obtained according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the steering gear corresponding to the currently detected controller joint.
[0027] Preferably, the step of obtaining the first limit angular position and the second limit angular position of the currently detected controller joint according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint further comprises the following steps:
[0028] Determining whether the reference direction is consistent with the forward rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint;
[0029] If the reference direction is consistent with the forward rotation direction of the steering gear, the first measurement data is used as the first limit angle position, and the second measurement data is used as the second limit angle position;
[0030] If the reference direction is inconsistent with the forward rotation direction of the steering gear, the second measurement data is used as the first limit angular position, and the first measurement data is used as the second limit angular position;
[0031] Preferably, assuming that the rotation range of the servo is limited by the limit angular position value of the positive rotation of the servo and the limit angular position value of the negative rotation of the servo, the step of judging whether the reference direction is consistent with the positive rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint further comprises the following steps:
[0032] The theoretical angular position value Angc of the servo is calculated according to the first measurement data data1, the second measurement data data2, the third measurement data data3, the extreme angular position value Ang1 of the positive rotation of the servo, the extreme angular position value Ang2 of the negative rotation of the servo and the intermediate angular position value Angm of the servo. If Ang1≤Angm, then Angc= Ang1+ data3| Ang1- Ang2| / | data1-data2|; if Ang1>Angm, then Angc= Ang1- data3| Ang1- Ang2| / | data1- data2|.
[0033] Compare the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the servo forward rotation with the size of the preset error range;
[0034] If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is less than the first preset error range, the reference direction is consistent with the forward rotation direction of the servo.
[0035] If the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo is greater than or equal to the first preset error range, then the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo is compared with the second preset error range;
[0036] If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is greater than the second preset error range, the reference direction is inconsistent with the forward rotation direction of the servo;
[0037] Assume that the first preset error range is D1, the second preset error range is D2, and the effective stroke of the servo is L=|Ang1-Ang2|, then D1 is less than L / 2, D1 is greater than L / 2, and both D1 and D2 are positive numbers.
[0038] In a second aspect, the present invention further provides a fighting robot controller joint detection device, the device comprising:
[0039] A code acquisition module, wherein the controller joint code acquisition module is used to acquire the code of the currently detected controller joint;
[0040] A first angular position measurement data receiving module, the first angular position measurement data receiving module is used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated along a first direction to a first angular position defined by a limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0041] A first data screening module, the first data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data;
[0042] a second angular position measurement data receiving module, the second angular position measurement data receiving module being used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated in a second direction to a second angular position defined by the limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0043] A second data screening module, the second data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data;
[0044] A rotation range determination module, the rotation range determination module is used to detect whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data;
[0045] The first direction and the second direction are two opposite rotation directions.
[0046] In a third aspect, the present invention also provides a fighting robot controller for controlling a 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.
[0047] In a fourth aspect, the present invention further provides a fighting robot system, comprising the fighting robot controller and the fighting robot described in the third aspect.
[0048] Beneficial effects: The fighting robot controller detection method, device and system based on joint coding of the present invention receives the rotation angle position data collected by all controller joints at one time during the detection process, and then uses the number of the currently detected controller joint to quickly filter out the data belonging to the current controller joint from the received data. In this way, the control circuit of the controller joint with a smaller processing capability can directly send the data to the host computer, and let the work of filtering the data be performed by the host computer with a faster processing speed, so that the rotation angle position data of the currently detected controller joint can be quickly and accurately obtained. The present invention detects whether the rotation range of the controller joint exceeds the allowable rotation stroke through the rotation angle position data when the controller joint rotates in two rotation directions to the angular position limited by the limit structure. The controller joint that does not meet the stroke range can be quickly filtered out by rotating the controller joint twice. 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 schematic diagram of the flow of the controller detection method of the present invention;
[0051] Figure 2 It is a schematic diagram of the structure of the arc groove in the joint limiting structure of the controller of the present invention;
[0052] Figure 3 It is a structural schematic diagram of a protrusion in the joint limiting structure of the controller of the present invention;
[0053] Figure 4 A schematic flow chart of a method for obtaining first measurement data according to the present invention;
[0054] Figure 5 It is a flow chart of a method for detecting the rotation range of a controller joint according to the present invention;
[0055] Figure 6 A schematic flow chart of a method for obtaining the limit angle position of a controller joint according to the present invention;
[0056] Figure 7 It is a flow chart of a method for obtaining a joint limit angle position according to a rotation direction of a controller according to the present invention;
[0057] Figure 8 A schematic diagram of a flow chart of a method for determining the consistency of rotation directions of controller joints according to the present invention;
[0058] Fig. 9 is a structural block diagram of a controller detection device of the present invention;
[0059] Fig.10 is a structural block diagram of a controller of the present invention;
[0060] Fig.11 It is a schematic diagram of the range of the angular position value of the steering gear of the present invention;
[0061] Fig.12 It is a schematic diagram of the three-dimensional structure of the controller 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 joint of the present invention;
[0064] Fig.15 This is a schematic diagram of the structure of the fighting robot of the present invention;
[0065] Fig.16 A schematic flow chart of a method for controlling a fighting robot according to 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 detecting a fighting robot controller. The fixed robot controller detected in this embodiment is used to control the robot. The detected controller includes a plurality of controller joints. An angular position sensor for measuring the rotational angular position of the controller joint is provided on the controller joint. The method includes the following steps:
[0070] S1: Get the code of the currently detected controller joint;
[0071] In order to accurately distinguish each controller joint on the controller, this embodiment assigns a one-to-one code to each controller joint, and the code is used as the ID of the controller joint. The code includes but is not limited to numbers, symbols, graphics, and any combination of the above forms.
[0072] S2: After rotating the currently detected controller joint along a first direction to a first angular position defined by a limit structure, receiving measurement data sent by each controller joint, wherein the measurement data is data of the current rotational angular position of each controller joint measured by an angular position sensor;
[0073] Since the rotation angles of the human body's joints are within a certain range, the rotation angles of the servos that drive the robot joints to rotate also have a certain range to match the range of human body joint rotation. This embodiment uses the angle of rotation of the controller joints to control the rotation of the robot servos, so there are certain restrictions on the range of controller joint rotation. As one implementation, a limit structure can be used to limit the range of controller joint rotation. Figure 2 As shown, since the controller joint includes two sets of components that can rotate relative to each other, an arc-shaped limit groove can be set on one of the sets of components, such as Figure 3 As shown, a limiting protrusion 54 is provided on another set of components, and both ends of the limiting groove have limiting surfaces 53, so that the limiting protrusion 54 can only rotate between the limiting surfaces 53 at both ends.
[0074] There are two directions of rotation for a controller joint. For the convenience of description, the two directions of rotation of the controller joint are referred to as a first direction and a second direction in this article.
[0075] In this step, the controller joint currently being tested is rotated in the first direction until the protrusion 54 abuts against a limiting surface 53 of the limiting groove and the controller joint currently being tested is in the first angular position defined by the limiting structure. At this time, the angular position sensors installed on each controller joint will send the measured real-time data to the host computer used for controller testing. The data received by the host computer includes the measurement data of the angular position sensors of all controller joints.
[0076] S3: Filtering out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data;
[0077] This step uses the code of the controller joint to filter out the measurement data of the currently detected controller joint from the measurement data of many controller joints for subsequent processing.
[0078] In this embodiment, the measurement data generated by the angular position sensor is sent to the host computer in the form of a message. The data sent by each controller joint is included in the message sent by each controller joint. The message also includes the code of each controller joint, such as Figure 4 As shown, the S3: selecting the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data includes the following steps:
[0079] S31: Obtain the length of the measurement data corresponding to the currently detected controller joint;
[0080] The length of the measurement data may be the number of bytes of the measurement data. For example, the length of the measurement data corresponding to the currently measured controller joint is k bytes, that is, the real-time angular position of the controller joint detected by the angular position sensor of the currently detected controller joint is represented by k bytes of data.
[0081] S32: determining the position of the measurement data of the currently detected controller joint in the message sent by each controller joint according to the number of the currently detected controller joint and the length of the measurement data corresponding to the currently detected controller joint;
[0082] The message contains both the controller joint number and the controller joint measurement data. In the specific implementation, the measurement data of each controller joint can be placed after the controller joint number. In this case, the measurement data of the controller joint can be screened out according to the controller joint number. For example, the number of the currently detected controller joint is 0041, and the length of the measurement data of the controller joint numbered 0041 is k bytes. Then, the position of the currently detected controller joint measurement data in the message is the position of k bytes after 0041.
[0083] S33: extracting the measurement data of the currently detected controller joint from the messages sent by each controller joint according to the position.
[0084] For example, the number of the currently detected controller joint is 0041, and the length of the measurement data of the controller joint numbered 0041 is k bytes, then the data of k bytes after numbered 0041 can be extracted as the measurement data of the currently detected controller joint.
[0085] S4: After rotating the currently detected controller joint along the second direction to a second angular position defined by the limit structure, receiving measurement data sent by each controller joint, wherein the measurement data is data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0086] After obtaining the measurement data of the first angular position of the controller joint, this step rotates the currently detected controller joint in the second direction until the protrusion 54 abuts against the other limiting surface 53 of the limiting groove and the currently detected controller joint is in the second angular position limited by the limiting structure. At this time, the angular position sensors installed on each controller joint will send the measured real-time data to the host computer used for controller detection. The data received by the host computer includes the measurement data of the angular position sensors of all controller joints.
[0087] S5: Filtering out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data;
[0088] This step uses the code of the controller joint to filter out the measurement data of the currently detected controller joint from the measurement data of many controller joints for subsequent processing.
[0089] In this embodiment, the measurement data generated by the angular position sensor is sent to the host computer in the form of a message, and the data sent by each controller joint is included in the message sent by each controller joint, and the message also includes the code of each controller joint. The S5: filtering out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint as the second measurement data according to the code of the currently detected controller joint includes the following steps:
[0090] S51: Obtain the length of the measurement data corresponding to the currently detected controller joint;
[0091] The length of the measurement data may be the number of bytes of the measurement data. For example, the length of the measurement data corresponding to the currently measured controller joint is k bytes, that is, the real-time angular position of the controller joint detected by the angular position sensor of the currently detected controller joint is represented by k bytes of data.
[0092] S52: determining the position of the measurement data of the currently detected controller joint in the message sent by each controller joint according to the number of the currently detected controller joint and the length of the measurement data corresponding to the currently detected controller joint;
[0093] The message contains both the controller joint number and the controller joint measurement data. In the specific implementation, the measurement data of each controller joint can be placed after the controller joint number. In this case, the measurement data of the controller joint can be screened out according to the controller joint number. For example, the number of the currently detected controller joint is 0041, and the length of the measurement data of the controller joint numbered 0041 is k bytes. Then, the position of the currently detected controller joint measurement data in the message is the position of k bytes after 0041.
[0094] S53: extracting the measurement data of the currently detected controller joint from the messages sent by each controller joint according to the position.
[0095] For example, the number of the currently detected controller joint is 0041, and the length of the measurement data of the controller joint numbered 0041 is k bytes, then the data of k bytes after numbered 0041 can be extracted as the measurement data of the currently detected controller joint.
[0096] This embodiment first directly receives the measurement data sent by all controller joints at the first time, so that the measurement data of the controller joints has high real-time performance, and then uses the encoding of the current controller joints to quickly filter out the measurement data of the current controller joints from the received data. In this way, the angular position data of the currently detected controller joint when it rotates to the first angular position and the second angular position can be simply, quickly and accurately collected.
[0097] S6: Detecting whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data;
[0098] Due to the problem of manufacturing precision, the limiting structures of a small number of controller joints cannot limit the controller joints within the allowable rotation range, resulting in the actual angular position range of these controller joints being too large and exceeding the allowable rotation range of the controller joints. These controller joints need to be screened out and processed during the detection of the controller.
[0099] like Figure 5 As shown, in this embodiment, S6: detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data also includes the following steps:
[0100] S61: Obtaining the allowed rotational travel of the currently detected controller joint according to the number of the currently detected controller joint;
[0101] S62: Determine the actual rotation stroke of the currently detected controller joint according to the first measurement data and the second measurement data;
[0102] Assume that the first measurement data is data1 and the second measurement data is data2, then the actual rotation stroke of the controller joint currently detected is Dctr=|data1-data2|.
[0103] S63: judging whether the rotation range of the currently detected controller joint exceeds the allowable rotation range according to the relationship between the allowable rotation range of the currently detected controller joint and the actual rotation range.
[0104] Assume that the rotation range allowed by the currently detected controller joint is D0,
[0105] If Dctr≤D0, the rotation range of the controller joint does not exceed the allowable rotation range. If Dctr>D0, the rotation range of the controller joint exceeds the allowable rotation range.
[0106] If the rotation range of the controller joint exceeds the allowed rotation range, the currently detected controller joint can be replaced with a controller joint of the same type, and the replaced controller joint is detected until the actual rotation range of the replaced controller joint is less than the allowed rotation range.
[0107] After the rotation stroke detection of the controller joint is completed, the consistency of the rotation direction of the controller joint and the rotation direction of the servo can also be detected, so as to make the extreme angular position value of the controller joint rotation correspond to the extreme angular position value of the servo rotation.
[0108] like Figure 6 As an optional but advantageous implementation, after S6: detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data, the following steps are also included:
[0109] S7: Selecting a direction from the first direction and the second direction as a reference direction;
[0110] In this step, select any controller joint rotation direction as the reference direction, assuming that the reference direction is consistent with the positive rotation direction of the servo.
[0111] S8: selecting one of the first angular position and the second angular position as a reference angular position according to the reference direction;
[0112] If the reference direction is the first direction, the first angular position is selected as the reference angular position, and if the reference direction is the second direction, the second angular position is selected as the reference angular position.
[0113] S9: rotating the currently detected controller joint toward the reference direction to near the reference angle position and receiving measurement data sent by each controller joint;
[0114] The reference angle position is near the reference angle position, which means that the absolute value of the angle difference with the reference angle position is less than the preset range Z. The preset range Z can be selected based on experience. Generally, Z is less than half of the actual rotation stroke of the current controller. When the controller joint is rotated into place, the measurement data sent by each controller joint can be received.
[0115] S10: Filtering out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the third measurement data;
[0116] This step extracts the data of the currently detected controller joint from the numerous controller joint data as the third measurement data. The extraction method is the same as the aforementioned method of extracting the current controller joint measurement data from the message, which will not be repeated here.
[0117] S11: Acquire a first limit angular position and a second limit angular position of a currently detected controller joint according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint.
[0118] This step uses the measurement data of the previous angular position sensor to determine the two extreme angular positions corresponding to the rotation range of the servo, so that the rotation of the servo is consistent with the rotation of the controller joint, so that the user can easily and accurately control the robot movement.
[0119] like Figure 7 As shown, in this embodiment, the S11: obtaining the first limit angle position and the second limit angle position of the currently detected controller joint according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint also includes the following steps:
[0120] S111: judging whether the reference direction is consistent with the forward rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint;
[0121] Whether the reference direction is consistent with the positive rotation direction of the steering gear means that in actual control, when the controller joint rotates toward the reference direction, the steering gear also rotates positively.
[0122] The rotation range of the servo is limited by the servo's positive rotation limit angle position value and the servo's negative rotation limit angle position value. When the servo is installed on the robot, the servo's positive rotation limit angle position value and the negative rotation limit angle position value are also determined. When the controller is used to control the robot's movement, the servo will only rotate between the positive rotation limit angle position and the negative rotation limit angle position. Fig.11 As shown, Fig.11 It shows the rotation range of the five servos 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.
[0123] like Figure 8 The step S111: judging whether the reference direction is consistent with the forward rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint, further comprises the following steps:
[0124] S1111: Calculate the theoretical angular position value Angc of the servo according to the first measurement data data1, the second measurement data data2, the third measurement data data3, the extreme angular position value Ang1 of the servo's positive rotation, the extreme angular position value Ang2 of the servo's negative rotation and the intermediate angular position value Angm of the servo. If Ang1 is less than or equal to Angm, then Angc= Ang1+ data3| Ang1-Ang2| / | data1- data2|; if Ang1 is greater than Angm, then Angc= Ang1- data3| Ang1- Ang2| / | data1-data2|. The intermediate angular position value Angm of the servo is half of the maximum stroke that the servo can rotate. For example, the maximum angular position value that the servo can rotate from the position with an angular position value of 0 to the position with an angular position value of 1024, then the intermediate angular position value of the servo is 512;
[0125] S1112: comparing the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo with a preset error range;
[0126] Assuming the first preset error range is D1, the effective stroke of the servo L=| Ang1 - Ang2|, then D1 is a positive number less than L / 2, where the specific value of D1 can be selected based on experience on the premise of meeting the above requirements.
[0127] S1113: If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is less than a first preset error range, the reference direction is consistent with the forward rotation direction of the servo.
[0128] If the theoretical angular position value of the servo is close to the limit angular position value of the servo's positive rotation, it means that the previously assumed reference direction is correct.
[0129] S1114: if the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo is greater than or equal to the first preset error range, then comparing the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo with the second preset error range;
[0130] If the difference between the theoretical angular position value of the servo and the maximum angular position value of the servo's positive rotation is large, it means that the previously assumed reference direction is incorrect.
[0131] In order to further clarify the correspondence between the two rotation directions of the controller joint and the two rotation directions of the servo, this step continues to compare the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the positive rotation of the servo with the second preset error range. Assuming the second preset error range is D2, the effective stroke of the servo L=|Ang1-Ang2|, then D2 is a positive number greater than L / 2, where the specific value of D2 can be selected based on experience on the premise of meeting the above requirements.
[0132] S1115: If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is greater than a second preset error range, the reference direction is inconsistent with the forward rotation direction of the servo;
[0133] S112: if the reference direction is consistent with the forward rotation direction of the servo, the first measurement data is used as the first limit angular position, and the second measurement data is used as the second limit angular position;
[0134] If the reference direction is consistent with the positive rotation direction of the servo, then the first angular position of the controller joint corresponds to the extreme angular position of the positive rotation of the servo, and the first angular position corresponds to the extreme angular position of the negative rotation of the servo.
[0135] S113: If the reference direction is inconsistent with the forward rotation direction of the servo, the second measurement data is used as the first limit angular position, and the first measurement data is used as the second limit angular position.
[0136] If the reference direction is inconsistent with the positive rotation direction of the servo, the second angular position of the controller joint corresponds to the extreme angular position of the positive rotation of the servo, and the first angular position corresponds to the extreme angular position of the negative rotation of the servo.
[0137] By adopting the above-mentioned method, no matter what the corresponding relationship between the rotation direction of the controller joint and the rotation direction of the servo is, this embodiment can use the first extreme angle position to correspond to the extreme angle position of the positive rotation of the servo, and use the second extreme angle position to correspond to the extreme angle position of the negative rotation of the servo, so that the subsequent control of the robot is more timely and accurate.
[0138] Example 2
[0139] See also Fig. 9 This embodiment provides a fighting robot controller detection device, the device comprising:
[0140] A controller joint code acquisition module, the controller joint code acquisition module is used to acquire the code of the currently detected controller joint;
[0141] A first angular position measurement data receiving module, the first angular position measurement data receiving module is used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated along a first direction to a first angular position defined by a limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0142] A first data screening module, the first data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data;
[0143] a second angular position measurement data receiving module, the second angular position measurement data receiving module being used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated in a second direction to a second angular position defined by the limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor;
[0144] A second data screening module, the second data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data;
[0145] A rotation range determination module, the rotation range determination module is used to detect whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data;
[0146] The first direction and the second direction are two opposite rotation directions.
[0147] The first data screening module also includes:
[0148] A measurement data length acquisition submodule, wherein the measurement data length acquisition submodule is used to acquire the length of the measurement data corresponding to the currently detected controller joint;
[0149] A data position acquisition submodule, the data position acquisition submodule is used to determine the position of the measurement data of the currently detected controller joint in the message sent by each controller joint according to the number of the currently detected controller joint and the length of the measurement data corresponding to the currently detected controller joint;
[0150] A data extraction submodule is used to extract the measurement data of the currently detected controller joint from the messages sent by each controller joint according to the position.
[0151] Example 3
[0152] In addition, combined Fig.10 The fighting robot controller detection 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.
[0153] The controller of this embodiment may include a control circuit 401 and a memory 402 storing computer program instructions.
[0154] 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.
[0155] 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.
[0156] The processor 401 reads and executes computer program instructions stored in the memory 402 to implement any one of the data addressing methods for regional random controller detection in the above embodiments.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] Example 4
[0161] In addition, in combination with the controller detection 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 controller detection method in the above embodiment is implemented.
[0162] The above is a detailed introduction to the controller detection method, device, controller and storage medium provided by the embodiments of the present invention.
[0163] Example 5
[0164] The present invention also provides a fighting robot system, which includes the fighting robot controller and the fighting robot described in the above embodiments.
[0165] Example 6
[0166] like Fig.16 As shown, this embodiment provides a fighting robot control method, such as Fig.16 As shown in FIG, the method uses a controller wearable on the user's body to control the robot, such as Fig.12 As shown, the controller includes a wearable component 1 and two upper limb components 2, and the two upper limb components 2 are respectively connected to the two sides of the lower wearable component 1. The upper limb component 2 is formed by connecting multiple upper limb components, wherein two adjacent upper limb components are connected together through the controller joint and can rotate relative to each other. Fig.14 As shown, the controller joint in this embodiment includes a first component 51 and a second component 52 that can rotate relative to each other, one of the two adjacent upper limb components is connected to the first component 51, and the other is connected to the second component 52. When in use, the controller is worn on the user through the wearable component 1, and the user holds the free end of the upper limb component 2 with his hand. When the user's arm moves, the upper limb component 2 of the controller also moves synchronously with the user's arm, and the controller joint rotates with the rotation of each joint of the user's arm.
[0167] The method comprises the following steps:
[0168] S01: Detecting each controller joint of the controller one by one according to the controller detection method described in any one of claims 1 to 6;
[0169] S02: Obtaining rotation angle position data collected by each controller joint when the controller moves with the user's limbs under the user's operation;
[0170] Since there is a certain correspondence between the various upper limb parts of the controller and various parts of the human body, the rotation of the controller joints can track the rotation of the corresponding joints of the human body. By detecting the angular position of the rotation of the controller joints, the angular position of the rotation of the corresponding joints of the user can be measured. Fig.13 As shown, the specific corresponding relationship is that the shoulder component 21 of the upper limb component corresponds to the shoulder 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.
[0171] S03: According to the rotation angle position data collected by each controller joint, the steering gear corresponding to each controller joint on the robot is controlled to drive the robot to move.
[0172] In the specific implementation, the angular position sensor can be used to detect the angular position of the controller joint rotation in real time, and the collected rotation angle position data is sent to the control circuit of the controller. The control circuit first obtains the first limit angular position arc1 and the second limit angular position arc2 of each controller joint collected after the previous detection, and obtains the limit angular position value Ang1 of the positive rotation of each steering gear, the limit angular position value Ang2 of the negative rotation, and the intermediate angular position value of the steering gear. Let the collected current rotation angle position data of the controller joint be arci, and the target angular position value Angi of the steering gear corresponding to the controller joint, if Ang1 is less than or equal to Angm, then Angi= Ang1+ arci| Ang1- Ang2| / | arc1- arc2|, if Ang1 is greater than Angm, then Angi= Ang1+ arci| Ang1- Ang2| / | arc1- arc2|. After calculating the target angular position value of the steering gear according to the above formula, the target angular position value is sent to the corresponding steering gear, so that the corresponding steering gear rotates to the corresponding angular position.
[0173] The aforementioned control method uses the rotation angle position of the controller joint to track the rotation angle position of the corresponding joint on the user's limbs, and then controls the rotation angle position of the robot's servo according to the rotation angle position of the controller joint. The controller joint and the robot's servo have a corresponding relationship. In this way, the servos of each joint of the robot can drive the robot to perform corresponding actions according to the user's limb movements, thereby improving the simplicity and accuracy of the robot controller. Fig.13 and Fig.15 As shown in , the corresponding relationship between the servo and the controller joint is as follows. Fig.13 and Fig.16As 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.
[0174] As an optional but advantageous implementation, the control method of this embodiment further includes the following steps:
[0175] S04: Obtaining a pressure signal generated by the robot being hit;
[0176] In this embodiment, pressure sensors may be arranged at different parts of the robot. When the robot is hit, the pressure sensors at the hit parts may detect the pressure generated by the hit and generate a pressure signal indicating the magnitude of the pressure.
[0177] S05: Determine the part of the robot that is hit according to the implemented pressure signal;
[0178] Since pressure sensors are set at multiple different parts of the robot, an ID can be assigned to each pressure sensor. The pressure signal of the pressure sensor contains the ID of the pressure sensor that generates the pressure signal. The corresponding sensor can be found through this ID. The location where the sensor is installed on the robot is the part where the robot is hit.
[0179] S06: determining a controller joint corresponding to the struck part according to the struck part of the robot;
[0180] In this step, the robot joint closest to the struck part can be selected as the corresponding joint. Since the robot joint and the controller joint have a corresponding relationship, the controller joint corresponding to the robot joint is used as the controller joint corresponding to the struck part. Fig.15 As shown:
[0181] S07: applying a resistance torque to the corresponding controller joint to hinder its rotation according to the pressure signal;
[0182] The direction of the resistance torque is opposite to the direction of rotation of the controller joint. Since the greater the pressure represented by the pressure signal, the more severe the blow to the robot is. This embodiment can control the magnitude and / or time and / or angular position range of the resistance torque according to the magnitude of the pressure represented by the pressure signal.
[0183] For example, the greater the pressure represented by the pressure signal, the greater the resistance torque applied to the controller joint, and vice versa.
[0184] For example, the greater the pressure represented by the pressure signal, the longer the time for applying the resistance torque to the controller joint, and vice versa.
[0185] For example, the greater the pressure represented by the pressure signal, the greater the angular position range of the resistance torque applied to the controller joint, and vice versa. The angular position range of the resistance torque applied to the controller joint is [A1, A2], and when the user's arm drives the controller joint to rotate to an angular position between A1 and A2, a resistance torque is applied to the controller joint. In this way, when the robot is hit, it becomes difficult for the user to control the robot with his arm, and the heavier the hit, the more difficult it is for the user to control the robot with his arm, and the longer it lasts, so that the user can feel the effect of the robot being hit in person, thereby improving the realism of the robot competition game.
[0186] In order to better simulate the real effect of the robot's restricted movement after being hit, the angular position range of the resistance torque applied to the controller joint can also be set to multiple interval position ranges, so that when the robot is hit, the user's arm will intermittently feel the resistance of the joint movement when moving, so that the robot can feel the effect of the robot's movement being jerked and not smooth after being hit. When the robot is hit for more than a certain period of time, the resistance torque applied to the controller joint gradually decreases until it is completely removed, so that the user can feel the effect of the robot gradually recovering after being hit.
[0187] In order to realize the aforementioned control method, this embodiment can set a torque motor for each controller joint, and the torque motor applies a resistance torque to the controller joint. The stator part of the torque motor is connected to the first part 51 of the controller joint, and the rotor part of the torque motor is connected to the second part 52 of the controller joint, and the torque motor and the control circuit of the controller generate electric torque. When it is necessary to apply a resistance torque to the controller joint, the control circuit of the controller first detects the rotation direction of the controller joint, and then controls the torque motor to apply a resistance torque opposite to the rotation direction of the controller joint.
[0188] The above is a detailed introduction to the controller detection method, device, equipment, storage medium and robot control method of the present invention.
[0189] 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.
[0190] 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.
[0191] 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.
[0192] 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 detection method based on joint coding, characterized in that: The controller includes a plurality of controller joints, and an angular position sensor for measuring the rotational angular position of the controller joint is provided on the controller joint. The method includes the following steps: Get the code of the currently detected controller joint; After rotating the currently detected controller joint along a first direction to a first angular position defined by a limiting structure, receiving measurement data sent by each controller joint, wherein the measurement data is data of the current rotational angular position of each controller joint measured by an angular position sensor; Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data; After rotating the currently detected controller joint along the second direction to a second angular position defined by the limiting structure, receiving measurement data sent by each controller joint, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor; Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data; Detecting whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data; The first direction and the second direction are two opposite rotation directions; After detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data, the following steps are also included: Selecting a direction from the first direction and the second direction as a reference direction; selecting one of the first angular position and the second angular position as a reference angular position according to the reference direction; After rotating the currently detected controller joint toward the reference direction to near the reference angle position, receiving measurement data sent by each controller joint; Filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the third measurement data; Acquire a first limit angular position and a second limit angular position of the currently detected controller joint according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint; Assuming that the rotation range of the servo is limited by the limit angular position value of the positive rotation of the servo and the limit angular position value of the negative rotation of the servo, the step of judging whether the reference direction is consistent with the positive rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint further includes the following steps: Calculate the theoretical angular position value Angc of the servo according to the first measurement data data1, the second measurement data data2, the third measurement data data3, the limit angular position value Ang1 of the positive rotation of the servo, the limit angular position value Ang2 of the negative rotation of the servo and the intermediate angular position value Angm of the servo. If Ang1≤Angm, then Angc=Ang1+data3|Ang1-Ang2| / |data1-data2|; if Ang1>Angm, then Angc=Ang1-data3|Ang1-Ang2| / |data1-data2|; Compare the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the servo forward rotation with the size of the preset error range; If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is less than a first preset error range, the reference direction is consistent with the forward rotation direction of the servo; If the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo is greater than or equal to the first preset error range, then the absolute value of the difference between the theoretical angular position value of the servo and the extreme angular position value of the forward rotation of the servo is compared with the second preset error range; If the absolute value of the difference between the theoretical angular position value of the servo and the limit angular position value of the forward rotation of the servo is greater than the second preset error range, the reference direction is inconsistent with the forward rotation direction of the servo; Assume that the first preset error range is D1, the second preset error range is D2, and the effective stroke of the servo is L=|Ang1-Ang2|, then D1 is less than L / 2, D1 is greater than L / 2, and both D1 and D2 are positive numbers.
2. The method for detecting a fighting robot controller based on joint coding according to claim 1, characterized in that: The data sent by each controller joint is included in the message sent by each controller joint, and the message also includes the code of each controller joint. The method of filtering the measurement data of the currently detected controller joint from the measurement data sent by each controller joint as the first measurement data according to the code of the currently detected controller joint includes the following steps: Get the length of the measurement data corresponding to the currently detected controller joint; Determine the position of the measurement data of the currently detected controller joint in the message sent by each controller joint according to the number of the currently detected controller joint and the length of the measurement data corresponding to the currently detected controller joint; According to the position, the measurement data of the currently detected controller joint is extracted from the messages sent by each controller joint.
3. The method for detecting a fighting robot controller based on joint coding according to claim 1, characterized in that: The method of detecting whether the rotation range of the currently detected controller joint exceeds the allowed rotation range according to the first measurement data and the second measurement data further comprises the following steps: Obtain the allowed rotational travel of the currently detected controller joint according to the number of the currently detected controller joint; Determine the actual rotation stroke of the controller joint currently detected according to the first measurement data and the second measurement data; Whether the rotation range of the currently detected controller joint exceeds the allowable rotation range is determined based on the size relationship between the allowable rotation range of the currently detected controller joint and the actual rotation range.
4. The method for detecting a fighting robot controller based on joint coding according to claim 1, characterized in that: The step of obtaining the first limit angular position and the second limit angular position of the currently detected controller joint according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the steering gear corresponding to the currently detected controller joint further comprises the following steps: Determining whether the reference direction is consistent with the forward rotation direction of the servo according to the first measurement data, the second measurement data, the third measurement data and the rotation range of the servo corresponding to the currently detected controller joint; If the reference direction is consistent with the forward rotation direction of the steering gear, the first measurement data is used as the first limit angle position, and the second measurement data is used as the second limit angle position; If the reference direction is inconsistent with the forward rotation direction of the steering gear, the second measurement data is used as the first limit angular position, and the first measurement data is used as the second limit angular position.
5. A fighting robot controller detection device based on joint coding, which detects a fighting robot controller using the fighting robot controller detection method based on joint coding according to claim 1, characterized in that: The device comprises: A controller joint code acquisition module, the controller joint code acquisition module is used to acquire the code of the currently detected controller joint; A first angular position measurement data receiving module, the first angular position measurement data receiving module is used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated along a first direction to a first angular position defined by a limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor; A first data screening module, the first data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the first measurement data; a second angular position measurement data receiving module, the second angular position measurement data receiving module being used to receive measurement data sent by each controller joint after the currently detected controller joint is rotated in a second direction to a second angular position defined by the limit structure, the measurement data being data of the current rotational angular position of each controller joint measured by the angular position sensor; A second data screening module, the second data screening module is used to screen out the measurement data of the currently detected controller joint from the measurement data sent by each controller joint according to the code of the currently detected controller joint as the second measurement data; A rotation range determination module, the rotation range determination module is used to detect whether the rotation range of the controller joint currently detected exceeds the allowed rotation range according to the first measurement data and the second measurement data; The first direction and the second direction are two opposite rotation directions.
6. A fighting robot controller, used to control a 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 4.
7. A fighting robot system, characterized in that: It includes the fighting robot controller and the fighting robot described in claim 6.
8. The fighting robot system according to claim 7, characterized in that: The fighting robot is controlled by using a fighting robot controller wearable on the user's body. When the fighting robot moves with the user's limbs under the user's operation, each controller joint collects the controller joint rotation angle position data, and then controls the servos corresponding to each controller joint on the robot according to the rotation angle position data collected by each controller joint to drive the robot to move.
Citation Information
Patent Citations
Steering engine state control method and device of robot, robot and storage medium
CN111113427A
Steering engine and robot
CN216682191U