Task-specific and environment-specific adaptive control of legged robots
The control system for legged robots uses a stochastic filter to update reference trajectories based on feedback, addressing the challenge of adapting to changing environments and ensuring performance objectives, enhancing efficiency and adaptability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2023-04-24
- Publication Date
- 2026-06-19
AI Technical Summary
Legged robots face challenges in adapting their reference trajectories efficiently in complex, changing environments due to the computational expense of real-time calculations and the impracticality of storing all possible trajectories.
A control system utilizing a stochastic filter, such as a Kalman filter, to iteratively update reference trajectories based on feedback signals, ensuring they meet performance objectives like desired leg lift height, walking speed, and energy consumption, allowing adaptation to current tasks and environments.
Enables efficient and adaptive control of legged robots by simplifying trajectory generation and allowing real-time adjustments, improving performance in dynamic conditions without requiring extensive computational resources.
Smart Images

Figure 0007876484000020 
Figure 0007876484000021 
Figure 0007876484000022
Abstract
Description
[Technical Field]
[0001] This disclosure relates in general to control systems, and more specifically to systems and methods for generating reference trajectory states for legged robots. [Background technology]
[0002] Legged robots can assist humans in their daily needs or routine activities by increasing their mobility. Activities that legged robots can assist with include carrying goods such as groceries and construction materials, search and rescue missions, and household chores. To perform these activities, legged robots operate in unstructured, uncertain, and changing environments, and therefore, they are often inherently more complex. This complex nature of legged robots requires an adaptive control system that adapts to changing environments and the evolving intentions of the humans being assisted. The control system also needs to be able to adapt quickly to the agility of the legged robot.
[0003] The control system of a legged robot includes a stance controller and a swing controller to follow a reference trajectory. The reference trajectory defines the task of the legged robot. The stance controller and swing controller are executed frequently. Because calculating the reference trajectory in real time is computationally expensive, the reference trajectory is often pre-calculated, stored in memory, and not adjusted online. However, complex tasks and changing environments require the legged robot to adjust the reference trajectory. Also, pre-calculating all possible reference trajectories required for the movement of a legged robot and storing them in a database is not practically feasible.
[0004] Therefore, there is a need for a system that can adapt a given reference trajectory of a legged robot in a changing environment and / or adjust it in an efficient and feasible manner according to the current needs of the legged robot. [Overview of the Initiative]
[0005] Controlling robotic systems often involves motion planning to generate reference trajectories that govern the control. Generating reference trajectories is a difficult and computationally expensive task, especially in the presence of a changing environment surrounding the robot. This problem is even more difficult when controlling legged robots. Legged robots consist of a body and multiple legs that require coordinated control. The reference trajectory of a legged robot is a combination of multiple reference trajectories that jointly define the coordinated motion of the different actuators of the legged robot. Generating coordinated reference trajectories for each possible type of motion of a legged robot is a difficult task that requires expensive computational power that the robot often lacks.
[0006] This disclosure relates to a control system and method for controlling the motion of a legged robot. The control system initializes a stochastic filter with parameters associated with the state of a reference trajectory of the legged robot in response to receiving a task. Tasks may be received from a monitoring controller and include one or a combination of walking, turning left and right, climbing stairs, high-stepping gait, trotting, etc. The parameters of the stochastic filter are predetermined for the task and encode a reference trajectory that includes a combination of reference trajectories for coordinated motion primitives of different actuators of the legged robot to move the legged robot according to the task. The parameters are decoded to generate a reference trajectory.
[0007] Once a reference trajectory is generated, a stochastic filter is executed to iteratively track the state of the reference trajectory that satisfies performance objectives with respect to the state of the legged robot in order to update the parameters, in response to receiving feedback signals indicating changes in the state of the legged robot moving along the trajectory. The performance objectives include one or a combination of requirements relating to (i) the desired leg lift height / stride height of the legged robot, (ii) the desired walking speed of the legged robot, (iii) the desired turning speed of the legged robot, (iv) the desired stair height for ascending and descending stairs, (v) the desired energy consumption of the legged robot, (vi) the desired amount of foot slip of the legged robot, and (vii) the desired ground reaction force of the leg of the legged robot. Feedback signals are accepted in response to the detection of new contact with a surface by at least one leg of the legged robot. The reference trajectory is updated by decoding the updated parameters. Control inputs to the actuators of the legged robot are generated based on the updated reference trajectory, and the actuators of the legged robot are controlled based on the corresponding control inputs.
[0008] A stochastic filter is configured to predict the current state of a reference trajectory based on its previous state using a predictive model. The stochastic filter accepts feedback signals indicating the current state of a legged robot and / or the state of the environment surrounding the robot, and updates the current state of the reference trajectory based on these feedback signals using a measurement model that tests performance targets and is subject to measurement noise. The predictive model is an identity model and is subject to process noise, and the measurement model is affected by measurement noise. Stochastic filters include extended Kalman filters (EKF) or unscented Kalman filters (UKF).
[0009] According to one embodiment, a control system for controlling a legged robot is provided. The control system comprises a processor and a memory storing instructions, when executed by the processor, to initialize a stochastic filter with parameters associated with the state of a reference trajectory of the legged robot in response to receiving a task, wherein the parameters encode a reference trajectory that includes different combinations of trajectories for a coordinate motion primitive of different actuators of the legged robot, which is predetermined for a task and moves the legged robot according to the task. The control system is further configured to decode the parameters to generate a reference trajectory and to run the stochastic filter to iteratively track the state of the reference trajectory in response to receiving feedback signals indicating changes in the state of the legged robot moving along the trajectory. The tracked state of the reference trajectory satisfies a performance objective with respect to the state of the legged robot, so as to update the parameters. The control system is further configured to update the reference trajectory by decoding the updated parameters and to generate control inputs to the actuators of the legged robot based on the updated reference trajectory. Furthermore, the control system is configured to control the actuators of the legged robot based on the corresponding control inputs.
[0010] According to another embodiment, a method for controlling a legged robot is provided. The method includes initializing a stochastic filter with parameters associated with the state of a reference trajectory of the legged robot in response to receiving a task, wherein the parameters encode a reference trajectory that includes different combinations of trajectories for coordinate motion primitives of different actuators of the legged robot, which are predetermined for the task and move the legged robot according to the task. The method further includes decoding the parameters to generate a reference trajectory. The method further includes updating the parameters by running the stochastic filter to iteratively track the state of the reference trajectory that satisfies a performance objective with respect to the state of the legged robot in response to receiving a feedback signal indicating a change in the state of the legged robot moving along the trajectory. The method further includes updating the reference trajectory by decoding the updated parameters and generating control inputs to the actuators of the legged robot based on the updated reference trajectory. The method further includes controlling the actuators of the legged robot based on the corresponding control inputs.
[0011] According to yet another aspect of the present invention, a non-temporary computer-readable medium is provided for storing a program that causes a legged robot to perform a reference trajectory state generation process. The process includes initializing a stochastic filter with parameters associated with reference trajectory states of the legged robot in response to receiving a task, the parameters encoding a reference trajectory that includes different trajectory combinations for coordinate motion primitives of different actuators of the legged robot, which are predetermined for the task and move the legged robot according to the task. The process further includes decoding the parameters to generate a reference trajectory. The process further includes updating the parameters by running the stochastic filter to iteratively track reference trajectory states that satisfy performance targets with respect to the state of the legged robot in response to receiving feedback signals indicating changes in the state of the legged robot moving along the trajectory. The process further includes updating the reference trajectory by decoding the updated parameters and generating control inputs to the actuators of the legged robot based on the updated reference trajectory. The process also includes controlling the actuators of the legged robot based on the corresponding control inputs.
[0012] The advantage of this disclosure is that, since it is practically impossible to store all possible reference trajectories, it is instead possible to store only a set of pre-calculated reference trajectories, along with techniques for adapting said pre-calculated reference trajectories to match the current task and / or environment. [Brief explanation of the drawing]
[0013] [Figure 1] This is a block diagram of a control system for controlling the motion of a legged robot according to some embodiments of the present disclosure. [Figure 2] This figure shows a probabilistic filter for predicting the state of a reference trajectory for a legged robot, according to some embodiments of the present disclosure. [Figure 3] This figure shows a flowchart for estimating the reference trajectory of a legged robot according to some embodiments of the present disclosure. [Figure 4] A block diagram of a control system for starting and controlling the operation of a legged robot according to some embodiments of the present disclosure. [Figure 5] A diagram showing an example of a control system for a legged robot according to some embodiments of the present disclosure. [Figure 6] A diagram showing the generation of a reference trajectory according to performance goals according to some embodiments of the present disclosure. [Figure 7] A diagram showing a flowchart of a method for operating a legged robot according to some embodiments of the present disclosure. [Figure 8] A block diagram of a method for updating the state of a reference trajectory according to some embodiments of the present disclosure. [Figure 9] A block diagram of a method for updating parameters associated with a reference trajectory related to a task according to some embodiments of the present disclosure. [Figure 10] A diagram of a graph showing tracking the state of a reference trajectory according to some embodiments of the present disclosure. [Figure 11] A diagram showing the parameterization of a reference trajectory of a legged robot according to some embodiments of the present disclosure. [Figure 12] A diagram showing an example of the use of a weighted function to define parameters according to some embodiments of the present disclosure. [Figure 13] A diagram showing a table representing the encoding / decoding of parameters according to some embodiments of the present disclosure. [Figure 14] A diagram showing a Kalman filter for generating parameters of a reference trajectory according to some embodiments of the present disclosure. [Figure 15] A diagram showing a Gaussian distribution representing parameters of a reference trajectory according to some embodiments of the present disclosure. [Figure 16] A diagram showing Gaussian distributions with different variances according to some embodiments of the present disclosure. [Figure 17]This is a schematic diagram for updating predicted values of reference orbit parameters according to some embodiments of the present disclosure. [Figure 18] Examples of adapting pre-calculated reference orbits according to some embodiments of this disclosure are illustrated. [Figure 19] This figure shows a legged robot walking on different terrains according to some embodiments of the present disclosure. [Modes for carrying out the invention]
[0014] Detailed explanation In the following description, for illustrative purposes and to facilitate a full understanding of the disclosure, numerous specific details are provided. However, it will be apparent to those skilled in the art that the disclosure may be implemented without these specific details. In other examples, the apparatus and methods are shown only in block diagram form to avoid obscuring the disclosure.
[0015] Where used herein and in the claims, the words “for example,” “as an example,” “etc.,” and the verbs “equip,” “have,” “include,” and their other verb forms should each be interpreted as open-ended when used with a list of one or more components or other items, meaning that the list should not be considered to exclude any other additional components or items. The word “based on” means based at least in part. Furthermore, it should be understood that the expressions and terms used herein are for illustrative purposes only and should not be considered limiting. Any headings used within this description are for convenience only and have no legal or limiting effect.
[0016] The control of robotic systems often involves motion planning to generate a reference trajectory that governs the control. Generating a reference trajectory is a difficult and computationally expensive task, especially in the presence of an uncertain and / or changing environment surrounding the robot. To cope with environmental uncertainty, several methods employ advanced techniques for motion planning and control to track a reference trajectory under uncertainty.
[0017] Some embodiments are based on conceptualizing the reference trajectory as a stateful virtual system, instead of tracking and adjusting the state of a robot following a reference trajectory, or in addition to doing so. Thus, the reference trajectory is a virtual system with a state that can change depending on the environment. This representation makes it possible to track and adjust the state of the reference trajectory itself by adapting some principles borrowed from tracking and adjusting the state of a robot.
[0018] For example, some control methods use a stochastic filter to track the state of a robot based on changes in control inputs to the robot. An example of such a filter is the Kalman filter. An exemplary embodiment parameters the stochastic filter based on the state of a reference trajectory to track the state of the reference trajectory based on changes in the environment. This tracking may be subject to performance targets imposed on the tracked state by either a predictive model for the filter, a measurement model for the filter, or a combination thereof.
[0019] The advantages of this disclosure include enabling tracking a reference trajectory that meets performance targets with respect to the environment, simplifying the generation of the reference trajectory, allowing the use of legacy control policies, and asynchronously modifying the reference trajectory from control. Furthermore, the use of stochastic filters such as Kalman filters can be effectively performed by an embedded processor because the structure of the stochastic filter is simpler than the structure of the filter used to track the state of the robot, due to the simplified predictive model lacking inertia in the robot's motion model.
[0020] Some embodiments are based on the fact that controlling a robot to perform a task often requires a reference trajectory for the robot to follow. For example, a drone intended to transport objects or monitor traffic may require a reference trajectory that includes the drone's position and speed. As another example, a cleaning robot intended to clean floors may use a reference trajectory to efficiently plan its movement. As yet another example, an assembly robot may use a reference trajectory to manipulate parts to safely assemble a product. Some robots, such as assembly robots, may need to reach a destination, such as a specific arrangement of parts, and some other robots, such as drones or mobile robots, may need to perform continuous tasks. Continuous tasks may require that the reference trajectory used within the controller be continuously recalculated or adapted to the robot's current task and current environment. In the following description and explanation, a legged robot is used as an example of such a robot that uses a reference trajectory to accomplish a task. However, the systems and methods in this disclosure should not be understood as being limited to applications of legged robots.
[0021] Figure 1 shows a block diagram of a control system for controlling the operation of a legged robot according to several embodiments of the present disclosure. Some embodiments are based on the understanding that the purpose of the control system 100 is to control the legged robot 110 in an engineering process. For this purpose, the control system 100 may be operably coupled to the legged robot 110. The control system 100 may include at least one processor 120, a transceiver 130, a memory 180, and a bus 140. The memory 180 may be implemented as a storage medium such as RAM (Random Access Memory), ROM (Read-Only Memory), a hard disk, or any combination thereof. For example, the memory may store instructions that can be executed by at least one processor 120. At least one processor 120 may be implemented as a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. At least one processor 120 may be operably connected to the memory 180 and / or the transceiver 130 via the bus 140. According to one embodiment, at least one processor 120 may be configured as a feedback controller 150, a reference trajectory generator 160, and / or a stochastic filter 170. Thus, the feedback controller 150, the reference trajectory generator 160, and the stochastic filter 170 may be implemented in a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. Alternatively, the feedback controller 150 may be implemented outside of the control system 100 and may communicate with the control system 100. In one configuration, the reference trajectory generator 160 may be operably coupled to the feedback controller 150, and the feedback controller may then be coupled to a legged robot 110. For example, the feedback controller 150 may be a proportional-integral-derivative (PID) controller, an optimal controller, a neural network controller, etc., and is not limited to these. The stochastic filter 170 includes, but is not limited to, a Kalman filter such as an unscented Kalman filter (UKF) or an extended Kalman filter (EKF).
[0022] In one embodiment, the feedback controller 150 may be configured to determine a sequence of control inputs to control a set of actuators 190 of the legged robot 110. Furthermore, controlling the actuators 190 of the legged robot 110 includes coordinating a motor that controls the center of mass (CoM) of the legged robot 110 with motors associated with each leg of the legged robot 110. For example, the control inputs may optionally be associated with physical quantities such as voltage, pressure, force, or torque. In an exemplary embodiment, the feedback controller 150 may determine a sequence of control inputs such that the sequence of control inputs changes the state of the legged robot 110 to perform a specific task, such as tracking a reference. Once the sequence of control inputs is determined, the transceiver 130 may be configured to transmit the sequence of control inputs to the legged robot 110 as an input signal 102. As a result, the state of the legged robot 110 may be changed according to the input signal 102 to perform a specific task. For example, the transceiver 130 may be a radio frequency (RF) transceiver.
[0023] Furthermore, the state of the legged robot 110 may be measured using one or more sensors installed on the legged robot 110. One or more sensors may send a feedback signal 104 to the transceiver 130. The transceiver 130 may receive the feedback signal 104. In an exemplary embodiment, the feedback signal 104 may include a sequence of measurements corresponding to each sequence of control inputs. For example, the sequence of measurements may be measurements of the state output by the legged robot 110 according to the sequence of control inputs. Thus, each measurement in the sequence of measurements may indicate the state of the legged robot 110 caused by the corresponding control input. Each measurement in the sequence of measurements may optionally be associated with a physical quantity such as current, flow, velocity, or position. In this way, the control system 100 may iteratively submit a sequence of control inputs and receive the feedback signal. In an exemplary embodiment, to determine the sequence of control inputs in the current iteration, the control system 100 uses a feedback signal 104 that includes a sequence of measurements indicating the current state of the legged robot 110.
[0024] To determine the sequence of control inputs in the current iteration, the feedback controller 150 may be configured to determine the current control input for controlling the legged robot 110 in each control step based on a feedback signal 104 which includes current measurements of the current state of the legged robot 110. According to embodiments, to determine the current control input, the feedback controller 150 may be configured to apply a control policy. As used herein, the control policy may be a set of mathematical equations that map all or a subset of the states of the legged robot 110 to control inputs. The mapping may be analytical or based on a solution to an optimization problem. In response to applying the control policy, the current measurements of the current state may be converted to the current control input based on the values of the reference trajectory parameters in the feedback controller 150 and the reference trajectory generator 160. As used herein, the reference trajectory parameters may be a desired walking speed of the legged robot 110, a desired stride height of the leg of the legged robot 110, a desired rotational speed of the legged robot 110, and so on. In particular, the parameters of the reference trajectory should not be confused with the control inputs, which are the output of the control policy, or with the state of the legged robot 110.
[0025] Figure 2 shows a stochastic filter 170 that predicts the state of a reference trajectory for a legged robot 110, according to some embodiments of the present disclosure. Thus, the stochastic filter 170 accepts a feedback signal 104, where the feedback signal 104 includes the state of the legged robot 110 and / or the state of the environment in which the legged robot 110 is operating. The stochastic filter 170 may accept one or a combination of the states of the legged robot 110, which may be the current state of the legged robot 110, along with the state of the environment. The feedback signal 104 is processed by a predictive model 210 and a measurement model 220 of the stochastic filter 170 to control the state of the reference trajectory 230 of the legged robot 110. The predictive model 210 is an identity model and is subject to process noise, and the measurement model 220 is affected by measurement noise. The stochastic filter 170 updates the current state of the reference trajectory based on the feedback signal using a measurement model that tests performance targets, which is affected by measurement noise. For example, the prediction model 210 predicts the current state of the reference trajectory 230 based on the previous state of the reference trajectory 230, and the measurement model 220 updates the current state of the reference trajectory based on the current state of the legged robot 110 and the state of the environment in which the legged robot is operating. The prediction model 210 may also be an identity model subject to process noise, configured to predict the state of the reference trajectory within a variance defined by process noise.
[0026] In one embodiment, the stochastic filter 170 includes a Kalman filter. The Kalman filter is used to adjust a pre-calculated reference trajectory to the current task and / or current environment. The Kalman filter is a process (or method) of generating estimates of an unknown variable using a series of measurements observed over a period of time, including statistical noise and other inaccuracies. In practice, these generated estimates of the unknown variable may be more accurate than estimates of the unknown variable generated using a single measurement. The Kalman filter generates estimates of the unknown variable by estimating a joint probability distribution over the unknown variable. The Kalman filter is a two-step process including a prediction step and an update step. In the prediction step, the Kalman filter uses a prediction model to predict the current state, along with the uncertainty dominated by process noise. For example, the prediction model may be artificially designed so that it is subject to process noise in order to reduce the uncertainty in the state while predicting the current state. In practice, the predicted current state may be represented by a joint probability distribution over the current state.
[0027] Figure 3 shows a flowchart of a method 300 for estimating a reference trajectory for a legged robot 110 according to several embodiments of the present disclosure. All types of robots are required to perform continuous tasks, which require that the reference trajectory used in the controller be continuously recalculated or adapted to the robot's current task and current environment. Tasks include, but are not limited to, combinations of straight walking, left and right turns, stair climbing, high-stepping gait, trotting, etc. Thus, the reference trajectory value estimated by the stochastic filter 170 is iteratively updated based on performance objectives. Performance objectives include one or a combination of requirements relating to (i) a desired foot lift height / stride height for the legged robot, (ii) a desired walking speed for the legged robot, (iii) a desired turning speed for the legged robot, (iv) a desired stair height for climbing stairs, (v) a desired energy consumption for the legged robot, (vi) a desired amount of foot slip for the legged robot, and (vii) a desired ground reaction force for the leg of the legged robot.
[0028] Method 300 begins with receiving a first task 310. For example, a task for the robot to turn left is received by the control system 100. In response to receiving the first task 310, the stochastic filter 170 is initialized with parameters associated with the current state of a reference trajectory for the legged robot 110. These parameters are predetermined for the left turn task and are used to encode a reference trajectory for the left turn task. This encoding may include different trajectory combinations for a set of coordinate motion primitives for different actuators 190 of the legged robot 110, so that the legged robot 110 may turn left.
[0029] Therefore, based on this initialization, an estimation of the reference trajectory value related to the first task is performed. In one example, parameters associated with the reference trajectory state of the legged robot 110 are decoded for that estimation.
[0030] Furthermore, a feedback signal 104 may be received indicating a change in the state of the legged robot 110 moving along a reference trajectory. In response to the receipt of the feedback signal 104, the stochastic filter 170 is iteratively executed to track the state of the legged robot 110 along the reference trajectory. In addition, a check 330 is performed to determine whether a performance objective is met with respect to the state of the legged robot 110 in order to update the parameters of the stochastic filter 170. If the performance objective is met, method 300 proceeds to update the reference trajectory until it receives a second task (340); otherwise, method proceeds directly to receiving a second task.
[0031] Furthermore, the reference trajectory is updated by decoding the updated parameters of the stochastic filter 170. This updated trajectory is then used to generate control inputs, such as the input signal 102 for the actuator 190 of the legged robot 110. The actuator 190 is then controlled according to the corresponding control inputs.
[0032] Figure 4 shows a block diagram of a control system for initiating and controlling the operation of a legged robot 110 according to several embodiments of the present disclosure. The control system 100 described above with reference to Figure 1 communicates with a monitoring controller 410 and has access to a database 420. The control system 100 receives tasks from the monitoring controller 410. Tasks may also be received from other sources, including, but not limited to, external sensors 430, voice commands, or remote calls. Tasks include any or a combination of walking, turning left and right, climbing stairs, high-stepping gait, trotting, etc. The monitoring controller 410 may be external to the control system 100, or it may be built into the control system 100 or the legged robot 110. Furthermore, upon receiving a task, the control system 100 selects predetermined parameters from the database 420 based on the task and initializes the parameters of a probabilistic filter 170 using the selected predetermined parameters. The database 420 may be external to the control system 100, or it may be built into the control system 100. The parameters are predetermined for the task and encode a reference trajectory that includes different reference trajectories for the coordinated motion primitives of the different actuators of the legged robot, which move the legged robot according to the task. The parameters include one or more parameters of the reference trajectory, such as (i) the leg lift height / stride height of the legged robot, (ii) the walking speed of the legged robot, (iii) the turning speed of the legged robot, and (iv) the stair height for ascending and descending stairs. The predetermined or pre-calculated parameters are selected based on performance targets such that the selected parameters are closest to some norm of the required target values.
[0033] For example, given several predetermined reference orbitals, predetermined parameters of a reference orbital that yield the lowest cost may be selected. The selected, pre-calculated reference orbital parameters may then be used and further adapted to satisfy the task and the required target values. For example, the parameters of a pre-calculated reference orbital associated with the lowest cost may be used to initialize a stochastic filter 170. The required target values may be compared with pre-calculated reference orbitals in a database of reference orbitals.
[0034] Pre-calculated reference orbits in a database of reference orbits may be associated with requirement values, which may be used to compare the pre-calculated reference orbits with the required target values to determine which pre-calculated reference orbit best fits the current task and its required target values. For example, the least squares 2 norm may be calculated between the requirement target value and the associated requirement value of the pre-calculated reference orbit in the database of reference orbits. Then, the pre-calculated reference orbit that yields the least squares 2 norm may be selected.
[0035] In some embodiments, the adapted reference orbit currently used by the control system 100 is continuously compared with the required values of pre-calculated reference orbits in the reference orbit database 420. For example, the squared-2 norm may be calculated between the required target value and the adapted reference orbit currently employed by the control system 100. Furthermore, the squared-2 norm may be calculated between the required target value and a pre-calculated reference orbit in the reference orbit database. The adapted reference orbit may be replaced by another pre-calculated reference orbit if the squared-2 norm is likely to be lower. One advantage of continuously comparing adapted reference orbits with pre-calculated reference orbits is that, if the required target value shifts, it may be more efficient to switch reference orbits and reinitialize the tracking algorithm with a new set of parameters associated with the newly selected pre-calculated reference orbit.
[0036] Figure 5 shows an example of a control system for a legged robot according to some embodiments of the present disclosure. To control the movement of the legs of the legged robot 110, the control system 100 transmits input signals 102, which may be torque commands, to the electric motors of the legged robot 110. For example, a four-legged legged robot 110 may have three electric motors per leg, including an electric motor for operating the knee joint 510, an electric motor for operating the hip joint 520, and an electric motor for operating the femoral joint 530. The electric motor 510 for operating the knee joint may control flexion and extension of the knee joint. The electric motor for operating the hip joint 520 may control abduction and adduction of the leg. The electric motor for operating the femoral joint 530 may control flexion and extension of the leg. In this example, the control system 100 transmits 12 electric motor commands to the four legs of the legged robot 110. The control system 100 may include a stance controller 560, a swing controller 550, and a contact detector 570. The stance controller 560 stabilizes the legged robot 110 using the leg in contact with the ground. The swing controller 550 moves the leg not in contact with the ground to correct the position of the legged robot and / or to achieve forward movement. The stance controller 560 and the swing controller 550 may be designed to follow a reference trajectory calculated using a reference trajectory generator 160 as closely as possible. A feedback signal 104 controls the operation of the stance controller 560 and the swing controller 550, causing each of the stance controller and the swing controller to generate torque commands for the operation of the legged robot based on the feedback signal 104. The feedback signal 104 is accepted in response to the detection of new contact with a surface by at least one leg of the legged robot 110. For example, one of the four legs of the legged robot makes contact with a ground-related surface or terrain that requires stabilization of the legged robot 110. As a result, the feedback signal 104 is received from the new contact of the legs of the legged robot 110.Furthermore, the current state of the reference trajectory of the legged robot 110 is updated, and the reference trajectory generator 160 generates an updated reference trajectory. The updated reference trajectory generated by the reference trajectory generator 160 leads to the generation of new or updated torque commands by the stance controller 560 and swing controller 550 for the legged robot 110's movement to follow the updated reference trajectory. In this way, the feedback signal 104 is configured to control the operation of the stance controller 560 and swing controller 550 to generate (updated) torque commands so that the legged robot 110 can follow the updated reference trajectory.
[0037] In some embodiments, a database of reference trajectories 420 is used to store pre-calculated reference trajectories in memory. These pre-calculated reference trajectories may include walking patterns of the legged robot 110 at different walking speeds, different turning radii, etc. In some embodiments, a stochastic filter 170, such as a Kalman filter, is used to take the pre-calculated reference trajectories and adjust them to the current task and / or environment. One advantage of adjusting the pre-calculated reference trajectories to the current task and / or environment is that it allows for more precise control of the legged robot 110 with a limited number of pre-calculated reference trajectories. Hereinafter, "pre-calculated reference trajectories" refers to the reference trajectories stored in the database of reference trajectories 420.
[0038] The stance controller 560 may be a model predictive controller (MPC) intended to follow a reference trajectory of the CoM of a legged robot. The MPC may also calculate the reaction force of the legs in contact with the ground.
[0039]
number
[0040]
number
[0041]
number
[0042] Figure 6 shows the generation of a reference trajectory according to a performance objective in some embodiments of the present disclosure. In some earlier systems, the reference trajectory is generated using optimization 610, and only the environment is considered by the feedback controller 150. However, in some embodiments of the present disclosure, the reference trajectory generator tracks a performance objective 630 in addition to considering the environment to generate the reference trajectory, thereby improving the accuracy of the control. In this scenario, the tracking-based reference trajectory generator 620 includes states used to generate the reference trajectory. The states of the tracking-based reference trajectory generator 620 may differ from the states from the legged robot 110. For example, the states of the reference trajectory generator may include the walking speed of the legged robot 110, the leg elevation height of the legged robot 110, the turning speed or turning angle of the legged robot 110, etc. The states of the reference trajectory generator may then be used to generate a reference trajectory for the feedback controller 150 to follow.
[0043] Figure 7 shows a flowchart illustrating a method 700 for operating a legged robot according to several embodiments of the present disclosure. The method 700 includes the legged robot 110 receiving a task 702, such as the task of ascending and descending several stairs by the legged robot 110. The control system 100 may be configured to receive tasks, such as by entering a task description on the user interface of the control system 100. In another example, the task may be received by a voice command. In yet another example, the task may be received from a monitoring controller, such as the monitoring controller 410 shown in Figure 4.
[0044] In response to receiving a task, the probabilistic filter 170 is initialized with a predetermined set of parameters related to the received task, the parameters encoding a reference trajectory which includes different trajectory combinations for a coordinated motion primitive of different actuators 190 of the legged robot 110 that moves the legged robot 110 according to the received task. In one example, the predetermined parameters related to the received task may be stored in a database 420, and the control system 100 is configured to select predetermined parameters from the database 420 based on the task and initialize the parameters of the probabilistic filter 170 with the selected predetermined parameters.
[0045] Method 700 further includes generating a reference trajectory for the legged robot 110 by decoding parameters 706 and tracking the state of the legged robot 110 to update the parameters 708. The tracking of the reference trajectory state of the legged robot 110 is shown in Figure 10.
[0046] Method 700 further includes updating the reference trajectory by decoding the updated parameters 710, and generating control inputs 712 to actuators 190 located within the legged robot 110 to control the actuators 190 714, thereby controlling the movement of the legged robot 110. The updating of the reference trajectory 710 is further described in relation to Figure 8.
[0047] Figure 8 shows a block diagram of a method 800 for updating the state of a reference trajectory according to some embodiments of the present disclosure. Updating the state of the reference trajectory of a legged robot 110 808 includes measuring the state of the reference trajectory 802 and applying feedback signals regarding the state of the environment 806 on the current state 804 and predicted state 802 of the legged robot 110 to obtain an updated state of the reference trajectory 808. Furthermore, the state update 808 conforms to a performance objective 630, which will be further described in reference to Figure 9.
[0048] Figure 9 shows a block diagram of method 900 for updating parameters associated with a reference trajectory related to a task. Method 900 includes receiving a task to be performed by a legged robot 110 902 and initializing a stochastic filter 904 with a predetermined set of parameters associated with a reference trajectory related to the received task. This has already been described in relation to Figures 4, 5 and 7.
[0049] Method 900 further includes determining a set of performance objectives, such as performance objective 630, for a received task, 906, and updating parameters associated with a reference trajectory related to the task, 908, to satisfy the performance objective 630. For example, as previously defined in relation to Figure 3, the performance objective 630 may include one or a combination of requirements relating to (i) a desired leg lift height / stride height for the legged robot, (ii) a desired walking speed for the legged robot, (iii) a desired turning speed for the legged robot, (iv) a desired stair height for ascending or descending stairs, (v) a desired energy consumption for the legged robot, (vi) a desired amount of foot slip for the legged robot, and (vii) a desired ground reaction force for the leg of the legged robot. Satisfaction of the performance objective 630 is observed by tracking the state of the reference trajectory that the legged robot 110 is following, as shown in Figure 10.
[0050] Figure 10 illustrates tracking a reference trajectory state according to several embodiments of the present disclosure. In one example, a legged robot 110 may be required to walk at a specific desired walking speed 1010 given by a performance objective 630. However, due to environmental and noise influences, there may be a difference between the walking speed 1020 actually achieved by the legged robot 110 and the state 1030 representing the walking speed in the reference trajectory generator 160. In this example, tracking the performance objective 630 allows the legged robot 110 to walk at the desired walking speed 1010 by adjusting the state 1030 in the reference trajectory generator 160. In this scenario, the state 1030 in the reference trajectory generator 160 is a means for the legged robot 110 to achieve the desired walking speed 1010. Thus, the state of the reference trajectory generator 160 tracks the specific requirements provided by the performance objective 630.
[0051]
number
[0052]
number
[0053]
number
[0054]
number
[0055]
number
[0056]
number
[0057] Figure 11 shows parameterization of a reference trajectory for a legged robot according to several embodiments of the present disclosure. Parameterization of the reference trajectory includes parameterizing the reference trajectories of the CoM and legs of the legged robot. In this example, the reference trajectory of the CoM 1110 and the reference trajectory of the legs 1120 of the legged robot may be parameterized using the walking speed 1130 and / or the leg elevation height 1140 of the legged robot 110.
[0058] Figure 12 shows an example of using weighted basis functions to define parameters according to one embodiment. The figure shows three basis functions, namely basis function 1210, basis function 1220, and basis function 1230. Also shown is the true function of the parameters 1240, which maps the previous state to the current state along with the motion model. By combining the basis functions and using different weights for each basis function, they can be combined to reproduce the true function of the parameters, and thus the true motion model.
[0059] Figure 13 shows Table 1300, which represents the encoding / decoding of parameters 1301 associated with a reference trajectory related to a task using basis functions. The table shows the types of basis functions 1302 and examples of basis functions 1303 for each parameter. Some examples of parameters include walking speed 1301a, foot lift height / stride height 1301b, turning speed 1301c, stair height 1301d, etc. The task may include a basis function 1302a for the center of mass and a basis function 1302b for the foot. For example, for walking speed 1301a, the reference trajectory of the center of mass may be calculated by using the basis function 1302a for the center of mass, which may be a linear or constant basis function 1303a or a combination thereof. For example, the reference position of the center of mass can be calculated by extrapolating the walking speed 1301a parameter in combination with a linear basis function.
[0060]
number
[0061] The task may be to achieve a specific foot elevation height 1301b. For example, the task may use a basis function 1302b for the foot, which may be given by a cycloid basis function 1303b. In this example, the foot's reference trajectory is given by the foot's initial position, the foot's landing position, and a cycloid basis function connecting the initial position and the landing position, thereby achieving the foot elevation height. Thus, a cycloid basis function 1303c with a variable landing height may be used. Alternatively, the task may be to ascend or descend stairs. In this example, the foot's landing position may be modified to take into account the height of the stairs.
[0062] The parameters and basis functions shown in Table 1300 are for illustrative purposes only and should not be construed as limiting the scope of this disclosure.
[0063] Figure 14 shows a stochastic filter 170, for example, a Kalman filter for generating parameters of a reference orbit, according to several embodiments of the present disclosure. Hereinafter, for the purpose of describing Figure 14, the stochastic filter 170 will be referred to interchangeably with the Kalman filter 170 without departing from the scope of the present disclosure. According to embodiments, the state of the Kalman filter 170 is defined by the parameters of a reference orbit. For this purpose, the objective of the Kalman filter 170 is to iteratively generate the parameters of the reference orbit. In exemplary embodiments, the Kalman filter 170 may iteratively generate the parameters of the reference orbit using a prediction model 1410 and a measurement model 1440. The prediction model 1410 is equivalent to the prediction model 210 shown in Figure 2, and the measurement model 1440 is equivalent to the measurement model 220 shown in Figure 2, and are not limited to the scope of the present disclosure. For example, the prediction model 1410 and the measurement model 1440 may be artificially designed.
[0064] To generate the parameters of the reference orbit in the current iteration (e.g., at time step k), the predictive model 1410 may be configured to predict the values of the reference orbit parameters using prior knowledge 1420 of the reference orbit parameters. For example, the prior knowledge 1420 of the reference orbit parameters may be generated in the previous iteration (e.g., at time step k-1). The prior knowledge 1420 of the reference orbit parameters may be a coupled probability distribution (or Gaussian distribution) over the reference orbit parameters in the previous iteration. The coupled probability distribution over the reference orbit parameters in the previous iteration is the mean θ calculated in the previous iteration. k-1|k-1 and variance (or covariance) P k-1|k-1 It can be defined by the following: For example, the joint probability distribution in the previous iteration may be generated based on the joint probability distribution generated in a previous iteration (e.g., at time step k-2).
[0065] According to one embodiment, the values of the parameters of the reference orbit predicted in the current iteration may also be a combined probability distribution 1430 (or a Gaussian distribution 1430). For example, the output of the prediction model 1410 may be a combined probability distribution 1430 when the prediction model 1410 is configured to predict multiple parameters of the reference orbit. Alternatively, the output of the prediction model 1410 may be a Gaussian distribution 1430 when the prediction model 1410 is configured to predict a single parameter of the reference orbit. For example, the combined probability distribution 1430 is the mean θ calculated in the current iteration. k|k-1 and variance (or covariance) P k|k-1 It may be defined by [this]. For example, the Gaussian distribution output by the prediction model 1410 while predicting a single parameter of the reference orbit is as shown in Figure 15.
[0066] Figure 15 shows a Gaussian distribution 1510 representing the parameters of a reference orbit according to some embodiments of the present disclosure. Figure 15 is described in relation to Figure 14. The Gaussian distribution 1510 may be predicted by a prediction model 1410. For example, the Gaussian distribution 1510 may correspond to the Gaussian distribution 1430. The Gaussian distribution 1510 has a mean of 1520 (e.g., mean θ). k|k-1 ) and variance 1530 (for example, variance P k|k-1 ) may also be defined by the mean 1520, which defines the central position of the Gaussian distribution 1510, and the variance 1530, which defines the measure of the spread (or width) of the Gaussian distribution 1510.
[0067] Referring to Figure 14, according to the embodiment, the prediction model 1410 may be subject to process noise. As used herein, the process noise may be an assumption that defines how quickly the parameters of the reference orbit change over a given time. The process noise may control how quickly the parameters of the reference orbit change over a given time within the variance defined by the process noise. The process noise may be artificially designed. For example, for different process noise assumptions, the prediction model 1410 may output different Gaussian distributions for one particular parameter of the reference orbit, and the different Gaussian distributions may have different variances. For example, different Gaussian distributions output by the prediction model 1410 for one particular parameter of the reference orbit are shown in Figure 16.
[0068] Figure 16 illustrates Gaussian distributions 1610, 1620, and 1630 with different variances according to several embodiments of the present disclosure. Figure 16 is described in relation to Figure 14. The Gaussian distributions 1610, 1620, and 1630 may be predicted by a predictive model 1410. Each of these Gaussian distributions 1610, 1620, and 1630 may have different variances with respect to one another, but the mean 1640 of the Gaussian distributions 1610, 1620, and 1630 may be the same. Among the other Gaussian distributions, the one with the smallest variance and the highest probability of mean 1640 may be more reliable for the correct parameters of the reference orbit.
[0069] Referring to Figure 14, the prediction model 1410 subject to process noise may be configured to predict the values of the reference trajectory parameters, which are output as a combined probability distribution 1430 (or Gaussian distribution 1430). Once the combined probability distribution 1430 is output by the prediction model 1410 in the current iteration, the measurement model 1440 may be configured to update the predicted values of the reference trajectory parameters to generate the current values of the reference trajectory parameters based on a sequence of measurements 1450. In an exemplary embodiment, the sequence of measurements 1450 may be a sequence of measurements received by the transceiver 130.
[0070] Figure 17 shows a schematic diagram 1710 for updating predicted values of reference orbit parameters according to some embodiments of the present disclosure. Figure 17 is described in relation to Figure 14. Schematic diagram 1710 includes a predicted Gaussian distribution 1720, reference orbit parameters 1730, and an updated Gaussian distribution 1740. For example, the predicted Gaussian distribution 1720 has a mean value P k|k-1 and variance P k|k-1 It may be a Gaussian distribution 1430 defined by and . For example, the reference trajectory parameters 1730 may be reference trajectory parameters that can be used to control the legged robot 110 to achieve a specific reference trajectory with respect to the performance target 630.
[0071] Performance target 630 may include requirements for the operation of legged robot 110, such as walking at a specific walking speed, turning at a specific speed, achieving a specific foot lift height, etc. The requirements for the operation of legged robot 110 may be used to adjust parameters of a reference trajectory, such as foot lift height 1140 or walking speed 1030, as described above in FIG. 11.
[0072] Furthermore, the parameters 1730 of the reference trajectory may be derived from a predicted Gaussian distribution 1720, in which case the measured values are close to zero probability with respect to the predicted Gaussian distribution 1720. For this purpose, the measurement model 1440 may update the predicted Gaussian distribution 1720 such that the predicted Gaussian distribution 1720 approaches the updated Gaussian distribution 1740. In other words, the measurement model 1440 updates the mean and variance associated with the predicted Gaussian distribution 1720 to the mean (e.g., mean θ k|k ) and variance (e.g., variance P k|k ) corresponding to the updated Gaussian distribution 1740.
[0073] Referring back to FIG. 14, the measurement model 1440 may update the predicted value of the parameters of the reference trajectory based on the sequence of measured values 1450 to generate the current value of the parameters of the reference trajectory according to the performance target 630. According to one embodiment, the measurement model 1440 may output the generated current value of the parameters of the reference trajectory as a joint probability distribution 1480 (or Gaussian distribution 1480), which defines a quantity 1470, such as mean θ k|k and variance P k|k . The Kalman filter 170 may repeat this procedure to generate the parameters of the reference trajectory iteratively in the next iteration 1490 (e.g., at time step k + 1), i.e., repeatedly.
[0074] In some embodiments, the Kalman filter 170 collectively adjusts the parameters of the reference orbit because the requirements in the performance objective 630 and the parameters of the reference orbit are interdependent. One advantage of using the Kalman filter 170 is that the interdependence of the parameters of the reference orbit is taken into account by the joint probability distribution 1480.
[0075] Some embodiments are based on adapting pre-calculated reference trajectories to the current environment or current task. For example, predefined reference trajectories may include a reference trajectory for a left turn, a reference trajectory for a right turn, a reference trajectory for walking at a certain average speed, a reference trajectory for trotting at a certain average speed, and so on. Memory may store a selection of reference trajectories, but the tasks that the robot needs to perform may be more complex than can be covered by a fixed number of pre-calculated reference trajectories. An advantage of this disclosure is that not all possible tasks and reference trajectories need to be stored in memory. Instead, only pre-calculated reference trajectories need to be stored along with the method and system, and these pre-calculated reference trajectories need to be adapted to the current task and / or current environment.
[0076] Figure 18 illustrates an example of adapting a pre-calculated reference trajectory according to several embodiments of the present disclosure. In one example, the legged robot 110 may need to make a 90-degree left turn 1820 at a speed of 1.3 m / s, while only having a predefined reference trajectory 1810 that makes a 90-degree left turn at a speed of 1 m / s. Therefore, some embodiments use a predefined reference trajectory 1810 with a 90-degree left turn at a speed of 1 m / s and an algorithm to adapt the predefined reference trajectory 1810 to satisfy the requirement of a 90-degree left turn 1820 at a speed of 1.3 m / s. In another example, the legged robot 110 may need to make a 40-degree left turn 1840 at a speed of 1.3 m / s, while only having a predefined reference trajectory 1830 that makes a 20-degree left turn at a speed of 1.3 m / s. Several embodiments use a predefined reference trajectory 1830 with a 90-degree left turn at a speed of 1 m / s and an algorithm to adapt the predefined reference trajectory 1830 to satisfy the requirement of a 40-degree left turn 1840 at a speed of 1.3 m / s.
[0077]
number
[0078]
number
[0079] In some embodiments, the currently used adapted reference orbital is sequentially compared with the requirement values of pre-calculated reference orbitals in the reference orbital database 420. For example, the squared-2 norm may be calculated between the requirement target value and the adapted reference orbital currently used by the controller. Furthermore, the squared-2 norm may be calculated between the requirement target value and a pre-calculated reference orbital in the reference orbital database 420. The adapted reference orbital may be replaced by another pre-calculated reference orbital if the squared-2 norm is likely to be lower. One advantage of sequentially comparing adapted reference orbitals with pre-calculated reference orbitals is that, if the requirement target value shifts, it may be more efficient to switch reference orbitals and reinitialize the tracking algorithm with a new set of parameters associated with the newly selected pre-calculated reference orbital.
[0080] Some embodiments adapt the parameters of the reference trajectory to meet the requirements of a particular task or environment. The parameters of the reference trajectory are adjusted after every step of the robot.
[0081]
number
[0082] It may be fitted as follows, where N is the time taken for one step, and θ k-N θ is a parameter of the reference orbit at time step kN, where θ k Δθ is a parameter of the reference orbit at time step k. k This is a parameter update at time step k. The parameters of the reference trajectory may be predicted not to change between time steps (21), which may be useful when the legged robot 110 is performing a continuous task in which the specifications in performance objective 630 do not change. Alternatively, the parameters of the reference trajectory may be predicted to change between time steps.
[0083]
number
[0084] This may be useful when the specifications in performance target 630 change between time steps.
[0085] Some embodiments are based on the understanding that the predictive model for the parameters of the reference trajectory is part of a hypothetical system that can be freely defined. For example, if the legged robot 110 needs to change its walking speed, the parameters of the reference trajectory associated with the walking speed may be predicted to change depending on how quickly the walking speed should be reduced. In other words, the predictive model anticipates changes in specifications and modifies the parameters of the reference trajectory.
[0086] Some embodiments are based on the understanding that the environment can be taken into account by the reference orbit generator. Some embodiments use the state of the reference orbit in conjunction with a tracking formulation to account for environmental influences on the control. For example, this may be achieved by the state of the reference orbit generator tracking a performance objective 630. Tracking may be achieved by using the principles of feedback control and / or estimation to drive the state of the reference orbit to satisfy the performance objective 630. For example, parameter update Δθ k This may be determined using the gradient of the performance target 630 with respect to the parameters of the reference trajectory, or by using other principles of feedback control and tracking. Alternatively, the parameter update Δθ k The parameter update Δθ may be considered probabilistic. Furthermore, the performance target 630 may be considered probabilistic. In such exemplary circumstances, the parameter update Δθ k Maximum likelihood estimation may be used to determine the parameter update Δθ. In this example, a stochastic filter such as the Kalman filter 170 is used to update the parameter Δθ. k You may decide that.
[0087] In some embodiments, the parameter update Δθ kTo calculate this, we use a recursive implementation example with the Kalman filter 170 shown in Figure 14. The prior knowledge of the reference orbit parameters 1420 is the reference orbit parameter θ k It may be chosen to control how quickly it changes over time.
[0088]
number
[0089] In the implementation example of the Kalman filter 170, an unscented Kalman filter (UKF) may be used, and the performance target 630 in (13) is interpreted as having a prior distribution.
[0090]
number
[0091]
number
[0092]
number
[0093] In this Kalman filter implementation example, the prior probabilities regarding how the parameters of the reference orbit change will change may be interpreted as a predictive model, while the prior probabilities regarding the performance target may be interpreted as a measurement model. The predictive model anticipates changes in specifications and modifies the reference orbit parameters accordingly. The measurement model corrects the predictions using evaluation and sensor measurements and takes into account the environment in generating the reference orbit.
[0094] The discrepancy between the legged robot 110 and the model of the legged robot 110 may be calculated using onboard sensor measurements of the legged robot 110. The model of the legged robot 110 may be derived from the kinematic or dynamic characteristics of the legged robot 110. The advantage of considering the discrepancy between the legged robot 110 and the model of the legged robot 110 in order to adapt the parameters of the reference trajectory is that the inaccuracy can be compensated for by the generation of the reference trajectory, which includes more precise control of the legged robot 110.
[0095] In addition, using a model of the legged robot 110 offers the advantage of fast convergence of the adaptive algorithm because it uses the robot's inertia and the physical properties of the legged robot's motion to manipulate the adaptation to the parameters. Another advantage of the disclosed system and method is that the model of the legged robot may be adapted to the available computational resources. For example, if the computational resources for the legged robot are limited, a simplified model of the legged robot may be used, which has the advantage of being easily implementable on hardware. Alternatively, if the computational resources for the legged robot are higher, a high-fidelity model of the legged robot may be used, which has the advantage of being more accurate and may allow for faster convergence.
[0096] In other words, the Kalman filter 170 uses an evaluation of the performance objective 630 of the simulated motion of the legged robot 110 to fit the parameters of the reference trajectory. The advantage of using such an evaluation of the sigma point is that, for a model of a legged robot, it is necessary to quickly and safely adapt the parameters of the reference trajectory. Since the sigma point influences the behavior of the legged robot via the reference trajectory, it makes sense to simulate the motion of the legged robot.
[0097]
number
[0098] Figure 19 shows a legged robot 110 walking on different terrains, e.g., an asphalt road or a gravel road, according to several embodiments of the present disclosure. Performance objectives 630(13) may be selected to achieve a specific target speed and a specific foot lift while minimizing energy consumption and foot slippage. In this example, minimizing foot slippage can increase the robustness of the legged robot 110. In the scenario where the legged robot 110 walks on an asphalt road 1910, foot slippage may be low due to the higher friction of the asphalt road 1910. Therefore, in this scenario, the legs of the legged robot 110 may have more traction, and thus the legged robot 110 may be able to walk faster. On the other hand, in the scenario where the legged robot 110 walks on a gravel road 1920, foot slippage may be greater due to the uneven terrain. Therefore, in this scenario, the legs of the legged robot 110 may have less traction, so the legged robot 110 may need to walk at a slower speed to avoid falling. Then, in these examples, one advantage of the present disclosure is that the method finds a reference trajectory that optimizes the trade-offs between requirements. In the scenario where the legged robot 110 walks on an asphalt road 1910, the coefficient of friction is high and the likelihood of foot slippage is lower. Therefore, the method allows the legged robot 110 to walk at a faster speed because the risk of slipping is lower. On the other hand, in the scenario where the legged robot 110 walks on a gravel road 1920, the likelihood of foot slippage is higher. Therefore, the method may automatically allow the robot to walk at a slower speed because the risk of slipping is higher. Another advantage of the present disclosure is that the transition between different gaits is smooth due to the recursive and filter-based design, which is important for robustness and stability.
[0099] The above description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of this disclosure. Rather, the above description of exemplary embodiments will provide to those skilled in the art a practical description of how to implement one or more exemplary embodiments. The subject matter to be considered is a variety of modifications that may be made to the function and configuration of the elements without departing from the spirit and scope of the subject matter disclosed as described in the claims.
[0100] Specific details are given in the above description to give a complete understanding of the embodiments. However, it will be understood by those skilled in the art that embodiments may be carried out without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown as components in the form of block diagrams so as not to obscure the embodiments with unnecessary details. In other examples, well-known processes, structures, and techniques may be shown without unnecessary details to avoid obscuring the embodiments. Furthermore, similar reference numbers and names in different drawings indicate similar elements.
[0101] Furthermore, individual embodiments may be described as processes shown as flowcharts, flow diagrams, data flow diagrams, structural diagrams, or block diagrams. While flowcharts may describe operations as sequential processes, many operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may terminate when its operations are complete, but it may have additional steps that are not discussed or included in the diagrams. Moreover, not all operations in any particular process described may occur in all embodiments. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, the termination of the function may correspond to the function's return to the calling function or the main function.
[0102] Furthermore, embodiments of the disclosed subject matter may be implemented at least partially manually or automatically. Manual or automatic implementations may be performed, or at least assisted, through the use of a machine, hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments for performing the required tasks may be stored in a machine-readable medium. The required tasks may be performed by a processor.
[0103] The various methods or processes outlined herein may be coded as software executable on one or more processors using any one of various operating systems or platforms. In addition, such software may be written using any of several preferred programming languages and / or programming or scripting tools, and may be compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of program modules may be combined or distributed as desired in various embodiments.
[0104] Embodiments of this disclosure may be embodied as an example provided. The acts performed as part of the method may be ordered in any preferred manner. Thus, embodiments may be constructed in which the acts are performed in a different order than illustrated, including performing several acts shown as sequential acts in the exemplary embodiments simultaneously. While this disclosure has been described with reference to certain preferred embodiments, it should be understood that various other adaptations and modifications may be made within the spirit and scope of this disclosure. Therefore, it is the nature of the claims to encompass all such variations and modifications that fall within the true spirit and scope of this disclosure.
Claims
1. A control system for controlling a legged robot, comprising a processor and a memory storing instructions, wherein when an instruction is executed by the processor, the control system... In response to receiving a task, the system initializes a stochastic filter using parameters associated with the state of a reference trajectory of the legged robot, wherein the parameters encode the reference trajectory, which includes different trajectory combinations for coordinate motion primitives of different actuators of the legged robot that are predetermined for the task and move the legged robot according to the task, the parameters are defined based on a combination of weighted basis functions, the set of basis functions includes a linear basis function for the center of mass of the legged robot and a cycloidal basis function for the legs of the legged robot, and the instruction, when executed by the processor, further enables the control system to The parameters are decoded to generate the reference orbit, In response to receiving a feedback signal indicating a change in the state of the legged robot moving along the aforementioned reference trajectory, the probabilistic filter is executed to iteratively track the state of the reference trajectory that satisfies the performance objective with respect to the state of the legged robot, thereby updating the parameters. The reference trajectory is updated by decoding the updated parameters. Based on the updated reference trajectory, control inputs are generated for the actuators of the legged robot. A control system for controlling a legged robot, which controls the actuators of the legged robot based on the corresponding control inputs.
2. The aforementioned stochastic filter is, Using a prediction model, the current state of the reference orbit is predicted based on the previous state of the reference orbit. The system accepts the feedback signal indicating one or a combination of the current state of the legged robot and the state of the environment surrounding the legged robot. The control system according to claim 1, configured to update the current state of the reference trajectory based on the feedback signal using a measurement model for testing the performance target, which is affected by measurement noise.
3. The control system according to claim 2, wherein the feedback signal is received in response to the detection of new contact with a surface by at least one leg of the legged robot.
4. The control system according to claim 3, wherein the feedback signal is configured to control the operation of at least a stance controller and a swing controller associated with the legged robot.
5. The control system according to claim 4, wherein each of the stance controller and the swing controller is configured to generate torque commands for the movement of the legged robot based on the feedback signal.
6. The control system according to claim 2, wherein the prediction model is an identity model subject to process noise that predicts the state of the reference trajectory within the variance defined by process noise.
7. The control system according to claim 1, wherein the performance objectives include one or a combination of requirements relating to (i) a desired leg lift height / stride height of the legged robot, (ii) a desired walking speed of the legged robot, (iii) a desired turning speed of the legged robot, (iv) a desired stair height for ascending or descending stairs, (v) a desired energy consumption of the legged robot, (vi) a desired amount of foot slip of the legged robot, and (vii) a desired ground reaction force of the leg of the legged robot.
8. The monitoring controller receives the task, Based on the above task, select predetermined parameters from the database, The control system according to claim 1, further configured to initialize the parameters of the stochastic filter with the selected predetermined parameters.
9. The parameters of the stochastic filter are initialized with a predetermined set of parameters associated with a reference trajectory related to the received task, Determine the set of performance targets for the received task, The control system according to claim 8, further configured to update the parameters associated with the reference trajectory related to the task to satisfy the performance objective.
10. The control system according to claim 1, wherein the task includes one or a combination of walking straight, turning right or left, going up or down stairs, walking with high leg lifts, and trotting.
11. The control system according to claim 1, wherein the stochastic filter is an extended Kalman filter (EKF) configured to calculate the Kalman gain by calculating the gradient of the performance target.
12. The control system according to claim 1, wherein the stochastic filter is an unscented Kalman filter (UKF) configured to calculate the Kalman gain by evaluating the parameters with respect to the performance target.
13. A method for controlling a legged robot, The method includes initializing a stochastic filter with parameters associated with the state of a reference trajectory of the legged robot in response to receiving a task, wherein the parameters encode the reference trajectory, which includes different trajectory combinations for coordinate motion primitives of different actuators of the legged robot that are predetermined for the task and move the legged robot according to the task, the parameters are defined based on a combination of weighted basis functions, the set of basis functions includes a linear basis function for the center of mass of the legged robot and a cycloidal basis function for the legs of the legged robot, and the method further includes, Decoding the aforementioned parameters to generate the reference orbit, In response to receiving a feedback signal indicating a change in the state of the legged robot moving along the aforementioned reference trajectory, the probabilistic filter is executed to iteratively track the state of the reference trajectory that satisfies the performance objective with respect to the state of the legged robot, thereby updating the parameters. Updating the reference orbit by decoding the updated parameters, Based on the updated reference trajectory, control inputs are generated for the actuators of the legged robot, A method for controlling a legged robot, comprising controlling the actuators of the legged robot based on corresponding control inputs.
14. Using a prediction model, predict the current state of the reference orbit based on the previous state of the reference orbit, Accepting the feedback signal that indicates one or a combination of the current state of the legged robot and the state of the environment surrounding the legged robot, The method according to claim 13, further comprising updating the current state of the reference trajectory based on the feedback signal using a measurement model for testing the performance target, which is subject to measurement noise.
15. The method according to claim 14, wherein the feedback signal is received in response to the detection of new contact with a surface by at least one leg of the legged robot.
16. The method according to claim 15, wherein the feedback signal is configured to control the operation of at least a stance controller and a swing controller associated with the legged robot.
17. The method according to claim 16, wherein each of the stance controller and the swing controller is configured to generate torque commands for the movement of the legged robot based on the feedback signal.
18. The method according to claim 14, wherein the prediction model is an identity model subject to process noise that predicts the state of the reference trajectory within a variance defined by process noise.
19. A non-temporary computer-readable medium for storing a program that causes a legged robot to execute a reference trajectory state generation process, wherein the reference trajectory state generation process is: The process includes initializing a stochastic filter with parameters associated with the state of a reference trajectory of the legged robot in response to receiving a task, wherein the parameters encode the reference trajectory, which includes different combinations of trajectories for a coordinate motion primitive of different actuators of the legged robot that is predetermined for the task and moves the legged robot according to the task, wherein the parameters are defined based on a combination of weighted basis functions, wherein the set of basis functions includes a linear basis function for the center of mass of the legged robot and a cycloidal basis function for the legs of the legged robot, and the process further includes Decoding the aforementioned parameters to generate the reference orbit, In response to receiving a feedback signal indicating a change in the state of the legged robot moving along the aforementioned reference trajectory, the probabilistic filter is executed to iteratively track the state of the reference trajectory that satisfies the performance objective with respect to the state of the legged robot, thereby updating the parameters. Updating the reference orbit by decoding the updated parameters, Based on the updated reference trajectory, control inputs are generated for the actuators of the legged robot, A non-temporary computer-readable medium, which includes controlling the actuator of the legged robot based on the corresponding control input.