Method, device, electronic device, computer program for controlling walking robot, and walking robot
By planning and controlling the center of gravity and leg trajectories using a dynamic model, the method addresses the high impact and rebound issues in walking robots, improving landing stability and reducing damage.
Patent Information
- Application Number
- JP2024532530
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-07-25
- Filing Date
- 2023-05-06
- Publication Date
- 2025-08-28
- Estimated Expiration
- 2043-05-06
AI Technical Summary
Walking robots experience high impact forces during landing, leading to increased rebound forces and potential damage due to stiff movements, which current control methods fail to adequately address.
A method and apparatus for controlling a walking robot by determining expected trajectories of the center of gravity and mechanical leg foot ends, using a dynamic model to adjust joint movements upon contact with a surface, reducing impact and rebound forces.
The method effectively reduces impact forces on joints and rebound forces, enhancing the robot's landing stability and reducing the likelihood of damage.
Smart Images

Figure 0007730999000048 
Figure 0007730999000049 
Figure 0007730999000050
Abstract
Description
[Technical Field]
[0001] The present application relates to planning and control techniques for walking robots in the field of walking robots (legged robots), and in particular to a method, apparatus, electronic device, computer-readable storage medium, computer program product, and walking robot for controlling a walking robot.
[0002] This application is based on and claims priority from a Chinese patent application having application number 202210877092.6 and filing date July 25, 2022, the entire contents of which are hereby incorporated by reference into this application. [Background technology]
[0003] As artificial intelligence and walking robot technology are widely applied in civilian and industrial fields, walking robots based on artificial intelligence and walking robot technology are playing an increasingly important role in fields such as smart transportation and smart homes, and are also facing higher demands.
[0004] Currently, walking robots (e.g., quadruped walking robots) can already perform a variety of different movements, such as bounding and somersaulting, etc. When walking robots perform these movements, their movements are often stiff during landing, and the impact force received by each joint is greater than the impact force threshold, which increases the rebound force on the body and increases the probability of damage to the walking robot. Summary of the Invention [Problem to be solved by the invention]
[0005] In response to the above-mentioned problems, embodiments of the present application provide a method, an apparatus, an electronic device, a computer-readable storage medium, a computer program product, and a walking robot for controlling a walking robot. [Means for solving the problem]
[0006] A method of controlling a walking robot, the walking robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the method comprising: determining a first expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, and determining a second expected trajectory corresponding to the walking robot, wherein the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot, and the second expected trajectory indicates an expected trajectory of foot ends of at least two of the mechanical legs; and controlling the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0007] An apparatus for controlling a walking robot, the walking robot including a base and at least two mechanical legs, each of the mechanical legs including at least one joint, the apparatus comprising: a planning computation module configured to determine a first expected trajectory corresponding to the walking robot and to determine a second expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, wherein the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot and the second expected trajectory indicates an expected trajectory of foot ends of at least two of the mechanical legs; and a control module configured to control the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0008] A walking robot, With the base, a lower limb unit connected to the base, the lower limb unit including at least two mechanical legs, each of the mechanical legs including a hip joint and a knee joint, the hip joint including at least two degrees of freedom, and the knee joint including at least one degree of freedom; and an electronic device, the electronic device being installed on the walking robot and used to execute the method for controlling a walking robot provided by an embodiment of the present application.
[0009] An electronic device for controlling a walking robot, a processor; A memory having a computer-executable program stored therein, the computer-executable program executing the method for controlling a walking robot provided by an embodiment of the present application when executed by the processor.
[0010] A computer-readable storage medium having a computer-executable program stored therein, the computer-executable program, when executed by a processor, causing the processor to perform a method for controlling a walking robot provided by an embodiment of the present application.
[0011] A computer program product includes a computer-executable program, which, when executed by a processor, implements a method for controlling a walking robot provided by an embodiment of the present application. [Effects of the Invention]
[0012] The embodiments of the present application have at least the following beneficial effects: By planning the center of gravity of a walking robot and the trajectory of the mechanical legs after landing, and controlling the movement of each of the above-mentioned joints of the walking robot based on the planned center of gravity and the trajectory of the foot end of the mechanical legs, the impact force received by each joint during the landing process of the walking robot can be reduced, the repulsion force on the body can be reduced, the impact resistance of the walking robot during the landing process can be improved, and the probability of damage to the walking robot can be further reduced.
[0013] In order to clearly explain the technical solutions of the embodiments of the present application, the following briefly introduces the drawings that need to be used in the description of the embodiments. It is obvious that the drawings in the following description are only some exemplary embodiments of the present application, and those skilled in the art can obtain other drawings based on these drawings without creative work. The following drawings are intentionally not drawn to scale proportional to the actual size. [Brief explanation of the drawings]
[0014] [Figure 1] 1 shows a schematic diagram of a walking robot according to an embodiment of the present application. [Figure 2] 1 shows a flowchart of a method for controlling a walking robot according to an embodiment of the present application. [Figure 3] 1 is a schematic diagram illustrating the moment when a walking robot according to an embodiment of the present invention comes into contact with a flat surface. [Figure 4] 1A and 1B are schematic diagrams illustrating changes in the center of gravity during the landing process of a walking robot according to an embodiment of the present invention. [Figure 5] 1A and 1B are schematic diagrams showing contact of a mechanical leg with a flat surface during the landing process of a walking robot according to an embodiment of the present application; [Figure 6] 1 is a schematic diagram of the calculation principle of the cubic spline difference value provided by an embodiment of the present application; [Figure 7] 1 shows a comparison diagram between a first expected trajectory and an actual trajectory of the center of gravity of a walking robot according to an embodiment of the present application. [Figure 8A] FIG. 1 shows a simulation diagram of a walking robot according to an embodiment of the present invention before landing. [Figure 8B] 10A and 10B show a simulation diagram of the walking robot according to the embodiment of the present invention after landing. [Figure 9] FIG. 1 illustrates an exemplary block diagram of a walking robot according to an embodiment of the present application. [Figure 10] 1 shows a structural diagram of a device for controlling a walking robot according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0015] In order to make the objectives, technical means, and advantages of the present application clearer, exemplary embodiments of the present application will be described in detail below with reference to the drawings. It is apparent that the described embodiments are only some of the embodiments of the present application, and are not all of the embodiments of the present application. It should be understood that the present application is not limited to the exemplary embodiments described herein.
[0016] As shown in the examples and claims of this application, unless the context clearly dictates otherwise, terms such as "a," "one," "one kind," and / or "the" do not specifically refer to the singular but may include the plural. Generally speaking, the terms "comprise" and "comprising" merely indicate the inclusion of specifically identified steps and elements. These steps and elements do not constitute an exclusive list and may include other steps or elements.
[0017] Although the embodiments herein make various references to certain modules in the apparatus provided in accordance with the embodiments herein, any number of different modules may be used and operated in the user terminal and / or server. The modules are illustrative only, and different aspects of the apparatus and methods may use different modules.
[0018] In the embodiments of the present application, flowcharts are used to explain the operations performed by the methods and devices provided according to the embodiments of the present application. It should be understood that the operations described above or below are not necessarily performed in exact order. Conversely, various steps can be performed in reverse order, or simultaneously, if desired. At the same time, other operations can be added to these processes, or operations of one or more steps can be deleted from these processes.
[0019] To facilitate a description of the present embodiments, the following introduces concepts related to the present embodiments.
[0020] The walking robot provided in the embodiments of this application is a robot that moves using mechanical legs. This walking robot is based on animal bioengineering and simulates the animal's locomotion patterns and replicates the animal's motor abilities based on engineering and scientific research results. Walking robots can adapt to various environments (including structured environments (e.g., roads, railways, and smooth, treated surfaces) and unstructured environments (e.g., mountains, swamps, and uneven surfaces)), adapt to various terrain variations, overcome various obstacles, and effectively reduce loads and improve system energy utilization efficiency. Depending on the number of legs, walking robots can be divided into one-legged walking robots, two-legged walking robots, four-legged walking robots, six-legged walking robots, and eight-legged walking robots. Here, four-legged walking robots have better static stability than two-legged walking robots and simpler and more flexible movements than six-legged and eight-legged walking robots. Therefore, four-legged walking robots are the usual choice when researching walking robots. The gait of a quadruped robot refers to the temporal and spatial coordination of the four mechanical legs that enable the quadruped robot to move continuously. The gait of a quadruped robot is derived from the gait of a quadruped animal and may include, but is not limited to, three simplified forms: walk, trot, and bound.
[0021] The method for controlling a walking robot provided in the embodiments of the present application may be based on artificial intelligence (AI). AI is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, expand, and enhance human intelligence, sense the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology in computer science that understands the essence of intelligence and is used to create new intelligent machines that respond in a manner similar to human intelligence. For example, a method for controlling a walking robot based on AI can plan the walking robot's movement trajectory and gait in a manner similar to how humans guide the movement of living animals, making the walking robot's movement flexible and bionic. By studying the design principles and implementation methods of various intelligent machines, AI enables the method for controlling a walking robot provided in the embodiments of the present application to automatically and efficiently design the walking robot's subsequent movement trajectory and gait based on the walking robot's current movement state.
[0022] As described above, the method for controlling a walking robot provided by the embodiments of the present application relates to technologies such as artificial intelligence and machine learning, and the method for controlling a walking robot provided by the embodiments of the present application will be described below in conjunction with the drawings.
[0023] FIG. 1 is a schematic diagram of a walking robot provided in an embodiment of the present application.
[0024] As shown in Fig. 1, a walking robot (referred to as an exemplary walking robot) provided in an embodiment of the present application will be described using a four-legged walking robot as an example. Image 1-1 in Fig. 1 shows an internal perspective view of the walking robot, and image 1-2 shows an external structural view of the walking robot.
[0025] In an embodiment of the present application, the exemplary walking robot can move based on four mechanical legs. Here, each mechanical leg may include an upper leg and a lower leg, and each mechanical leg may include at least one joint. For example, each mechanical leg may include multiple lower leg joints, and the multiple lower leg joints may be, for example, hip joints with two degrees of freedom and knee joints with one degree of freedom.
[0026] In an embodiment of the present application, multiple motors may be further arranged on each mechanical leg, and the multiple motors can be used to control two degrees of freedom of the hip joints and one degree of freedom of the knee joints of a quadruped walking robot, respectively, or in combination.
[0027] It should be noted that various sensors, such as an inertial measurement unit (IMU) sensor and a joint angle encoder, may be further disposed in the walking robot. Here, the IMU sensor can provide acceleration and posture information of the walking robot in real time, and the joint angle encoder can provide joint angle information (e.g., joint angle and angular velocity feedback value) of each joint of the walking robot in real time.
[0028] In an embodiment of the present application, the exemplary walking robot can perform movements such as somersaults or bounds under the control of the above-mentioned multiple motors, and can then fall onto a flat surface in a free landing manner when these movements are completed. In order to reduce the stiffness of the walking robot's movement during the landing process, reduce the impact force received by each joint and the rebound force on the body, and reduce the probability of damage caused by the landing of the walking robot, the walking robot is often controlled during the free landing process and when the walking robot comes into contact with a flat surface.
[0029] To control the free fall of a walking robot, for example, if the process of each foot end of a quadruped walking robot contacting a flat surface is equivalent to the action of two virtual springs in the x-axis and z-axis (vertical directions perpendicular to the plane) directions, and if a control scheme (e.g., a PD control scheme) is used to adjust the stiffness and damping parameters of the virtual springs, the output torque of each joint motor can be derived as an equivalent, thereby allowing the walking robot to land skillfully. Also, for example, the mechanical legs and the environment can be equivalent to two different models (e.g., an RLC model), and based on these two models, a data-driven (a type of machine learning control scheme) can be used to derive the output torque of each joint motor, allowing the walking robot to land skillfully.
[0030] However, the above-mentioned schemes for controlling the free fall of a walking robot all create a spring damping model in the mechanical leg model of the walking robot or the environment model, and the dynamic constraints and characteristics of the walking robot are embodied by the mechanical legs and the change in the center of gravity. Therefore, the above-mentioned schemes for controlling the free fall of a walking robot have deviations from the dynamic constraints and characteristics of the walking robot, which affects the control effect.
[0031] Therefore, to address the above-mentioned problem, an embodiment of the present application provides a method for controlling a walking robot, the walking robot including a base and at least two mechanical legs, each including at least one joint, the method including: determining a first expected trajectory corresponding to the walking robot and determining a second expected trajectory corresponding to the walking robot in response to the walking robot falling until the walking robot touches a flat surface, where the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot and the second expected trajectory indicates expected trajectories of foot ends of the at least two mechanical legs; and controlling movement of each of the joints after the walking robot touches the flat surface based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0032] An embodiment of the present application further provides an apparatus for controlling a walking robot, the walking robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the apparatus including: a planning computation module configured to determine a first expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, and to determine a second expected trajectory corresponding to the walking robot, wherein the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot, and the second expected trajectory indicates an expected trajectory of foot ends of the at least two mechanical legs; and a control module configured to control the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0033] An embodiment of the present application further provides a walking robot, comprising: a base; a lower limb unit connected to the base, the lower limb unit including at least two mechanical legs, each of the mechanical legs including a hip joint and a knee joint, the hip joint including at least two degrees of freedom, and the knee joint including at least one degree of freedom; and electronic equipment installed on the walking robot, the electronic equipment being used to execute the method for controlling a walking robot provided by the embodiment of the present application.
[0034] An embodiment of the present application provides a computer-readable storage medium having a computer-executable program stored therein, the computer-executable program, when executed by a processor, causing the processor to perform a method for controlling a walking robot provided by an embodiment of the present application.
[0035] An embodiment of the present application provides a computer program product, which includes a computer-executable program, which, when executed by a processor, implements the method for controlling a walking robot provided by the embodiment of the present application.
[0036] The method for controlling a walking robot provided in the embodiments of the present application can not only automatically realize the planning of trajectories and gaits for the walking robot, but also ensure that the impact force received by each joint and the rebound force on the body are reduced during the landing process of the walking robot, thereby ensuring the landing function and providing impact-resistant protection for the walking robot at the same time.
[0037] It should be noted that the method for controlling a walking robot provided in the embodiments of the present application described below is performed by an electronic device used to control the walking robot, and the electronic device may be integrated on the walking robot or may be independent from the walking robot, and the embodiments of the present application are not limited thereto.
[0038] Fig. 2 is a flowchart of a method for controlling a walking robot provided by an embodiment of the present application. The control method for controlling a walking robot provided by an embodiment of the present application may include steps S201 and S202 shown in Fig. 2. As described above, the walking robot includes a base and at least two mechanical legs, and each mechanical leg includes at least one joint.
[0039] In step S201, in response to the walking robot falling until it contacts a flat surface, a first expected trajectory corresponding to the walking robot is determined, and a second expected trajectory corresponding to the walking robot is determined.
[0040] It should be noted that the first expected trajectory indicates the expected trajectory of the center of gravity of the walking robot, and the second expected trajectory indicates the expected trajectories of the separated foot ends of at least two mechanical legs.
[0041] For example, step S201 may be performed by any electronic device. The electronic device here may be a terminal or a server, or the electronic device here may be jointly performed by a terminal and a server, but is not limited thereto. Here, the terminal may be a smartphone, a computer (e.g., a tablet PC, a laptop, a desktop computer, etc.), a smart wearable device (e.g., a smart watch, a smart glasses), a smart voice interaction device, a smart home appliance (e.g., a smart TV), an in-vehicle terminal, an airplane, etc. The server may be an independent physical server, a server cluster or a distributed system consisting of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0042] In the present embodiment, the terminal and the server may be located within or outside the blockchain network, and are not limited thereto. In the present embodiment, the terminal and the server may further upload and store any data stored therein to the blockchain network, thereby preventing the data stored therein from being tampered with and improving data security.
[0043] For example, during a walking robot's fall, the contact status between at least two mechanical legs of the walking robot and a flat surface (e.g., the ground, the surface of a table, etc.) may change. Therefore, during the process of the walking robot contacting the flat surface, the walking robot may include a variety of motion patterns, ranging from a pattern in which all mechanical legs are off the flat surface, to a pattern in which some mechanical legs are in contact with the flat surface, to a pattern in which all mechanical legs are in contact with the flat surface. Because the initial speed of the walking robot's fall varies, it is necessary to determine contact information for the walking robot to contact the flat surface, and to determine a first expected trajectory and a second expected trajectory based on the posture and state information of the walking robot at the time of contact. The process of determining contact information for the walking robot to contact the flat surface will be described below in conjunction with FIG. 3, but the embodiments of the present application will not be described again here.
[0044] As described above, the first expected trajectory indicates the expected trajectory of the center of gravity of the walking robot. For example, the first expected trajectory may include position information, velocity information, acceleration information, etc., expected for each time step of the center of gravity of the walking robot. The first expected trajectory may be represented by a timing numerical sequence consisting of related information of the center of gravity corresponding to each time step. Of course, the first expected trajectory may also be represented by other data structures, and the present application is not limited thereto. The process of determining the first expected trajectory will be described below in conjunction with FIG. 4, but will not be repeated here.
[0045] The end of the mechanical leg away from the base is called the foot end, and the second expected trajectory indicates the expected trajectory of the foot end of each of the at least two mechanical legs. For example, the second expected trajectory may include position information, velocity information, acceleration information, angular velocity information, angular acceleration information, etc. expected for the foot end of each mechanical leg at each time step. Furthermore, for example, the second expected trajectory may further include position information, velocity information, acceleration information, angular velocity information, angular acceleration information, etc. expected for each joint of each mechanical leg at each time step. Similarly, the second expected trajectory can be represented by a timing sequence consisting of related information for each mechanical leg corresponding to each time step. Of course, the second expected trajectory may also be represented by other data structures, and the present application is not limited thereto. The process of determining the second expected trajectory will be described below in conjunction with FIGS. 5 and 6, but will not be repeated here.
[0046] Here, one time step may be referred to as one frame. The time difference between adjacent time steps may be the same or different. For example, within a certain period of time immediately after the walking robot contacts a flat surface, the change in the walking robot's movement and the force it receives is greater than a change threshold, so the difference between time steps may be smaller than a time length threshold, thereby improving the flexibility of the walking robot's movement control in the early stages. As the walking robot gradually reaches a stable state, the difference between time steps may be greater than the time length threshold, thereby saving computational power. The embodiments of the present application do not limit the time difference between adjacent time steps.
[0047] In step S202, the movement of each joint after the walking robot comes into contact with the plane is controlled based on the dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0048] It should be noted that the dynamic model is used to determine the change relationships among the motion information of each joint (e.g., including angle, angular velocity, angular acceleration, and joint torque), the motion information of the center of gravity (e.g., including angle, angular velocity, and angular acceleration), and the external contact force. That is, the dynamic model corresponding to a walking robot is used to represent the change relationships among the information of the angle, angular velocity, angular acceleration, joint torque, and external contact force corresponding to each joint and the center of gravity, respectively, during the motion process of the walking robot. For example, the dynamic model can describe the change relationships in terms of energy change. For example, the dynamic model can further describe the change relationships in terms of momentum change or applied force change. The present application is not limited thereto.
[0049] From the moment the walking robot falls onto the surface until it stably stands on the surface, the forces acting on the walking robot include gravity, the driving force of each joint motor, and the contact force (also called the support force) provided to the walking robot by the surface. Based on the three forces of gravity, driving force, and contact force, as well as basic information about the walking robot, such as the size, mass, moment of inertia, and joint connection method of each part of the walking robot's body, a corresponding dynamic model can be created. The contact force and driving force experienced by a walking robot with different postures are different. Based on the dynamic model corresponding to the walking robot, the contact force between the surface and the walking robot at each time step is determined, thereby matching the actual trajectory of the walking robot's center of gravity with the first expected trajectory.
[0050] In an embodiment of the present application, based on a dynamics model corresponding to the walking robot and the contact force between the plane and the walking robot at each time step, the motor torque provided by each joint motor at each time step can be further determined, thereby causing the trajectories of the foot ends of the at least two mechanical legs to match the second expected trajectory.
[0051] That is, the contact force between the plane and the walking robot is determined based on the dynamic model, the first expected trajectory, and the second expected trajectory, and the motor torque provided by each joint motor is determined, and the movement of each joint is controlled based on the determined contact force and motor torque.
[0052] It should be noted that "match" in the embodiments of the present application refers to the fact that, when a real machine is actually tested, the actual trajectory of the center of gravity of the walking robot is very close to the first expected trajectory (the trajectory deviation is smaller than the trajectory deviation threshold) and is therefore identical, or the trajectories of at least two distant foot ends of the mechanical legs are very close to and are therefore identical to the second expected trajectory. Due to limitations in the performance of the joint motors, the joint motors often cannot output ideal torque. At the same time, considering changes in the external environment (e.g., sudden occurrence of other disturbances such as wind), it is often difficult to control the walking robot so that it perfectly matches the first and second expected trajectories. Therefore, the "match" in the embodiments of the present application may refer to the difference between the actual trajectory and the expected trajectory being smaller than the difference threshold.
[0053] In some embodiments of the present application, based on a dynamic model corresponding to the walking robot, a contact force required for the center of gravity of the walking robot to reach the position, velocity, and acceleration specified by the first expected trajectory at each time step can be calculated. The contact force is a support force that a plane provides to the foot end of each mechanical leg. Furthermore, based on the dynamic model corresponding to the walking robot and the contact force, joint control information required for the mechanical legs of the walking robot to reach the posture specified by the second expected trajectory at each time step can be calculated and obtained.
[0054] In the embodiment of the present application, the joint control information may be the acceleration or torque of each joint motor. In an actual physical system, there are differences in the accuracy of measurement of the acceleration and torque of the joint motor. Therefore, in actual applications, those skilled in the art can select the physical quantity with higher accuracy from the acceleration and torque of the joint motor based on the actual situation for subsequent calculation.
[0055] FIG. 3 is a schematic diagram showing the moment when a walking robot 3-1 according to an embodiment of the present invention comes into contact with a plane 3-2.
[0056] As described above, cushioning the landing of the walking robot can be achieved by determining the contact state between at least two mechanical legs and a flat surface at the current time. The so-called current time refers to the latest system time reached over time during the landing process of the walking robot. For example, the contact state between the at least two mechanical legs and the flat surface at the current time includes information such as whether the at least two mechanical legs of the walking robot are in contact with the flat surface, the number of contact points between the at least two mechanical legs and the flat surface, and the position of each contact point, thereby determining a first expected trajectory and a second expected trajectory of the walking robot.
[0057] In some embodiments of the present application, the contact state is determined by current state information corresponding to the walking robot at the current time.
[0058] In an embodiment of the present application, an IMU sensor in a walking robot can be called to determine current state information of the walking robot. For example, the IMU sensor can first collect acceleration information (which may include accelerations in multiple directions (e.g., vertical and horizontal directions) of the walking robot) and current posture information of the walking robot at the current time, and a joint angle encoder can be called to determine joint angle information (e.g., joint angle angles and angular velocity feedback values) of each joint of the walking robot at the current time. Next, the current posture information and joint angle information (e.g., joint angle angles and angular velocity feedback values) can be written into leg odometry to calculate position information (which can be expressed using y1), and the position information may include the calculated positions of at least two mechanical legs of the walking robot at the current time. In addition, the acceleration information can be input to a state space observer, which can then output a position observation result (which can be expressed using ym) based on the acceleration information and a state estimation result of the walking robot at the current time obtained from history. The position observation results may include the observed positions of at least two mechanical legs of the walking robot at the current time. Here, the state estimation result of the walking robot at the current time may be obtained by estimating the state of the walking robot at the current time when a time before the current time has arrived, and the state estimation result of the walking robot at the current time may be stored in a vector or other data structure, but is not limited thereto. Then, the state of the walking robot at the time next to the current time can be estimated based on the position information and the position observation results.
[0059] For example, the position information and the position observation result can be further input to an Extended Kalman Filter (EKF) unit, which performs state estimation to obtain the state estimation result of the walking robot at the next time. The so-called Extended Kalman Filter is a kind of extended form of the standard Kalman filter (abbreviated as Kalman filter) in the nonlinear case, and realizes linearization of the nonlinear function by performing Taylor expansion on the nonlinear function, omitting higher-order terms, and leaving the first-order terms in the expansion term.
[0060] In the present embodiment, the position information and the position observation results can be input to a Kalman filter unit or a state estimation model obtained based on machine learning, whereby the state can be estimated by the Kalman filter unit or the state estimation model to obtain a state estimation result for the walking robot at the next time point. Here, the state estimation result for the walking robot at the next time point can be simultaneously used to control the walking robot and as an input to the state space observer for the next state estimation. In other words, the estimation result obtained by the state estimation can be used for feedback control of the walking robot, thereby forming a closed loop.
[0061] Below, several embodiments are described that determine contact information based on the current state information of the walking robot.
[0062] When the contact information between any machine leg and a plane changes, any one of the state values corresponding to the machine leg may change suddenly, so the contact information between the machine leg and the plane at the current time can be determined based on the current state value of the machine leg. Therefore, in this embodiment, the method of determining contact information based on the current state information includes: obtaining the history state value of any one of the machine legs at a time before the current time, and determining the current state value of any one of the machine legs from the current state information, so that it can be determined whether there is a sudden change in the current state value of any one of the machine legs based on the history state value.
[0063] In the present embodiment, the presence of a sudden change in the current state value refers to the difference between the current state value and the history state value being greater than a predetermined difference value. Based on this, a difference between the history state value and one of the current state values can be calculated. If the calculated difference value is greater than the predetermined difference value, it is determined that a sudden change exists in the current state value. If the calculated difference value is equal to or less than the predetermined difference value, it is determined that a sudden change does not exist in the current state value. For example, assuming that the history state value is 20 and the predetermined difference value is 50, if the current state value is 100, subtracting 20 from 100 gives 80, which is greater than 50, so it can be determined that a sudden change exists in the current state value. If the current state value is 30, subtracting 20 from 30 gives 10, which is less than 50, so it can be determined that a sudden change does not exist in the current state value.
[0064] If it is determined based on the historical state values that there is a sudden change in the current state value of any one of the machine legs, and if the current state value of the machine leg is greater than the historical state value, it is determined that the machine leg is in contact with a flat surface at the current time. If it is determined based on the historical state values that there is no sudden change in the current state value of any one of the machine legs, the contact information between the machine leg and the flat surface at the previous time is used as the contact information at the current time. That is, if any one of the machine legs was in contact with a flat surface at the previous time, it is determined that the machine leg is also in contact with a flat surface at the current time, and if any one of the machine legs was not in contact with a flat surface at the previous time, it is determined that the machine leg is not in contact with a flat surface at the current time.
[0065] In some embodiments of the present application, the current status information may include joint motor torques, current values, or voltage values of at least two mechanical legs.
[0066] It should be noted that when the mechanical legs of a walking robot are suspended in mid-air without touching a flat surface (e.g., not touching the ground), the load on the mechanical legs is only the mass of the mechanical legs, which can be ignored compared to the total mass of the walking robot. Therefore, the load is smaller than the load threshold, and the feedback current value and joint motor torque of each joint are relatively smaller than their corresponding thresholds. When the mechanical legs of a walking robot are in contact with a flat surface (e.g., touching the ground), the load on the walking robot includes not only its entire mass but also an equivalent inertial force moving downward under the action of its own inertia. Therefore, the load exceeds the load threshold, and the feedback current value and joint motor torque of each joint are relatively larger than their corresponding thresholds. Based on this, when it is detected that the joint motor torque or feedback current value suddenly increases from a small value (the amount of change is greater than the change amount threshold within a threshold time length), it is determined that the walking robot has landed on a flat surface (e.g., the ground) from mid-air.
[0067] In some embodiments of the present application, the current state information includes the height of the center of gravity of the walking robot, the orientation of the center of gravity, and current joint angle information corresponding to at least two mechanical legs.
[0068] In an embodiment of the present application, the time when the foot end of the walking robot will contact a plane surface is calculated based on the height of the center of gravity of the walking robot, the posture of the center of gravity, and the angle information of each joint of the walking robot detected by external vision or a motion capture system, and thereby it is possible to determine whether the corresponding leg will contact a plane surface at the current time.
[0069] Here, the method of detecting contact information between a mechanical leg and a plane at the current time based on current state information includes calculating the height of any one of the mechanical legs from the plane based on the height of the center of gravity, the attitude of the center of gravity, and current joint angle information corresponding to any one of the mechanical legs, and determining that any one of the mechanical legs is in contact with the plane at the current time if the calculated height is equal to or less than a height threshold (for example, a numerical value of 0, or 0.005, etc.), and determining that any one of the mechanical legs is not in contact with the plane at the current time if the calculated height is greater than the height threshold.
[0070] In some embodiments of the present application, the current status information may include current plantar tactile feedback values corresponding to at least two mechanical legs, the plantar tactile feedback values being generated by plantar tactile sensors of the corresponding mechanical legs.
[0071] In the embodiment of the present application, the sole tactile sensors can determine whether the corresponding mechanical leg is in contact with a flat surface at the current time. Furthermore, any one of the sole tactile sensors generates a first value as the sole tactile feedback value when it detects that the corresponding mechanical leg is in contact with the flat surface, and generates a second value as the sole tactile feedback value when it detects that the corresponding leg is not in contact with the flat surface. Here, the first value and the second value can be set according to actual needs, for example, the first value is 1 and the second value is 0, or the first value is 0 and the second value is 1, etc. Here, the method of detecting contact information between the mechanical legs and a plane at the current time based on the current state information includes: obtaining a current sole tactile feedback value corresponding to the mechanical legs from the current state information; determining that one of the mechanical legs is in contact with the plane at the current time if the obtained current sole tactile feedback value is a first numerical value; and determining that one of the mechanical legs is not in contact with the plane at the current time if the obtained current sole tactile feedback value is a second numerical value.
[0072] In some embodiments of the present application, the current state information includes a current acceleration of the walking robot in a vertical direction, and a historical acceleration of the walking robot in a vertical direction at a time prior to the current time is known, and if it is determined based on the historical acceleration that a sudden change occurs in the current acceleration, it is determined that the walking robot has landed.
[0073] It is important to note that when a walking robot is standing stably on a flat surface, the acceleration of the walking robot in the z-axis direction collected by the IMU sensor is 1 times the acceleration of gravity g, while when the walking robot is in a completely weightless state in the air, the acceleration of the walking robot in the z-axis direction collected by the IMU sensor is close to 0, and when the walking robot's feet press hard against the flat surface to try to fly, and when it cushions itself against the flat surface after landing, the acceleration of the walking robot in the z-axis direction collected by the IMU sensor are both greater than 1 times the acceleration of gravity g. As is clear from this, there is a sudden change in the walking robot's vertical acceleration at the moment the walking robot lands.
[0074] In the present embodiment, the existence of a sudden change in the current acceleration refers to the difference between the current acceleration and the historical acceleration being greater than a difference threshold. Based on this, the electronic device can calculate the difference between the historical acceleration and the current acceleration. If the calculated difference is greater than the difference threshold, it is determined that a sudden change occurs in the current acceleration. If the calculated difference is equal to or less than the difference threshold, it is determined that a sudden change does not occur in the current acceleration. For example, assuming that the historical acceleration is 2 and the difference threshold is 5, if the current acceleration is 9, subtracting 2 from 9 gives 7, which is greater than 5, so it can be determined that a sudden change occurs in the current acceleration. If the current acceleration is 4, subtracting 2 from 4 gives 2, which is less than 5, so it can be determined that a sudden change does not occur in the current acceleration.
[0075] It should be understood that the above describes some exemplary implementations of determining contact information of the mechanical legs, but does not provide all examples, and the embodiments of the present application are not limited thereto.
[0076] Next, the process of determining the first expected trajectory of the walking robot will be described with reference to Fig. 4. Fig. 4 shows a diagram of changes in the height of the center of gravity during the landing process of the walking robot according to the embodiment of the present application.
[0077] 4 shows two curves. Here, solid line 4-1 is a schematic curve showing the change in the position height of the center of gravity of a walking robot with time steps during the landing process, with the x-axis representing time steps, the y-axis representing height (in centimeters), and dashed line 4-2 representing the height of the center of gravity of the walking robot in a stationary state. The solid line 4-1 schematically shows the change in the component of the first expected trajectory in the z-axis direction. As shown by the solid line 4-1, after the walking robot touches the ground, the height of the center of gravity of the walking robot gradually decreases and then gradually increases.
[0078] As shown in Figure 4, the walking robot first falls at a relatively high acceleration (greater than the acceleration threshold) until one mechanical leg contacts the flat surface. At this time, the mechanical leg that contacts the flat surface withstands the force acting on it by the flat surface, and the descent speed of the center of gravity gradually decreases. As the four mechanical legs contact the flat surface in turn, all four mechanical legs withstand the force acting on the walking robot from the flat surface until the center of gravity of the walking robot reaches the desired rest height, and always maintain contact with the flat surface.
[0079] Based on this, in order to achieve a cushioning effect during the landing process of the walking robot and reduce the rebound force on the body of the walking robot, an optimization goal can be set based on the relationship between the solid line 4-1 and the dashed line 4-2 in Fig. 4, so that the expected trajectory can achieve the desired cushioning effect as much as possible. For example, the optimization goal may be to reduce overshoot, to reduce the integral of the vertical height over time by a relatively small amount, to ensure that the minimum height is higher than a safe height threshold, to ensure that the change in force is smaller than a change threshold, and to ensure that the change rate of the vertical height satisfies certain constraints, etc.
[0080] In some embodiments of the present application, an approximation model corresponding to a walking robot can be used to determine the expected trajectory of the center of gravity of the walking robot. In the approximation model, the walking robot is approximated as a single rigid body, and when the walking robot contacts a flat surface, the resultant force of at least two mechanical legs forms an upward thrust on the single rigid body. Furthermore, the support force of the walking robot is determined based on the upward thrust on the single rigid body.
[0081] For example, a walking robot can be approximated as one single rigid body with mass m. In a situation where the walking robot includes four mechanical legs, the resultant forces of the four mechanical legs form an upward thrust force u on the single rigid body. Based on such an approximate model, and further in conjunction with Newton's second law, we can determine equation (1) (called the dynamics equation).
[0082]
number
[0083] Here, vertically upward is the positive direction, g is the gravity coefficient and has a value equal to −9.81 (the minus sign indicates that the direction of gravity is vertically downward), and [Equation 2] indicates acceleration in the vertical direction.
[0084]
number
[0085] The dynamic equations are written in the form of a State Space Representation, ie, Equation (2) shown below.
[0086]
number
[0087] Equation (2) can be abbreviated to the form of equation (3): In the examples of this application, boldface is used to represent vectors (matrices).
[0088]
number
[0089] where [Equation 5]. Correspondingly, equation (3) can be discretized according to the time step (the length of the time step is Δt) to obtain equation (4).
[0090]
number
[0091]
number
[0092] A d =A c Δt+I, B d =B c Δt. This is based on Model Predictive Control (MPC). Equation (5) can be obtained from equation (4).
[0093]
number
[0094] Here, x1 represents a vector consisting of the vertical height of the center of gravity, the vertical velocity of the center of gravity, and the acceleration of gravity corresponding to the first time step, and x2 represents a vector consisting of the vertical height of the center of gravity, the vertical velocity of the center of gravity, and the acceleration of gravity corresponding to the second time step. k represents a vector consisting of the vertical height of the center of gravity, the vertical velocity of the center of gravity, and the acceleration due to gravity, corresponding to the k-th time step. Here, x0 represents a vector consisting of the vertical height of the center of gravity, the vertical velocity of the center of gravity, and the acceleration due to gravity, corresponding to the initial time. Equation (5) can also be abbreviated as equation (6).
[0095]
number
[0096]
number
[0097] Equation (6) describes the mathematical formula corresponding to each time step. Based on this, an optimization goal corresponding to the embodiment of the present application can be designed based on the expected cushioning effect during the fall of the walking robot, thereby achieving an optimal first expected trajectory. For example, the first expected trajectory is determined by combining the amount of change in the center of gravity of the walking robot, the total amount of impact force received by the walking robot, the amount of crouching of the walking robot, and the amount of sudden change in the impact force received by the walking robot to reach an extreme value. Each of the above has a corresponding weighting coefficient and can be combined in various ways.
[0098] For example, the optimal thrust U can be obtained by setting the optimization goal-Z function shown in equation (7).
[0099]
number
[0100] where X ref is a constant vector and represents the rest height shown by the dashed line in Figure 4. [Equation 11] represents the minimum height of the center of gravity during the entire process.
[0101]
number
[0102] Here, the first term of the Z function [Equation 12] can be used as a form of expression for the amount of fluctuation in the center of gravity of a walking robot, i.e., it is a value obtained by weighting the dynamic equation that the walking robot must satisfy (the weighting coefficient is L). For example, in Figure 4, the first term is shown as a value obtained by weighting the area of the gray region. The smaller [Equation 13] is, the smaller the fluctuation in the center of gravity will be during the process of the walking robot falling, meaning that the walking robot will be more stable.
[0103]
number
number
[0104] The second term of the Z function [Equation 14] can be used as a form of expression for the total amount of impact force received by the walking robot, i.e., it is the weighted value (weighting coefficient is K) of the integral over time of the sum of the planar reaction forces received by the walking robot. The smaller [Equation 15] is, the smaller the total amount of impact force received by the walking robot during the falling process.
[0105]
number
number
[0106] The third term of the Z function [Equation 16] represents the weighted value (weighting coefficient Q) of the distance between the lowest point of the walking robot's center of gravity and its resting height during the entire falling process. The smaller [Equation 17] is, the less the walking robot crouches during the falling process (i.e., the walking robot does not need to crouch very low (below the crouching threshold) and can maintain balance). The third term of the Z function [Equation 18] can be used as a form of expression for the amount of crouching of the walking robot.
[0107]
number
number
number
[0108] The fourth term of the Z function [Equation 19] represents the weighted value (weighting coefficient is W) of the difference in the reaction force that the plane provides to the walking robot between adjacent time steps. The smaller [Equation 20] is, the smaller the sudden change in the impact force received by the walking robot as it falls. The fourth term of the Z function [Equation 21] can be used as a form of expression for the sudden change in the impact force received by the walking robot.
[0109]
number
number
number
[0110] The above is merely a type of combination method of Z functions, and each of the above Z functions is merely an exemplary form representing the amount of change in the center of gravity of a walking robot, the total amount of impact force received by a walking robot, the amount of crouching of a walking robot, and the amount of sudden change in impact force received by a walking robot, and the embodiments of the present application are not limited thereto.
[0111] In the present embodiment, the importance of each of the weighting coefficients is adjusted according to the weighting coefficients. For example, the larger K is, the greater the importance of the impact force received by the walking robot in the method for controlling a walking robot provided by the present embodiment.
[0112] In the present embodiment, the weighting scheme may be of various types. For example, the weighting scheme may be a multiplication weighting scheme, in which case the first term of the Z function can be expressed as [Equation 22]. The weighting scheme may also be a power weighting scheme or an addition scheme, and the present embodiment is not limited thereto. By analogy, each of the remaining Z functions may also be calculated using a different weighting scheme, and the description of the present embodiment will not be repeated here.
[0113]
number
[0114] In the process of calculating the Z function, it is necessary to further consider the following constraints.
[0115] For example, the first constraint is u0≦u U Here, u0 represents the impact force (called instantaneous impact force) that the walking robot receives at the first moment (called instantaneous time) when it comes into contact with the plane, and this impact force is the maximum impact force u that the walking robot can withstand. U The maximum impact force that a walking robot can withstand is u U is determined by the structural characteristics of the walking robot and the strength of the rigid body, and an exemplary value is 200 N. The present application is not limited to this exemplary value.
[0116] For example, the second constraint is F L ≦u≦F U F L represents the lower limit of the bearing capacity that the plane can provide, and F U represents the upper limit of the bearing capacity that the plane can provide. F L is usually 0, and the support force cannot be made smaller than 0.
[0117] For example, the third constraint is [Equation 23]. The third constraint dictates that the height of the center of gravity of the walking robot in the z-axis direction at each time is always higher than the minimum height [Equation 24]. Here, [Equation 24] is a column vector consisting of the sequence values of the minimum height.
[0118]
number
number
[0119] Furthermore, based on different configurations of the walking robot, more or fewer constraints (in addition to the above first, second, and third constraints) may be included, and the embodiments of the present application are not limited thereto.
[0120] By mathematically converting equation (7) into an equivalent equation, equation (8) can be obtained.
[0121]
number
[0122] By mathematically converting equation (8) into an equivalent equation, equation (9) can be obtained.
[0123]
number
[0124] By mathematically converting equation (9) into an equivalent equation, equation (10) can be obtained.
[0125]
number
[0126] By mathematically converting equation (10) into an equivalent equation, equation (11) can be obtained.
[0127]
number
[0128] Here, W satisfies equation (12).
[0129]
number
[0130] Here, the variable U is not included in [Equation 30], and therefore the minimum value of the Z function is not affected, and therefore it is not necessary to calculate [Equation 31].
[0131]
number
number
[0132] That is, [Equation 32] can finally be expressed as Equation (13).
[0133]
number
[0134]
number
[0135] Here, [Number 34].
[0136]
number
[0137] Based on the calculated U that minimizes Z and [Equation 35], the optimal first expected trajectory in Figure 4, i.e., the numerical sequence of the center of gravity in the z-axis direction corresponding to each time step, can be calculated and obtained. In some embodiments of the present application, a full model of the walking robot can also be used to plan the first expected trajectory of the walking robot, thus improving the accuracy of the first expected trajectory, but often requiring relatively high computing power to realize real-time planning.
[0138]
number
[0139] In the embodiments of the present application, the movement trajectory of the center of gravity of the walking robot after landing is planned based on an approximate model (or a full model), which reduces the impact force received by each joint and the rebound force on the body during the landing process of the walking robot, thereby ensuring the landing function and providing good impact-resistant protection for the walking robot.
[0140] Next, the process of determining the second expected trajectory of the walking robot will be described with reference to Figures 5 and 6. Figure 5 shows a schematic diagram of the mechanical leg of the walking robot in the landing process contacting a flat surface in the embodiment of the present application. Figure 6 shows a schematic diagram of the calculation principle of the cubic spline difference value provided in the embodiment of the present application.
[0141] As shown in Figure 5, the four mechanical legs of a walking robot do not land at the same time, but rather in a sequential order. After the first mechanical leg contacts the ground, it is necessary to ensure that the contact position between the first mechanical leg and the ground remains unchanged throughout the landing process. The remaining mechanical legs contact the surface in turn and maintain contact with the surface until the center of gravity of the walking robot reaches the desired rest height. Thus, in some embodiments of the present application, the contact position where one end of one mechanical leg away from the base contacts the surface is determined at the instant when one mechanical leg lands, and this contact position can be defined as the expected trajectory corresponding to that one mechanical leg and maintained unchanged at each time. Based on the first expected trajectory, the movement trajectories of the foot ends of the remaining mechanical legs are determined, and the movement trajectories are defined as the expected trajectories corresponding to the remaining mechanical legs. Finally, the expected trajectory corresponding to the one further mechanical leg and the expected trajectories corresponding to the remaining mechanical legs are determined as second expected trajectories corresponding to the walking robot. Here, one mechanical leg refers to the first mechanical leg that comes into contact with the ground.
[0142] For example, the step of determining the motion trajectories of the separated foot ends of the remaining mechanical legs based on the first expected trajectory includes the steps of: determining, at an instantaneous time when one mechanical leg lands (contacts a flat surface), an initial position of the foot end of the remaining mechanical leg based on a position in the first expected trajectory corresponding to that instantaneous time; determining, based on the first expected trajectory, position coordinates of the corresponding foot end of the remaining mechanical leg corresponding to a stable time, wherein, at the stable time, the posture of the center of gravity of the walking robot is restored to be parallel to the flat surface, the four mechanical legs are in complete contact with the flat surface, and the leg lengths of the four mechanical legs are equal; and interpolating values (for example, interpolating using a cubic spline difference value) based on the initial position of the foot end corresponding to the instantaneous time and the position coordinates of the corresponding foot end of the remaining mechanical leg corresponding to the stable time, thereby determining the motion trajectories of the separated foot end of the remaining mechanical leg.
[0143] In the embodiment of the present application, at the instant when one mechanical leg lands, the position coordinates of the foot ends of the remaining mechanical legs can be calculated in correspondence based on the position of the center of gravity and the posture of the walking robot, and these position coordinates of the foot ends can be used as the initial positions of the foot ends at the instant when the mechanical legs land. The calculation process for the position coordinates of the corresponding foot ends when the remaining mechanical legs become stable is similar, and the embodiment of the present application will not be described repeatedly here.
[0144] For example, as shown in posture 5-1 of the walking robot in Figure 5, at the instant when one mechanical leg lands, the position coordinates of the foot ends of the other three mechanical legs can be calculated in correspondence based on the position of the center of gravity and posture of the walking robot, and the position coordinates of the foot ends can be used as the initial positions of the foot ends at the time of landing.
[0145] In an embodiment of the present application, the electronic device can input sensor information of the walking robot collected at the current time to the leg odometry, so that the leg odometry can calculate the positions of at least two mechanical legs of the walking robot at the current time based on the sensor information and obtain position information.
[0146] Here, the position information of the foot end position coordinates may include respective directional position vectors in the world coordinate system of at least three other mechanical legs. Different directional position vectors correspond to different coordinate axis directions, and one directional position vector is used to indicate the positions of at least two mechanical legs of the walking robot in the corresponding coordinate axis direction. Here, the leg odometry calculates the directional position vector corresponding to the horizontal axis direction as follows: First, a rotation matrix can be calculated based on current posture information. The so-called rotation matrix refers to a matrix that realizes mapping of any one vector to the robot base coordinate system by changing the direction of the vector. Here, the base posture angle of the walking robot can be determined based on the current posture information, and the rotation matrix can be calculated based on the base posture angle. Furthermore, a reference position vector can be calculated based on joint angle information of each joint, and the reference position vector is used to indicate the relative position between the center of gravity of the base of the walking robot and the foot end of each mechanical leg. Then, the rotation matrix can be employed to map the reference position vector to the robot base coordinate system to obtain the target position vector, where the rotation matrix can be multiplied by the reference position vector to obtain the target position vector.
[0147] First, a three-dimensional position vector of the center of gravity of the walking robot in the world coordinate system can be obtained. Then, the horizontal axis component of the target position vector and the horizontal axis component of the three-dimensional position vector are combined to obtain a directional position vector corresponding to the horizontal axis direction. This combination process may include an addition process.
[0148] It should be noted that the method by which the leg odometry calculates the direction position vector corresponding to the other coordinate axes (e.g., the vertical axis and longitudinal axis) is similar to the method by which the leg odometry calculates the direction position vector corresponding to the horizontal axis direction, and therefore will not be repeated here. Furthermore, the position information may include at least two direction position vectors in the world coordinate system, as well as other vectors, such as a foot tip position vector or a foot tip velocity vector in the robot base coordinate system. Here, the foot tip position vector is used to indicate the three-dimensional positions of the feet of at least two mechanical legs of the walking robot in the robot base coordinate system, and the method by which the leg odometry calculates the foot tip position vector may include performing an inverse process on the target position vector to obtain the foot tip position vector. The foot tip velocity vector is used to indicate the three-dimensional velocity of the feet of at least two mechanical legs of the walking robot in the robot base coordinate system, and the method by which the leg odometry calculates the foot tip velocity vector may include performing a derivative process on the target position vector (pf) and then performing an inverse process on the derivative calculation result to obtain the foot tip velocity vector.
[0149] As shown in posture 5-2 of the walking robot in Figure 5, in a situation where the absolute position of the first mechanical leg does not change, if the posture of the center of gravity of the walking robot eventually becomes parallel to the plane, the four mechanical legs are in complete contact with the plane, and the leg lengths of the four mechanical legs are restored to the same state, then the position coordinates of the foot end positions of the other three mechanical legs and their contact points with the ground will be the position coordinates of the foot end at the time the landing process ends.
[0150] In the process of the walking robot changing from posture 5-1 in Fig. 5 to posture 5-2 in Fig. 5, the numerical sequences in the x and y directions of the foot end positions of the other three mechanical legs are realized by cubic spline interpolation of the positions at the initial time and end time. Similarly, the numerical sequences in the x and y directions of the center of gravity of the walking robot are realized by cubic spline interpolation of the positions at the initial time and end time.
[0151] As shown in Figure 6, the cubic spline difference provided in the embodiment of the present application involves dividing the known data into several segments, constructing a cubic function for each segment, and ensuring that the curve passes through a specific point and satisfies a predetermined speed constraint at a specific point. For example, when the known data includes three data such as (pa,va,ta), (pb,tb), and (pc,vc,tc), where p represents position, v represents speed, and t represents time, and the known data is divided into two segments, the calculation principle of the cubic spline difference can be seen in Figure 6. First, two cubic functions, f1(t) and f2(t), can be constructed. Then, based on the two cubic functions and the known data, a system of equations can be created, which can then be used to determine the coefficients (a0,a1,a2,a3,b0,b1,b2,b3) of the cubic polynomial. After determining the coefficients of the cubic polynomials, the two cubic functions can then be used to determine the position and corresponding velocity of the walking robot at any one time, thereby realizing control of the walking robot.
[0152] In an embodiment of the present application, a sequence of values in the z direction of the other three mechanical legs can be determined in correspondence with the first expected trajectory. Here, after one mechanical leg of a walking robot contacts a flat surface, the length of the remaining mechanical leg changes in accordance with a change in the height of the walking robot's center of gravity. Therefore, the sequence of values in the z direction of the other three mechanical legs may be described as the height at which the foot ends of these three mechanical legs can exactly contact the ground when the center of gravity of the walking robot reaches the position indicated by the first expected trajectory in the z direction. Alternatively, the sequence of values in the z direction of the other three mechanical legs may be determined using a cubic spline difference value, but the embodiment of the present application is not limited to this.
[0153] Next, the process of controlling the movement of each joint after the walking robot contacts a flat surface will be described in conjunction with Figures 7, 8A, and 8B. Here, Figure 7 shows a comparison diagram between the first expected trajectory of the embodiment of the present application and the actual trajectory of the center of gravity of the walking robot. Figure 8A shows a simulation diagram of the walking robot of the embodiment of the present application before landing. Figure 8B shows a simulation diagram of the walking robot of the embodiment of the present application after landing.
[0154] A scheme for controlling a walking robot based on the dynamic equations and the first expected trajectory of the walking robot is also called Model Predictive Control (MPC). A control scheme for each joint that combines the dynamic equations and the second expected trajectory is also called Whole-Body Dynamics Control (WBC).
[0155] In an embodiment of the present application, the MPC and WBC are used together to realize shock absorber control during the landing process. The process of achieving shock absorber control includes optimizing the controller output (i.e., the torque of each joint motor) by calculating future control variable trajectories (i.e., a first expected trajectory and a second expected trajectory). The optimization process is performed within a limited time window and is performed using initial system information for the time window. The start time of the time window is the moment when the walking robot touches the surface, and the end time is the moment when the walking robot stands stably.
[0156] As an example, the dynamic equation of a walking robot may be expressed as equation (14).
[0157]
number
[0158] The first six lines of equation (14) (shown in equation (15) below) are the mass dynamics information of the walking robot.
[0159]
number
[0160] where M p represents the mass and inertia matrix corresponding to the base. [Number 38] represents the six-dimensional center of gravity position and orientation vector, and is an array corresponding to the first expected trajectory. In the embodiment of the present application, the center of gravity position includes the position in the direction of gravity (z direction), and the x direction, y direction, and rotation angle direction are all zero. f is the contact force that the plane exerts on the four foot tips, and the contact forces that the plane exerts on each foot tip are all three-dimensional forces, so the total number of dimensions of f is 12. C p represents the gravity term, centrifugal force term, and Coriolis force term of the base. [Equation 39] represents the transpose of the Jacobian matrix of the base. Based on this, MPC can be applied to determine the contact force f that the plane provides to the walking robot. That is, by determining the contact force between the plane and the walking robot at each time step based on the dynamic model corresponding to the walking robot, the actual trajectory of the center of gravity of the walking robot can be made to match the first expected trajectory.
[0161]
number
number
[0162] The lower half of equation (14) (shown in equation (16) below) is the dynamics information of the joints of the walking robot.
[0163]
number
[0164] where M θ represents the mass and inertia matrix corresponding to each joint, and θ represents the angles of all drivable degrees of freedom (including the degrees of freedom corresponding to the 12 joint motors in the quadruped robot shown in FIG. 1 or FIG. 5). Cθ includes the gravity term, centrifugal force term, and Coriolis force term of the drivable joint. [Equation 41] represents the transpose of the Jacobian matrix of the drivable joint. [Equation 42] represents the acceleration of the 12 actively drivable joint angles of the walking robot. τ is the input torque of the 12 joints. The contact force f calculated based on equation (15) and other parameters of the robot dynamic model are all known, and the joint torque τ of each robot can be calculated by applying equation (16).
[0165]
number
number
[0166] In the present embodiment, equation (16) may be further written in the form of equation (17).
[0167]
number
[0168] Here, [Equation 44] can be obtained by equation (18).
[0169]
number
[0170]
number
[0171] Here, [Number 46] is x d , and [Equation 47] are determined by the second expected trajectory, and k p , and k d is the coefficient of the PD control.
[0172]
number
number
[0173] That is, based on a dynamic model corresponding to the walking robot and the contact force between the plane and the walking robot at each time step, a motor torque provided by each joint motor at each time step is determined, thereby causing the trajectory of one end of each mechanical leg away from the base to match the second expected trajectory.
[0174] As shown in Figure 7, curve 7-1 shows the first expected trajectory, where the y-axis is the height of the center of gravity of the walking robot and the x-axis is time. In Figure 7, curve 7-2 shows the actual trajectory of the center of gravity, which is determined by the data collection device mentioned above at different times. As can be seen from the above, through the control of the MPC and whole-body dynamics, the actual center of gravity height of the walking robot follows the center of gravity position planned by the simplified model mentioned above, and smooth control of landing can be achieved.
[0175] In a simulation test, when a walking robot falls from a height of 0.75 meters, its legs contract at the moment of contact with the ground, as shown in postures 8-11 to 8-14 in FIG. 8A. Then, as shown in postures 8-21 to 8-28 in FIG. 8B, the distance between the base of the walking robot and the ground gradually shortens during the landing buffering process. The legs exert a reaction force on the center of gravity of the walking robot, which decelerates the posture of the walking robot's body under the action of this reaction force. At the same time, the height of the walking robot's body rebounds, preventing the foot end from bouncing off the ground and reducing overshoot during the entire center of gravity height change process. After smooth control, the walking robot can stand on the ground in a preset posture, and the posture and rebound process of the center of gravity height are generally consistent with the desired results.
[0176] Figures 7 to 8B all show that in a situation where the walking robot has a relatively high falling speed in the z direction (greater than the speed threshold) at the moment it hits the ground, applying the embodiments of the present application can reduce the impact on the joints of the walking robot throughout the landing process, reduce the rebound force on the upper body, and eliminate the phenomenon of the legs jumping up and then landing again, ensuring the landing function while providing good impact-resistant protection for the walking robot.
[0177] In this embodiment, a model is created for a walking robot in free fall motion, and the motion trajectory of the center of gravity and the position trajectory of the foot end of the walking robot after landing are planned based on the model, and the control torque of each motor is calculated based on the planned motion trajectory of the center of gravity and the position trajectory of the foot end to control the walking robot, thereby reducing the impact force received by each joint during the landing process of the walking robot and reducing the rebound of the body, ensuring the landing function and providing good impact protection for the walking robot.
[0178] An embodiment of the present application proposes a walking robot 900. Figure 9 shows an exemplary block diagram of a walking robot 900 according to an embodiment of the present application.
[0179] The walking robot 900 may include a base 910 and a lower limb unit 920 connected to the base 910, and the lower limb unit 920 may include at least two mechanical legs (e.g., four lower limbs). Each of the mechanical legs may include a hip joint and a knee joint, and the hip joint may include at least two degrees of freedom, and the knee joint may include at least one degree of freedom (e.g., each lower limb may include two degrees of freedom at the hip joint and one degree of freedom at the knee joint).
[0180] The lower limbs refer to the walking members used to realize the movement of the walking robot, and include, for example, mechanical legs and motors that connect the mechanical legs to the base and are used to realize the movement control of the mechanical legs. The embodiments of the present application are not limited to the specific configuration type of the lower limbs and the number of lower limbs.
[0181] The base refers to the main body part of the walking robot, and may be, for example, the trunk part of the walking robot, and the embodiments of the present application are not limited to the specific shape and configuration of the base.
[0182] In some embodiments, the base may include, for example, two spinal joints, and the lower limbs may include, for example, eight lower limb joints. Embodiments of the present application are not limited to the specific number of joints included in the base and the lower limbs, and are not limited to the specific joint configuration of the walking robot.
[0183] The walking robot may further include an electronic device 930, which is installed on the walking robot and can execute the method for controlling the walking robot described above, and has the functions described above.
[0184] The electronics 930 may include, for example, a processing unit, which may include a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array, a state machine, or other processing device used to process the electrical signals received from the sensor wires. This processing device may include programmable electronics, such as a PLC, a programmable interrupt controller (PIC), a programmable logic device (PLD), a programmable read-only memory (PROM), and an electronically programmable read-only memory.
[0185] The walking robot may further include a bus, a memory, a sensor assembly, a communication module, an input / output device, and the like.
[0186] The bus may be a circuit that connects each component of the walking robot to each other and transmits communication information (eg, control messages or data) between each component.
[0187] The sensor assembly can be used to sense the physical world and includes, for example, a camera, an infrared sensor, an ultrasonic sensor, etc. The sensor assembly may also include devices used to measure the current motion and movement state of the walking robot, such as a Hall sensor, a laser position sensor, or a strain sensor.
[0188] The communication module can be connected to a network, for example, wired or wirelessly, thereby communicating with the physical world (e.g., a server). The communication module may be wireless and include a wireless interface, such as an Institute of Electrical and Electronics Engineers (IEEE) 802.11, Bluetooth, a wireless local area network (WLAN) transceiver, or a wireless interface used to access a cellular telephone network (e.g., a transceiver / antenna used to access a CDMA, GSM, UMTS, or other mobile communication network). In embodiments of the present application, the communication module may be wired and include an interface such as Ethernet, Universal Serial Bus (USB), or IEEE 1394.
[0189] The input / output device can, for example, transmit commands or data input from a user or any other external device to one or more other components of the walking robot, or output commands or data received from one or more other components of the walking robot to a user or other external device.
[0190] A plurality of walking robots can cooperate to complete the task of paragraph 1 by forming a walking robot system, and the plurality of walking robots are communicatively connected to a server and receive instructions from the server to cause the walking robots to cooperate.
[0191] The following will continue to describe an exemplary structure of the device for controlling a walking robot provided by the embodiments of the present application, which is implemented as a software module. In some embodiments, as shown in FIG. 10, the software module of the device for controlling a walking robot 1055 stored in the memory 1050 of the electronic device 930 is: a planning computation module 10551 configured to determine a first expected trajectory corresponding to the walking robot and to determine a second expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, wherein the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot and the second expected trajectory indicates an expected trajectory of foot ends of at least two of the mechanical legs; and a control module 10552 configured to control the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
[0192] In an embodiment of the present application, the planning calculation module 10551 is further configured to determine the first expected trajectory corresponding to the walking robot based on an approximation model corresponding to the walking robot in response to the walking robot falling until it contacts the flat surface, wherein in the approximation model, the walking robot is a single rigid body, and in the process of the walking robot contacting the flat surface, a resultant force of at least two of the mechanical legs forms an upward thrust on the single rigid body.
[0193] In an embodiment of the present application, the first expected trajectory is used to make the combined value of the amount of change in the center of gravity of the walking robot, the total amount of impact force received by the walking robot, the amount of crouching of the walking robot, and the amount of sudden change in the impact force received by the walking robot reach an extreme value.
[0194] In an embodiment of the present application, the first expected trajectory satisfies each of the first constraint, the second constraint, and the third constraint, where the first constraint is used to indicate that the instantaneous impact force is less than the maximum impact force that the walking robot can withstand. The instantaneous impact force refers to the impact force received at the instant the walking robot contacts a flat surface. The second constraint is used to indicate that the impact force received by the walking robot is less than the upper limit of the support force that the flat surface can provide and greater than the lower limit of the support force that the flat surface can provide. The third constraint is used to indicate that the height of the center of gravity of the walking robot is higher than the minimum height.
[0195] In an embodiment of the present application, the planning calculation module 10551 is further configured to: determine a contact position where the foot end of the one mechanical leg contacts the plane at an instant when the one mechanical leg contacts the plane; set each of the contact positions corresponding to each time step as an expected trajectory corresponding to the one mechanical leg; and maintain each of the contact positions unchanged at each time step; determine a movement trajectory of the foot end of the remaining mechanical leg based on the first expected trajectory; and set the movement trajectory as an expected trajectory corresponding to the remaining mechanical leg, where the remaining mechanical leg refers to the mechanical leg other than the one of the at least two mechanical legs; and determine the expected trajectory corresponding to the one mechanical leg and the expected trajectory corresponding to the remaining mechanical leg as the second expected trajectory corresponding to the walking robot.
[0196] In an embodiment of the present application, the planning calculation module 10551 is further configured to: determine, at the instantaneous time when the one mechanical leg contacts the plane, an initial position of a corresponding foot end of the remaining mechanical leg at the said instantaneous time, based on a position in the first expected trajectory corresponding to the said instantaneous time; determine, based on the first expected trajectory, position coordinates of the corresponding foot end of the remaining mechanical leg at a stable time, wherein, at the stable time, the attitude of the center of gravity of the walking robot is recovered to be parallel to the plane, at least two of the mechanical legs are in contact with the plane, and the leg lengths of at least two of the mechanical legs are equal; and interpolate values based on the initial position of the foot end and the position coordinates of the corresponding foot end of the remaining mechanical leg at the stable time, to obtain the movement trajectory of the foot end of the remaining mechanical leg.
[0197] In an embodiment of the present application, the control module 10552 is further configured to control the movement of each joint after the walking robot contacts the plane, so that one mechanical leg of the walking robot first contacts the plane and maintains the contact position unchanged, and the remaining mechanical legs contact the plane in turn and maintain contact with the plane after contacting, until the center of gravity of the walking robot reaches a desired rest height.
[0198] In the present embodiment, the first expected trajectory indicates that after the walking robot contacts the plane, the height of the center of gravity of the walking robot gradually decreases, and then gradually increases.
[0199] In an embodiment of the present application, the second expected trajectory indicates that after one mechanical leg of the walking robot contacts the plane, the length of the remaining mechanical leg changes with the change in the height of the center of gravity of the walking robot.
[0200] In an embodiment of the present application, the step of controlling the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory includes the steps of: determining a contact force between the plane and the walking robot at each time step based on the dynamic model corresponding to the walking robot, wherein the contact force is used to control the actual trajectory of the center of gravity of the walking robot so that it coincides with the first expected trajectory; and determining a motor torque to be provided by each joint motor at each time step based on the dynamic model corresponding to the walking robot and each of the contact forces, wherein the motor torque is used to control the trajectories of the foot ends of at least two of the mechanical legs so that they coincide with the second expected trajectory.
[0201] In an embodiment of the present application, the device 1055 for controlling the walking robot further includes a contact judgment module 10553 configured to: determine contact information based on current state information of the walking robot, where the contact information indicates a contact state between at least two of the mechanical legs and the plane at a current time; and determine, based on the contact information, that the walking robot will fall until it contacts the plane.
[0202] In an embodiment of the present application, the contact judgment module 10553 is further configured to: obtain a historical state value of any one of the mechanical legs at a time prior to the current time; determine a current state value of the mechanical leg based on the current state information of the walking robot; determine whether there is a sudden change in the current state value based on the current state value and the historical state value; and determine the contact information corresponding to the mechanical leg based on whether there is a sudden change in the current state value.
[0203] In an embodiment of the present application, the current state information includes at least one of the joint motor torque, current value, or voltage value of at least two of the mechanical legs; the height of the center of gravity of the walking robot, the attitude of the center of gravity, or current joint angle information corresponding to at least two of the mechanical legs; the current plantar tactile feedback value corresponding to at least two of the mechanical legs; and the current acceleration of the walking robot in the vertical direction.
[0204] As can be understood, in the embodiments of the present application, with regard to related data such as the movement information of a walking robot, when the embodiments of the present application are applied to a specific product or technology, user permission or consent must be obtained, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0205] The program portion of the technology may be considered a "product" or "article of manufacture" existing in the form of executable code and / or associated data, and may be involved or realized by a computer-readable medium. A tangible and persistent storage medium may include internal memory or memory used in any computer, processor, or similar device or associated module. For example, various semiconductor memories, magnetic tape drives, magnetic disk drives, or any similar device capable of providing storage functionality for software.
[0206] All software, or portions thereof, may be communicated over a network, such as the Internet or other communications network. Such communication may load the software from one computer device or processor to another. Therefore, other media capable of transmitting software elements may also be used as physical connections between components of the device; for example, light waves, radio waves, and electromagnetic waves may be propagated via cables, optical cables, or air. Physical media used to transport waves, such as cables, wireless connections, or similar devices such as optical cables, may also be considered software-carrying media. As used herein, unless otherwise qualified as tangible "storage" media, all other terms referring to computer or machine "readable media" refer to media involved in the execution of instructions by a processor.
[0207] This application uses certain terms to describe embodiments of this application. For example, "an embodiment of this application" and / or "some embodiments of this application" means a certain feature, structure, or characteristic associated with at least one embodiment of this application. Therefore, it is emphasized and should be noted that two or more references to "an embodiment of this application" or "some embodiments of this application" in various places in this application do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics in one or more embodiments of this application may be combined, as appropriate.
[0208] Additionally, as will be understood by those skilled in the art, each aspect of the present application can be described and described in terms of several patentable classes or contexts, including any new and useful process, machine, manufacture, or combination of matter, or any new and useful improvement thereof. Accordingly, each aspect of the present application may be implemented entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or a combination of hardware and software. Such hardware or software may also be referred to as a "data block," "module," "engine," "unit," "assembly," or "system." Each aspect of the present application may also be embodied as a computer product located on one or more computer-readable medium(s), which may include computer-readable program code.
[0209] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It should be further understood that conventional dictionary definitions of these terms should be interpreted to have a meaning consistent with their meaning in the context of their relevant art, and should not be interpreted in an idealized or overly formalized sense unless expressly defined herein.
[0210] The above is illustrative of the present application and should not be construed as limiting the present application. Although several exemplary embodiments of the present application have been described, those skilled in the art will readily appreciate that many modifications can be made to the exemplary embodiments without departing from the novel teachings and advantages of the present application. Accordingly, all such modifications are intended to be included within the scope of the present application, which is defined by the appended claims. It should be understood that the above is illustrative of the present application and should not be construed as limiting the present application to the particular embodiments disclosed. Furthermore, modifications to the disclosed embodiments and other embodiments are intended to be included within the scope of the appended claims. The present application is limited by the claims and their equivalents.
Claims
1. A method of controlling a walking robot, the walking robot including a base and at least two mechanical legs, each mechanical leg including at least one joint, the method comprising: determining a first expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, and determining a second expected trajectory corresponding to the walking robot, wherein the first expected trajectory indicates an expected trajectory of a center of gravity of the walking robot, and the second expected trajectory indicates expected trajectories of foot ends of at least two of the mechanical legs; determining the first expected trajectory corresponding to the walking robot based on an approximation model corresponding to the walking robot in response to the walking robot falling until it contacts the flat surface, wherein in the approximation model, the walking robot is a single rigid body, and in the process of the walking robot contacting the flat surface, a resultant force of at least two of the mechanical legs forms an upward thrust on the single rigid body, and the first expected trajectory is used to make a combined value of a fluctuation amount of the center of gravity of the walking robot, a total amount of impact force received by the walking robot, an amount of crouching of the walking robot, and an amount of sudden change in the impact force received by the walking robot reach an extreme value; Steps and and controlling the movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
2. the first expected trajectory satisfies each of the first constraint condition, the second constraint condition, and the third constraint condition; the first constraint condition is used to instruct that the instantaneous impact force is smaller than the maximum impact force that the walking robot can withstand, the instantaneous impact force being the impact force that the walking robot receives at the instant that it comes into contact with a flat surface; the second constraint condition is used to indicate that the impact force received by the walking robot is smaller than the upper limit of the support force that the plane can provide and is larger than the lower limit of the support force that the plane can provide; The method of claim 1 , wherein a third constraint is used to dictate that the height of the center of gravity of the walking robot is higher than a minimum height.
3. Determining a second expected trajectory corresponding to the walking robot includes: a step of determining a contact position where a foot end of one mechanical leg contacts the plane at an instantaneous time when the one mechanical leg contacts the plane, setting each of the contact positions corresponding to each time step as an expected trajectory corresponding to the one mechanical leg, and maintaining each of the contact positions unchanged at each of the time steps; a step of determining a motion trajectory of a foot end of a remaining mechanical leg based on the first expected trajectory, and setting the motion trajectory as an expected trajectory corresponding to the remaining mechanical leg, wherein the remaining mechanical leg refers to a mechanical leg other than the one mechanical leg of the at least two mechanical legs; determining an expected trajectory corresponding to the one mechanical leg and an expected trajectory corresponding to the remaining mechanical legs as the second expected trajectory corresponding to the walking robot.
4. Determining a movement trajectory of a foot end of a remaining mechanical leg based on the first expected trajectory includes: a step of determining, at the instantaneous time when the one mechanical leg contacts the plane, an initial position of a corresponding foot end of the remaining mechanical leg at the instantaneous time based on a position on the first expected trajectory corresponding to the instantaneous time; a step of determining position coordinates of corresponding foot ends of the remaining mechanical legs at a stable time based on the first expected trajectory, wherein at the stable time, at least two mechanical legs of the walking robot contact the plane and recover until the heights of hip joints of the at least two mechanical legs from the plane become equal; and interpolating values based on the initial position of the foot end and position coordinates of corresponding foot ends of the remaining mechanical legs at the stable times to obtain the movement trajectories of the foot ends of the remaining mechanical legs.
5. the step of controlling the movement of each of the joints after the walking robot comes into contact with the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory, 2. The method of claim 1, comprising a step of controlling movement of each of the joints after the walking robot has contacted the flat surface, so that one mechanical leg of the walking robot first contacts the flat surface and maintains the contact position unchanged, and the remaining mechanical legs successively contact the flat surface and maintain contact with the flat surface after contact, until the center of gravity of the walking robot reaches a desired rest height.
6. The method of claim 1 , wherein the first expected trajectory indicates that after the walking robot contacts the plane, the height of the center of gravity of the walking robot gradually decreases and then gradually increases.
7. 7. The method according to claim 6, wherein the second expected trajectory indicates that after one mechanical leg of the walking robot contacts the plane, the heights of the hip joints of the remaining mechanical legs from the plane change in accordance with a change in the height of the center of gravity of the walking robot.
8. controlling a movement of each of the joints after the walking robot has contacted the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory, determining a contact force between the plane and the walking robot at each time step based on the dynamic model corresponding to the walking robot, the contact force being used to control an actual trajectory of the center of gravity of the walking robot so that it coincides with the first expected trajectory; and determining a motor torque to be provided by each joint motor at each of the time steps based on the dynamics model corresponding to the walking robot and each of the contact forces, the motor torque being used to control trajectories of foot ends of at least two of the mechanical legs so that they coincide with the second expected trajectory.
9. Prior to determining a first expected trajectory corresponding to the walking robot in response to the walking robot falling until contacting a flat surface, the method further comprises: determining contact information based on current state information of the walking robot, the contact information indicating a contact state between at least two of the mechanical legs and the plane at a current time; The method of claim 1 , further comprising: determining, based on the contact information, that the walking robot will fall until it contacts the flat surface.
10. The step of determining contact information based on current state information of the walking robot includes: A step of acquiring a history state value of any one of the mechanical legs at a time before the current time; determining a current state value of the mechanical leg based on the current state information of the walking robot; determining whether there is a sudden change in the current state value based on the current state value and the historical state value; and determining the contact information corresponding to the machine leg based on whether there is a sudden change in the current state value.
11. The current status information is joint motor torques, current values, or voltage values of at least two of the mechanical legs; The height of the center of gravity of the walking robot, the orientation of the center of gravity, or current joint angle information corresponding to at least two of the mechanical legs; current plantar tactile feedback values corresponding to at least two of said mechanical legs; and a current acceleration of the walking robot in a vertical direction.
12. An apparatus for controlling a walking robot, the walking robot including a base and at least two mechanical legs, each of the mechanical legs including at least one joint, the apparatus comprising: a planning computation module configured to determine a first expected trajectory corresponding to the walking robot and to determine a second expected trajectory corresponding to the walking robot in response to the walking robot falling until it contacts a flat surface, the first expected trajectory indicating an expected trajectory of a center of gravity of the walking robot and the second expected trajectory indicating expected trajectories of foot ends of at least two of the mechanical legs; determining the first expected trajectory corresponding to the walking robot based on an approximation model corresponding to the walking robot in response to the walking robot falling until it contacts the flat surface, wherein in the approximation model, the walking robot is a single rigid body, and in the process of the walking robot contacting the flat surface, a resultant force of at least two of the mechanical legs forms an upward thrust on the single rigid body, and the first expected trajectory is used to make a combined value of the amount of fluctuation in the center of gravity of the walking robot, the total amount of impact force received by the walking robot, the amount of crouching of the walking robot, and the amount of sudden change in the impact force received by the walking robot reach an extreme value; a planning calculation module; and a control module configured to control movement of each of the joints after the walking robot contacts the plane based on a dynamic model corresponding to the walking robot, the first expected trajectory, and the second expected trajectory.
13. A walking robot, With the base, a lower limb unit connected to the base, the lower limb unit including at least two mechanical legs, each of the mechanical legs including a hip joint and a knee joint, the hip joint including at least two degrees of freedom, and the knee joint including at least one degree of freedom; and an electronic device installed on the walking robot, the electronic device being used to execute a method for controlling a walking robot described in any one of claims 1 to 11.
14. An electronic device for controlling a walking robot, a processor; An electronic device for controlling a walking robot, comprising: a memory having a computer program stored therein, the computer program being configured to cause the electronic device to execute a method for controlling a walking robot according to any one of claims 1 to 11 when the computer program is run by the processor.
15. A computer program that, when executed by a processor, causes an electronic device to implement the method for controlling a walking robot according to any one of claims 1 to 11.
Citation Information
Patent Citations
Jump gait planning method of multi-legged robot
CN112650222A
DE112006000313B3
Leg type mobile and its controlling method
JP2001138273A
Legged robot and its control method
JP2006212736A
Control method to reduce fall damage in humanoid robots
JP2014508660A