US11604466B2 - Robot balance control method, computer-readable storage medium and robot - Google Patents
Robot balance control method, computer-readable storage medium and robot Download PDFInfo
- Publication number
- US11604466B2 US11604466B2 US17/120,232 US202017120232A US11604466B2 US 11604466 B2 US11604466 B2 US 11604466B2 US 202017120232 A US202017120232 A US 202017120232A US 11604466 B2 US11604466 B2 US 11604466B2
- Authority
- US
- United States
- Prior art keywords
- com
- component
- calculating
- axis
- acceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 230000001133 acceleration Effects 0.000 claims description 78
- 238000012545 processing Methods 0.000 claims description 4
- 210000002683 foot Anatomy 0.000 description 56
- 210000002414 leg Anatomy 0.000 description 13
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 210000004394 hip joint Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 210000000544 articulatio talocruralis Anatomy 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 210000000629 knee joint Anatomy 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
- G01L5/16—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for measuring several components of force
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39215—Adaptive control with stabilizing compensation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40264—Human like, type robot arm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40586—6-DOF force sensor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40599—Force, torque sensor integrated in joint
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
Definitions
- the present disclosure generally relates to robots, and particularly to a robot balance control method for controlling a biped robot.
- FIG. 1 is a schematic block diagram of a robot according to one embodiment.
- FIG. 2 is a schematic flowchart of a robot balance control method according to one embodiment.
- FIG. 3 is a schematic diagram showing a biped robot according to one embodiment.
- FIG. 4 shows a schematic diagram of a top view and a side view of a foot of the robot.
- FIG. 5 is a schematic flowchart of method for calculating a zero moment point of a COM of a body of the robot.
- FIG. 6 is a schematic flowchart of method for calculating a first position offset of the COM of the body according to one embodiment.
- FIG. 7 is a schematic flowchart of method for according to one embodiment.
- FIG. 8 is a schematic block diagram of a robot balance control device according to one embodiment.
- FIG. 1 is a schematic block diagram of a robot 8 according to one embodiment.
- the robot 8 may be a biped robot.
- the robot 8 includes a processor 80 , a storage 81 , one or more computer programs 82 stored in the storage 81 and executable by the processor 80 .
- the processor 80 executes the computer programs 82 , the steps in the embodiments of the method for controlling the robot 8 , such as steps S 101 through S 106 in FIG. 2 , steps S 1021 to S 1023 in FIG. 5 , steps S 1031 through S 1033 in FIG. 6 , steps S 1034 through S 1035 in FIG. 7 , and functions of modules/units in the embodiments, such as units 701 through 706 in FIG. 8 are implemented.
- the one or more computer programs 82 may be divided into one or more modules/units, and the one or more modules/units are stored in the storage 81 and executed by the processor 80 .
- the one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the one or more computer programs 82 in the robot 8 .
- the one or more computer programs 82 may be divided into a force information acquiring module, a zero moment point calculating module, a position offset calculating module, a position updating module, an inverse dynamics analyzing module, and a motion control module. The specific functions of each module will be described in detail later.
- FIG. 1 is merely an example of the robot 8 , and does not limit the robot 8 .
- the robot 8 may include components different in numbers from those illustrated, or incorporate some other different components.
- the robot 8 may further include an input and output device, a network access device, a bus, and the like.
- the processor 80 may be a central processing unit (CPU), a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic device, a discrete gate, a transistor logic device, or a discrete hardware component.
- the general purpose processor may be a microprocessor or any conventional processor or the like.
- the storage 81 may be an internal storage unit of the robot 8 , such as a hard disk or a memory.
- the storage 81 may also be an external storage device of the robot 8 , such as a plug-in hard disk, a smart memory card (SMC), and a secure digital (SD) card, or any suitable flash cards.
- the storage 81 may also include both an internal storage unit and an external storage device.
- the storage 81 is used to store computer programs, other programs, and data required by the robot.
- the storage 81 can also be used to temporarily store data that have been output or is about to be output.
- FIG. 2 shows an exemplary flowchart of robot balance control method that may include the following steps.
- Step S 101 Obtain force information associated with a left foot and a right foot of the robot 8 .
- the robot 8 may be a biped robot. As shown in FIG. 3 , two sensors can be respectively arranged at the connecting portions between the left foot 12 and the left leg 22 of the robot 8 , and between the right foot 11 and the right leg 21 of the robot 8 to obtain the force information associated with the left foot 12 and the force information associated with the right foot 11 of the robot 8 .
- the sensors may be six-axis force/torque sensors that can detect the force information associated with the left foot 12 and the force information associated with the right foot 11 .
- the force information of the left foot 12 includes three force components on the x-axis, y-axis and z-axis, and three torque components about the three axes.
- a three-dimensional coordinate system can be established for the right foot of the robot 8 where x-axis and y-axis lie on the sole of the right foot of the robot and z-axis is perpendicular to the sole of the right foot.
- Step S 102 Calculate a zero moment point (ZMP) of a center of mass (COM) of a body 30 (see FIG. 3 ) of the robot 8 based on the force information.
- ZMP zero moment point
- COM center of mass
- step S 102 may include the following steps.
- Step S 1021 Calculate a zero moment point of the left foot of the robot 8 based on the force information associated with the left foot.
- these variables are measured in a left foot coordinate system (e.g., a coordinate system as shown in FIG. 4 ).
- Step S 1022 Calculate a zero moment point of the right foot of the robot 8 based on the force information associated with the right foot.
- these variables are measured in a right foot coordinate system where x-axis and y-axis lie on the sole of the right foot of the robot and z-axis is perpendicular to the sole of the right foot and passes through a center of the six-axis force/torque sensor on the right foot of the robot.
- Step S 1023 Calculate the zero moment point of the COM of the body of the robot 8 based on the zero moment point of the left foot and the zero moment point of the right foot.
- the ZMP of the COM of the body of the robot 8 can be calculated according to formulas as follows:
- p bx p rx ⁇ f rz + p lx + f lz f rz + f lz ;
- p by p ry ⁇ f rz + p ly + f lz f rz + f lz ;
- ⁇ p b [ p bx p by 0 ] T
- p b [p bx p by 0] T
- p bx represents an x-coordinate of the zero moment point of the COM of the body
- p by represents a y-coordinate of the zero moment point of the COM of the body
- p b represents the zero moment point of the COM of the body.
- the zero moment point of the COM of the body is a zero moment point measured in a COM coordinate system where the origin of the COM coordinate system lies on the COM of the body. That is, p bx represents a number that describes a horizontal position of the zero moment point in terms of distance and direction along the x-axis of the COM coordinate system, and p by represents a number that describes a horizontal position of the zero moment point in terms of distance and direction along the y-axis of the COM coordinate system.
- Step S 103 Calculate a first position offset and a second position offset of the COM of the robot according to the zero moment point of the COM of the body.
- calculating the first position offset may include the following steps.
- Step S 1031 Obtain an actual position of the COM of the body, and determine a desired zero moment point and a desired position of the COM of the body according to the position trajectory of the robot 8 .
- Step S 1032 Calculate a first acceleration of the COM of the body according to the zero moment point, the actual position, the desired zero moment point and the desired position of the COM of the body.
- Step S 1033 Calculate the first position offset of the COM of the body according to the first acceleration and a velocity of the COM of the body at a previous moment.
- the component of the first position offset of the COM of the body on an x-axis can be calculated according to a formula as follows:
- ⁇ ⁇ x ⁇ 1 v x ⁇ t + 1 2 ⁇ a ⁇ 1 x ⁇ t 2 , where v x represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and ⁇ x1 represents the component of the first position offset of the COM of the body on the x-axis.
- the component of the first position offset of the COM of the body on a y-axis can be calculated according to a formula as follows:
- ⁇ ⁇ y ⁇ 1 v y ⁇ t + 1 2 ⁇ a ⁇ 1 y ⁇ t 2 , where v y represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and ⁇ y1 represents the component of the first position offset of the COM of the body on the y-axis.
- calculating the second position offset may include the following steps.
- Step S 1034 Calculate a second acceleration of the COM of the body according to the zero moment point, an actual position, and a desired zero moment point of the COM of the body.
- Step S 1035 Calculate the second position offset of the COM of the body according to the second acceleration and a velocity of the COM of the body at a previous moment.
- the component of the second position offset of the COM of the body on an x-axis can be calculated according to a formula as follows:
- ⁇ ⁇ x ⁇ 2 v x ⁇ t + 1 2 ⁇ a ⁇ 2 x ⁇ t 2 , where v x represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and ⁇ x2 represents component of the second position offset of the COM of the body on the x-axis.
- the component of the second position offset of the COM of the body on a y-axis can be calculated according to a formula as follows:
- ⁇ ⁇ y ⁇ 2 v y ⁇ t + 1 2 ⁇ a ⁇ 2 y ⁇ t 2 , where v y represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and ⁇ y2 represents the component of the second position offset of the COM of the body on the y-axis.
- Step S 104 Update a position trajectory of the COM of the robot according to the first position offset and the second offset to obtain an updated position of the COM of the body.
- the y-coordinate of the updated position of the COM of the body can be calculated according to a formular as follows: y new +x dy + ⁇ y1+ ⁇ y2, where y new represents the y-coordinate of the updated position of the COM of the body.
- Step S 105 Perform inverse kinematics analysis on the updated position of the COM of the body to obtain joint angles of legs of the robot.
- Inverse kinematics analysis is an analysis method commonly used in the field of robotics. For details, please refer to any conventional inverse kinematics analysis process, which will not be repeated in the present disclosure.
- the joint angles of the left leg include a hip joint pitch angle, a hip joint yaw angle, a hip joint roll angle, a knee joint pitch angle, an ankle joint pitch angle, and an ankle joint roll angle that are associated with the left leg of the robot.
- the joint angles of the right leg include a hip joint pitch angle, a hip joint yaw angle, a hip joint roll angle, a knee joint pitch angle, an ankle joint pitch angle, and an ankle joint roll angle that are associated with the right leg of the robot.
- Step S 106 Control the robot to move according to the joint angles.
- the robot 8 can be controlled to move according to the joint angles, so as to realize compliance control of the robot 8 .
- the position of the center of mass of the body of the robot can be updated in real time according to the force information associated with the feet of the robot, and the joint angles of the robot can be adjusted accordingly, which is beneficial to improve the stability of the robot during the bending process and prevent the robot from falling over.
- a robot balance control device may include a force information acquiring module 701 , a zero moment point calculating module 702 , a position offset calculating module 703 , a position updating module 704 , an inverse dynamics analyzing module 705 , and a motion control module 706 .
- the force information acquiring module 701 is configured to obtain force information associated with a left foot and a right foot of the robot.
- the zero moment point calculating module 702 is configured to calculate a zero moment point of a center of mass (COM) of a body of the robot based on the force information.
- the position offset calculating module 703 is configured to calculate a first position offset and a second position offset of the robot according to the zero moment point of the COM of the body.
- the position updating module 704 is configured to update a position trajectory of the robot according to the first position offset and the second offset to obtain an updated position of the COM of the body.
- the inverse dynamics analyzing module 705 is configured to perform inverse kinematics analysis on the updated position of the COM of the body to obtain joint angles of the left leg and the right leg of the robot.
- the motion control module 706 is configured to control the robot to move according to the joint angles.
- the position offset calculating module 703 may include a position information determining module, a first acceleration calculating module, a first position offset calculating module.
- the position information determining module is configured to obtain an actual position of the COM of the body, and determine a desired zero moment point and a desired position of the COM of the body according to the position trajectory of the robot.
- the first acceleration calculating module is configured to calculate a first acceleration of the COM of the body according to the zero moment point, the actual position, the desired zero moment point and the desired position of the COM of the body.
- the first position offset calculating module is configured to calculate the first position offset of the COM of the body according to the first acceleration and a velocity of the COM of the body at a previous moment.
- the first acceleration calculating module may include a first calculating sub-module and a second calculating sub-module.
- first position offset calculating module may include a third calculating sub-module and a fourth calculating sub-module.
- the third calculating sub-module is configured to calculate the component of the first position offset of the COM of the body on an x-axis according to a formula as follows:
- ⁇ ⁇ x ⁇ 1 v x ⁇ t + 1 2 ⁇ a ⁇ 1 x ⁇ t 2 , where v x represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and ⁇ x1 represents the component of the first position offset of the COM of the body on the x-axis.
- the fourth calculating sub-module is configured to calculate the component of the first position offset of the COM of the body on a y-axis according to a formula as follows:
- ⁇ ⁇ y ⁇ 1 v y ⁇ t + 1 2 ⁇ a ⁇ 1 y ⁇ t 2 , where v y represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and ⁇ y1 represents the component of the first position offset of the COM of the body on the y-axis.
- the position offset calculating module may further include a second acceleration calculating module and a second position offset calculating module.
- the second acceleration calculating module is configured to calculate a second acceleration of the COM of the body according to the zero moment point, an actual position, and a desired zero moment point of the COM of the body.
- the second position offset calculating module is configured to calculate the second position offset of the COM of the body according to the second acceleration and a velocity of the COM of the body at a previous moment.
- the second acceleration calculating module may include a fifth calculating module and a sixth calculating module.
- the second position offset calculating module may include a seventh calculating module and an eighth calculating module.
- the seventh calculating module is configured to calculate a component of the second position offset of the COM of the body on an x-axis according to a formula as follows:
- ⁇ ⁇ x ⁇ 2 v x ⁇ t + 1 2 ⁇ a ⁇ 2 x ⁇ t 2 , where v x represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and ⁇ x2 represents component of the second position offset of the COM of the body on the x-axis.
- the eighth calculating module is configured to calculate a component of the second position offset of the COM of the body on a y-axis according to a formula as follows:
- ⁇ ⁇ y ⁇ 2 v y ⁇ t + 1 2 ⁇ a ⁇ 2 y ⁇ t 2 , where v y represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and ⁇ y2 represents the component of the second position offset of the COM of the body on the y-axis.
- the division of the above-mentioned functional units and modules is merely an example for illustration.
- the above-mentioned functions may be allocated to be performed by different functional units according to requirements, that is, the internal structure of the device may be divided into different functional units or modules to complete all or part of the above-mentioned functions.
- the functional units and modules in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional unit.
- each functional unit and module is merely for the convenience of distinguishing each other and are not intended to limit the scope of protection of the present disclosure.
- the specific operation process of the units and modules in the above-mentioned system reference may be made to the corresponding processes in the above-mentioned method embodiments, and are not described herein.
- the disclosed apparatus (device)/terminal device and method may be implemented in other manners.
- the above-mentioned apparatus (device)/terminal device embodiment is merely exemplary.
- the division of modules or units is merely a logical functional division, and other division manner may be used in actual implementations, that is, multiple units or components may be combined or be integrated into another system, or some of the features may be ignored or not performed.
- the shown or discussed mutual coupling may be direct coupling or communication connection, and may also be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms.
- the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.
- the functional units and modules in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional unit.
- the integrated module/unit When the integrated module/unit is implemented in the form of a software functional unit and is sold or used as an independent product, the integrated module/unit may be stored in a non-transitory computer-readable storage medium. Based on this understanding, all or part of the processes in the method for implementing the above-mentioned embodiments of the present disclosure may also be implemented by instructing relevant hardware through a computer program.
- the computer program may be stored in a non-transitory computer-readable storage medium, which may implement the steps of each of the above-mentioned method embodiments when executed by a processor.
- the computer program includes computer program codes which may be the form of source codes, object codes, executable files, certain intermediate, and the like.
- the computer-readable medium may include any primitive or device capable of carrying the computer program codes, a recording medium, a USB flash drive, a portable hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), electric carrier signals, telecommunication signals and software distribution media.
- a computer readable medium does not include electric carrier signals and telecommunication signals.
- the content included in the computer readable medium could be appropriately increased and decreased according to requirements of legislation and patent practice under judicial jurisdictions.
- the computer readable medium does not include the electric carrier signal and the telecommunication signal according to the legislation and the patent practice.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Transportation (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Manipulator (AREA)
Abstract
Description
pb=[pbx pby 0]T, where pbx represents an x-coordinate of the zero moment point of the COM of the body, pby represents a y-coordinate of the zero moment point of the COM of the body, pb represents the zero moment point of the COM of the body. In one embodiment, the zero moment point of the COM of the body is a zero moment point measured in a COM coordinate system where the origin of the COM coordinate system lies on the COM of the body. That is, pbx represents a number that describes a horizontal position of the zero moment point in terms of distance and direction along the x-axis of the COM coordinate system, and pby represents a number that describes a horizontal position of the zero moment point in terms of distance and direction along the y-axis of the COM coordinate system.
where vx represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and Δx1 represents the component of the first position offset of the COM of the body on the x-axis.
where vy represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and Δy1 represents the component of the first position offset of the COM of the body on the y-axis.
where vx represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and Δx2 represents component of the second position offset of the COM of the body on the x-axis.
where vy represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and Δy2 represents the component of the second position offset of the COM of the body on the y-axis.
where vx represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and Δx1 represents the component of the first position offset of the COM of the body on the x-axis.
where vy represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and Δy1 represents the component of the first position offset of the COM of the body on the y-axis.
where vx represents a component of the velocity of the COM of the body at the previous moment on the x-axis, t represents running time of a preset program, and Δx2 represents component of the second position offset of the COM of the body on the x-axis.
where vy represents a component of the velocity of the COM of the body at the previous moment on the y-axis, t represents running time of the preset program, and Δy2 represents the component of the second position offset of the COM of the body on the y-axis.
Claims (15)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911279537.5 | 2019-12-13 | ||
CN201911279537.5A CN111098300B (en) | 2019-12-13 | 2019-12-13 | Robot balance control method and device, readable storage medium and robot |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210181748A1 US20210181748A1 (en) | 2021-06-17 |
US11604466B2 true US11604466B2 (en) | 2023-03-14 |
Family
ID=70422519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/120,232 Active 2041-07-22 US11604466B2 (en) | 2019-12-13 | 2020-12-13 | Robot balance control method, computer-readable storage medium and robot |
Country Status (2)
Country | Link |
---|---|
US (1) | US11604466B2 (en) |
CN (1) | CN111098300B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112536796B (en) * | 2020-11-23 | 2024-03-15 | 深圳市优必选科技股份有限公司 | Robot control method and device, computer readable storage medium and robot |
CN112486170B (en) * | 2020-11-23 | 2024-09-17 | 深圳市优必选科技股份有限公司 | Robot control method and device, computer readable storage medium and robot |
CN112731952B (en) * | 2020-12-24 | 2022-03-01 | 深圳市优必选科技股份有限公司 | Robot centroid planning method and device, readable storage medium and robot |
CN112731953B (en) * | 2020-12-24 | 2024-07-19 | 深圳市优必选科技股份有限公司 | Robot control method and device, computer readable storage medium and robot |
CN112643679B (en) * | 2020-12-30 | 2022-07-08 | 乐聚(深圳)机器人技术有限公司 | Robot motion control method, device, controller and storage medium |
CN113246125B (en) * | 2021-04-30 | 2022-09-16 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
CN113290559B (en) * | 2021-05-26 | 2022-11-11 | 深圳市优必选科技股份有限公司 | Robot balance control method and device, robot control equipment and storage medium |
CN114161402B (en) * | 2021-12-17 | 2023-11-10 | 深圳市优必选科技股份有限公司 | Robot stability control method, model construction method, device and robot |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050110448A1 (en) * | 2002-01-18 | 2005-05-26 | Honda Giken Kogyo Kabushiki Kaisha | Controller of legged mobile robot |
US20070016329A1 (en) * | 2005-03-31 | 2007-01-18 | Massachusetts Institute Of Technology | Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics |
US20090187275A1 (en) * | 2005-02-03 | 2009-07-23 | Keisuke Suga | Legged Robot and Control Method Thereof |
US20120277910A1 (en) * | 2010-07-22 | 2012-11-01 | Toyota Jidosha Kabushiki Kaihsa | Biped walking robot |
US20130173054A1 (en) * | 2012-01-02 | 2013-07-04 | Hyundai Motor Company | Method of controlling balance of walking robot |
US20150202768A1 (en) * | 2014-01-20 | 2015-07-23 | Toyota Jidosha Kabushiki Kaisha | Biped walking robot control method and biped walking robot control system |
JP2017144512A (en) | 2016-02-17 | 2017-08-24 | 国立大学法人 東京大学 | Zmp calculation method and device |
US20180004208A1 (en) * | 2015-12-02 | 2018-01-04 | Goertek Inc. | Method and device for controlling gait of biped robot |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2349120B1 (en) * | 2008-09-04 | 2017-03-22 | Iwalk, Inc. | Hybrid terrain-adaptive lower-extremity systems |
CN101414190A (en) * | 2008-10-28 | 2009-04-22 | 北京理工大学 | Method and system for controlling apery robot stabilized walking based on effective stable domain |
CN102749919B (en) * | 2012-06-15 | 2014-05-07 | 华中科技大学 | Balance control method of multi-leg robot |
CN103217903B (en) * | 2013-04-07 | 2016-01-20 | 南京邮电大学 | Apery Soccer robot omnidirectional based on two control balancing making mechanism plays football method |
CN104298243B (en) * | 2014-08-19 | 2017-02-15 | 北京理工大学 | Humanoid robot uneven ground walking stability control method |
CN108639183B (en) * | 2018-06-07 | 2021-03-19 | 重庆邮电大学 | Device for improving balance and walking speed of biped robot and control method |
-
2019
- 2019-12-13 CN CN201911279537.5A patent/CN111098300B/en active Active
-
2020
- 2020-12-13 US US17/120,232 patent/US11604466B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050110448A1 (en) * | 2002-01-18 | 2005-05-26 | Honda Giken Kogyo Kabushiki Kaisha | Controller of legged mobile robot |
US20090187275A1 (en) * | 2005-02-03 | 2009-07-23 | Keisuke Suga | Legged Robot and Control Method Thereof |
US20070016329A1 (en) * | 2005-03-31 | 2007-01-18 | Massachusetts Institute Of Technology | Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics |
US20120277910A1 (en) * | 2010-07-22 | 2012-11-01 | Toyota Jidosha Kabushiki Kaihsa | Biped walking robot |
US20130173054A1 (en) * | 2012-01-02 | 2013-07-04 | Hyundai Motor Company | Method of controlling balance of walking robot |
US20150202768A1 (en) * | 2014-01-20 | 2015-07-23 | Toyota Jidosha Kabushiki Kaisha | Biped walking robot control method and biped walking robot control system |
US20180004208A1 (en) * | 2015-12-02 | 2018-01-04 | Goertek Inc. | Method and device for controlling gait of biped robot |
JP2017144512A (en) | 2016-02-17 | 2017-08-24 | 国立大学法人 東京大学 | Zmp calculation method and device |
Non-Patent Citations (1)
Title |
---|
Jeong et al. "Biped walking stabilization based on foot placement control using capture point feedback", Sep. 24-28, 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 5263-5269, https://ieeexplore.ieee.org/document/8206418?source=IQplus (Year: 2017). * |
Also Published As
Publication number | Publication date |
---|---|
CN111098300A (en) | 2020-05-05 |
CN111098300B (en) | 2021-06-04 |
US20210181748A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11604466B2 (en) | Robot balance control method, computer-readable storage medium and robot | |
US11602848B2 (en) | Robot control method, computer-readable storage medium and robot | |
US11926052B2 (en) | Robot control method, computer-readable storage medium and biped robot | |
US12053885B2 (en) | Control method for robot, computer-readable storage medium and robot | |
CN111815754A (en) | Three-dimensional information determination method, three-dimensional information determination device and terminal equipment | |
US11420694B2 (en) | Robot gait planning method and robot with the same | |
US20230271656A1 (en) | Robot state estimation method, computer-readable storage medium, and legged robot | |
CN112536796B (en) | Robot control method and device, computer readable storage medium and robot | |
US20230415333A1 (en) | Center of mass planning method for robot, robot and computer-readable storage medium | |
US20230264765A1 (en) | Method for estimating pose of humanoid robot, humanoid robot and computer-readable storage medium | |
CN113283082B (en) | Centroid track generation method, centroid track generation device, computer readable storage medium and robot | |
CN102024316B (en) | Wireless intelligent sensing method, device and system | |
US11691284B2 (en) | Robot control method, computer-readable storage medium and robot | |
US20210162595A1 (en) | Foot-waist coordinated gait planning method and apparatus and robot using the same | |
US11644840B2 (en) | Method for controlling a robot and its end-portions and device thereof | |
CN112486170A (en) | Robot control method, device, computer readable storage medium and robot | |
US12097621B2 (en) | Center of mass trajectory generating method, robot and computer-readable storage medium | |
CN113246124A (en) | Robot control method, device, computer readable storage medium and robot | |
US20220388169A1 (en) | Center of mass trajectory generating method, robot and computer-readable storage medium | |
US11565762B2 (en) | Zero moment point jitter processing method and apparatus and robot using the same | |
CN117032285B (en) | Foot type robot movement method and system | |
US20190118377A1 (en) | Method, apparatus, and terminal device for robot posture detection | |
CN114638894B (en) | Robot walking positioning method, system, electronic device and storage medium | |
CN112966059B (en) | Data processing method and device for positioning data, electronic equipment and medium | |
CN116823912A (en) | Green-peel walnut multi-point space positioning method based on binocular vision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: UBTECH ROBOTICS CORP LTD, CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, CHUNYU;LIU, YIZHANG;GE, LIGANG;AND OTHERS;REEL/FRAME:054626/0658 Effective date: 20201204 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |