Robot system and method for controlling a robot system

Through the coordinated work of the upper body and the lower body control system, the robot system realizes dynamic balance and coordinated movement of the end effector, solving the balance problem of the robot during operation and improving operation flexibility and stability.

CN114800509BActive Publication Date: 2025-08-05BOSTON DYNAMICS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210480461.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-12-13
Filing Date
2017-12-06
Publication Date
2025-08-05
Estimated Expiration
2037-12-06

AI Technical Summary

Technical Problem

Existing robots have difficulty in maintaining balance while maintaining balance when operating end effectors. Especially in multi-legged robot systems, it is difficult to effectively coordinate the movement of the legs and end effectors to achieve real-life dynamic balance.

Method used

Through the coordinated work of the upper body control system and the lower body control system in the robot system, the forces and reaction forces of the legs and the end effector are dynamically controlled to achieve overall manipulation, and the operation parameters of the components are determined using the reverse motion solver to achieve the target position and task execution of the end effector while maintaining dynamic balance.

Benefits of technology

It realizes that the robot maintains dynamic balance while operating the end effector, can be closer to the actual movements of the real person, and improves the operation flexibility and stability of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114800509B_ABST
    Figure CN114800509B_ABST
Patent Text Reader

Abstract

A robotic system (400) includes an upper body portion (408b) including one or more end effectors (422, 424); a lower body portion (408a) including one or more legs (404, 406); and a mid-body portion (408c) coupling the upper and lower body portions. An upper body control system (417b) is located in at least one of the end effectors. The mid-body portion experiences a first mid-body linear force and / or torque based on an end effector force acting on the at least one end effector. The lower body control system operates (417a) one or more legs. The legs experience corresponding surface reaction forces. The mid-body portion experiences a second mid-body linear force and / or torque based on the surface reaction forces. The one or more legs are operated such that the second mid-body linear force balances the first mid-body linear force and the second mid-body torque balances the first mid-body torque.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application with application number 201780075045.7, application date December 6, 2017, and invention name “Robot system and method for controlling a robot system”. Background Art

[0002] The robot may include a plurality of legs operable to allow the robot to balance on a ground surface to allow the robot to move along the ground surface. The robot may also include one or more end effectors that allow the robot to manipulate an object or support a load. Summary of the Invention

[0003] According to exemplary embodiments, a robot can operate its legs while simultaneously operating its end effector to dynamically balance itself on a surface. When the legs contact a surface (e.g., the ground), they exert force on the surface and experience a reaction force from the surface. The robot can dynamically control the legs so that the reaction force allows the robot to maintain a balance that supports end effector operation. The dynamic balance provided by the legs during end effector operation constitutes overall manipulation that more closely resembles the actual movements of a real person.

[0004] According to an exemplary embodiment, a robotic system includes a body. The body includes an upper body portion including one or more movable end effectors; a lower body portion including one or more legs configured to contact a surface; and a mid-body portion coupling the upper and lower body portions. The robotic system also includes a control system implemented by one or more processors. The control system includes an upper body control system configured to operate at least one of the end effectors. The at least one end effector experiences an end effector force based on manipulations performed by the upper body control system. The mid-body portion experiences at least one of a first mid-body linear force or a first mid-body torque based on the end effector force. The control system includes a lower body control system configured to operate one or more legs in response to manipulations of the at least one end effector. The one or more legs experience corresponding reaction forces from the surface based on manipulations performed by the lower body control system. The mid-body portion experiences at least one of a second mid-body linear force or a second mid-body torque based on the reaction forces. The lower body control system operates the one or more legs such that the second mid-body linear force balances the first mid-body linear force and the second mid-body torque balances the first mid-body torque.

[0005] According to another exemplary embodiment, a robotic system includes a body. The body includes an upper body portion including one or more movable end effectors; a lower body portion including one or more legs configured to contact a surface; and a mid-body portion coupling the upper and lower body portions. The robotic system includes a control system implemented by one or more processors. The control system includes a lower-body control system and an upper control system. A method for controlling the robotic system includes controlling at least one of the end effectors via the upper-body control system. The at least one end effector experiences an end effector force based on an operation performed via the upper-body control system. The mid-body portion experiences at least one of a first mid-body linear force or a first mid-body torque based on the end effector force. The method includes controlling one or more legs via the lower-body control system in response to the operation of the at least one end effector. The one or more legs experience a corresponding reaction force from a surface based on the operation performed via the lower-body control system. The mid-body portion experiences at least one of a second mid-body linear force or a second mid-body torque based on the reaction force.

[0006] According to another exemplary embodiment, a robotic system includes a body. The body includes an upper body portion including one or more movable end effectors; a lower body portion including one or more legs configured to contact a surface; and a mid-body portion coupling the upper and lower body portions. The robotic system includes a control system implemented by one or more processors. The control system includes an upper body control system configured to operate at least one of the end effectors. The at least one end effector experiences an end effector force based on manipulations performed by the upper body control system. The mid-body portion experiences at least one of a first mid-body linear force or a first mid-body torque based on the at least one end effector force. The control system includes a lower body control system configured to operate one or more legs based on the first mid-body linear force or the first mid-body torque. The one or more legs experience corresponding reaction forces from the surface based on the manipulations performed by the lower body control system. The mid-body portion experiences at least one of a second mid-body linear force or a second mid-body torque based on the reaction forces. The lower body control system operates the one or more legs such that the second mid-body linear force balances the first mid-body linear force and the second mid-body torque balances the first mid-body torque. The upper body control system treats the lower body portion as a virtual chain coupled to the middle body portion. The lower body control system is further configured to position the middle body portion according to a first set of degrees of freedom based on operation of one or more legs. The upper body control system is further configured to position the middle body portion according to a second set of degrees of freedom based on operation of at least one end effector. The upper body control system is constrained from positioning the middle body portion according to the first set of degrees of freedom.

[0007] According to a further exemplary embodiment, a robotic system includes a body. The body includes an upper body portion; a lower body portion including one or more legs configured to contact a surface; and a middle body portion coupling the upper body portion and the lower body portion. The robotic system includes a control system implemented by one or more processors. The control system includes an upper body control system configured to operate the upper body portion. The upper body portion experiences an upper body force in response to manipulations performed by the upper body control system. The middle body portion experiences at least one of a first middle body linear force or a first middle body torque based on the upper body force. The control system includes a lower body control system configured to operate one or more legs. The one or more legs experience corresponding reaction forces from the surface based on the manipulations performed by the lower body control system. The middle body portion experiences at least one of a second middle body linear force or a second middle body torque based on the reaction forces. The lower body control system operates the one or more legs such that the second middle body linear force balances the first middle linear force and the second middle body torque balances the first middle body torque.

[0008] By reading the detailed description below and referring to the accompanying drawings, those skilled in the art will understand these and other aspects, advantages and alternatives. Further, it should be understood that the description provided in this summary of the invention and elsewhere herein is intended to illustrate the subject matter claimed by way of example, rather than to limit it. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 A configuration of a robot system according to an exemplary embodiment is shown.

[0010] Figure 2 A quadruped robot according to an exemplary embodiment is shown.

[0011] Figure 3 A bipedal robot is shown according to an exemplary embodiment.

[0012] Figure 4A A bipedal robot employing dynamic balance for overall operation is shown in accordance with an exemplary embodiment.

[0013] Figure 4B According to an exemplary embodiment, Figure 4A An example of dynamic balance achieved by a bipedal robot.

[0014] Figure 4C The robot operates the end effector while the robot operates the end effector according to an exemplary embodiment. Figure 4A Another example of dynamic balance achieved by a bipedal robot.

[0015] Figure 4D Shown Figure 4A Exploded view of a bipedal robot.

[0016] Figure 5 A configuration of a robot system employing dynamic balance for overall operation according to an exemplary embodiment is shown.

[0017] Figure 6 A method of operating a robot using dynamic balancing for overall operation according to an exemplary embodiment is shown. DETAILED DESCRIPTION

[0018] The following detailed description describes various features and functions of the disclosed systems and methods with reference to the accompanying figures. The illustrative system and method embodiments described herein are not intended to be limiting. It will be readily understood that aspects of the disclosed systems and methods may be arranged and combined in a variety of different configurations, all of which are incorporated herein.

[0019] I. Overview

[0020] A robot may include a plurality of legs operable to allow the robot to balance on a ground surface to allow the robot to move along the ground surface. The robot may also include one or more end effectors that allow the robot to manipulate an object or support a load. According to one approach, the robot must first operate its legs to maintain position control and establish static balance before the robot can position the end effector to perform a task. For example, the robot may first operate the legs to form a static support polygon on which the center of mass of the robot is maintained during positioning and operation of the end effector. According to this approach, the legs and end effector are not operated simultaneously to act as a unit.

[0021] However, according to exemplary embodiments disclosed herein, a robot can operate its legs while operating an end effector to dynamically balance itself on a surface. When the legs contact a surface (e.g., the ground), the legs exert a force on the surface and experience a reaction force from the surface. The robot can dynamically control the legs so that the reaction force allows the robot to maintain a balance that supports end effector operation. The dynamic balance provided by the legs during end effector operation constitutes whole-body manipulation, which can more closely resemble the actual movements of a real person.

[0022] The legs can even allow the robot to dynamically balance while it moves according to a gait. For example, the robot can walk or run along a ground surface and, due to dynamic balance, simultaneously position the end effector to grasp an object without disrupting the gait.

[0023] In an exemplary embodiment, the robot includes a lower body portion, an upper body portion, and a middle body portion. For a bipedal robot, the middle portion may function as or resemble a pelvis. The lower body portion includes the legs, and the upper body portion includes the end effector. In some cases, the end effector may be located at the end of an arm that extends outward from the robot to position the end effector. The lower body portion is coupled to the middle portion from below, and the upper body portion is coupled to the middle portion from above.

[0024] The robot includes a lower body control system and an upper body control system. The lower body control system controls the legs, while the upper body control system controls the end effector. The lower and upper body control systems coordinate to achieve overall maneuverability and balance for the robot. Specifically, the lower body control system controls the legs so that the reaction force from the surface provides dynamic balance, which allows the upper body control system to perform tasks via the end effector.

[0025] During its analysis, the upper body control system represents and processes the lower body part as a virtual link connected to the middle body part. In order to locate and operate the end effector, the upper body control system uses an inverse kinematics solver, which is responsible for the positioning and orientation of the virtual link and the middle body part. Inverse kinematics refers to using the robot's kinematic equations to determine parameters for components (such as joints) to allow the end effector to reach a target position and perform a task. Motion planning sets the robot's motion so that the end effector can reach a target position and perform a task. For example, the inverse kinematics solver can use the velocity of the virtual link to determine a motion plan for the upper body part that achieves the desired end effector velocity in a static world frame. Inverse kinematics converts the motion plan into actuator trajectories for the robot's components (such as joints).

[0026] In order to position the end effector, the upper body control system can allow the middle body portion to be repositioned / reorientated. Generally, the middle body portion can be positioned and oriented according to any one or more of the six degrees of freedom. However, in order to achieve dynamic balance, the lower body control system will need to allow the middle body portion to be repositioned / reorientated according to one or more of the six degrees of freedom. Thus, in order to maintain dynamic balance, the upper body control system will be restricted from being able to reposition / reorient the middle body portion according to the degrees of freedom required by the lower body control system to achieve dynamic balance. In other words, the inverse kinematic solver for the upper body control system considers these specific degrees of freedom as constraints. These constraints allow the lower body control system to freely achieve dynamic balance.

[0027] The load supported by the end effector generates a resulting linear force and / or moment on the mid-body portion. The upper-body control system can determine the resulting linear force and moment and communicate this information to the lower-body control system. In response, the lower-body control system can operate the legs so that the reaction force balances the linear force and / or moment at the mid-body portion. Typically, a first force / torque is balanced by a second force / torque when the second force / torque is opposite in direction to the first force / torque and has at least substantially the same magnitude.

[0028] This balancing can also be employed when the upper body portion additionally or alternatively bears other loads. For example, the upper body portion may bear dynamic forces during high-speed maneuvers, such as those required to accelerate an arm, end effector, or payload. These dynamic forces also produce final linear forces and / or moments on the mid-body portion, which can also be balanced by the reaction forces of the lower body control.

[0029] Additionally, when the upper body control system wants the end effector to extend to a target location, the lower body control system can determine whether the current position of the legs allows the end effector to reach the target location with sufficient balance. If necessary, the legs can be operated to move the robot along the surface so that the end effector can reach the target location.

[0030] II. Exemplary Robotic Systems

[0031] Figure 1 1 shows an exemplary configuration of a robotic system that can be used in accordance with embodiments described herein. The robotic system 100 can be configured to operate autonomously, semi-autonomously, and / or using guidance provided by a user(s). The robotic system 100 can be implemented in various forms, such as a bipedal robot, a quadrupedal robot, or some other configuration. Furthermore, the robotic system 100 may also be referred to as a robot, a robotic device, or a mobile robot, among other names.

[0032] like Figure 1 As shown, the robotic system 100 may include processor(s) 102, data storage 104, and controller(s) 108, which together may be part of a control system 118. The robotic system 100 may also include sensor(s) 112, power supply(s) 114, mechanical components 110, and electrical components 116. However, the robotic system 100 is shown for illustrative purposes and may include more or fewer components. The various components of the robotic system 100 may be connected in any manner, including wired or wireless connections. Further, in some examples, the components of the robotic system 100 may be distributed across multiple physical entities rather than within a single physical entity. Other exemplary illustrations of the robotic system 100 are also possible.

[0033] The processor(s) 102 may operate as one or more general-purpose hardware processors or special-purpose hardware processors (e.g., digital signal processors, application-specific integrated circuits, etc.). The processor(s) 102 may be configured to execute computer-readable program instructions 106 and to operate on data 107, the instructions and data being stored in a data memory 104. The processor(s) 102 may also interact, directly or indirectly, with other components of the robotic system 100, such as sensor(s) 112, power supply(s) 114, mechanical components 110, and / or electrical components 116.

[0034] The data storage 104 can be one or more types of hardware memory. For example, the data storage 104 can include or take the form of one or more computer-readable storage media that can be read or accessed by the processor(s) 102. The one or more computer-readable storage media may include volatile and / or non-volatile storage components, such as optical, magnetic, organic, or another type of memory or storage, which may be integrated with the processor(s) 102 in whole or in part. In some embodiments, the data storage 104 can be a single physical device. In other embodiments, the data storage 104 can be implemented using two or more physical devices, which can communicate with each other via wired or wireless communications. As previously described, the data storage 104 can include computer-readable program instructions 106 and data 107. The data 107 can be any type of data, such as configuration data, sensor data, and / or diagnostic data, among other possibilities.

[0035] The controller 108 may include one or more circuits, digital logic units, computer chips, and / or microprocessors configured to (among other tasks) interface between any combination of mechanical components 110, sensor(s) 112, power supply(s) 114, electrical components 116, control system 118, and / or a user of the robotic system 100. In some implementations, the controller 108 may be a special-purpose embedded device that is used to perform specific operations by one or more subsystems of the robotic device 100.

[0036] The control system 118 can monitor and physically change the operating state of the robotic system 100. In doing so, the control system 118 can serve as a link between certain components of the robotic system 100 (e.g., between the mechanical components 110 and / or the electrical components 116). In some cases, the control system 118 can serve as an interface between the robotic system 100 and another computing device. Further, the control system 118 can serve as an interface between the robotic system 100 and a user. For example, the control system 118 can include various components that communicate with the robotic system 100, including joysticks, buttons, and / or ports. The exemplary interfaces and communications described above can be implemented via wired or wireless connections, or both. The control system 118 can also perform other operations for the robotic system 100.

[0037] During operation, the control system 118 can communicate with other systems of the robotic system 100 via wired or wireless connections, and can further be configured to communicate with one or more users of the robot. As one possible example, the control system 118 can receive input (e.g., from a user or from another robot) indicating an instruction to perform a specific gait in a specific direction and at a specific speed. A gait is a pattern of limb movement of an animal, robot, or other mechanical structure.

[0038] Based on this input, the control system 118 can perform operations to cause the robotic device 100 to move according to the requested gait. As another example, the control system can receive input indicating a direction to move to a specific geographic location. In response, the control system 118 (perhaps with the assistance of other components or systems) can determine the direction, speed, and / or gait of the robotic device 100 based on the environment it passes through while moving to the geographic location.

[0039] The operations of the control system 118 may be performed by the processor(s) 102. Alternatively, the operations may be performed by the controller 108 or a combination of the processor(s) 102 and the controller 108. In some embodiments, the control system 118 may be partially or completely located on a device other than the robotic system 100 and, thus, may at least partially remotely control the robotic system 100.

[0040] The mechanical components 110 represent the hardware of the robotic system 100 that enable the robotic system 100 to perform physical operations. As a few examples, the robotic system 100 may include physical components such as leg(s), arm(s), and / or wheel(s). The physical components or other portions of the robotic system 100 may further include actuators arranged to move the physical components relative to each other. The robotic system 100 may also include one or more structural bodies for housing a control system 118 and / or other components, and may further include other types of mechanical components. The specific mechanical components 110 used in a given robot may vary based on the design of the robot, and may also be based on the operations and / or tasks that the robot may be configured to perform.

[0041] In some examples, the mechanical components 110 may include one or more removable components. The robotic system 100 may be configured to add and / or remove such removable components, which may involve assistance from a user and / or another robot. For example, the robotic system 100 may be configured to have removable arms, hands, feet, and / or legs so that these appendages can be replaced or changed as needed or desired. In some embodiments, the robotic system 100 may include one or more removable and / or replaceable battery cells or sensors. Other types of removable components may also be included in some embodiments.

[0042] The robotic system 100 can include sensor(s) 112 arranged to sense aspects of the robotic system 100. The sensor(s) 112 can include one or more force sensors, torque sensors, velocity sensors, acceleration sensors, position sensors, proximity sensors, motion sensors, location sensors, load sensors, temperature sensors, touch sensors, depth sensors, ultrasonic range sensors, infrared sensors, object sensors, and / or cameras, among other possibilities. In some examples, the robotic system 100 can be configured to receive sensor data from sensors that are physically separate from the robot (e.g., sensors located on other robots or in the robot's operating environment).

[0043] The sensor(s) 112 may provide sensor data to the processor(s) 102 (perhaps by way of data 107) to allow the robotic system 100 to interact with its environment and to monitor the operation of the robotic system 100. The sensor data may be used by the control system 118 to evaluate various factors for activation, movement, and deactivation of the electrical components 116 and the mechanical components 110. For example, the sensor(s) 112 may capture data corresponding to the terrain of the environment or the location of nearby objects, which may assist in environmental recognition and navigation. In one exemplary configuration, the sensor(s) 112 may include radar (e.g., for long-range object detection, distance determination, and / or velocity determination), LIDAR (e.g., for short-range object detection, distance determination, and / or velocity determination), sonar (e.g., for underwater object detection, distance determination, and / or velocity determination), The robotic system 100 may include a plurality of sensors 112 (e.g., for motion capture), one or more cameras (e.g., stereo cameras for 3D vision), a global positioning system (GPS) transceiver, and / or other sensors for capturing information in the operating environment of the robotic system 100. The sensor(s) 112 may monitor the environment in real time and detect obstacles, terrain features, weather conditions, temperature, and / or other aspects of the environment.

[0044] Furthermore, the robotic system 100 may include sensor(s) configured to receive information indicative of a status of the robotic system 100, including sensor(s) 112 that may monitor the status of various components of the robotic system 100. The sensor(s) 112 may measure system activity of the robotic system 100 and receive information based on the operation of various features of the robotic system 100, such as the operation of extendable legs, arms, or other mechanical and / or electrical features of the robotic system 100. The data provided by the sensor(s) 112 may enable the control system 118 to determine operational errors and monitor the overall operation of the components of the robotic system 100.

[0045] As an example, the robotic system 100 can use force sensors to measure the loads on various components of the robotic system 100. In some embodiments, the robotic system 100 can include one or more force sensors on an arm or leg to measure the loads on an actuator that moves one or more components of the arm or leg. As another example, the robotic system 100 can use one or more position sensors to sense the position of the actuators of the robotic system. For example, such position sensors can sense the extension, retraction, or rotation of an actuator on an arm or leg.

[0046] As another example, the sensor(s) 112 may include one or more velocity and / or acceleration sensors. For example, the sensor(s) 112 may include an inertial measurement unit (IMU). The IMU may sense velocity and acceleration relative to a gravity vector in a world coordinate system. The velocity and acceleration sensed by the IMU may then be converted to velocity and acceleration of the robotic system 100 based on the position of the IMU in the robotic system 100 and the motion characteristics of the robotic system 100.

[0047] The robotic system 100 may include other types of sensors not specifically described herein. Additionally or alternatively, the robotic system may use specific sensors for purposes not enumerated herein.

[0048] The robotic system 100 may also include one or more power sources 114 configured to supply power to various components of the robotic system 100. Among other possible power systems, the robotic system 100 may include a hydraulic system, an electrical system, a battery, and / or other types of power systems. As an example, the robotic system 100 may include one or more batteries configured to provide electrical charge to the components of the robotic system 100. Some of the mechanical components 110 and / or the electrical components 116 may each be connected to a different power source, may be powered by the same power source, or may be powered by multiple power sources.

[0049] Any type of power source can be used to power the robotic system 100, such as an electric power source or a gasoline engine. Additionally or alternatively, the robotic system 100 can include a hydraulic system configured to use fluid power to power the mechanical components 110. For example, the components of the robotic system 100 can operate based on hydraulic fluid that is delivered to various hydraulic motors and hydraulic cylinders in the hydraulic system. The hydraulic system can transmit hydraulic power by way of pressurized hydraulic fluid flowing through pipes, flexible hoses, or other connecting pathways between the components of the robotic system 100. Various types of charging methods can be used to charge the power source(s) 114, such as a wired connection to an external power source, wireless charging, combustion, or other examples.

[0050] The electrical components 116 may include various mechanisms capable of processing, transmitting, and / or providing electrical charge or electrical signals. In a possible example, the electrical components 116 may include wiring, circuitry, and / or wireless communication transmitters and receivers to enable the operation of the robotic system 100. The electrical components 116 may interact with the mechanical components 110 to enable the robotic system 100 to perform various operations. For example, the electrical components 116 may be configured to provide power from the power source(s) 114 to the various mechanical components 110. Furthermore, the robotic system 100 may include an electric motor. Other examples of the electrical components 116 are also possible.

[0051] Although Figure 1 Although not shown, the robotic system 100 may include a body to which the appendages and components of the robotic system may be connected or housed. As such, the structure of the body may vary in some examples and may further depend on the specific operation that a given robot has been designed to perform. For example, a robot developed to carry heavy loads may have a wide body that facilitates placement of the load. Similarly, a robot designed to reach high speeds may have a narrow body that does not have a significant weight. Further, the body and / or other components may be developed using various types of materials, such as metal or plastic. In other examples, the robot may have a body that has different structures or is made from various types of materials.

[0052] The body and / or other components may include or carry sensor(s) 112. These sensors may be located at various locations on the robotic device 100, such as on the body and / or on one or more appendages, among other locations.

[0053] The robotic device 100 can carry a payload on its body, such as a type of cargo to be transported. The payload can also represent an external battery or other type of power source (e.g., a solar panel) that the robotic device 100 can utilize. Carrying a payload represents one exemplary use for which the robotic device 100 can be configured, but the robotic device 100 can also be configured to perform other operations.

[0054] As described above, the robotic system 100 can include various types of legs, arms, wheels, etc. In general, the robotic system 100 can be configured with zero or more legs. Embodiments of a robotic system with zero legs may include wheels, tracks, or some other form of locomotion. Embodiments of a robotic system with two legs may be referred to as bipedal, and embodiments with four legs may be referred to as quadrupedal. Embodiments with six or eight legs are also possible. For illustrative purposes, bipedal and quadrupedal embodiments of the robotic system 100 are described below.

[0055] Figure 2A quadruped robot 200 is shown according to an exemplary embodiment. Among other possible features, the robot 200 can be configured to perform some of the operations described herein. The robot 200 includes a control system, and legs 204A, 204B, 204C, 204D are connected to a body 208. Each leg can include a respective foot 206A, 206B, 206C, 206D that can contact a surface (e.g., a ground surface). Further, the robot 200 is shown with sensor(s) 210 and can carry a load on the body 208. In other examples, the robot 200 can include more or fewer components, and thus can include Figure 2 Components not shown.

[0056] The robot 200 may be Figure 1 The robot system 100 is shown as a physical representation, but may be based on other configurations. Thus, the robot 200 may include one or more of a mechanical component 110, a sensor(s) 112, a power source(s) 114, an electrical component 116, and / or a control system 118, among other possible components or systems.

[0057] The configuration, position, and / or structure of the legs 204A-204D may vary in the exemplary embodiment. The legs 204A-204D enable the robot 200 to move relative to its environment and may be configured to operate with multiple degrees of freedom, enabling different locomotion techniques. Specifically, the legs 204A-204D may enable the robot 200 to move at various speeds based on the mechanical characteristics described in different gaits. The robot 200 may use one or more gaits to navigate the environment, which may involve selecting based on speed, terrain, operational requirements, and / or energy efficiency.

[0058] Furthermore, different types of robots may use different gaits due to design variations. While some gaits may have specific names (e.g., walk, trot, run, jump, gallop, etc.), the distinctions between gaits can overlap. Gaits can be categorized based on the footfall pattern—the location on the surface used to place the feet 206A-206D. Similarly, gaits can also be categorized based on walking mechanics.

[0059] The body 208 of the robot 200 connects the legs 204A-204D and can house various components of the robot 200. For example, the body 208 can include or carry sensor(s) 210. These sensors can be any sensor encompassed by the meaning of sensor(s) 112, such as a camera, LIDAR, or infrared sensor. Further, the location of the sensor(s) 210 is not limited to Figure 2Thus, the sensor(s) 210 may be positioned at various locations on the robot 200, such as on the body 208 and / or on one or more of the legs 204A-204D, among other examples.

[0060] Figure 3 FIG. 3 shows a bipedal robot 300 according to another exemplary embodiment. Similar to the robot 200, the robot 300 may correspond to Figure 1 A robotic system 100 is shown and may be configured to implement some of the embodiments described herein. Thus, similar to robot 200, robot 300 may include one or more of mechanical components 110, sensor(s) 112, power supply(s) 114, electrical components 116, and / or control system 118.

[0061] For example, robot 300 may include legs 304 and 306 connected to a body 308. Each leg may include one or more members connected by joints and configured to operate with various degrees of freedom relative to each other. Each leg may also include a respective foot 310 and 312, which may contact a surface (e.g., a ground surface). Similar to robot 200, legs 304 and 306 may enable robot 300 to travel at various speeds according to the mechanical characteristics described in gait. However, robot 300 may utilize a different gait than robot 200, at least in part due to the differences between bipedal and quadrupedal capabilities.

[0062] The robot 300 may also include arms 318 and 320. These arms may assist in object manipulation, load carrying, and / or balancing the robot 300. Similar to the legs 304 and 306, each arm may include one or more members connected by joints and configured to operate with various degrees of freedom relative to each other. Each arm may also include a respective hand 322 and 324. The robot 300 may use the hands 322 and 324 to grasp, rotate, pull, and / or push objects. The hands 322 and 324 may include various types of appendages or accessories, such as fingers, grippers, welding tools, cutting tools, etc.

[0063] The robot 300 may also include sensor(s) 314, corresponding to sensor(s) 112, and configured to provide sensor data to its control system. In some cases, the positions of these sensors may be selected to reflect the anthropomorphic structure of the robot 300. Thus, as Figure 3 As shown, the robot 300 may include a visual sensor (eg, a camera, an infrared sensor, an object sensor, a distance sensor, etc.) in its head 316 .

[0064] III. Example Robot Employing Dynamic Balance for Whole Body Manipulation

[0065] Figure 4A An exemplary bipedal robot 400 is shown that includes a body 408 defined by a lower body portion 408a, an upper body portion 408b, and an intermediate body portion 408c. The lower body portion 408a and the upper body portion 408b are coupled to the intermediate body portion 408c. The lower body portion 408a includes two legs 404 and 406 that extend generally downwardly from the intermediate body portion 408c to a surface (e.g., a ground surface). Similar to the legs 304 and 306 of the robot 300, each leg 404, 406 may include one or more members that are connected by joints and configured to operate with various degrees of freedom relative to each other. For example, Figure 4A As shown, leg 404 includes at least components 404a1 - a2 and joints 404b1 - b2, and leg 406 includes at least components 406a1 - a2 and joints 406b1 - b2.

[0066] Each leg 404, 406 may also include a respective foot 410, 412 to establish direct contact with a surface. The legs 404, 406 may stably support the robot 400 on the surface. In addition, the legs 404, 406 may allow the robot 400 to move at various speeds depending on the mechanical characteristics for different gaits. For example, Figure 4A As shown, the legs 404, 406 are operable to allow the robot 400 to move according to at least forward / backward translation along the y-axis and / or left / right translation along the x-axis.

[0067] The upper body portion 408b includes end effectors 422, 424 disposed on the ends of respective arms 418, 420. The arms 418, 420 may extend outward from the upper body portion 408b to position the respective end effectors 422, 424. Similar to the arms 318, 320 of the robot 300, each arm 418, 420 may include one or more members connected by joints and configured to operate with various degrees of freedom relative to each other. For example, Figure 4A As shown, arm 418 includes at least components 418a1-a2 and joints 418b1-b2, and arm 420 includes at least components 420a1-a2 and joints 420b1-b2.

[0068] The end effectors 422, 424 can be used to perform tasks by manipulating objects, performing actions on a payload, and the like. For example, the robot 400 can use the end effectors 422, 424 to grasp, rotate, carry, pull, and / or push an object. As shown, the end effectors 422, 424 can be hand-like structures with movable fingers. Alternatively, the end effectors 422, 424 can include other types of appendages or accessories, such as grippers, welding tools, cutting tools, and the like.

[0069] like Figure 4A As shown, the middle body portion 408c serves as or resembles a pelvis for the bipedal configuration of the robot 400. The middle body portion 408c is supported from below by the lower body portion 408a, and correspondingly, the middle body portion 408c supports the upper body portion 408b located above. As further described below, the middle body portion 408c can be positioned and / or oriented to allow for desired positioning and operation of the legs 404, 406 and the end effectors 422, 424.

[0070] The robot 400 may include aspects of the robot system 100 described above. Specifically, sensors similar to the sensor 112 may provide information regarding the position and movement of components of the robot 400 relative to other components and / or the external environment. For example, Figure 4A As shown, the robot 400 may include a sensor 414 (eg, a camera, an infrared sensor, an object sensor, a distance sensor, etc.) in a head 416 .

[0071] Furthermore, if Figure 5 As shown, the robot 400 may include a control system 417 having a lower body control system 417a, an upper body control system 417b, and a master control system 417c, each of which may include aspects of the control system 118 described above. The lower body control system 417a may operate aspects of the lower body portion 408a. The upper body control system 417b may operate aspects of the upper body portion 408b. The master control system 417c may control other aspects of the robot 400. The master control system 417c may also coordinate the actions of the lower body control system 417a and the upper body control system 417b.

[0072] Each of the control systems 417a-c can receive sensor data from the sensors to operate a corresponding aspect of the robot 400. Figure 5 Although shown as separate parts, some aspects of the control systems 417a-c may be implemented through common hardware and / or software.

[0073] To achieve desired positions for feet 410, 412 and / or desired forces for legs 404, 406, lower body control system 417a may employ an inverse kinematics solver 419a to determine the orientation and corresponding joint positions of the components of respective legs 404, 406. Simultaneously, to achieve desired positions for end effectors 422, 424, upper body control system 417a may employ an inverse kinematics solver 419b to determine the orientation and corresponding joint positions of the components of respective arms 418, 420.

[0074] In general, inverse kinematics refers to using the kinematic equations of the robot 400 to determine parameters for components (e.g., the joints of the legs 404, 406 or arms 418, 420) to allow the corresponding feet 410, 412 or end effectors 422, 424 to reach a target position. A motion plan specifies the motion of the robot so that the feet 410, 412 or end effectors 422, 424 can reach the target position. Inverse kinematics solvers 419a, 419b convert the motion plan into actuator trajectories for components (e.g., joints) of the robot 400.

[0075] The lower body control system 417a can operate the legs 404, 406 to allow the robot 400 to dynamically balance on a surface, while the upper body control system 417b operates the arms 418, 420 and end effectors 422, 424 to perform a task. Figure 4A As shown, when foot 410 contacts a surface, leg 404 experiences a reaction force F in response to the force applied through leg 404. r1 Similarly, when foot 412 contacts a surface, leg 406 experiences a reaction force F in response to the force applied through leg 406. r2 Each reaction force F r1 、F r2 Components along one or more of the x-axis, y-axis, and z-axis may be included.

[0076] The lower body control system 417a can dynamically control the legs 404, 406 so that the reaction force F r1 、F r2 allows the robot 400 to maintain a balance that supports the operation of the arms 418, 420 and the end effectors 422, 424. In response to any torque experienced by the robot 400, the reaction force F r1 、F r2 It is also possible to generate opposite torques M r1 、M r2 (not shown) to allow balance for the robot 400. The dynamic balance provided by the legs 404, 406 during operation of the end effectors 422, 424 constitutes an overall manipulation that more closely resembles real movements performed by a real person.

[0077] A. Example balance achieved by the lower body

[0078] See also Figure 4B , the robot 400 is supported on the surface only by the legs 404. The weight of the robot 400 (i.e., gravity F gr ) is applied to the surface via foot 410 in the negative z direction. Gravity F gr Effectively acts at the center of mass (COM) of the body 408 in the negative z-direction. r1 A component of the force F is applied to foot 410 in the positive z direction and is equal to the gravity F gr Therefore, the gravity F gr Reaction force F r1 The z component of .

[0079] However, if the center of mass of the robot 400 is not aligned with the foot 410 along the x-axis and / or the y-axis, then the gravity F gr A moment M is generated at the foot 410 gr . Moment M gr The reaction force F may include components about the x-axis and / or the y-axis. r1 The friction force between the foot 410 and the surface, wherein the friction force acts on the foot 410 in the x and / or y direction. The friction force provides the same gr The generated torque M gr The opposite torque. If the torque M gr The robot 400 can maintain balance if the maximum torque that can be provided by friction is not exceeded. On the other hand, if the torque M gr If the maximum torque is exceeded, the foot 410 will slide and the torque M gr This will cause the robot 400 to lose balance.

[0080] When the foot 410 is in a given position on the surface, the lower body control system 417a can control the position and orientation of the members 404a1-a2 and the joints 404b1-b2 to control the reaction force F r1 The effect on the legs 404 and achieves balance of the body 408. For example, if the lower body control system 417a determines Figure 4B The robot 400 shown is subjected to a moment M gr If balance cannot be maintained, the lower body control system 417a can control the members 404a1-a2 and joints 404b1-b2 of the legs 404 to reposition the center of mass of the robot 400 closer to alignment with the foot 410 along the x-axis and / or y-axis. This can reduce the moment M gr And allow the force F r1 The resulting friction forces allow the robot 400 to balance, as described above.

[0081] like Figure 4B As shown, when the lower body control system 417a repositions the center of mass, the middle body portion 408c can be adjusted from a position (x i ,y i , z i ) moves accordingly along the x and y directions to the new position (x i ',y i ', z i ').Although Figure 4B The center of mass of can be shown as coinciding with the middle body portion 408c, but it should be understood that the center of mass can be located at other locations relative to the robot 400.

[0082] Although Figure 4B 4. Although not shown, leg 406 can operate in a similar manner to leg 404. Generally, with feet 410, 412 in a given position on a surface, lower body control system 417a can reposition and / or reorient the members and joints of legs 404, 406 to control the reaction force F. r1 and F r2 How to affect the body 408. Specifically, the lower body control system 417a can control the legs so that the reaction force F g1 and F g2 Allow the body 408 to be balanced.

[0083] In practice, both feet 410, 412 may contact the surface simultaneously and the legs 404, 406 may experience a reaction force F r1 and F r2 Gravity F gr Can be reacted by the reaction force F r1 and F r2 In addition, the lower body control system 417a can control the members and joints of the legs 404, 406 to change the position of the center of mass and allow the reaction force F to r1 、F r2 (e.g. friction) of the opposing torque M r1 、M r2 With the force F from gravity gr The moment M gr Phase equilibrium.

[0084] B. Dynamically balanced with the lower body to support the operation of the end effector

[0085] As described above, the upper body control system 417b can operate each end effector 422, 424 to perform a corresponding task. To perform different tasks, the upper body control system 417b can move the end effectors 422, 424 along with the arms 418, 420 to different positions, such as to reach and move an object, apply an action to a load, etc.

[0086] For example, Figure 4A As shown, the end effector 424 is initially positioned at coordinates (x e2 ,y e2 , z e2 ). Figure 4C In the process, the upper body control system 417b repositions the end effector 424 to (x e2 ',y e2 ', z e2 ') to perform the task. To reposition, the upper body control system 417b operates the members 420a1-a2 and joints 420b1-b2 of the arm 420 to extend the end effector 424 to the target position (x e2 ',y e2 ', z e2 ').

[0087] Depending on the mass associated with the arms 418, 420, the position of the center of mass of the robot 400 may change as the arms 418, 420 and respective end effectors 422, 424 are repositioned. The change in the position of the center of mass causes the gravity F gr The effect on the body 408 changes. Specifically, the gravity F gr The generated torque M gr To maintain balance of the robot 400, the components and joints of the legs 404, 406 may need to be repositioned and / or reoriented to achieve the new moment M. g Balanced reaction force F r1 、F r2 .

[0088] While performing a task, each end effector 422, 424 may also experience a corresponding external end effector force F e1 、F e2 ,like Figure 4A For example, if the task of each end effector 422, 424 is to carry a corresponding object, the corresponding end effector force F e1 、F e2 The weight of the corresponding object acting in the negative z direction may be included. In another example, if the task of the end effectors 422, 424 is to push a large object along a surface, the end effector force F e1 and F e2 The opposing friction between the large object and the surface can be included. Although the two end effector forces F e1 and F e2 exist Figure 4A , but the end effectors 410, 412 do not necessarily experience the end effector force F at the same time. e1 and F e2 .

[0089] The robot 400 may thereby experience in addition to the gravity F gr External force F e1 and F e2 In addition, the robot 400 may experience the force F through the end effector, respectively. e1 、F e2 The generated torque M e1 、M e2 In this way, the lower body control system 417a can also control the external end effector force F e1 and F e2 and gravity F gr Specifically, the lower body control system 417a can control the components and joints of the legs 404, 406 to allow the reaction force F r1 、F r2 Force F e1 、F e2 、F gr The sum of the force F e1 、F e2 、F gr The sum of the generated moments is balanced.

[0090] For example, if each end effector 422, 424 carries an object, then the end effector force F e1 、F e2 Includes the weight of every object acting in the negative z direction. In addition to the gravity F gr , legs 404, 406 apply the weight of each object to the surface via feet 410, 412. Reaction force F r1 、F r2 A force is accordingly applied in the positive z-direction to balance the forces applied through legs 404 , 406 .

[0091] Moreover, in addition to the force of gravity F gr The generated torque M gr , force F e1 、F e2 It also generates a torque M e1 、M e2 Reaction force F r1 、F r2 The corresponding torque M e1 、M e2 The opposite moment M r1 、M r2 The lower body control system 417a can operate the components and joints of the legs 404, 406 so that the moment M r1 、M r2 Allowable torque M e1 、M e2 Balance. For example, the reaction force Fr1 、F r2 Friction can be included, which acts in the positive y direction and provides a force that is proportional to the moment M e1 、M e2 Opposite torque.

[0092] To allow the lower body control system 417a to be responsible for the forces and moments generated by the positioning and manipulation of the end effectors 422, 424, the upper control system 417b may be associated with the positions of the end effectors 422, 424 and the end effector forces F e1 、F e2 and moment M e1 、M e2 The relevant information is communicated to the lower body control system 417a. The upper body control system 417b can receive signals from force and torque sensors, for example, to determine the end effector force F e1 、F e2 and moment M e1 、M e2 .

[0093] The upper body control system 417b can control the end effectors 422, 424 to perform any number and sequence of tasks. In this way, the arms 418, 420 and the end effectors 422, 424 can be in constant motion and can experience varying end effector forces F e1 、F e2 Advantageously, lower body control system 417a allows body 408 to dynamically balance to support the movements of upper body portion 408b. Lower body control system 417a can simultaneously operate legs 404, 406, as described above, to provide continuous balance for the continuous movements made by upper body portion 408b. Upper body control system 417b does not rely on lower body control system 417a to establish static balance before operating end effectors 422, 424 to perform each task.

[0094] Because lower body control system 417a controls lower body portion 408a, upper body control system 417b can control upper body portion 408b by representing and processing lower body portion 408a as a virtual chain connected via intermediate body portion 408c. By using the virtual chain, the implementation of control system 417 is simplified because control of lower body portion 408a and upper body portion 408b is split between lower body control system 417a and upper body control system 417b, respectively. Upper body control system 417b can generally assume that lower body control system 417a will dynamically provide balance to support upper body portion 408b while upper body control system 417b can focus on performing tasks with end effectors 422, 424.

[0095] In addition to the manipulator arms 418, 420, the upper body control system 417b can position and / or orient the middle body portion 408c relative to the lower body portion 408b to position and operate the end effectors 422, 424. The middle body portion 408c can be positioned and / or oriented according to any one or more of six degrees of freedom: (1) translation forward / backward along the y-axis; (2) translation left / right along the x-axis; (3) translation up / down along the z-axis; (4) pitch rotation about the x-axis; (5) roll rotation about the y-axis; and (6) yaw rotation about the z-axis. For example, to move an object to the left side of the robot 400, the upper body control system 417b can rotate the middle body portion 408c about the z-axis (i.e., yaw rotation).

[0096] As described in the examples above, the lower body control system 417a can reposition the center of mass of the robot 400 along the x-axis and / or the y-axis to balance the body 408. This can also involve movement along the x-axis (left / right translation) and / or the y-axis (forward / backward translation) via the middle body portion 408c. Thus, in order to balance the body 408 via the lower body portion 408a, the lower body control system 417a needs to control one or more degrees of freedom of the middle body portion 408c.

[0097] As a result, upper body control system 417b may be constrained from allowing middle body portion 408c to move in degrees of freedom that would affect lower body portion 408a's ability to dynamically balance. This constraint allows the lower body control system to freely achieve dynamic balance. This constraint allows upper body control system 117b to represent and perceive lower body portion 408a as a virtual chain connected via middle body portion 408c.

[0098] For example, if the lower body control system 417a needs to control the position of the middle body portion 408c along the x-axis (left / right translation) and / or the y-axis (forward / backward translation), the upper body control system 417b can be constrained with respect to these degrees of freedom. The inverse kinematics solver 419b for the upper body control system 417b can consider these two degrees of freedom as constraints when determining the positioning of the end effectors 422, 424. As a result, the upper body control system 417b controls the position of the middle body portion 408c according to any of the remaining four degrees of freedom, i.e., translation up / down along the z-axis, pitch rotation about the x-axis, roll rotation about the y-axis, and yaw rotation about the z-axis.

[0099] End effector force F e1 、F e2 The resulting linear force f is generated on the intermediate body portion 408c i and / or torque Mi. Figure 4DAn exploded view of the robot 400 is shown, with the linear force f i and moment M i applied to the middle body portion 408c. For example, using force and torque sensors, the upper body control system 417b can determine the linear force fi and moment M i And communicate this information to the lower body control system 417a. In this way, the lower body control system 417a can operate the legs 404, 406 so that the reaction force F r1 、F r2 The linear force f at the middle body portion 408c can be i and / or moment M i balance.

[0100] like Figure 5 As shown, the upper body control system 417b applies the linear force f i and moment M i Communicates to the lower body control system 417a. In addition, the lower body control system 417a is based on a set of DoFs in one or more degrees of freedom. A Controls the middle body portion 408c. Simultaneously, the upper body control system 417b controls one or more degrees of freedom excluding those DoFs. A Different groups of DoF B To control the middle body portion 408c.

[0101] Furthermore, the lower body control system 417a can make the linear force f i and / or moment M i The upper body control system 417b controls the linear force f by communicating the changes in the linear force f. i and moment M i This dynamic balance.

[0102] thus, Figure 6 An exemplary process 500 is shown for operating the lower body portion 408a to support activities performed by the upper body 408b. In step 502, the upper body control system 417b operates at least one of the end effectors 422, 424. The at least one end effector 422, 424 experiences an end effector force F based on the operation performed by the upper body control system 417b. e1 、F e2 The intermediate body portion 408c is based on the end effector force F e1 、F e2 Experience the first intermediate body linear force f i Or the first intermediate body moment M i At least one of the following. In step 504, the upper body control system 417b will be connected to the first intermediate body linear force f iand the first intermediate body moment M i The relevant information is communicated to the lower body control system.

[0103] At step 506, the lower body control system 417a operates the one or more legs 404, 406 in response to the operation of the at least one movable end effector 422, 424. The one or more legs 404, 406 experience a corresponding reaction force F from the surface based on the operation made by the lower body control system 417a. r1 、F r2 The middle body portion 408c is based on the reaction force F r1 、F r2 The second mid-body linear force and / or the second mid-body moment are determined by the operation of one or more legs 404, 406 implemented by the lower body control system 417a. The second mid-body linear force counteracts the end effector force F on the mid-body portion 408c. e1 、F e2 The first intermediate linear force f i The second intermediate body moment counteracts the force F on the intermediate body portion 408c due to the end effector force e1 、F e2 The first intermediate body moment M i .

[0104] Process 500 may also include step 506a, in which lower body control system 417a positions middle body portion 408c according to a first set of degrees of freedom based on operation of one or more legs 404, 406. Accordingly, process 500 may further include step 502a, in which upper body control system 417b positions middle body portion 408c in response to operation of at least one movable end effector 422, 424. This positioning of middle body portion 408c by upper body control system 417b involves movement according to a second set of degrees of freedom. Upper body control system 417b is constrained from positioning middle body portion 408c according to the first set of degrees of freedom.

[0105] While the upper body control system 417b can communicate directly with the lower body control system 417a, the master controller 417c can also help coordinate the interaction between the lower body control system 417a and the upper body control system 417b. For example, the upper body control system 417b can plan to move the end effectors 422 and 424 to a desired position. The master controller 417c can determine whether balance can be maintained with the current positions of the feet 410 and 412 if the upper body control system 417b attempts to move the end effectors 422 and 424 to the desired position. If balance cannot be maintained, the master controller 417c can signal the lower body control system 417a to move the feet 410 and 412 to a new position, which allows the end effectors 422 and 424 to be more stably positioned at the target position. Alternatively, the lower body control system 417a can determine whether the robot 400 should move to a new position.

[0106] In addition to controlling the components and joints of the legs 404, 406 to achieve balance with the feet 410, 412 in a given position, the lower body control system 417a can also reposition the feet 410, 412 on the surface to change the reaction force F r1 and F r2 Repositioning the feet 410, 412 can also change the gravity F gr The torque generated at the feet 410, 412. The final reaction force F r1 and F r2 A more efficient balance may be produced for the robot 400 .

[0107] As described above, the upper body control system 417b can control the upper body portion 408b by representing and processing the lower body portion 408a as a virtual link connected via the intermediate body portion 408c. Advantageously, the virtual link allows the positioning and movement (velocity) of the end effectors 422, 424 to be compensated for the movement of the lower body portion 408a (also known as station keeping). For example, if the upper body control system 417b commands the end effectors 422, 424 to move at a certain velocity relative to some stationary object in the world, this motion should result in some movement of the lower body portion 408a, even if the upper body control system 417b does not have direct control over the lower body portion 408a (which is primarily used to handle balance and travel). In this case, the lower body control system 417a can estimate the virtual link velocity and pass this velocity to the upper body control system 417b, which can then adjust the inverse kinematics solver 419b accordingly. The inverse kinematics solver 419b may use the velocities of the virtual chain to determine a motion plan for the upper body portion 408b that achieves the desired velocities of the end effectors 422, 424 in the static world coordinate system.

[0108] While the examples described herein may implement dynamic balancing in response to end effector forces detected by force / torque sensors, dynamic balancing may also be implemented in other embodiments based on calculations of expected or desired end effector forces. In such embodiments, the lower body control system 417a advantageously compensates for the expected or desired end effector forces before any balancing or positioning errors occur.

[0109] Furthermore, while the examples described herein can achieve dynamic balancing in response to a load supported by the end effector, dynamic balancing can also be achieved in other embodiments where the upper body portion additionally or alternatively supports other loads. For example, the upper body portion can be subjected to dynamic forces during high-speed motions, such as those required to accelerate the arm, end effector, or payload. Such dynamic forces can also generate final linear forces and / or moments on the mid-body portion, which can also be balanced by the reaction forces of the lower body.

[0110] C. Allow the lower body to balance during the robot's movement to support the operation of the end effector

[0111] The lower body control system 417a can additionally control the reaction force F r1 and F r2 , so that the robot 400 moves according to the desired gait. For example, instead of Figure 4B As shown, the legs 404 are controlled individually to allow the robot 400 to balance, and the lower body control system 417a can also operate the legs 406 to place the feet 412 on the surface. The resulting reaction force F r2 Can generate opposite torque M r2 , so that the gravity F gr The generated torque M gr Balance. Thus, the foot 412 is placed on the surface so that the moment M gr Balance can constitute a step in gait.

[0112] Once the foot 412 is placed and the robot 400 is balanced, the lower body control system 417a can operate the legs 404, 406 to reposition the center of mass and to balance the force of gravity F gr Generate another torque M gr . Moment M gr This causes the body 408 to fall forward, but the lower body control system 417a can operate the leg 404 to swing the foot 410 forward and place the foot 410 on the surface. The resulting reaction force F on the foot 410 r1 Generates a torque M gr The other opposite moment of balance M r1Thus, placing foot 410 on the surface constitutes a second step. Alternatively, a gait can be achieved by repeating these steps with feet 410, 412. As described, lower body control system 417a can establish a balanced state with each alternating step before causing body 408 to fall forward again with the next step.

[0113] Reaction force F r1 and F r2 Not limited to gravity F gr As each foot 410, 412 contacts the surface, the lower body control system 417a can operate the corresponding leg 404, 406 to apply additional force to the surface. For example, the legs 410, 412 can apply a force in the negative y direction. In response to this force, the corresponding reaction force F r1 、F r2 The y component of the ground reaction force F acts on the feet 410, 412 in the positive y direction. This y component is due to the friction between the feet 410, 412 and the surface. r1 、F r2 Applying a force can help push the body 408 forward in the positive y direction. Thus, applying a force in the negative y direction can achieve pushing off the ground to achieve a faster gait.

[0114] Additionally or alternatively, legs 410, 412 may apply a force to the surface in the positive or negative x-direction. In response to this force, a corresponding ground reaction force F r1 、F r2 The x-component of F acts on the feet 410, 412 in the opposite x-direction. This x-component is due to the friction between the feet 410, 412 and the surface. Thus, the reaction force F r1 、F r2 A force is applied that may help to push body 408 laterally in the positive and / or negative x-direction.

[0115] The lower body control system 417a can dynamically balance the body 408 to allow positioning and manipulation of the end effectors 422, 424 while the robot 400 moves according to the gait. In effect, the robot 400 can walk or run along a ground surface, and due to the dynamic balance, the robot 400 can simultaneously manipulate the arm 418 to position the end effector 422, such as to grasp an object, without interrupting the gait. In order to create a balance for the desired manipulation of the end effectors 422, 424 at a given time during the gait, the lower body control system 417a can cause the legs 404, 406 to be subjected to / supported by additional forces while the robot 400 moves according to the gait. In order to achieve the desired reaction force F r1 、F r2To balance and move the body 408, the lower body control system 417a can employ inverse kinematics to determine the corresponding velocities to position and orient the members and joints of the legs 404, 406. Furthermore, the lower body control system 417a can dynamically adjust the positioning / repositioning of the feet 410, 412 to maintain gait during the balancing process as described above.

[0116] in conclusion

[0117] In view of the foregoing, the robot can operate its legs to dynamically balance itself on a surface while operating its end effector. When the legs contact a surface (e.g., the ground), the legs exert a force on the surface and experience a reaction force from the surface. The robot can dynamically control the legs so that the reaction force allows the robot to maintain a balance that can support the operation of the end effector.

[0118] While the exemplary embodiment may include a bipedal robot, other configurations may include a lower body that provides dynamic balance while the upper body performs tasks via one or more end effectors. Additionally, while the examples described herein describe forces F associated with the end effectors 422, 424, e1 、F e2 and moment M e1 、M e2 , but it should be understood that the robot may experience forces and moments from loads on other parts of the robot. For example, the robot may include a receiving portion for carrying cargo. The robot may achieve dynamic balance by similarly coping with these other loads.

[0119] The above detailed description has described various features and functions of the disclosed systems and methods with reference to the accompanying drawings. In the drawings, like reference numerals generally represent like parts unless otherwise indicated. The exemplary embodiments described in the detailed description, drawings, and claims are not limiting. Other embodiments may be utilized, and other changes may be made, without departing from the scope of the subject matter presented herein. It will be readily understood that aspects of the invention generally described herein and illustrated in the drawings may be arranged, substituted, combined, separated, and designed in a variety of different configurations, all of which are within the scope of the present invention.

[0120] For any or all message flow diagrams, scripts, and flow charts shown in the figures and described herein, each step, block, and / or communication may represent information processing and / or information transfer according to exemplary embodiments. Alternative embodiments are also included within the scope of these exemplary embodiments. For example, in these alternative embodiments, the functions described as steps, blocks, transfers, communications, requests, responses, and / or messages may be performed in a sequence other than that shown or described, including substantially simultaneously or in reverse order, depending on the functions involved. Further, more or fewer steps, blocks, and / or functions may be used for any message flow diagram, script, and flow chart described herein, and these message flow diagrams, scripts, and flow charts may be combined with each other in part or in whole.

[0121] The steps or blocks representing information processing may correspond to circuits that may be configured to perform the specific logical functions of the methods or techniques described herein. Alternatively or additionally, the steps or blocks representing information processing may correspond to modules, segments, or a portion (including associated data) of program code. The program code may include one or more instructions that are executed by a processor for implementing the specific logical functions or actions in the method or technique. The program code and / or associated data may be stored on any type of computer-readable medium, such as a storage device including a disk drive, a hard drive, or other storage medium.

[0122] Computer-readable media can include non-transient computer-readable media, such as computer-readable media that stores data for a short period of time, such as registers, processor caches, and / or random access memory (RAM). Computer-readable media can also include non-transient computer-readable media that stores program code and / or data for a longer period of time, such as secondary or long-term memory, such as read-only memory (ROM), optical or magnetic disks, compact disc read-only memory (CD-ROM). Computer-readable media can also be any other volatile or non-volatile storage system. Computer-readable media can be considered to be, for example, a computer-readable storage medium, or a tangible storage device.

[0123] Moreover, steps or blocks representing one or more information transfers may correspond to information transfers between software and / or hardware modules in the same physical device. However, other information transfers may be between software and / or hardware modules in different physical devices.

[0124] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and not limitation, with the true scope being indicated by the claims that follow.

Claims

1. A method for controlling a robotic system, the method comprising: operating, by an upper body control system of the robotic system, a movable end effector of an upper body portion of the robotic system to cause the movable end effector to experience an end effector force based on operation of the movable end effector and to cause a middle body portion of the robotic system to experience at least one of a first middle body force or a first middle body moment based on the end effector force, the middle body portion coupling the upper body portion to a lower body portion of the robotic system, the lower body portion including legs configured to contact a surface; communicating information related to the at least one of the first intermediate body force or the first intermediate body moment from an upper body control system to a lower body control system of the robotic system; operating the legs via the lower body control system based on operation of the movable end effector to cause the legs to experience a reaction force from the surface based on the operation of the legs and to cause the intermediate body portion to experience at least one of a second intermediate body force or a second intermediate body moment based on the reaction force; and At least one of balancing the second intermediate body force to the first intermediate body force or balancing the second intermediate body moment to the first intermediate body moment is performed to balance the body of the robotic system. 2 . The method of claim 1 , further comprising identifying the lower body portion as a virtual chain coupled to the middle body portion by an upper body control system, wherein operating the movable end effector is based on the operation of the virtual chain.

3. The method according to claim 1, further comprising: positioning the middle body portion according to one or more first degrees of freedom based on operation of the legs by the lower body control system; and The intermediate body portion is positioned according to one or more second degrees of freedom by the upper body control system based on operation of the movable end effector, and the upper body control system is constrained from positioning the intermediate body portion according to one or more first degrees of freedom.

4. The method according to claim 3, wherein: positioning the intermediate body portion according to the one or more first degrees of freedom such that the intermediate body portion translates along the first axis and the second axis; and Positioning the intermediate body portion according to the one or more second degrees of freedom allows the intermediate body portion to rotate about at least three axes and allows the intermediate body portion to translate along a third axis.

5. The method according to claim 1, wherein The lower body portion includes two legs, and each leg includes a respective foot configured to directly contact the surface, and the method further includes: for each given position of the foot, determining, by the lower body control system, whether the lower body control system is capable of balancing the corresponding second intermediate body force to the first intermediate body force or balancing the corresponding second intermediate body moment to the first intermediate body moment; and In response to determining that the lower body control system cannot balance the corresponding second intermediate body force to the first intermediate body force or the corresponding second intermediate body moment to the first intermediate body moment, at least one foot is repositioned on the surface by the lower body control system.

6. The method according to claim 5, wherein: Repositioning at least one foot on the surface according to gait.

7. The method according to claim 1, further comprising: The leg is caused to move according to a gait, wherein manipulation of the leg occurs during the gait in response to manipulation of a movable end effector.

8. A method for controlling a robotic system, the method comprising: operating, by an upper body control system of the robotic system, an upper body portion of the robotic system to cause a middle body portion of the robotic system to experience at least one of a first middle body force or a first middle body moment, the upper body portion including a movable end effector, and the middle body portion coupling the upper body portion to a lower body portion of the robotic system, the lower body portion including legs configured to contact a surface; Based on operating the upper body portion, operating the lower body portion via a lower body control system of the robotic system to cause the middle body portion to experience at least one of a second middle body force or a second middle body moment; and At least one of: balancing the second intermediate body force or the first intermediate body force, or balancing the second intermediate body moment and the first intermediate body moment is performed.

9. The method of claim 8, further comprising identifying the lower body portion as a virtual chain coupled to the middle body portion by the upper body control system, wherein operating the upper body portion is based on the operation of the virtual chain.

10. The method according to claim 8, further comprising: positioning the intermediate body portion according to one or more first degrees of freedom based on operation of the lower body portion by a lower body control system; and The intermediate body portion is positioned according to one or more second degrees of freedom based on operation of the upper body portion by the upper body control system.

11. The method according to claim 10, wherein: positioning the intermediate body portion according to one or more first degrees of freedom such that the intermediate body portion translates along the first axis and the second axis; and Positioning the intermediate body portion according to one or more second degrees of freedom allows for rotation of the intermediate body portion about at least three axes and for translation of the intermediate body portion along a third axis.

12. The method of claim 8, wherein: The lower body portion includes two legs, and each leg includes a respective foot configured to directly contact the surface, and the method further includes: for each given position of the foot, determining, by the lower body control system, whether the lower body control system is capable of balancing the corresponding second intermediate body force to the first intermediate body force, or balancing the corresponding second intermediate body moment to the first intermediate body moment; and In response to determining that the lower body control system cannot balance the corresponding second intermediate body force to the first intermediate body force or cannot balance the corresponding second intermediate body moment to the first intermediate body moment, at least one foot is repositioned on the surface by the lower body control system.

13. The method according to claim 12, wherein: Repositioning at least one foot on the surface according to gait.

14. The method according to claim 8, further comprising: The leg is caused to move according to a gait, wherein manipulation of the lower body portion occurs during the gait.

15. A robotic system comprising: The main body includes: an upper body portion including a movable end effector; a lower body portion comprising four legs, each of the four legs being configured to contact a surface; and a middle body portion connecting the upper body portion and the lower body portion; and A control system, constructed by a processor, the control system being configured to: operating the movable end effector to manipulate the object, the movable end effector experiencing an end effector force based on the manipulation of the object, and the intermediate body portion experiencing a first intermediate body force based on the end effector force; and Adjusting the orientation of one or more of the four legs relative to the middle body portion, the one or more legs experiencing corresponding reaction forces from the surface, the middle body portion experiencing a second middle body force based on the corresponding reaction forces, and the control system at least partially balancing the first middle body force to the second middle body force based on the adjustment.

16. The robotic system according to claim 15, wherein: The control system includes an upper body control system, and the upper body control system is configured as follows: The movable end effector is operated to manipulate the object.

17. The robotic system of claim 16, wherein the control system comprises a lower body control system configured to: receiving information related to the first intermediate body force from the upper body control system; and The orientation of the one or more legs is adjusted by the upper body control system based on operation of the movable end effector.

18. The robotic system according to claim 16, wherein: The upper body control system is configured to recognize the lower body portion as a virtual chain coupled to the middle body portion, wherein operating the movable end effector is based on the operation of the virtual chain.

19. The robotic system of claim 16, wherein: The control system is also configured to: positioning the intermediate body portion according to one or more first degrees of freedom based on the orientation of the one or more legs; The upper body control system is also configured to: positioning the intermediate body portion according to one or more second degrees of freedom based on operation of the movable end effector; and The upper body control system is constrained from positioning the intermediate body portion according to one or more first degrees of freedom.

20. The robotic system according to claim 15, wherein: A lower body control system operates the one or more legs to adjust the orientation of the one or more legs relative to the mid-body portion.

21. The robotic system of claim 15, wherein: Each of the four legs includes a respective foot configured to contact a surface; for each given position of the foot, the control system is configured to determine whether the control system can at least partially balance the corresponding second intermediate body force to the first intermediate body force; and In response to determining that the control system cannot at least partially balance the corresponding second intermediate body force to the first intermediate body force, the control system repositions the at least one foot on the surface.

22. The robotic system of claim 21, wherein the control system repositions the at least one foot on the surface based on gait.

23. The robotic system of claim 15, wherein the control system adjusts the orientation of the one or more legs as the one or more legs move according to a gait.

24. The robotic system of claim 15, wherein: The first intermediate body force comprises at least one of a first intermediate body linear force or a first intermediate body moment; The second intermediate body force comprises at least one of a second intermediate body linear force or a second intermediate body moment; and The control system at least one of at least partially balances the second intermediate body linear force to the first intermediate body linear force or at least partially balances the second intermediate body moment to the first intermediate body moment.

25. A method for controlling a robotic system, the robotic system comprising: operating a movable end effector of the robotic system of an upper body portion of the robotic system via a control system of the robotic system to manipulate an object, the manipulation of the object causing the movable end effector to experience an end effector force and causing a middle body portion of the robotic system to experience a first middle body force, the middle body portion coupling the upper body portion to a lower body portion of the robotic system, the lower body portion including four legs, each of the four legs being configured to contact a surface, contact of the surface causing one or more of the four legs to experience a corresponding reaction force from the surface and causing the middle body portion to experience a second middle body force; and Based on operation of the movable end effector, the control system is used to adjust the orientation of one or more of the four legs to at least partially balance the second mid-body force to the first mid-body force.

26. The method according to claim 25, wherein The control system includes an upper body control system configured to operate the movable end effector to manipulate the object.

27. The method of claim 26, wherein the control system comprises a lower body control system configured to: receiving information related to the first intermediate body force from the upper body control system; and The orientation of the one or more legs is adjusted by the upper body control system based on operation of the movable end effector.

28. The method according to claim 26, wherein The upper body control system is configured to recognize the lower body portion as a virtual chain coupled to the middle body portion, wherein operating the movable end effector is based on the operation of the virtual chain.

29. The method of claim 26, wherein: The control system is further configured to position the intermediate body portion according to one or more first degrees of freedom based on the orientation of the one or more legs; The upper body control system is further configured to position the intermediate body portion according to one or more second degrees of freedom based on operation of the movable end effector; and The upper body control system is constrained from positioning the intermediate body portion according to one or more first degrees of freedom.

30. The method of claim 26, wherein the lower body control system operates the one or more legs to adjust the orientation of the one or more legs relative to the mid-body portion.

31. The method of claim 26, wherein: Each of the four legs includes a respective foot configured to contact a surface; for each given position of the foot, the control system is configured to determine whether the control system is able to at least partially balance the corresponding second intermediate body force to the first intermediate body force; and In response to determining that the control system cannot at least partially balance the corresponding second intermediate body force to the first intermediate body force, the control system repositions the at least one foot on the surface.

32. The method of claim 31 , wherein the control system repositions the at least one foot on the surface based on gait.

33. The method of claim 26, wherein the control system adjusts the orientation of the one or more legs as the one or more legs move according to a gait.

34. The method of claim 26, wherein: The first intermediate body force comprises at least one of a first intermediate body linear force or a first intermediate body moment; The second intermediate body force comprises at least one of a second intermediate body linear force or a second intermediate body moment; and The control system at least one of at least partially balances the second intermediate body linear force to the first intermediate body linear force or at least partially balances the second intermediate body moment to the first intermediate body moment.

35. A robotic system comprising: The main body includes: Upper body part; a lower body portion comprising two or more legs, and each leg including a foot configured to contact a surface; and a middle body portion connecting the upper body portion and the lower body portion; and A control system configured by one or more processors, the control system comprising an upper body control system configured to operate the upper body portion, the upper body portion experiencing an end effector force based on the operation of the upper body portion, and the intermediate body portion experiencing at least one of a first intermediate body force or a first intermediate body moment based on the end effector force; and a lower body control system configured to operate the lower body portion to adjust positioning of a foot of the robotic system on a surface according to a gait, the lower body portion experiencing a reaction force from the surface based on the operation of the lower body portion, the intermediate body portion experiencing at least one of a second intermediate body force or a second intermediate body moment based on the reaction force, There is at least one of the following: the second middle body force balances the first middle body force or the second middle body moment balances the first middle body moment.

36. The robotic system of claim 35, wherein: The upper body portion includes one or more movable end effectors, and the upper body control system is configured to operate the upper body portion by moving at least one of the one or more movable end effectors, the at least one movable end effector experiencing an end effector force based on the operation performed by the upper body portion.

37. The robotic system of claim 36, wherein: A lower body control system operates the lower body portion when the two or more legs move according to a gait.

38. The robotic system of claim 35, wherein: The upper body control system determines at least one of a first intermediate body force or a first intermediate body torque and an end effector force before operating the upper body part, and the lower body control system operates the lower body part based on the at least one of the first intermediate body force or the first intermediate body torque determined before operating the upper body part.

39. The robotic system of claim 35, wherein: The upper body control system communicates information related to at least one of the first intermediate body force or the first intermediate body moment to the lower body control system.

40. The robotic system of claim 35, wherein: The lower body control system is also configured to position the middle body part according to one or more first degrees of freedom based on the operation of the lower body part, and the upper body control system is also configured to position the middle body part according to one or more second degrees of freedom based on the operation of the upper body part, and the upper body control system is restricted from positioning the middle body part according to one or more first degrees of freedom.

41. The robotic system of claim 35, wherein: For a given position of the foot, the control system determines whether the control system can balance the corresponding second intermediate body force to the first intermediate body force or whether the control system can balance the corresponding second intermediate body moment to the first intermediate body moment, and The lower body control system repositions the at least one foot on the surface based on determining that the control system cannot balance the corresponding second intermediate body force to the first intermediate body force or cannot balance the corresponding second intermediate body moment to the first intermediate body moment.

42. A method for controlling a robotic system, the robotic system comprising a body, the body comprising: Upper body part; a lower body portion comprising two or more legs, and each leg including a foot configured to contact a surface; and a middle body portion connecting the upper body portion and the lower body portion; and A control system configured by one or more processors, the control system including a lower body control system and an upper body control system, The method includes: operating the upper body portion via the upper body control system, the upper body portion experiencing an end effector force based on operation of the upper body portion, and the middle body portion experiencing at least one of a first middle body force or a first middle body moment based on the end effector force; positioning the middle body portion according to one or more first degrees of freedom based on manipulation of the upper body portion; The two or more legs are operated by a lower body control system to adjust the positioning of the feet of the robotic system on a surface according to a gait, the two or more legs experience at least one reaction force from the surface based on the operation of the two or more legs, the middle body part experiences at least one of a second middle body force or a second middle body torque based on the at least one reaction force, the middle body part is positioned by the lower body control system according to one or more second degrees of freedom based on the operation of the two or more legs, wherein the upper body control system is restricted from using the same one or more degrees of freedom to position the middle body part, and wherein the lower body control system uses the same one or more degrees of freedom to position the middle body part.

43. The method according to claim 42, wherein The upper body portion includes one or more movable end effectors, and wherein the method further comprises operating at least one of the one or more movable end effectors via an upper body control system, the at least one movable end effector experiencing an end effector force based on the operation of the at least one movable end effector.

44. The method according to claim 43, wherein Operation of the at least one movable end effector occurs during a gait.

45. The method of claim 42, wherein The method further comprises: Information related to at least one of the first mid-body force or the first mid-body moment is communicated from the upper body control system to the lower body control system.

46. The method of claim 42, wherein The method further comprises: Before operating the upper body part, at least one of a first intermediate body force or a first intermediate body torque and an end actuator force is determined by the upper body control system, and the lower body control system operates the two or more legs based on at least one of the first intermediate body force or the first intermediate body torque determined before operating the upper body part.

47. The method of claim 42, further comprising: At least one of balancing the second middle body force to the first middle body force or balancing the second middle body moment to the first middle body moment is performed by the lower body control system.

48. The method of claim 42, further comprising: determining, by the control system, for a given position of the foot, whether the control system can balance the corresponding second intermediate body force to the first intermediate body force, or whether the control system can balance the corresponding second intermediate body moment to the first intermediate body moment; and In response to determining that the control system cannot balance the corresponding second intermediate body force to the first intermediate body force or cannot balance the corresponding second intermediate body moment to the first intermediate body moment, at least one foot is repositioned on the surface via the lower body control system.

49. A robotic system comprising: The main body includes: Upper body part; a lower body portion comprising one or more legs configured to contact a surface; and a middle body portion connecting the upper body portion and the lower body portion; and A control system configured by one or more processors, the control system comprising: an upper body control system configured to operate the upper body portion, the middle body portion experiencing at least one of a first middle body force or a first middle body moment based on the operation of the upper body portion, wherein the upper body control system is further configured to position the middle body portion according to one or more first degrees of freedom based on the operation of the upper body portion; and A lower body control system is configured to operate the lower body portion, the middle body portion experiencing at least one of a second middle body force or a second middle body torque based on the operation of the lower body portion, wherein the lower body control system is further configured to position the middle body portion according to one or more first degrees of freedom based on the operation of the lower body portion, wherein the lower body control system is further configured to perform at least one of the following: balancing the second middle body force to the first middle body force or balancing the second middle body torque to the first middle body torque.

50. The robotic system of claim 49, wherein: The upper body control system transmits information related to at least one of the first intermediate body force or the first intermediate body moment to the lower body control system.

51. The robotic system of claim 49, wherein the lower body control system is further configured to at least one of: balance the second middle body force to the first middle body force or balance the second middle body moment to the first middle body moment.

52. The robotic system of claim 51, wherein: The lower body portion includes two legs, each leg including a foot for directly contacting the ground, For a given position of a foot of the robotic system, the control system determines whether the control system can balance the corresponding second intermediate body force to the first intermediate body force, or whether the control system can balance the corresponding second intermediate body moment to the first intermediate body moment, and In response to determining that the control system cannot balance the corresponding second intermediate body force to the first intermediate body force or cannot balance the corresponding second intermediate body moment to the first intermediate body moment, the lower body control system repositions the at least one foot on the surface.

53. The robotic system of claim 52, wherein: The lower body control system repositions the at least one foot based on gait.

54. The robotic system of claim 49, wherein the upper body portion comprises one or more movable end effectors, and the upper body control system is configured to operate the upper body portion by moving at least one of the one or more movable end effectors, the at least one movable end effector experiencing an end effector force based on an operation performed by the upper body portion, and wherein at least one of the first intermediate body force or the first intermediate body torque is based on the end effector force.

55. A method for controlling a robotic system, the robotic system comprising a body, the body comprising: Upper body part; a lower body portion comprising one or more legs configured to contact a surface; a middle body portion connecting the upper body portion and the lower body portion; and A control system configured by one or more processors, the control system including a lower body control system and an upper body control system, The method includes: operating the upper body portion via an upper body control system, the middle body portion experiencing at least one of a first middle body force or a first middle body moment based on the operation of the upper body portion; operating the lower body portion via a lower body control system, the middle body portion experiencing at least one of a second middle body force or a second middle body moment based on the operation of the lower body control system; performing, by the lower body control system, at least one of: balancing the second intermediate body force to the first intermediate body force or balancing the second intermediate body moment to the first intermediate body moment; and Wherein the upper body control system constrains the use of one or more degrees of freedom to position the middle body portion, and wherein the lower body control system uses the same one or more degrees of freedom to position the middle body portion.

56. The method of claim 55, wherein The method also includes communicating information related to at least one of the first mid-body force or the first mid-body moment from the upper body control system to the lower body control system.

57. A method according to claim 55, wherein balancing the second intermediate body force to the first intermediate body force or balancing the second intermediate body torque to at least one of the first intermediate body torque includes balancing the second intermediate body force to the first intermediate body force or balancing the second intermediate body torque to at least one of the first intermediate body torque in response to operating the one or more legs.

58. The method of claim 55, wherein: The lower body portion includes two legs, and each leg includes a foot configured to directly contact a surface; and The method further comprises: determining, by the control system, for a given position of a foot of the robotic system, whether the control system is able to balance the corresponding second intermediate body force to the first intermediate body force or whether the control system is able to balance the corresponding second intermediate body moment to the first intermediate body moment; and In response to determining that the control system cannot balance the corresponding second intermediate body force to the first intermediate body force or cannot balance the corresponding second intermediate body moment to the first intermediate body moment, at least one foot is repositioned on the surface via the lower body control system.

59. The method of claim 58, wherein the repositioning of the at least one foot is performed based on gait.

60. The method of claim 55, wherein: The upper body portion includes one or more movable end effectors; and Operating the upper body portion includes directing movement of at least one of the one or more movable end effectors, the at least one movable end effector experiencing an end effector force based on the operation made by the upper body portion, wherein at least one of the first intermediate body force or the first intermediate body moment is based on the end effector force.

Citation Information

Patent Citations

  • Balance control method of multi-leg robot

    CN102749919A

  • External skeleton robot for exercising lower limbs and exercise control method thereof

    CN103040586A