A robot integrated test system and related methods, devices, and electronic devices
Through the integrated testing system of computing devices and controllers, the state jump instructions of the multimodal platform are simulated and verified and optimized, which solves the driving needs of the multimodal platform in a wide-area environment and realizes safe and efficient state jump testing.
Patent Information
- Application Number
- CN202210298834.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-24
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2042-03-24
AI Technical Summary
The existing state machine solution of a single-movement platform cannot meet the driving needs of multimodal platforms in a wide-area environment, and the state jump logic of the multimodal platform has problems such as logic errors, redundancy and contradictions, resulting in unsafe and inefficient testing.
Through the integrated testing system of the robot of computing equipment and controller combined with the motor, the simulation verification and redundant processing of state jump instructions are carried out, the state jump instructions are optimized to form a complete functional state division, and the jump logic between each state is defined to ensure safe and efficient testing.
It realizes the safe and efficient driving of the multimodal platform in a wide-area environment, avoids logical errors, redundancy and contradictions in the state jump conditions, and improves testing efficiency and accuracy.
Smart Images

Figure CN115248582B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular, to a robot integrated test system and related methods, devices, and electronic devices. Background Art
[0002] Currently, in order to improve the mobility, flexibility, and environmental adaptability of robots in intelligent platforms, multi-modal platforms have received extensive attention and research in recent years. Compared with existing single-motion form platforms, multi-modal platforms can adjust their driving modes according to the driving environment, and thus have wide-area mobility capabilities. However, the mode switching and mode coupling of multi-modal platforms make their driving modes complex and diverse, and the state machine scheme of single-motion form platforms can no longer meet the wide-area environment driving requirements of multi-modal platforms. Summary of the Invention
[0003] To solve the above problems, an object of embodiments of the present invention is to provide a robot integrated test system and related methods, devices, and electronic devices.
[0004] In a first aspect, an embodiment of the present invention provides a robot integrated test system, including: a computing device, a controller, a test bench, and a motor;
[0005] The computing device is connected to the controller, the motor is installed on the test bench, and the controller is connected to the motor;
[0006] The computing device is configured to perform simulation verification on the feasibility of the obtained state jump instruction of the robot, and send the state jump instruction that passes the feasibility simulation verification to the controller; the state jump instruction includes: a plurality of state jump conditions;
[0007] The controller is configured to perform redundancy processing on the plurality of state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, convert the optimized state jump instruction into a drive instruction, and send the drive instruction to the motor for execution to complete the test of the state jump instruction of the robot.
[0008] In a second aspect, an embodiment of the present invention further provides a robot integrated test method for implementing the function of the computing device in the robot integrated test system described in the first aspect above. The method includes:
[0009] Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enable jump sub-condition in the state jump condition;
[0010] After executing the enabling jump sub-condition in the state jump condition, according to the state of the robot after executing the state jump instruction in the state jump condition, determine the expected posture and standing height of the robot after the state jump;
[0011] Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0012] Collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot is already in the state after the robot jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
[0013] In a third aspect, an embodiment of the present invention further provides a robot integrated test device, including:
[0014] An acquisition module, configured to acquire the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enabling jump sub-condition in the state jump condition;
[0015] A first processing module, configured to, after executing the enabling jump sub-condition in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0016] A second processing module, configured to, based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0017] A third processing module, configured to collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot is already in the state after the robot jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
[0018] Fourthly, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the method described in the second aspect above.
[0019] Fifthly, an embodiment of the present invention further provides an electronic device, which includes a memory, a processor, and one or more programs. The one or more programs are stored in the memory and are configured to be executed by the processor to execute the steps of the method described in the second aspect above.
[0020] In the solutions provided in the first to fifth aspects of the embodiments of the present invention, through a robot integrated test system including a computing device, a controller, a gantry, and a motor, wherein the computing device is connected to the controller, the motor is installed on the gantry, and the controller is connected to the motor; the computing device is configured to perform simulation verification on the feasibility of the obtained state jump instruction of the robot and send the state jump instruction that passes the feasibility simulation verification to the controller; the state jump instruction includes: a plurality of state jump conditions; the controller is configured to perform redundancy processing on the plurality of state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, and convert the optimized state jump instruction into a drive instruction, and send the drive instruction to the motor for execution to complete the test of the state jump instruction of the robot. Compared with the state machine scheme of a single motion form platform in the related art that can no longer meet the driving requirements of a wide-area environment of a multimodal platform, a new test scheme for the state jump of a test robot with a complete functional state division can be formed according to the motion coupling characteristics of the multimodal platform, and the jump logic between each state is defined; moreover, in order to test the jump conditions of the robot safely and efficiently, redundancy processing is performed on the plurality of state jump conditions in the state jump instruction, and the state jump instruction is optimized according to the jump requirement, so as to avoid problems such as logical errors, redundancy, and contradictions in the state jump conditions in the state jump instruction during the test process as much as possible.
[0021] To make the above objects, features, and advantages of the present invention more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, makes the following detailed description. Description of the Drawings
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0023] Figure 1 Shows a schematic structural diagram of a computing device applied in various embodiments of the present invention;
[0024] Figure 2 Shows a flowchart of a robot integration test method provided in Embodiment 1 of the present invention;
[0025] Figure 3 Shows a schematic structural diagram of a robot integration test device provided in Embodiment 2 of the present invention;
[0026] Figure 4 Shows a schematic structural diagram of an electronic device provided in Embodiment 3 of the present invention. Detailed implementation manners
[0027] In the description of the present invention, it should be understood that the terms "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings. It is only for the convenience of describing the present invention 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 thus cannot be understood as a limitation to the present invention.
[0028] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present invention, "a plurality" means two or more unless otherwise specifically defined.
[0029] In the present invention, unless otherwise clearly defined and limited, the terms "installed", "connected", "connected to", "fixed", etc. should be understood in a broad sense. For example, it may be a fixed connection, a detachable connection, or an integral connection; it may be a mechanical connection or an electrical connection; it may be directly connected or indirectly connected through an intermediate medium, and it may be the communication inside two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific situations.
[0030] Figure 1 Shows a structural block diagram of a computing device applicable to the embodiments of the present invention. As Figure 1 shown, the computing device 200 includes: a memory 201, a processor 202, and a network module 203.
[0031] The memory 201 can be used to store software programs and modules, such as the program instructions / modules corresponding to the robot integration test method and device in the embodiments of the present invention. The processor 202 executes various functional applications and data processing by running the software programs and modules stored in the memory 201, that is, implements the robot integration test method in the embodiments of the present invention. The memory 201 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. Further, the above software programs and modules may further include: an operating system 221 and a service module 222. Among them, the operating system 221, for example, may be LINUX, UNIX, WINDOWS, which may include various software components and / or drivers for managing system tasks (such as memory management, storage device control, power management, etc.), and may communicate with various hardware or software components to provide a running environment for other software components. The service module 222 runs on the basis of the operating system 221, listens for requests from the network through the network service of the operating system 221, completes corresponding data processing according to the requests, and returns the processing results to the client. That is to say, the service module 222 is used to provide network services to the client.
[0032] The network module 203 is used to receive and send network signals. The above network signals may include wireless signals or wired signals.
[0033] It can be understood that Figure 1 the structure shown is only schematic, and the computing device 200 may further include more or fewer components than those shown Figure 2 in the figure, or have a different configuration from that shown Figure 1 in the figure. Figure 2 Each component shown in the figure can be implemented by hardware, software, or a combination thereof. In addition, the computing device in the embodiments of the present invention may further include multiple computing devices with specific different functions.
[0034] To improve the mobility, flexibility, and environmental adaptability of intelligent platforms, multi-modal platforms have received extensive attention and research in recent years. Compared with existing platforms with a single form of movement, multi-modal platforms can adjust their driving modes according to the driving environment, thus having a wide-area mobility ability. However, the mode switching and mode coupling of multi-modal platforms make their driving modes complex and diverse, and the state machine scheme of platforms with a single form of movement can no longer meet the wide-area driving requirements of multi-modal platforms. Therefore, multi-modal platforms need to form a new state machine scheme with a complete functional state division according to their motion coupling characteristics and define the jump logic between states. However, the jump logic preliminarily set by humans in the new state machine scheme inevitably has certain problems such as logical errors, redundancy, and contradictions, which easily cause the state jump time of multi-modal platforms to be too long or fail. To safely and efficiently test the state machine of multi-modal platforms and optimize the state machine jump logic, the integrated test optimization method for its jump logic optimization has important reuse value in the state machine design of the early development of multi-modal platforms. Optionally, this method includes virtual platform software testing, virtual platform hardware-in-the-loop testing, full-hardware testing based on a test bench, and actual platform testing in sequence, greatly reducing the time and resource waste caused in the state machine testing of multi-modal platforms.
[0035] Optionally, the ground multi-modal mobile platform - intelligent wheel-leg ground mobile platform is used as an example for illustration here. In the industry, the wheeled platform and the legged platform are two typical modes of the intelligent wheel-leg ground mobile platform, but its state machine scheme and its jump logic testing method can no longer meet the wide-area mobility requirements of multi-modal platforms.
[0036] Note: In each embodiment of this application, wheeled driving is referred to as the wheeled driving mode, and legged walking is referred to as the legged driving mode. Because generally speaking, a wheeled platform can only drive in a wheeled manner, and a legged platform can only walk in a legged manner, so both are also called single-modal platforms. The intelligent wheel-leg ground mobile platform not only has both the functions of wheeled driving and legged walking, but also the two modes can be coupled to complete wheel-leg combined driving, which is also called the wheel-leg combined mode. Therefore, the intelligent wheel-leg ground mobile platform is also a member of the multi-modal platforms.
[0037] For the wheeled platform, its underlying hardware integration technology is very mature and its driving test is relatively safe. Considering the relatively simple driving mode of the wheeled platform, its state machine is relatively simple, and the testing of its state jump logic is generally directly carried out on the actual platform, and there are basically no safety issues. Further, its state machine scheme and testing method are not applicable to the intelligent wheel-leg ground mobile platform;
[0038] For legged platforms, although the subdivision of their driving types is slightly complex, with the development of legged platforms (quadruped robots) in recent years, their underlying hardware integration technology has become relatively mature. The complete functional state division and state transition logic definition of the legged platform state machine are relatively clear. Generally, after integration, it is only necessary to test the state transition logic under the protection device. However, for intelligent wheel-legged ground mobile platforms, there are transitions between different modalities, and there is a certain degree of safety in testing the state transition logic. Moreover, the degree of optimization of the transition logic greatly affects its adaptability to high-dynamic driving in complex environments (transitions between sub-states in a certain driving mode / transitioning from a certain driving mode to another driving mode to complete modality switching). Therefore, the state machine scheme and transition logic testing method of the legged platform cannot meet the design requirements of the state machine of the intelligent wheel-legged ground mobile platform.
[0039] To implement the state machine design of the intelligent wheel-legged ground mobile platform, it is necessary to consider its actual working characteristics (from the original mechanical state to a certain subdivided driving type) and motion coupling characteristics to divide its intelligence level (working mode), driving mode, and subdivided driving type.
[0040] Here, the complete working process of the intelligent wheel-legged ground mobile platform (i.e., the robot proposed in the following embodiments of this application) is described, so it is divided into three layers.
[0041] The first layer: Enter remote control (manually controlled by a remote control) / autonomous control (upper-layer decision-making control based on perception, decision-making, and planning) from the mechanical state; since the subsequent transition logic testing focuses on the transition conditions, only the remote control is referred to for explanation.
[0042] The second layer: Taking remote control as an example, when entering the remote control mode, the operator needs to select different driving modalities of the intelligent wheel-legged ground mobile platform according to the environmental characteristics. As shown in the state machine of the second layer, after entering remote control in the first layer, it is equivalent to entering the default state of the second layer - the wheeled driving mode.
[0043] The third layer: Taking the wheel-leg composite driving mode as an example, in the second layer, the transition from the wheeled driving mode to the wheel-leg composite driving mode is completed through remote control commands. As shown in the state machine of the third layer, entering the wheel-leg composite driving mode in the second layer is equivalent to entering the default state of the wheel-leg in the third layer's wheel-leg composite driving mode. From the wheel-leg default state, it is possible to jump to the diagonal trot hybrid gait or the single-step walking hybrid gait.
[0044] From the perspective of the two working modes of the intelligent wheel-leg ground mobile platform, the platform needs to complete functions such as straight-line driving, obstacle crossing, obstacle avoidance, and in-situ turning according to environmental information. According to the multi-modal motion characteristics of the platform, each modal motion has its significant advantages in the corresponding environment. When driving at high speed on a flat road surface, the wheel-leg platform needs to give play to the advantages of wheeled motion; when driving on an off-road road surface, a wheel-leg coupled motion form is required to complete road adaptation, attitude adjustment, single-leg obstacle avoidance during movement, active roll stabilization, and compound turning, etc., to achieve higher passability and flexibility. In indoor scenarios such as industrial inspections, the platform needs to slowly and frequently go up and down stairs and cross obstacles such as vertical walls, and the advantages of legged motion are more obvious. Based on the above analysis, the intelligent wheel-leg ground mobile platform needs to have the following three driving modes simultaneously in the above two working modes: wheeled driving mode, legged driving mode, and wheel-leg composite driving mode.
[0045] For the above-mentioned wheeled driving mode, legged driving mode, and wheel-leg composite driving mode, the subdivision driving types of each driving mode need to fully consider the continuous motion characteristics of the intelligent wheel-leg ground mobile platform to achieve a safe and fast driving state switch and smoothly complete the specified driving tasks of the platform.
[0046] The wheeled driving mode refers to a driving mode in which the robot drives according to the wheeled modality, completing a driving similar to that of a vehicle, that is, relying solely on wheel drive to complete the driving action.
[0047] The legged driving mode refers to a driving mode in which the robot drives according to the legged modality, completing a driving similar to that of a quadruped robot, that is, relying solely on articulated legs to walk to complete the driving action.
[0048] The wheel-leg composite driving mode refers to a driving mode in which the robot simultaneously uses the wheeled modality and the legged modality to drive, completing a driving that combines the wheeled modality and the legged modality, that is, relying on a hybrid drive of wheels and articulated legs to complete the driving action.
[0049] In the wheeled driving mode, after entering this state, relevant wheeled driving actions can be completed under the commands of the host computer's straight-line speed, steering yaw moment, braking, shock absorption damping, etc. That is, there is only one wheeled state in the wheeled driving mode. It should be noted that there is also a state switching logic within the wheeled state, such as completing the specified wheeled driving action from the parking brake state. However, this is not the focus of this patent.
[0050] In the legged driving mode, for the legged driving mode in the intelligent wheel-leg ground mobile platform, it mainly drives at a low speed in indoor low-speed scenarios. Optionally, the gait of the legged driving mode consists of a single-step walking gait and a diagonal trot. To adapt to indoor environmental obstacles, a stair-climbing mode and a vertical-wall-climbing mode can be optionally set.
[0051] When in the wheel-leg composite driving mode and driving on off-road surfaces, single-step walking gait hybrid gait mode, diagonal trot hybrid gait mode, and road surface attitude adaptive mode can be performed. Optionally, road surface adaptation can be subdivided into impedance compliance and active vibration damping. The type of impedance compliance is not limited here, such as obstacle-crossing adaptation compliance, platform leap obstacle-crossing touchdown impact compliance, etc., which are obvious to professionals. Optionally, for debugging safety, subdivision composite functions such as roll + speed difference composite steering can be subdivided from the road surface adaptation state. This patent only takes an example to unify them in the road surface attitude adaptation state.
[0052] State definitions, state subdivisions, and combinations that do not deviate from the partitioning idea of this patent shall be within the scope of protection of this patent.
[0053] To give an example state machine block diagram of an intelligent wheel-leg ground mobile platform, the subdivision driving types of each driving mode are summarized here.
[0054] The wheeled driving mode includes: wheeled state (functions such as straight driving, steering, braking, and vibration damping can be achieved).
[0055] The legged driving mode includes: single-step walking mode, diagonal trot mode, stair climbing mode, and vertical wall climbing mode.
[0056] The wheel-leg composite driving mode includes: single-step walking hybrid gait state, diagonal trot hybrid gait state, and road surface attitude adaptive state.
[0057] In both the legged driving mode and the wheel-leg composite driving mode, there is a default mode (default initial standing posture and ground clearance). For example, after entering the default mode, certain in-situ posture adjustments can be performed for display. Among them, the default mode in the legged driving mode is the leg default mode, and the default mode in the wheel-leg composite driving mode is the wheel-leg default mode.
[0058] The leg default mode is the default state when the robot state machine jumps into the legged driving mode, that is, a quasi-static state. In the leg default mode, the robot can complete some specified actions such as in-situ posture adjustment and ground clearance, but cannot perform driving operations. Only when jumping from the leg default mode into other states such as single-step walking mode / diagonal trot mode can driving operations be performed in a continuous dynamic action manner in the single-step walking mode / diagonal trot mode, etc.
[0059] The wheel-leg default mode is the default state when the robot state machine jumps into the wheel-leg combined driving mode, that is, a quasi-static state. In this state, some specified actions such as adjusting the posture and ground clearance in place can be completed, but the driving operation cannot be performed. To perform dynamic actions, it is necessary to jump from the wheel-leg default mode to other states such as the single-step walking hybrid gait mode / diagonal trot hybrid gait mode, that is, drive according to the continuous dynamic action method in the single-step walking hybrid gait mode / diagonal trot hybrid gait mode.
[0060] The single-step walking (English: walk) mode and the diagonal trot (English: trot) mode are two common gait methods of the robot.
[0061] The single-step walking mode is used to represent that at each moment when the robot walks, one leg is in the stepping state / airborne state, and the other three legs are in the touching the ground state / supporting state. This gait is a statically stable gait.
[0062] The diagonal trot mode is used to represent that at each moment when the robot walks, two diagonally opposite legs among the four legs of the robot are in the stepping state / airborne state, and the other two legs are in the touching the ground state / supporting state. Only two legs touch the ground at each moment, so this gait is a statically unstable gait.
[0063] These two gait methods are the gaits with relatively slow walking speed of the robot. The leg driving mode selects these two gaits to meet the functional requirements of the wheel-leg platform. These two gaits are only needed to pass through in extremely complex and rough environments. In relatively good environments, the wheel-leg combined driving mode / wheel driving mode can be selected for high-speed driving.
[0064] The stair climbing mode: It is used to represent that the robot uses continuous action walking modes such as the single-step walking mode / diagonal trot mode to move, and continuously adjusts the posture of the robot during movement. Under the condition of meeting the stability requirements of the robot on the stairs, the stair climbing task is completed.
[0065] The vertical wall climbing mode: It is used to represent that it uses continuous action walking modes such as the single-step walking mode / diagonal trot mode to move, changes the leg lifting height according to the height of the vertical wall, and adjusts the posture in a large range during movement, so as to complete the vertical wall climbing task under the condition of meeting the stability requirements of the robot on the vertical wall.
[0066] Among them, the single-step walking hybrid gait mode: On the basis of the single-step walking mode, the end wheels of the three legs in the touching the ground state / supporting state are driven simultaneously at each moment. That is, when walking in single-step, the end wheels of the four legs are locked, and in the single-step walking hybrid gait mode, the end wheels of the three legs in the touching the ground state / supporting state are driven, and the driving speed is increased under the condition of meeting the stability requirements.
[0067] Here: the end wheels of the three legs in the ground contacting state / supporting state are in contact with the ground, and at this time, the wheel drive generates additional driving force due to the mutual contact with the ground.
[0068] Diagonal trot mixed gait mode: Based on the diagonal trot mode, the end wheels of the two legs in the ground contact state / support state at each moment are driven at the same time. That is, when trotting diagonally, the end wheels of the four legs are locked, and the end wheels of the two legs in the ground contact state / support state in the diagonal trot mixed gait mode are driven to increase the driving speed while meeting the stability requirements.
[0069] Road posture adaptive mode: refers to the robot using the wheeled driving mode to provide forward driving force, and using the real-time adjustment of the joint motors of the leg driving mode through feedforward + feedback and other control methods to achieve the desired posture tracking, so as to maintain the robot's horizontal walking posture. For example, in road environments such as side slopes, longitudinal slopes and speed bumps, the robot's posture changes from a horizontal posture to a posture such as leaning forward, leaning backward or tilting. At this time, the four wheels continue to provide forward driving force, and the eight joint legs adjust the position of the joint motors to suppress the posture changes caused by different road inputs, and continue to maintain the robot's horizontal walking posture.
[0070] Based on this, this embodiment proposes a robot integrated test system and related methods, devices and electronic equipment, through a robot integrated test system including a computing device, a controller, a test bench and a motor, wherein the computing device is connected to the controller, the motor is installed on the test bench, and the controller is connected to the motor; the computing device is used to simulate and verify the feasibility of the state jump instruction of the robot obtained, and send the state jump instruction that has passed the feasibility simulation verification to the controller; the state jump instruction includes: multiple state jump conditions; the controller is used to perform redundant processing on multiple state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, and The optimized state jump instruction is converted into a drive instruction, and the drive instruction is sent to the motor for execution, so as to complete the test of the state jump instruction of the robot. Compared with the state machine scheme of a single motion form platform in the related art that can no longer meet the driving requirements of a multi-modal platform in a wide-area environment, a state jump test scheme for a new test robot with complete functional state division can be formed according to the motion coupling characteristics of the multi-modal platform, and the jump logic between each state is defined; moreover, in order to safely and efficiently test the jump conditions of the robot, multiple state jump conditions in the state jump instruction are redundantly processed, and the state jump instruction is optimized according to the jump requirements, so as to avoid logical errors, redundancy, contradictions and other problems in the state jump conditions in the state jump instruction during the test as much as possible.
[0071] To make the above objects, features, and advantages of the present application more obvious and understandable, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0072] Embodiment 1
[0073] This embodiment provides a robot integrated test system, including: a computing device, a controller, a bench, and a motor.
[0074] The computing device is connected to the controller, the motor is installed on the bench, and the controller is connected to the motor.
[0075] The computing device is used to simulate and verify the feasibility of the obtained state transition instructions of the robot, and send the state transition instructions that pass the feasibility simulation verification to the controller; the state transition instructions include: a plurality of state transition conditions.
[0076] The controller is used to perform redundancy processing on the multiple state transition conditions in the state transition instructions received from the computing device, optimize the state transition instructions according to the transition requirements, convert the optimized state transition instructions into drive instructions, and send the drive instructions to the motor for execution to complete the test of the state transition instructions of the robot.
[0077] The controller, in order to convert the optimized state transition instructions into drive instructions, after optimizing the state transition instructions, can convert the robot posture and standing height carried in the optimized state transition instructions into drive instructions of the motor through the forward and inverse kinematics methods running inside the controller, and then send the drive instructions to the motor for execution.
[0078] Specifically, the state transition instructions further include: the current state of the robot and the state of the robot after jumping; the state transition conditions include: an enable jump sub-condition, a motor speed jump sub-condition, and a motor position jump sub-condition.
[0079] The computing device is used to verify the feasibility of the obtained state transition instructions of the robot and send the state transition instructions that pass the feasibility verification to the controller, including the following specific steps (1) to (4):
[0080] (1) Obtain the current state information of the robot and the state transition instructions of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state transition instructions, execute the enable jump sub-condition in the state transition conditions;
[0081] (2) After executing the enabled jump sub-condition in the state jump condition, determine the expected posture and standing height of the robot after state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0082] (3) Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0083] (4) Collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot is already in the state after jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
[0084] In the above step (1), the current state information is cached in the computing device and is used to indicate the current state of the robot.
[0085] The state jump instruction of the robot is input into the computing device by the staff through an input device connected to the computing device.
[0086] The enabled jump sub-condition includes: enabled sub-condition and disabled sub-condition.
[0087] In the above step (2), the enabled jump sub-condition is used to represent the condition triggered in the state jump instruction.
[0088] The disabled jump sub-condition is used to represent the condition not triggered in the state jump instruction.
[0089] The corresponding relationship between the state of the robot and the expected posture and standing height is pre-cached in the computing device. Then, the computing device can determine the expected posture and standing height of the robot after state jump according to the state of the robot after executing the state jump instruction in the state jump condition.
[0090] The expected posture includes but is not limited to: forward tilt posture mode, backward tilt posture mode, and roll posture mode.
[0091] The expected posture refers to the posture of the torso of the robot and has nothing to do with the four legs of the robot.
[0092] In the above step (3), based on the forward and inverse kinematic relationships of the robot, the specific process of converting the expected posture and standing height of the robot after state transition into motor control instructions is a prior art and will not be elaborated here.
[0093] The motor model is a motor obtained by the computing device through software simulation. The specific simulation process is a prior art and will not be elaborated here.
[0094] In the above step (4), the sensor model obtained by the computing device through software simulation collects the motor speed information and motor position information. The specific simulation and collection processes are prior arts and will not be elaborated here.
[0095] Optionally, the state transition instruction includes: legged driving mode - wheel-leg combined driving mode; where the legged driving mode is the current state of the robot; the wheel-leg combined driving mode is the state of the robot after executing the state transition instruction; the enabling jump sub-conditions of the state transition instruction include: wheeled driving mode not enabled sub-condition, wheel-leg combined driving mode enabled sub-condition, and braking motor not enabled sub-condition; the motor speed jump sub-conditions include: joint motor speed |q di | ≤ ε hdq , execution times n, and hub motor speed |q wi | ≤ ε hw , execution times n; the motor position jump sub-conditions include: joint motor position |q i - q h0i | ≤ ε hq , execution times n; q di represents the current speed of the i-th joint motor of the robot; εh dq represents the speed threshold of the joint motor of the robot in the default wheel-leg state; q wi represents the current speed of the i-th hub motor of the robot; ε hw represents the speed threshold of the hub motor of the robot in the default wheel-leg state; q i represents the current position of the i-th joint motor of the robot; q h0i represents the expected joint position of the i-th joint motor of the robot in the default wheel-leg state; ε hq represents the joint position deviation threshold of the joint motor in the default wheel-leg state; the execution times n represents the execution times that respectively satisfy the motor speed jump sub-condition and the motor position jump sub-condition.
[0096] When the state transition instruction includes the legged driving mode - wheel - leg composite driving mode, the computing device is configured to verify the feasibility of the obtained state transition instruction of the robot and send the state transition instruction that passes the feasibility verification to the controller, including the following steps (11) to step (16):
[0097] (11) Obtain the current state information of the robot and the state transition instruction of the robot, and when the current state of the robot indicated in the current state information is the legged driving mode and is consistent with the current state of the robot carried in the state transition instruction, obtain the enabling jump sub - conditions including the non - enabled sub - condition of the wheeled driving mode, the enabled sub - condition of the wheel - leg composite driving mode, and the non - enabled sub - condition of the braking motor in the state transition instruction, and execute the non - enabled sub - condition of the wheeled driving mode, the enabled sub - condition of the wheel - leg composite driving mode, and the non - enabled sub - condition of the braking motor;
[0098] (12) After executing the enabling jump sub - conditions in the state transition conditions, determine the expected posture and standing height of the robot after the state transition according to the state of the robot after executing the state transition instruction in the state transition conditions;
[0099] (13) Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state transition into motor control instructions, and send the motor control instructions to the motor model running in the computing device so that the motor model executes the motor control instructions;
[0100] (14) Collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. Among them, the motor speed information includes: the current speed q di of the i - th joint motor of the robot and the current speed q wi of the i - th hub motor of the robot; the motor position information includes: the current position q i of the i - th joint motor of the robot;
[0101] (15) When the obtained q di satisfies the condition of the joint motor speed |q di | ≤ ε hdq in the motor speed jump sub - condition and the number of executions n condition, and the obtained q wi satisfies the condition of the hub motor speed |q wi | ≤ ε hw in the motor speed jump sub - condition and the number of executions n condition, determine that the collected motor speed information conforms to the motor speed jump sub - condition;
[0102] (16) Obtain the expected joint position q of the i-th joint motor of the robot in the default state of the wheel-leg h0i , when the current position q of the i-th joint motor of the robot i satisfies the motor position skip rotor condition |q i - q h0i | ≤ ε hq , at the execution times n, it is determined that the collected motor position information conforms to the motor position skip rotor condition, and the simulation result that the robot is already in the wheel-leg composite driving mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the legged driving mode - wheel-leg composite driving mode has passed the feasibility test.
[0103] In the above step (11), the non-enabled sub-condition of the braking motor is used to indicate that during the process of the robot converting from the legged driving mode to the wheel-leg composite driving mode, the braking motor of the robot will not be triggered to start and work.
[0104] In the above step (15), ε hdq can be set to 0.018 radians (rad) / second.
[0105] ε hw can be set to 0.018 rad / second.
[0106] In the above step (16), ε hq can be set to 0.0035 rad.
[0107] Optionally, the state jump instruction further includes: the robot driving speed sub-condition.
[0108] The state jump instruction includes: single-step walking mode - leg default mode; wherein, the single-step walking mode is the current state of the robot; the leg default mode is the state of the robot after executing the state jump instruction; the enabled skip rotor sub-condition of the state jump instruction includes: single-step walking release enable sub-condition; the robot driving speed sub-condition includes: the driving speed |v rt | ≤ ε v ; the motor speed skip rotor condition includes: the joint motor speed |q di | ≤ ε ldq , at the execution times n; the motor position skip rotor condition includes: the joint motor position |q i - q l0i | ≤ ε lq and the execution times n; wherein, v rt represents the current speed of the center of mass of the robot; ε v represents the speed threshold of the center of mass of the robot; ε ldqRepresents the allowable joint position deviation threshold of the joint motor in the default leg state; q di Represents the current speed of the i-th joint motor of the robot; q i Represents the current position of the i-th joint motor of the robot; q l0i Represents the desired joint position of the i-th joint motor of the robot in the default leg state; ε lq Represents the joint position deviation threshold of the joint motor in the default leg state; the number of executions n represents the number of executions of the motor speed jump rotor condition and the motor position jump rotor condition.
[0109] When the state jump instruction includes the single-step walking mode - leg default mode, the computing device is used to verify the feasibility of the obtained state jump instruction of the robot and send the state jump instruction passed the feasibility verification to the controller, including the following steps (21) to step (27):
[0110] (21) Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is the single-step walking mode and is consistent with the current state of the robot carried in the state jump instruction, obtain the enabling jump rotor condition including the single-step walking release enabling sub-condition in the state jump instruction, and execute the single-step walking release enabling sub-condition;
[0111] (22) After executing the enabling jump rotor condition in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0112] (23) Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0113] (24) Collect the current speed of the center of mass of the robot, the motor speed information and the motor position information during the process of the motor model executing the motor control instructions, where the motor speed information includes: the current speed q of the i-th joint motor of the robot di ; the motor position information includes: the current position q of the i-th joint motor of the robot i ;
[0114] (25) When the obtained q di satisfies the joint motor speed |q di | ≤ ε ldq, when the condition of the execution times n is satisfied, it is determined that the collected motor speed information conforms to the motor speed skipping rotor condition;
[0115] (26) When the current speed of the robot's center of mass obtained satisfies the driving speed |v in the driving speed sub-condition of the robot's driving speed rt | ≤ ε v , it is determined that the currently collected current speed of the robot's center of mass conforms to the driving speed sub-condition of the robot;
[0116] (27) Obtain the expected joint position q of the i-th joint motor of the robot in the default leg state l0i , when the current position q of the i-th joint motor of the robot i conforms to the motor position skipping rotor condition |q i - q l0i | ≤ ε lq and the execution times n, it is determined that the collected motor position information conforms to the motor position skipping rotor condition, and the simulation result that the robot is already in the default leg mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the single walking mode - default leg mode has passed the feasibility test.
[0117] In the above step (21), the single walking release enable sub-condition means that when triggering the state jump instruction including the single walking mode - default leg mode, the single walking mode is changed from the enabled state to the disabled state.
[0118] In the above step (25), ε ldq can be set to 0.009 rad / second.
[0119] In the above step (26), the current speed of the robot's center of mass is obtained by a speed sensor installed on the robot's torso.
[0120] The speed sensor is connected to the controller and can send the currently obtained current speed of the robot's center of mass to the controller in real time.
[0121] ε v can be set to 0.01 m / s.
[0122] In the above step (27), ε lq can be set to 0.0017 rad.
[0123] Optionally, the state transition instruction includes: leg default mode - diagonal trotting mode; wherein, the leg default mode is the current state of the robot; the diagonal trotting mode is the state of the robot after executing the state transition instruction; the enabling jump sub - conditions of the state transition instruction include: diagonal trotting mode enabling sub - condition, non - enabling sub - condition of vertical wall climbing mode, non - enabling sub - condition of single - step walking mode, and non - enabling sub - condition of stair - climbing mode; the motor speed jump sub - condition includes: joint motor speed |q di | ≤ ε ldq , execution times n; the motor position jump sub - condition includes: joint motor position |q i - q l0i | ≤ ε lq , execution times n; where ε ldq represents the allowable joint position deviation threshold of the joint motor in the leg default state; q di represents the current speed of the i - th joint motor of the robot; q i represents the current position of the i - th joint motor of the robot; q l0i represents the desired joint position of the i - th joint motor of the robot in the leg default state; ε lq represents the joint position deviation threshold of the joint motor in the leg default state; the execution times n represents the execution times of the motor speed jump sub - condition and the motor position jump sub - condition.
[0124] When the state transition instruction includes leg default mode - diagonal trotting mode, the computing device is used to verify the feasibility of the obtained state transition instruction of the robot and send the state transition instruction that passes the feasibility verification to the controller, including the following steps (31) to (36):
[0125] (31) Obtain the current state information of the robot and the state transition instruction of the robot, and when the current state of the robot indicated in the current state information is the leg default mode and is consistent with the current state of the robot carried in the state transition instruction, obtain the enabling jump sub - conditions including diagonal trotting mode enabling sub - condition, non - enabling sub - condition of vertical wall climbing mode, non - enabling sub - condition of single - step walking mode, and non - enabling sub - condition of stair - climbing mode in the state transition instruction, and execute the diagonal trotting mode enabling sub - condition, the non - enabling sub - condition of vertical wall climbing mode, the non - enabling sub - condition of single - step walking mode, and the non - enabling sub - condition of stair - climbing mode;
[0126] (32) After executing the enabling jump sub - conditions in the state transition conditions, determine the expected posture and standing height of the robot after the state transition according to the state of the robot after executing the state transition instruction in the state transition conditions;
[0127] (33) Based on the forward and inverse kinematic relationships of the robot, convert the desired posture and standing height of the robot after state transition into motor control commands, and send the motor control commands to the motor model running in the computing device, so that the motor model executes the motor control commands;
[0128] (34) Collect the motor speed information and motor position information during the process of the motor model executing the motor control commands. Among them, the motor speed information includes: the current speed q of the i-th joint motor of the robot di ; the motor position information includes: the current position q of the i-th joint motor of the robot i ;
[0129] (35) When the obtained q di satisfies the joint motor speed |q di | ≤ ε ldq , and the condition of the execution times n, it is determined that the collected motor speed information meets the motor speed skip rotor condition;
[0130] (36) Obtain the desired joint position q of the i-th joint motor of the robot in the default state of the leg l0i , when the current position q of the i-th joint motor of the robot i meets the motor position skip rotor condition |q i - q l0i | ≤ ε lq , and the execution times n, it is determined that the collected motor position information meets the motor position skip rotor condition, and the simulation result that the robot is already in the diagonal trotting mode indicated in the state transition instruction is obtained, and it is determined that the state transition instruction including the leg default mode - diagonal trotting mode has passed the feasibility test.
[0131] Optionally, the state transition instruction includes: wheel-leg default mode - road surface posture adaptive mode; where the wheel-leg default mode is the current state of the robot; the road surface posture adaptive mode is the state of the robot after executing the state transition instruction; the enabling skip rotor conditions of the state transition instruction include: road surface posture adaptive enabling sub-condition, diagonal trotting hybrid gait not enabled sub-condition, single walking hybrid gait not enabled sub-condition, and braking motor not enabled sub-condition; the motor speed skip rotor conditions include: joint motor speed |q di | ≤ ε hdq , execution times n, and hub motor speed |q wi | ≤ ε hw , execution times n; the motor position skip rotor conditions include: joint motor position |q i - q h0i | ≤ εhq The number of executions n; q di Represents the current speed of the i-th joint motor of the robot; ε hdq Represents the speed threshold of the joint motor of the robot in the default state of the wheel-leg; q wi Represents the current speed of the i-th hub motor of the robot; ε hw Represents the speed threshold of the hub motor of the robot in the default state of the wheel-leg; q i Represents the current position of the i-th joint motor of the robot; q h0i Represents the desired joint position of the i-th joint motor of the robot in the default state of the wheel-leg; ε hq Represents the joint position deviation threshold of the joint motor in the default state of the wheel-leg; The number of executions n represents the number of executions of the motor speed jump sub-condition and the motor position jump sub-condition.
[0132] When the state jump instruction includes the wheel-leg default mode - road surface attitude adaptive mode, the computing device is used to verify the feasibility of the obtained state jump instruction of the robot and send the state jump instruction passed the feasibility verification to the controller, including the following steps (41) to step (46):
[0133] (41) Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is the wheel-leg default mode and is consistent with the current state of the robot carried in the state jump instruction, obtain the road surface attitude adaptive enabling sub-condition, the diagonal trotting hybrid gait not enabled sub-condition, the single walking hybrid gait mode not enabled sub-condition, and the braking motor not enabled sub-condition included in the state jump instruction, and execute the road surface attitude adaptive enabling sub-condition, the diagonal trotting hybrid gait not enabled sub-condition, the single walking hybrid gait mode not enabled sub-condition, and the braking motor not enabled sub-condition;
[0134] (42) After executing the enabling jump sub-condition in the state jump condition, determine the desired attitude and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0135] (43) Based on the forward and inverse kinematic relationships of the robot, convert the desired attitude and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0136] (44)Collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction, where the motor speed information includes: the current speed q of the i-th joint motor of the robot di and the current speed q of the i-th hub motor of the robot wi ; the motor position information includes: the current position q of the i-th joint motor of the robot i ;
[0137] (45)When the obtained q di meets the condition of the joint motor speed |q di | ≤ ε hdq in the motor speed skip rotor condition and the condition of the execution times n, and the obtained q wi meets the condition of the hub motor speed |q wi | ≤ ε hw in the motor speed skip rotor condition and the condition of the execution times n, it is determined that the collected motor speed information meets the motor speed skip rotor condition;
[0138] (46)Obtain the expected joint position q of the i-th joint motor of the robot in the default state of the wheel leg. When the current position q h0i of the i-th joint motor of the robot meets the motor position skip rotor condition |q i -q i | ≤ ε h0i and the execution times n, it is determined that the collected motor position information meets the motor position skip rotor condition, and the simulation result that the robot is already in the road surface attitude adaptive mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the wheel leg default mode - road surface attitude adaptive mode has passed the feasibility test. hq
[0139] After performing the feasibility test on the above state jump instruction through the above content and the above state jump instruction has passed the feasibility test, the following steps can be continued to enable the controller to perform redundancy processing on multiple state jump conditions in the state jump instruction and optimize the state jump instruction according to the jump requirements.
[0140] The controller is used to perform redundancy processing on multiple state jump conditions in the state jump instruction sent by the computing device and optimize the state jump instruction according to the jump requirements, including the following steps (51) to (54):
[0141] (51)Receive the state jump instruction sent by the computing device, execute the state jump instruction, and record the first execution time of executing the state jump instruction;
[0142] (52) When the first execution time is greater than the preset duration, remove the unenabled sub-conditions in the enabled jump sub-conditions of the state jump condition in the state jump instruction;
[0143] (53) Execute the state jump instruction after removing the unenabled sub-conditions, and record the second execution time of executing the state jump instruction after removing the unenabled sub-conditions;
[0144] (54) When the second execution time is greater than the preset duration, remove the motor speed jump sub-condition in the state jump condition of the state jump instruction, and complete the optimization of the state jump instruction of the robot.
[0145] In the above step (51), the specific process of the controller executing the state jump condition is similar to the process of the computing device performing a feasibility test on the above different state jump instructions, which will not be elaborated here.
[0146] The controller can be a single-chip microcomputer or a programmable logic device and is used to control the motor.
[0147] The recording of the first execution time of executing the state jump condition is that after the controller records the start execution time of the state jump instruction with the state jump condition and the end execution time of the state jump instruction with the state jump condition, calculate the difference between the start execution time of the state jump instruction with the state jump condition and the end execution time of the state jump instruction with the state jump condition, and determine the calculated difference as the first execution time of executing the state jump condition and record it.
[0148] In the above step (52), the preset duration can be set to 0.5 seconds.
[0149] In an embodiment, in the state jump instruction including the legged driving mode - wheel-legged composite driving mode, the enabled jump sub-conditions of the state jump instruction include: the unenabled sub-condition of the wheeled driving mode, the enabled sub-condition of the wheel-legged composite driving mode, and the unenabled sub-condition of the braking motor; among them, the unenabled sub-condition of the wheeled driving mode and the unenabled sub-condition of the braking motor are the unenabled sub-conditions in the enabled jump sub-conditions of the state jump instruction including the legged driving mode - wheel-legged composite driving mode; the enabled sub-condition of the wheel-legged composite driving mode is the enabled sub-condition in the enabled jump sub-conditions of the state jump instruction including the legged driving mode - wheel-legged composite driving mode.
[0150] After removing the sub - conditions of non - enabled wheeled driving mode and non - enabled braking motor from the state transition instruction including the legged driving mode - wheel - leg combined driving mode, there is only one enabling jump sub - condition, i.e., the enabling sub - condition of the wheel - leg combined driving mode. Thus, when executed, it will accelerate the execution speed of the state transition instruction including the legged driving mode - wheel - leg combined driving mode after removing the sub - conditions of non - enabled wheeled driving mode and non - enabled braking motor.
[0151] In the above step (54), if the second execution time of the state transition instruction for executing the state transition condition after removing the non - enabled sub - conditions is still greater than the preset duration, then remove the motor speed jump sub - condition in the state transition instruction after removing the non - enabled sub - conditions. If we continue to illustrate with the state transition instruction including the legged driving mode - wheel - leg combined driving mode after removing the non - enabled sub - conditions, then it is to remove in the state transition instruction including the legged driving mode - wheel - leg combined driving mode: including joint motor speed |q di |≤ε hdq , the number of executions n, and for the hub motor speed |q wi |≤ε hw , the motor position jump sub - condition of the number of executions n. After two optimizations, the state transition conditions in the state transition instruction including the legged driving mode - wheel - leg combined driving mode only contain: the enabling sub - condition of the wheel - leg combined driving mode and the motor position jump sub - condition. Thus, it greatly improves the execution speed of the optimized state transition instruction including the legged driving mode - wheel - leg combined driving mode.
[0152] From the above optimization process of the state transition instruction including the legged driving mode - wheel - leg combined driving mode, it can be seen that the optimization processes of the state transition instructions including the single - step walking mode - leg default mode, the state transition instruction including the leg default mode - diagonal trot mode, and the state transition instruction including the wheel - leg default mode - road surface attitude adaptive mode are similar to the above - mentioned optimization process of the state transition instruction including the legged driving mode - wheel - leg combined driving mode, and will not be elaborated here.
[0153] After the controller completes the optimization of the state transition instruction of the robot, the following test content can be continued:
[0154] The motor speed jump sub - condition includes: the number of executions; the motor position jump sub - condition includes: the position judgment threshold and the number of executions.
[0155] The motor speed jump sub - condition also includes: the speed judgment threshold.
[0156] The controller is configured to convert the optimized state jump instruction into a drive instruction, send the drive instruction to the motor for execution, and complete the test of the state jump instruction of the robot, including the following specific steps:
[0157] (61) Convert the optimized state jump instruction into a drive instruction, send the drive instruction to the motor for execution, and record the third execution time of the motor executing the drive instruction;
[0158] (62) When the third execution time is greater than the preset duration, perform a decrement operation on the execution count to adjust the execution count in the state jump instruction, obtain the adjusted state jump instruction, convert the adjusted state jump instruction into a drive instruction and send it to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction;
[0159] (63) When the motor does not perform an action within the preset duration when executing the drive instruction, determine that the motor fails to execute the drive instruction;
[0160] (64) Perform an increment operation on the position judgment threshold according to a preset value to adjust the position judgment threshold, obtain the adjusted state jump instruction, convert the adjusted state jump instruction into a drive instruction and send it to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction.
[0161] In the above step (62), performing a decrement operation on the execution count means performing a decrement operation on the execution count n.
[0162] Convert the adjusted state jump instruction into a drive instruction and send it to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction until the duration of the motor executing the drive instruction is less than or equal to the preset duration.
[0163] In the above step (63), when the motor does not perform an action within the preset duration when executing the drive instruction, it means that the robot cannot meet the motor position jump sub-condition. Thus, it is determined that the motor fails to execute the drive instruction.
[0164] In the above step (64), in one embodiment, the preset value is 0.002 rad.
[0165] Performing an increment operation on the position judgment threshold according to a preset value means performing an increment operation on the position judgment threshold according to 0.002 rad.
[0166] The position judgment threshold is the above-mentioned ε hq and εlq .
[0167] The position judgment threshold is incremented according to a preset value, that is, the above ε hq and ε lq An incremental operation is performed to obtain an adjusted state jump instruction, and the adjusted state jump instruction is converted into a drive instruction and sent to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction until the motor executes the drive instruction successfully.
[0168] In summary, this embodiment proposes a robot integrated test system, which includes a computing device, a controller, a test bench and a motor, wherein the computing device is connected to the controller, the motor is installed on the test bench, and the controller is connected to the motor; the computing device is used to simulate and verify the feasibility of the robot's state jump instruction obtained, and send the state jump instruction that has passed the feasibility simulation verification to the controller; the state jump instruction includes: multiple state jump conditions; the controller is used to perform redundant processing on multiple state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, and send the optimized state jump condition to the controller. The state jump instruction is converted into a drive instruction, and the drive instruction is sent to the motor for execution, so as to complete the test of the state jump instruction of the robot. Compared with the state machine scheme of a single motion form platform in the related art that can no longer meet the driving requirements of a multi-modal platform in a wide-area environment, a state jump test scheme for a new test robot with complete functional state division can be formed according to the motion coupling characteristics of the multi-modal platform, and the jump logic between each state is defined; moreover, in order to safely and efficiently test the jump conditions of the robot, multiple state jump conditions in the state jump instruction are redundantly processed, and the state jump instruction is optimized according to the jump requirements, so as to avoid logical errors, redundancy, contradictions and other problems in the state jump conditions in the state jump instruction during the test as much as possible.
[0169] Example 2
[0170] See also Figure 2 The flowchart of a robot integration test method shown in FIG. 1 is a flowchart of a robot integration test method shown in FIG. 1 . This embodiment proposes a robot integration test method for realizing the function of a computing device in a robot integration test system described in the real-time flow 1 above. The method includes the following specific steps:
[0171] Step 200, obtaining the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, executing the enable jump subcondition in the state jump condition;
[0172] Step 202: After executing the enabling jump sub - condition in the state jump condition, determine the expected posture and standing height of the robot after state jump according to the state of the robot after executing the state jump instruction in the state jump condition.
[0173] Step 204: Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions.
[0174] Step 206: Collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub - condition and the motor position information meets the motor position jump sub - condition, obtain the simulation result that the robot has reached the state after jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
[0175] For the specific process of the feasibility test of the state jump instruction, please refer to the relevant description in Embodiment 1, which will not be elaborated here.
[0176] In summary, this embodiment proposes a robot integration test method. Through a computing device, it is used to simulate and verify the feasibility of the obtained state jump instruction of the robot, and send the state jump instruction that has passed the feasibility simulation verification to the controller; the state jump instruction includes multiple state jump conditions; the controller is used to perform redundancy processing on the multiple state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirements, and convert the optimized state jump instruction into a drive instruction, and send the drive instruction to the motor to execute, completing the test of the state jump instruction of the robot. Compared with the state machine scheme of a single - motion - form platform in the related technology that can no longer meet the driving requirements of a multi - modal platform in a wide - area environment, a new state jump test scheme for a test robot with a complete functional state division can be formed according to the motion coupling characteristics of the multi - modal platform, and the jump logic between each state is defined; moreover, in order to test the jump conditions of the robot safely and efficiently, redundancy processing is performed on the multiple state jump conditions in the state jump instruction, and the state jump instruction is optimized according to the jump requirements, so as to avoid problems such as logical errors, redundancy, and contradictions in the state jump conditions in the state jump instruction during the test process.
[0177] Embodiment 3
[0178] This embodiment provides a robot integrated test device for performing the robot integrated test method proposed in Embodiment 2 above.
[0179] Refer to Figure 3 the structural schematic diagram of a robot integrated test device shown. This embodiment provides a robot integrated test device, including:
[0180] An acquisition module 300, configured to acquire the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enable jump sub-condition in the state jump condition;
[0181] A first processing module 302, configured to, after executing the enable jump sub-condition in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0182] A second processing module 304, configured to convert the expected posture and standing height of the robot after the state jump into motor control instructions based on the forward and inverse kinematic relationships of the robot, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0183] A third processing module 306, configured to collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot has reached the state after the state jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
[0184] In summary, this embodiment proposes a robot integrated testing device, which uses a computing device to simulate and verify the feasibility of the robot's state jump instruction obtained, and sends the state jump instruction that has passed the feasibility simulation verification to the controller; the state jump instruction includes: multiple state jump conditions; the controller is used to perform redundant processing on multiple state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, and convert the optimized state jump instruction into a drive instruction, and send the drive instruction to the motor for execution to complete the robot. The test of state jump instructions, compared with the state machine scheme of a single motion form platform in the related technology that can no longer meet the driving needs of a multi-modal platform in a wide-area environment, can form a state jump test scheme for a new test robot with complete functional state division according to the motion coupling characteristics of the multi-modal platform, and define the jump logic between each state; moreover, in order to safely and efficiently test the jump conditions of the robot, multiple state jump conditions in the state jump instructions are redundantly processed, and the state jump instructions are optimized according to the jump requirements, so as to avoid logical errors, redundancy, contradictions and other problems in the state jump conditions in the state jump instructions during the test as much as possible.
[0185] Example 4
[0186] This embodiment provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the robot integration test method described in the above embodiment 2 are executed. The specific implementation can be found in method embodiment 2, which will not be described in detail here.
[0187] In addition, see Figure 4 The structural diagram of an electronic device shown in FIG. 1 is a schematic diagram of a structure of an electronic device. This embodiment further provides an electronic device, which includes a bus 51 , a processor 52 , a transceiver 53 , a bus interface 54 , a memory 55 and a user interface 56 . The electronic device includes a memory 55 .
[0188] In this embodiment, the electronic device further includes: one or more programs stored in the memory 55 and executable on the processor 52, and configured so that the processor executes the one or more programs to perform the following steps (1) to (4):
[0189] (1) obtaining current state information of the robot and a state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, executing the enable jump subcondition in the state jump condition;
[0190] (2) After executing the enabling jump sub-condition in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition;
[0191] (3) Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions;
[0192] (4) Collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions. When the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot has reached the state after the state jump instruction indicates the robot's jump, and determine that the state jump instruction has passed the feasibility test.
[0193] The transceiver 53 is used to receive and send data under the control of the processor 52.
[0194] Among them, the bus architecture (represented by the bus 51), the bus 51 can include any number of interconnected buses and bridges. The bus 51 links various circuits including one or more processors represented by the processor 52 and the memory represented by the memory 55 together. The bus 51 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art. Therefore, this embodiment will not further describe them. The bus interface 54 provides an interface between the bus 51 and the transceiver 53. The transceiver 53 can be one element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on the transmission medium. For example: the transceiver 53 receives external data from other devices. The transceiver 53 is used to send the data processed by the processor 52 to other devices. Depending on the nature of the computing system, a user interface 56 can also be provided, such as a keypad, a display, a speaker, a microphone, a joystick.
[0195] The processor 52 is responsible for managing the bus 51 and general processing, such as running the general operating system as described above. And the memory 55 can be used to store the data used by the processor 52 when executing operations.
[0196] Optionally, the processor 52 can be but is not limited to: a central processing unit, a single-chip microcomputer, a microprocessor, or a programmable logic device.
[0197] It can be understood that the memory 55 in the embodiments of the present invention can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DRRAM). The memory 55 of the systems and methods described in this embodiment is intended to include, but is not limited to, these and any other suitable types of memory.
[0198] In some embodiments, the memory 55 stores the following elements, executable modules, or data structures, or subsets thereof, or extended sets thereof: an operating system 551 and an application program 552.
[0199] Among them, the operating system 551 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., and is used to implement various basic services and process hardware-based tasks. The application program 552 includes various application programs, such as a media player and a browser, etc., and is used to implement various application services. The program for implementing the method of the embodiments of the present invention can be included in the application program 552.
[0200] In summary, this embodiment proposes a computer-readable storage medium and an electronic device, which are used to simulate and verify the feasibility of the state jump instruction of the robot obtained by the computing device, and send the state jump instruction that has passed the feasibility simulation verification to the controller; the state jump instruction includes: multiple state jump conditions; the controller is used to perform redundant processing on the multiple state jump conditions in the state jump instruction received from the computing device, optimize the state jump instruction according to the jump requirement, and convert the optimized state jump instruction into a drive instruction, and send the drive instruction to the motor for execution to complete the operation. The test of the state jump instruction of the robot, compared with the state machine scheme of the single motion form platform in the related technology that can no longer meet the driving needs of the multi-modal platform in a wide-area environment, can form a state jump test scheme for a new test robot with complete functional state division according to the motion coupling characteristics of the multi-modal platform, and define the jump logic between each state; moreover, in order to safely and efficiently test the jump conditions of the robot, multiple state jump conditions in the state jump instruction are redundantly processed to optimize the state jump instruction, so as to avoid logical errors, redundancy, contradictions and other problems in the state jump conditions in the state jump instruction during the test as much as possible.
[0201] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A robot integrated test system, characterized in that, Including: A computing device, a controller, a gantry, and a motor; The computing device is connected to the controller, the motor is mounted on the gantry, and the controller is connected to the motor; The computing device is configured to simulate and verify the feasibility of the obtained state transition instruction of the robot, and send the state transition instruction that passes the feasibility simulation verification to the controller; The state transition instruction includes: a plurality of state transition conditions; The controller is configured to perform redundancy processing on the plurality of state transition conditions in the state transition instruction received from the computing device, optimize the state transition instruction according to the transition requirement, convert the optimized state transition instruction into a drive instruction, and send the drive instruction to the motor for execution to complete the test of the state transition instruction of the robot; The state transition instruction further includes: the current state of the robot and the state of the robot after jumping; the state transition condition includes: an enable jump sub-condition, a motor speed jump sub-condition, and a motor position jump sub-condition; The computing device is configured to verify the feasibility of the obtained state transition instruction of the robot, and send the state transition instruction that passes the feasibility verification to the controller, including: obtaining the current state information of the robot and the state transition instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state transition instruction, executing the enable jump sub-condition in the state transition condition; after executing the enable jump sub-condition in the state transition condition, determining the expected posture and standing height of the robot after state transition according to the state of the robot after executing the state transition instruction in the state transition condition; based on the forward and inverse kinematic relationships of the robot, converting the expected posture and standing height of the robot after state transition into a motor control instruction, and sending the motor control instruction to the motor model running in the computing device, so that the motor model executes the motor control instruction; collecting the motor speed information and motor position information during the process of the motor model executing the motor control instruction, and when the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtaining the simulation result that the robot has reached the state of the robot after jumping indicated in the state transition instruction, and determining that the state transition instruction has passed the feasibility test.
2. The robot integration test system according to claim 1, wherein The state transition instruction includes: a legged driving mode - a wheel-legged composite driving mode; wherein, the legged driving mode is the current state of the robot; the wheel-legged composite driving mode is the state of the robot after executing the state transition instruction; the enabling jump sub-conditions of the state transition instruction include: a wheeled driving mode not enabled sub-condition, a wheel-legged composite driving mode enabled sub-condition, and a braking motor not enabled sub-condition; the motor speed jump sub-condition includes: the joint motor speed |q di | ≤ ε hdq , the number of executions n, and the hub motor speed |q wi | ≤ ε hw , the number of executions n; the motor position jump sub-condition includes: the joint motor position |q i - q h0i | ≤ ε hq , the number of executions n; q di represents the current speed of the i-th joint motor of the robot; ε hdq represents the speed threshold of the joint motor of the robot in the default wheel-legged state; q wi represents the current speed of the i-th hub motor of the robot; ε hw represents the speed threshold of the hub motor of the robot in the default wheel-legged state; q i represents the current position of the i-th joint motor of the robot; q h0i represents the expected joint position of the i-th joint motor of the robot in the default wheel-legged state; ε hq represents the joint position deviation threshold of the joint motor in the default wheel-legged state; the number of executions n represents the number of executions that respectively satisfy the motor speed jump sub-condition and the motor position jump sub-condition; When the state transition instruction includes the legged driving mode - the wheel-leg combined driving mode, the computing device is configured to verify the feasibility of the obtained state transition instruction of the robot, and send the state transition instruction that passes the feasibility verification to the controller, including: Obtain the current state information of the robot and the state transition instruction of the robot, and when the current state of the robot indicated in the current state information is the legged driving mode and is consistent with the current state of the robot carried in the state transition instruction, obtain the enabling jump sub-conditions including the non-enabled sub-condition of the wheeled driving mode, the enabled sub-condition of the wheel-leg combined driving mode, and the non-enabled sub-condition of the braking motor in the state transition instruction, and execute the non-enabled sub-condition of the wheeled driving mode, the enabled sub-condition of the wheel-leg combined driving mode, and the non-enabled sub-condition of the braking motor; After executing the enabling jump sub-conditions in the state transition condition, determine the expected posture and standing height of the robot after the state transition according to the state of the robot after executing the state transition instruction in the state transition condition; Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state transition into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions; Collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction, where the motor speed information includes: the current speed q of the i-th joint motor of the robot di and the current speed q of the i-th hub motor of the robot wi ; the motor position information includes: the current position q of the i-th joint motor of the robot i ; When the obtained q di satisfies the joint motor speed |q di | ≤ ε hdq in the motor speed skip rotor condition, and the condition of the execution times n, and the obtained q wi satisfies the hub motor speed |q wi | ≤ ε hw in the motor speed skip rotor condition, when the condition of the execution times n is satisfied, it is determined that the collected motor speed information conforms to the motor speed skip rotor condition; Obtain the desired joint position q of the i-th joint motor of the robot in the default state of the wheel-leg h0i , when the current position q of the i-th joint motor of the robot i satisfies the motor position skip rotor condition |q i -q h0i | ≤ ε hq , at the execution time n, it is determined that the collected motor position information conforms to the motor position skip rotor condition, and the simulation result that the robot is already in the wheel-leg combined driving mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the legged driving mode - wheel-leg combined driving mode has passed the feasibility test.
3. The robot integration test system according to claim 1, wherein The state transition instruction further includes: a robot driving speed sub-condition; The state transition instruction includes: single-step walking mode - leg default mode; where the single-step walking mode is the current state of the robot; the leg default mode is the state of the robot after executing the state transition instruction; the enabling jump sub-condition of the state transition instruction includes: single-step walking release enabling sub-condition; the robot driving speed sub-condition includes: driving speed |v rt | ≤ ε v ; the motor speed jump sub-condition includes: joint motor speed |q di | ≤ ε ldq , execution times n; the motor position jump sub-condition includes: joint motor position |q i - q l0i | ≤ ε lq 、execution times n; where, v rt represents the current speed of the robot's center of mass; ε v represents the speed threshold of the robot's center of mass; ε ldq represents the allowable joint speed deviation threshold of the joint motor in the leg default state; q di represents the current speed of the i-th joint motor of the robot; q i represents the current position of the i-th joint motor of the robot; q l0i represents the expected joint position of the i-th joint motor of the robot in the leg default state; ε lq represents the joint position deviation threshold of the joint motor in the leg default state; the execution times n represents the execution times of the motor speed jump sub-condition and the motor position jump sub-condition; When the state transition instruction includes the single-step walking mode - leg default mode, the computing device is used to verify the feasibility of the obtained state transition instruction of the robot, and send the state transition instruction that passes the feasibility verification to the controller, including: Obtain the current state information of the robot and the state transition instruction of the robot, and when the current state of the robot indicated in the current state information is the single-step walking mode and is consistent with the current state of the robot carried in the state transition instruction, obtain the enabling jump sub-condition including the single-step walking release enabling sub-condition in the state transition instruction, and execute the single-step walking release enabling sub-condition; After executing the enabling jump sub-conditions in the state transition condition, determine the expected posture and standing height of the robot after the state transition according to the state of the robot after executing the state transition instruction in the state transition condition; Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state transition into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions; Collect the current speed of the robot's center of mass, the motor speed information, and the motor position information during the process of the motor model executing the motor control instruction, where the motor speed information includes: the current speed qi of the ith joint motor of the robot di ; the motor position information includes: the current position qi of the ith joint motor of the robot i ; When the obtained q di satisfies the joint motor speed |q di | ≤ ε hdq in the motor speed skipping rotor condition and the condition of the execution times n, it is determined that the collected motor speed information conforms to the motor speed skipping rotor condition; When the current speed of the robot's center of mass obtained satisfies the driving speed |v rt | ≤ ε v at this time, it is determined that the current speed of the robot's center of mass collected conforms to the sub-condition of the robot's driving speed; Obtain the desired joint position q of the i-th joint motor of the robot in the default leg state l0i , when the current position q of the i-th joint motor of the robot i meets the motor position skip rotor condition |q i - q l0i | ≤ ε lq , at the execution times n, it is determined that the collected motor position information meets the motor position skip rotor condition, and the simulation result that the robot is already in the default leg mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the single walking mode - default leg mode has passed the feasibility test.
4. The robot integration test system according to claim 1, characterized in that The state transition instruction includes: leg default mode - diagonal trotting mode; wherein, the leg default mode is the current state of the robot; the diagonal trotting mode is the state of the robot after executing the state transition instruction; the enabling jump sub - conditions of the state transition instruction include: diagonal trotting mode enabling sub - condition, non - enabling sub - condition of vertical wall climbing mode, non - enabling sub - condition of single - step walking mode, and non - enabling sub - condition of stair - climbing mode; the motor speed jump sub - condition includes: joint motor speed |q di | ≤ ε ldq , execution times n; the motor position jump sub - condition includes: joint motor position |q i - q l0i | ≤ ε lq , execution times n; where ε ldq represents the allowable joint position deviation threshold of the joint motor in the leg default state; q di represents the current speed of the i - th joint motor of the robot; q i represents the current position of the i - th joint motor of the robot; q l0i represents the desired joint position of the i - th joint motor of the robot in the leg default state; ε lq represents the joint position deviation threshold of the joint motor in the leg default state; the execution times n represents the execution times of the motor speed jump sub - condition and the motor position jump sub - condition; When the state transition instruction includes the leg default mode - diagonal trotting mode, the computing device is used to verify the feasibility of the obtained state transition instruction of the robot, and send the state transition instruction that passes the feasibility verification to the controller, including: Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is the leg default mode and is consistent with the current state of the robot carried in the state jump instruction, obtain the enabling jump sub-conditions including the diagonal trot mode enabling sub-condition, the vertical wall climbing mode not enabled sub-condition, the single-step walking mode not enabled sub-condition, and the stair climbing mode not enabled sub-condition in the state jump instruction, and execute the diagonal trot mode enabling sub-condition, the vertical wall climbing mode not enabled sub-condition, the single-step walking mode not enabled sub-condition, and the stair climbing mode not enabled sub-condition; After executing the enabling jump sub-conditions in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition; Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions; Collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction, where the motor speed information includes: the current speed qi of the i-th joint motor of the robot di ; the motor position information includes: the current position qi of the i-th joint motor of the robot i ; When the obtained q di satisfies the joint motor speed |q di | ≤ ε ldq in the motor speed skipping rotor condition and the condition of the execution times n, it is determined that the collected motor speed information conforms to the motor speed skipping rotor condition; Obtain the desired joint position q of the i-th joint motor of the robot in the default leg state l0i , when the current position q of the i-th joint motor of the robot i meets the motor position skip rotor condition |q i - q l0i | ≤ ε lq , at the execution time n, it is determined that the collected motor position information meets the motor position skip rotor condition, and the simulation result that the robot is already in the diagonal trot mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the default leg mode - diagonal trot mode has passed the feasibility test.
5. The robot integration test system according to claim 1, wherein The state transition instruction includes: wheel-leg default mode - road surface attitude adaptive mode; wherein, the wheel-leg default mode is the current state of the robot; the road surface attitude adaptive mode is the state of the robot after executing the state transition instruction; the enabling jump sub-conditions of the state transition instruction include: road surface attitude adaptive enabling sub-condition, diagonal trotting hybrid gait not enabled sub-condition, single walking hybrid gait not enabled sub-condition, and braking motor not enabled sub-condition; the motor speed jump sub-conditions include: joint motor speed |q di | ≤ ε hdq , execution times n, and hub motor speed |q wi | ≤ ε hw , execution times n; the motor position jump sub-conditions include: joint motor position |q i - q h0i | ≤ ε hq , execution times n; q di represents the current speed of the i-th joint motor of the robot; ε hdq represents the speed threshold of the joint motor of the robot in the wheel-leg default state; q wi represents the current speed of the i-th hub motor of the robot; ε hw represents the speed threshold of the hub motor of the robot in the wheel-leg default state; q i represents the current position of the i-th joint motor of the robot; q h0i represents the expected joint position of the i-th joint motor of the robot in the wheel-leg default state; ε hq represents the joint position deviation threshold of the joint motor in the wheel-leg default state; the execution times n represents the execution times of the motor speed jump sub-condition and the motor position jump sub-condition; When the state jump instruction includes the wheel-leg default mode - road surface posture adaptive mode, the computing device is used to verify the feasibility of the obtained state jump instruction of the robot, and send the state jump instruction passed the feasibility verification to the controller, including: Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is the wheel-leg default mode and is consistent with the current state of the robot carried in the state jump instruction, obtain the road surface posture adaptive enabling sub-condition, the diagonal trot hybrid gait not enabled sub-condition, the single-step walking hybrid gait mode not enabled sub-condition, and the braking motor not enabled sub-condition included in the state jump instruction, and execute the road surface posture adaptive enabling sub-condition, the diagonal trot hybrid gait not enabled sub-condition, the single-step walking hybrid gait mode not enabled sub-condition, and the braking motor not enabled sub-condition; After executing the enabling jump sub-conditions in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition; Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions; Collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction, where the motor speed information includes: the current speed q of the i-th joint motor of the robot di and the current speed q of the i-th hub motor of the robot wi ; the motor position information includes: the current position q of the i-th joint motor of the robot i ; When the obtained q di satisfies the joint motor speed |q di | ≤ ε hdq in the motor speed rotor skipping condition, and the condition of the execution times n, and the obtained q wi satisfies the hub motor speed |q wi | ≤ ε hw in the motor speed rotor skipping condition, and the condition of the execution times n, it is determined that the collected motor speed information conforms to the motor speed rotor skipping condition; Obtain the desired joint position q of the i-th joint motor of the robot in the default state of the wheel-leg h0i , when the current position q of the i-th joint motor of the robot i meets the motor position skip rotor condition |q i -q h0i | ≤ ε hq , at the execution time n, it is determined that the collected motor position information meets the motor position skip rotor condition, and the simulation result that the robot is already in the road surface attitude adaptive mode indicated in the state jump instruction is obtained, and it is determined that the state jump instruction including the wheel-leg default mode - road surface attitude adaptive mode has passed the feasibility test.
6. The robot integrated test system according to any one of claims 1-5, characterized in that The controller is used to perform redundancy processing on multiple state jump conditions in the received state jump instruction sent by the computing device, and optimize the state jump instruction according to the jump requirement, including: Receive the state jump instruction sent by the computing device, execute the state jump instruction, and record the first execution time of executing the state jump instruction; When the first execution time is greater than a preset duration, remove the unenabled sub-conditions in the enabled jump sub-conditions of the state jump condition in the state jump instruction; Execute the state jump instruction after removing the unenabled sub-conditions, and record the second execution time of executing the state jump instruction after removing the unenabled sub-conditions; When the second execution time is greater than the preset duration, remove the motor speed jump sub-condition in the state jump condition of the state jump instruction, and complete the optimization of the state jump instruction of the robot.
7. The robot integrated test system according to claim 6, wherein, The motor speed jump sub-condition includes: the number of executions; the motor position jump sub-condition includes: the position judgment threshold and the number of executions; The controller is configured to convert the optimized state jump instruction into a drive instruction, send the drive instruction to the motor for execution, and complete the test of the state jump instruction of the robot, including: Convert the optimized state jump instruction into a drive instruction, send the drive instruction to the motor for execution, and record the third execution time of the motor executing the drive instruction; When the third execution time is greater than the preset duration, perform a decrement operation on the number of executions to adjust the number of executions in the state jump instruction, obtain an adjusted state jump instruction, and convert the adjusted state jump instruction into a drive instruction and send it to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction; When the motor does not perform an action within the preset duration when executing the drive instruction, determine that the motor fails to execute the drive instruction; Perform an increment operation on the position judgment threshold according to a preset value to adjust the position judgment threshold, obtain an adjusted state jump instruction, and convert the adjusted state jump instruction into a drive instruction and send it to the motor, so that the motor executes the drive instruction obtained by converting the adjusted state jump instruction.
8. A robot integration test method for implementing the functions of the computing device in a robot integration test system according to any one of claims 1-7 above, the method comprising: Obtain the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enabled jump sub-conditions in the state jump condition; After executing the enabled jump sub-conditions in the state jump condition, determine the expected posture and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition; Based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after the state jump into a motor control instruction, and send the motor control instruction to the motor model running in the computing device, so that the motor model executes the motor control instruction; Collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction. When the collected motor speed information meets the motor speed rotor - skipping condition and the motor position information meets the motor position rotor - skipping condition, obtain the simulation result that the robot is already in the robot post - jump state indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
9. A robot integrated test device, characterized in that, Including: An acquisition module, configured to acquire the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enabling rotor - skipping condition in the state jump condition; The state jump instruction further includes: the current state of the robot and the post - jump state of the robot; the state jump condition includes: an enabling rotor - skipping condition, a motor speed rotor - skipping condition, and a motor position rotor - skipping condition; A first processing module, configured to, after executing the enabling rotor - skipping condition in the state jump condition, determine the expected attitude and standing height of the robot after the state jump according to the state of the robot after executing the state jump instruction in the state jump condition; A second processing module, configured to convert the expected attitude and standing height of the robot after the state jump into a motor control instruction based on the forward and inverse kinematic relationships of the robot, and send the motor control instruction to the motor model running in the computing device, so that the motor model executes the motor control instruction; A third processing module, configured to collect the motor speed information and motor position information during the process of the motor model executing the motor control instruction. When the collected motor speed information meets the motor speed rotor - skipping condition and the motor position information meets the motor position rotor - skipping condition, obtain the simulation result that the robot is already in the robot post - jump state indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test; The acquisition module is specifically configured to acquire the current state information of the robot and the state jump instruction of the robot, and when the current state of the robot indicated in the current state information is consistent with the current state of the robot carried in the state jump instruction, execute the enabling jump sub-condition in the state jump condition; after executing the enabling jump sub-condition in the state jump condition, determine the expected posture and standing height of the robot after state jump according to the state of the robot after executing the state jump instruction in the state jump condition; based on the forward and inverse kinematic relationships of the robot, convert the expected posture and standing height of the robot after state jump into motor control instructions, and send the motor control instructions to the motor model running in the computing device, so that the motor model executes the motor control instructions; collect the motor speed information and motor position information during the process of the motor model executing the motor control instructions, and when the collected motor speed information meets the motor speed jump sub-condition and the motor position information meets the motor position jump sub-condition, obtain the simulation result that the robot has reached the state after jump indicated in the state jump instruction, and determine that the state jump instruction has passed the feasibility test.
10. A computer-readable storage medium, on which a computer program is stored, characterized in that, When the computer program is run by the processor, it executes the steps of the method described in claim 8 above.
11. An electronic device, characterized in that, The electronic device includes a memory, a processor, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the processor to perform the steps of the method described in claim 8.
Citation Information
Patent Citations
A testing method and apparatus
CN102279795A