WO2022174604A1 - 一种机器人轨迹规划方法、装置、可读存储介质及机器人 - Google Patents

一种机器人轨迹规划方法、装置、可读存储介质及机器人 Download PDF

Info

Publication number
WO2022174604A1
WO2022174604A1 PCT/CN2021/124612 CN2021124612W WO2022174604A1 WO 2022174604 A1 WO2022174604 A1 WO 2022174604A1 CN 2021124612 W CN2021124612 W CN 2021124612W WO 2022174604 A1 WO2022174604 A1 WO 2022174604A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
phase variable
trajectory planning
preset
equation
Prior art date
Application number
PCT/CN2021/124612
Other languages
English (en)
French (fr)
Inventor
罗秋月
葛利刚
刘益彰
白杰
熊友军
Original Assignee
深圳市优必选科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市优必选科技股份有限公司 filed Critical 深圳市优必选科技股份有限公司
Publication of WO2022174604A1 publication Critical patent/WO2022174604A1/zh
Priority to US18/222,448 priority Critical patent/US20230359207A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles 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/02Vehicles 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
    • B62D57/032Vehicles 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 with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • the present application belongs to the field of robotics, and in particular, relates to a robot trajectory planning method, device, computer-readable storage medium, and robot.
  • the trajectory planning of the swinging foot of a bipedal humanoid robot is generally performed based on time variables. However, when it is disturbed by the environment, the position and posture of the robot will deviate from the original trajectory. If this time-variable-based trajectory planning method is used, the robot's swinging foot may touch the ground in advance or lag.
  • the embodiments of the present application provide a robot trajectory planning method, device, computer-readable storage medium, and robot, so as to solve the problem that the robot's swing foot may touch the ground earlier or later in the existing time variable-based trajectory planning method. phenomenon problem.
  • a first aspect of the embodiments of the present application provides a robot trajectory planning method, which may include:
  • phase variable for robot trajectory planning, the phase variable being a function of two position components of the robot's torso on the horizontal plane;
  • phase variables for constructing the trajectory planning of the robot may include:
  • Each undetermined coefficient of the binary quadratic equation is calculated according to the optimization objective function and a preset optimization algorithm, so as to complete the construction of the phase variable.
  • phase variable ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • xw and yw are the two position components of the robot's torso on the horizontal plane, a 1 , a 2 , a 3 , a 4 , a 5 and a 6 are undetermined coefficients respectively, and ⁇ is the phase variable .
  • establishing the solution equation system for each undetermined coefficient of the binary quadratic equation according to the preset value of the phase variable at the initial time and the preset value at the termination time may include:
  • the position error relationship is the sum of the two position error components of the robot's torso on the horizontal plane. relationship between;
  • Each derived solution equation of the first solution equation and the second solution equation is constructed as the solution equation system.
  • ⁇ xw and ⁇ yw are two position error components of the torso of the robot on the horizontal plane, and C is a preset slope parameter of the switching plane.
  • optimization objective function corresponding to the simplified functional relationship
  • T is the period of the linear inverted pendulum model of the robot
  • t i is the ith moment in the period
  • ⁇ (t i ) is the value corresponding to the phase variable and ti
  • J is the Optimize the objective function.
  • Curve fitting is performed on the trajectories of the swinging feet of the robot in the preset directions of each coordinate axis according to the boundary conditions, so as to obtain the planned trajectories of the swinging feet of the robot in the directions of each preset coordinate axis.
  • a second aspect of the embodiments of the present application provides a robot trajectory planning device, which may include:
  • phase variable construction module for constructing a phase variable for robot trajectory planning, where the phase variable is a function of two position components of the robot's torso on the horizontal plane;
  • the trajectory planning module is configured to use the phase variable to plan the trajectory of the swinging foot of the robot in each preset coordinate axis direction.
  • phase variable construction module may include:
  • a functional relationship establishing unit configured to establish a functional relationship between the phase variable and the two position components of the robot's torso on the horizontal plane by using a binary quadratic equation with undetermined coefficients;
  • a solution equation set building unit configured to establish a solution equation system for each undetermined coefficient of the binary quadratic equation according to the preset value of the phase variable at the initial time and the preset value at the termination time;
  • a coefficient simplification unit used for simplifying the number of undetermined coefficients of the binary quadratic equation according to the solving equation system to obtain a simplified functional relationship
  • an optimization objective function construction unit for constructing an optimization objective function corresponding to the simplified functional relationship
  • a coefficient calculation unit configured to calculate each undetermined coefficient of the binary quadratic equation according to the optimization objective function and a preset optimization algorithm, so as to complete the construction of the phase variable.
  • xw and yw are the two position components of the robot's torso on the horizontal plane, a 1 , a 2 , a 3 , a 4 , a 5 and a 6 are undetermined coefficients respectively, and ⁇ is the phase variable .
  • set-up unit for solving equations may include:
  • a first solving equation establishing subunit configured to establish a first solving equation of the binary quadratic equation according to the preset value of the phase variable at the initial moment
  • a second solving equation establishing subunit configured to establish a second solving equation of the binary quadratic equation according to the preset value of the phase variable at the termination time
  • a derivative solution equation establishment subunit used for substituting a preset position error relationship into the second solution equation to obtain each derivative solution equation of the second solution equation;
  • the position error relationship is that the robot's torso is in the relationship between the two position error components on the horizontal plane;
  • a set of solving equations establishing subunit is used for constructing each derivative solving equations of the first solving equation and the second solving equation as the solving equation system.
  • ⁇ xw and ⁇ yw are two position error components of the torso of the robot on the horizontal plane, and C is a preset slope parameter of the switching plane.
  • the optimization objective function construction unit is specifically used to construct the optimization objective function shown below:
  • T is the period of the linear inverted pendulum model of the robot
  • t i is the ith moment in the period
  • ⁇ (t i ) is the value corresponding to the phase variable and ti
  • J is the Optimize the objective function.
  • trajectory planning module may include:
  • a function expressing unit used for expressing the trajectory of the swinging foot of the robot in each preset coordinate axis direction as a function of the phase variable
  • a boundary condition determining unit used for determining the boundary conditions of the trajectory of the swinging foot of the robot in the preset directions of each coordinate axis
  • a curve fitting unit configured to perform curve fitting on the trajectory of the swinging foot of the robot in the preset directions of each coordinate axis according to the boundary conditions, so as to obtain the swinging foot of the robot in the direction of each preset coordinate axis planning trajectory.
  • a third aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, implements the steps of any of the above robot trajectory planning methods .
  • a fourth aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the computer program when the processor executes the computer program.
  • the steps of any of the above robot trajectory planning methods are described.
  • a fifth aspect of the embodiments of the present application provides a computer program product, which, when the computer program product runs on a robot, causes the robot to execute the steps of any one of the above robot trajectory planning methods.
  • the trajectory planning method based on time variables is no longer used, but the phase variables of the trajectory planning of the robot are constructed, that is, the torso of the robot is The function of the two position components on the horizontal plane, using the phase variable to replace the time variable to plan the trajectory of the robot's swinging foot in each preset coordinate axis direction, so that the robot can no longer continue to follow the established trajectory after being disturbed by the environment. Instead, it adjusts the state according to the disturbance, offsets the impact of the disturbance, maintains the stability of walking, and avoids the phenomenon that the swinging foot touches the ground earlier or later.
  • Fig. 1 is the schematic diagram of the periodic trajectory of the linear inverted pendulum model
  • Fig. 2 is the schematic diagram of the switching plane of the robot
  • FIG. 3 is a schematic diagram of a position error relationship of a robot
  • FIG. 4 is a flowchart of an embodiment of a robot trajectory planning method in an embodiment of the present application
  • Fig. 5 is the schematic flow chart of the phase variable of constructing robot trajectory planning
  • FIG. 6 is a structural diagram of an embodiment of a robot trajectory planning device in an embodiment of the application.
  • FIG. 7 is a schematic block diagram of a robot in an embodiment of the present application.
  • the term “if” may be contextually interpreted as “when” or “once” or “in response to determining” or “in response to detecting” .
  • the phrases “if it is determined” or “if the [described condition or event] is detected” may be interpreted, depending on the context, to mean “once it is determined” or “in response to the determination” or “once the [described condition or event] is detected. ]” or “in response to detection of the [described condition or event]”.
  • the robots mentioned in the embodiments of the present application are all bipedal humanoid robots.
  • the robot is a complex mechanism with high degrees of freedom, so the simplified model of the robot is often used to study its motion characteristics.
  • a Linear Inverted Pendulum Model (LIPM) can be used to replace the complete model of the robot. Treat the ankle joint of the robot as a passive joint, so the whole robot is an underactuated system.
  • LIPM Linear Inverted Pendulum Model
  • ZMP Zero moment point
  • this method can make full use of gravity as the driving force of the robot to save energy and have higher walking efficiency. closer.
  • the coordinate system is established on the horizontal plane where the supporting ankle joint is located, the coordinate origin is located at the supporting ankle joint, the x-axis points to the traveling direction of the robot, the y-axis points to the inside of the robot, and the z-axis is vertically upward.
  • x is the position of the centroid of the LIPM on the x-axis
  • y is the position of the centroid of the LIPM on the y-axis
  • g is the gravitational acceleration
  • z is the height of the center of mass of the LIPM from the ground.
  • a robot based on the two position components of the torso on the horizontal plane (denoting the position component on the x-axis as x w and the position component on the y-axis as y w ) can be constructed.
  • function that is, the phase variable (denoted as ⁇ ).
  • the position of the robot's torso relative to the coordinate origin (that is, the position of the waist) can be calculated using forward kinematics according to the feedback value of the joint angle.
  • needs to satisfy two conditions: first, it changes from 0 to 1; second, it increases strictly monotonically. In order to ensure the condition that ⁇ must be equal to 1 at the end of each step, it is necessary to construct a functional relationship of the position of the torso along the x and y axes at the moment before the switching of the support feet.
  • a two-dimensional space plane that satisfies the following conditions can be constructed:
  • Figure 2 shows the plane , which is referred to as the switching plane here, where zw is the position component of the robot's torso on the z-axis, C is the slope parameter of the switching plane, and its specific value can be set according to the actual situation. The examples do not specifically limit it.
  • the height of the robot's torso is constrained so that it is in the same horizontal plane.
  • Figure 3 shows a schematic diagram of the position error relationship of the robot.
  • the robot When the robot is simplified to LIPM, its stable periodic trajectory always starts from start, to end, as shown by the dotted trace in Figure 3.
  • the robot When the robot is disturbed, its motion trajectory will deviate from the original stable periodic trajectory, as shown by the solid line trajectory in Figure 3.
  • the intersection of the plane where the robot's torso is located and the switching plane can be regarded as a straight line, as shown by the straight line in Figure 3.
  • This line defines the relationship between the position error of the torso in the x-axis and y-axis directions, namely:
  • ⁇ xw is the position error component of the torso on the x-axis
  • ⁇ yw is the positional error component of the torso on the y-axis.
  • the position of the swing foot and the swing time are very important factors that affect the walking stability.
  • the position and posture of the robot will deviate from the original trajectory.
  • time variables are used to plan the controlled joints of the robot, the phenomenon of early or delayed touchdown will occur.
  • the internal state of the robot ie, the phase variable
  • the robot will automatically adjust the swing time according to the disturbance to maintain a stable gait.
  • an embodiment of a robot trajectory planning method in the embodiment of the present application may include:
  • Step S401 constructing a phase variable for robot trajectory planning.
  • the phase variable can be the displacement of the robot along the direction of travel, or the angle between the support leg and the ground.
  • the phase variable needs to consider the two components of the robot state on the horizontal plane, such as the displacement of the robot's torso position in the travel direction and lateral direction.
  • the displacement in the traveling direction is monotonically increasing, and the displacement in the lateral direction is non-monotonic, and in the embodiment of the present application, a monotonically increasing phase variable needs to be constructed based on the two.
  • step S401 may specifically include the following processes:
  • Step S4011 using a binary quadratic equation with undetermined coefficients to establish a functional relationship between the phase variable and the two position components of the robot's torso on the horizontal plane.
  • a 1 , a 2 , a 3 , a 4 , a 5 and a 6 are undetermined coefficients, respectively.
  • Step S4012 establishing a solution equation system for each undetermined coefficient of the binary quadratic equation according to the preset value of the phase variable at the initial time and the preset value at the termination time.
  • each derived solution equation of the first solution equation and the second solution equation can be constructed as a system of solution equations as shown below:
  • Step S4013 Simplify the number of undetermined coefficients of the binary quadratic equation according to the solving equation system to obtain a simplified functional relationship.
  • undetermined coefficients a 1 , a 2 , a 3 , a 4 , a 5 and a 6 there are 4 equations and 6 unknowns in the solving equation system, namely undetermined coefficients a 1 , a 2 , a 3 , a 4 , a 5 and a 6 , among which the four undetermined coefficients can be regarded as the remaining two
  • the undetermined coefficient is a function of the variable.
  • a 1 , a 2 , a 3 , a 4 may be chosen to be regarded as functions with a 5 and a 6 as variables, respectively.
  • 6 undetermined coefficients can be simplified into 2 undetermined coefficients, thereby obtaining a simplified functional relationship.
  • Step S4014 constructing an optimization objective function corresponding to the simplified functional relationship.
  • optimization objective function can be constructed as follows:
  • t i is the ith moment in the LIPM cycle
  • ⁇ (t i ) is the value corresponding to the phase variable and t i
  • J is the optimization objective function. Since the phase variable must remain monotonically increasing in the process of completing a step, this optimization objective function selects several moments from the LIPM cycle, and for the ith moment, use ( ⁇ (t i )-t i /T) 2 To measure the deviation between the phase variable and the unitized time variable, the total deviation obtained by accumulating the deviations at each selected moment is the optimization objective function.
  • Step S4015 Calculate each undetermined coefficient of the binary quadratic equation according to the optimization objective function and the preset optimization algorithm, so as to complete the construction of the phase variable.
  • any optimization algorithm in the prior art may be selected according to the actual situation, including but not limited to optimization algorithms such as stochastic gradient descent, momentum algorithm, Adam algorithm, and the like.
  • the undetermined coefficients of the quadratic equation can be obtained by solving, thus completing the construction of phase variables.
  • Step S402 using phase variables to plan the trajectory of the swinging foot of the robot in the directions of each coordinate axis.
  • the trajectory of the robot's swinging foot in each coordinate axis direction can be expressed as a function of phase variables.
  • the trajectory in the x-axis direction is denoted as xs( ⁇ )
  • the trajectory in the y-axis direction is denoted as ys( ⁇ )
  • the trajectory in the z-axis direction is denoted as zs( ⁇ ).
  • the boundary conditions of the trajectory in the x-axis direction are:
  • the boundary conditions of the trajectory in the y-axis direction are:
  • the boundary conditions of the trajectory in the z-axis direction are:
  • curve fitting can be performed on the trajectory of the robot's swinging foot in each preset coordinate axis direction according to the boundary conditions, so as to obtain the planned trajectory of the robot's swinging foot in each preset coordinate axis direction.
  • any curve fitting algorithm in the prior art can be selected according to the actual situation, including but not limited to based on cubic polynomial curve, S-shaped curve, cubic spline curve, cubic Hermite curve and Bezier curve Curve fitting algorithms for curves etc.
  • a smooth curve transitioning from the initial state to the final state is determined by curve fitting, that is, the planned trajectory of the swinging foot.
  • the trajectory planning method based on time variables is no longer used, but the phase variable of the robot trajectory planning is constructed, that is, the function of the two position components of the robot's torso on the horizontal plane, using
  • the phase variable replaces the time variable to plan the trajectory of the robot's swing foot in the preset directions of each coordinate axis, so that the robot can no longer follow the established trajectory after being disturbed by the environment, but adjust the state according to the disturbance. , offset the impact of disturbance, maintain the stability of walking, and avoid the phenomenon that the swinging foot touches the ground in advance or lag.
  • FIG. 6 shows a structural diagram of an embodiment of a robot trajectory planning apparatus provided in an embodiment of the present application.
  • a robot trajectory planning device may include:
  • phase variable construction module 601 configured to construct a phase variable for robot trajectory planning, where the phase variable is a function of two position components of the robot's torso on the horizontal plane;
  • the trajectory planning module 602 is configured to use the phase variable to plan the trajectory of the swinging foot of the robot in each preset coordinate axis direction.
  • phase variable construction module may include:
  • a functional relationship establishing unit configured to establish a functional relationship between the phase variable and the two position components of the robot's torso on the horizontal plane by using a binary quadratic equation with undetermined coefficients;
  • a solution equation set building unit configured to establish a solution equation system for each undetermined coefficient of the binary quadratic equation according to the preset value of the phase variable at the initial time and the preset value at the termination time;
  • a coefficient simplification unit used for simplifying the number of undetermined coefficients of the binary quadratic equation according to the solving equation system to obtain a simplified functional relationship
  • an optimization objective function construction unit for constructing an optimization objective function corresponding to the simplified functional relationship
  • a coefficient calculation unit configured to calculate each undetermined coefficient of the binary quadratic equation according to the optimization objective function and a preset optimization algorithm, so as to complete the construction of the phase variable.
  • xw and yw are the two position components of the robot's torso on the horizontal plane, a 1 , a 2 , a 3 , a 4 , a 5 and a 6 are undetermined coefficients respectively, and ⁇ is the phase variable .
  • set-up unit for solving equations may include:
  • a first solving equation establishing subunit configured to establish a first solving equation of the binary quadratic equation according to the preset value of the phase variable at the initial moment
  • a second solving equation establishing subunit configured to establish a second solving equation of the binary quadratic equation according to the preset value of the phase variable at the termination time
  • a derivative solution equation establishment subunit used for substituting a preset position error relationship into the second solution equation to obtain each derivative solution equation of the second solution equation;
  • the position error relationship is that the robot's torso is in the relationship between the two position error components on the horizontal plane;
  • a set of solving equations establishing subunit is used for constructing each derivative solving equations of the first solving equation and the second solving equation as the solving equation system.
  • ⁇ xw and ⁇ yw are two position error components of the torso of the robot on the horizontal plane, and C is a preset slope parameter of the switching plane.
  • the optimization objective function construction unit is specifically used to construct the optimization objective function shown below:
  • T is the period of the linear inverted pendulum model of the robot
  • t i is the ith moment in the period
  • ⁇ (t i ) is the value corresponding to the phase variable and ti
  • J is the Optimize the objective function.
  • trajectory planning module may include:
  • a function expressing unit used for expressing the trajectory of the swinging foot of the robot in each preset coordinate axis direction as a function of the phase variable
  • a boundary condition determining unit used for determining the boundary conditions of the trajectory of the swinging foot of the robot in the preset directions of each coordinate axis
  • a curve fitting unit configured to perform curve fitting on the trajectory of the swinging foot of the robot in the preset directions of each coordinate axis according to the boundary conditions, so as to obtain the swinging foot of the robot in the direction of each preset coordinate axis planning trajectory.
  • FIG. 7 shows a schematic block diagram of a robot provided by an embodiment of the present application. For convenience of description, only parts related to the embodiment of the present application are shown.
  • the robot 7 of this embodiment includes a processor 70 , a memory 71 , and a computer program 72 stored in the memory 71 and executable on the processor 70 .
  • the processor 70 executes the computer program 72
  • the steps in each of the above embodiments of the robot trajectory planning method are implemented, for example, steps S401 to S402 shown in FIG. 4 .
  • the processor 70 executes the computer program 72
  • the functions of the modules/units in the foregoing device embodiments are implemented, for example, the functions of the modules 601 to 602 shown in FIG. 6 .
  • the computer program 72 may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 71 and executed by the processor 70 to complete the this application.
  • 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 computer program 72 in the robot 7 .
  • FIG. 7 is only an example of the robot 7, and does not constitute a limitation to the robot 7. It may include more or less components than the one shown, or combine some components, or different components, such as
  • the robot 7 may also include input and output devices, network access devices, buses, and the like.
  • the processor 70 may be a central processing unit (Central Processing Unit, CPU), or other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory 71 may be an internal storage unit of the robot 7 , such as a hard disk or a memory of the robot 7 .
  • the memory 71 can also be an external storage device of the robot 7, such as a plug-in hard disk equipped on the robot 7, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, Flash card (Flash Card) and so on.
  • the memory 71 may also include both an internal storage unit of the robot 7 and an external storage device.
  • the memory 71 is used to store the computer program and other programs and data required by the robot 7 .
  • the memory 71 may also be used to temporarily store data that has been output or will be output.
  • the disclosed apparatus/robot and method may be implemented in other ways.
  • the device/robot embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated modules/units if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the present application can implement all or part of the processes in the methods of the above embodiments, and can also be completed by instructing the relevant hardware through a computer program.
  • the computer program can be stored in a computer-readable storage medium, and the computer When the program is executed by the processor, the steps of the foregoing method embodiments can be implemented.
  • the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form, and the like.
  • the computer-readable storage medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM, Read-Only Memory) ), random access memory (RAM, Random Access Memory), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content contained in the computer-readable storage medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, computer-readable Storage media exclude electrical carrier signals and telecommunications signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Chemical & Material Sciences (AREA)
  • Manipulator (AREA)

Abstract

一种机器人轨迹规划方法,包括:构造机器人轨迹规划的相变量,相变量为机器人的躯干在水平面上的两个位置分量的函数;使用相变量替换时间变量对机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。使得机器人在受到环境扰动后可以不再继续跟随既定的轨迹,而是根据受到的扰动相应的进行状态调整,抵消扰动造成的影响,保持行走的稳定性,避免出现摆动脚提前或滞后触地的现象。还提供机器人轨迹规划装置、计算机可读存储介质及机器人。

Description

一种机器人轨迹规划方法、装置、可读存储介质及机器人
本申请要求于2021年02月21日在中国专利局提交的、申请号为202110194548.4的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人轨迹规划方法、装置、计算机可读存储介质及机器人。
背景技术
在现有技术中,一般是基于时间变量对双足人形机器人的摆动脚进行轨迹规划。但是,当受到环境扰动时,机器人的位置和姿态会偏离原有的轨迹,如果使用这种基于时间变量的轨迹规划方法,可能出现机器人的摆动脚提前或滞后触地的现象。
技术问题
有鉴于此,本申请实施例提供了一种机器人轨迹规划方法、装置、计算机可读存储介质及机器人,以解决现有的基于时间变量的轨迹规划方法可能出现机器人的摆动脚提前或滞后触地的现象的问题。
技术解决方案
本申请实施例的第一方面提供了一种机器人轨迹规划方法,可以包括:
构造机器人轨迹规划的相变量,所述相变量为机器人的躯干在水平面上的两个位置分量的函数;
使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。
进一步地,所述构造机器人轨迹规划的相变量,可以包括:
使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系;
根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组;
根据所述求解方程组对所述二元二次方程的待定系数数目进行简化,得到简化后的函数关系;
构建与所述简化后的函数关系对应的优化目标函数;
根据所述优化目标函数和预设的优化算法计算所述二元二次方程的各个待定系数,以完成所述相变量的构造。
进一步地,所述使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系,可以包括:
建立如下式所示的函数关系:
Φ=a 1x w+a 2y w+a 3x wy w+a 4x w 2+a 5y w 2+a 6
其中,x w和y w为所述机器人的躯干在水平面上的两个位置分量,a 1、a 2、a 3、a 4、a 5和a 6分别为待定系数,Φ为所述相变量。
进一步地,所述根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组,可以包括:
根据所述相变量在初始时刻的预设取值建立所述二元二次方程的第一求解方程;
根据所述相变量在终止时刻的预设取值建立所述二元二次方程的第二求解方程;
将预设的位置误差关系代入所述第二求解方程中,得到所述第二求解方程的各个衍生求解方程;所述位置误差关系为所述机器人的躯干在水平面上的两个位置误差分量之间的关系;
将所述第一求解方程和所述第二求解方程的各个衍生求解方程构建为所述求解方程组。
进一步地,所述位置误差关系为:
δx w=Cδy w
其中,δx w和δy w为所述机器人的躯干在水平面上的两个位置误差分量,C为预设的切换平面的斜率参数。
进一步地,所述构建与所述简化后的函数关系对应的优化目标函数,可以包括:
构建如下所示的优化目标函数:
J=∑(Φ(t i)-t i/T) 2
其中,T为所述机器人的线性倒立摆模型的周期,t i为所述周期内的第i个时刻,Φ(t i)为所述相变量与t i对应的取值,J为所述优化目标函数。
进一步地,所述使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划,可以包括:
将所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹表示为所述相变量的函数;
确定所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹的边界条件;
根据所述边界条件对所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹进行曲线拟合,得到所述机器人的摆动脚在预设的各个坐标轴方向上的规划轨迹。
本申请实施例的第二方面提供了一种机器人轨迹规划装置,可以包括:
相变量构造模块,用于构造机器人轨迹规划的相变量,所述相变量为机器人的躯干在水平面上的两个位置分量的函数;
轨迹规划模块,用于使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。
进一步地,所述相变量构造模块可以包括:
函数关系建立单元,用于使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系;
求解方程组建立单元,用于根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组;
系数简化单元,用于根据所述求解方程组对所述二元二次方程的待定系数数目进行简化,得到简化后的函数关系;
优化目标函数构建单元,用于构建与所述简化后的函数关系对应的优化目标函数;
系数计算单元,用于根据所述优化目标函数和预设的优化算法计算所述二元二次方程的各个待定系数,以完成所述相变量的构造。
进一步地,所述函数关系建立单元具体用于建立如下式所示的函数关系:
Φ=a 1x w+a 2y w+a 3x wy w+a 4x w 2+a 5y w 2+a 6
其中,x w和y w为所述机器人的躯干在水平面上的两个位置分量,a 1、a 2、a 3、a 4、a 5和a 6分别为待定系数,Φ为所述相变量。
进一步地,所述求解方程组建立单元可以包括:
第一求解方程建立子单元,用于根据所述相变量在初始时刻的预设取值建立所述二元二次方程的第一求解方程;
第二求解方程建立子单元,用于根据所述相变量在终止时刻的预设取值建立所述二元二次方程的第二求解方程;
衍生求解方程建立子单元,用于将预设的位置误差关系代入所述第二求解方程中,得到所述第二求解方程的各个衍生求解方程;所述位置误差关系为所述机器人的躯干在水平面上的两个位置误差分量之间的关系;
求解方程组建立子单元,用于将所述第一求解方程和所述第二求解方程的各个衍生求解方程构建为所述求解方程组。
进一步地,所述位置误差关系为:
δx w=Cδy w
其中,δx w和δy w为所述机器人的躯干在水平面上的两个位置误差分量,C为预设的切换平面的斜率参数。
所述优化目标函数构建单元具体用于构建如下所示的优化目标函数:
J=∑(Φ(t i)-t i/T) 2
其中,T为所述机器人的线性倒立摆模型的周期,t i为所述周期内的第i个时刻,Φ(t i)为所述相变量与t i对应的取值,J为所述优化目标函数。
进一步地,所述轨迹规划模块可以包括:
函数表示单元,用于将所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹表示为所述相变量的函数;
边界条件确定单元,用于确定所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹的边界条件;
曲线拟合单元,用于根据所述边界条件对所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹进行曲线拟合,得到所述机器人的摆动脚在预设的各个坐标轴方向上的规划轨迹。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人轨迹规划方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人轨迹规划方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人轨迹规划方法的步骤。
有益效果
本申请实施例与现有技术相比存在的有益效果是:在本申请实施例中,不再使用基于时间变量的轨迹规划方法,而是构造出机器人轨迹规划的相变量,即机器人的躯干在水平面上的两个位置分量的函数,使用相变量替换时间变量对机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划,使得机器人在受到环境扰动后可以不再继续跟随既定的轨迹,而是根据受到的扰动相应的进行状态调整,抵消扰动造成的影响,保持行走的稳定性,避免出现摆动脚提前或滞后触地的现象。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为线性倒立摆模型周期轨迹的示意图;
图2为机器人的切换平面的示意图;
图3为机器人的位置误差关系的示意图;
图4为本申请实施例中一种机器人轨迹规划方法的一个实施例流程图;
图5为构造机器人轨迹规划的相变量的示意流程图;
图6为本申请实施例中一种机器人轨迹规划装置的一个实施例结构图;
图7为本申请实施例中一种机器人的示意框图。
本发明的实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为叙述简便起见,如无特殊说明,本申请实施例中所提及的机器人均为双足人形机器人。
机器人是一种高自由度的复杂机构,因此常使用机器人的简化模型对其运动特性进行研究。在本申请实施例中,可以使用线性倒立摆模型(Linear Inverted Pendulum Model,LIPM)来代替机器人的完整模型。把机器人的踝关节当作一个被动关节,因此整个机器人是一个欠驱动的系统。与基于零力矩点(Zero Moment Point,ZMP)的控制方法相比,这种方式可以充分利用重力来作为机器人前进的驱动,以节省能量,拥有更高的行走效率,而且与人类的行走特性也更为接近。
在本申请实施例中,将坐标系建立在支撑脚踝关节所在水平面上,坐标原点位于支撑脚踝关节处,x轴指向机器人的行进方向,y轴指向机器人内侧,z轴垂直向上。
当机器人简化为LIPM,且假设ZMP为(0,0)的时候,其动力学模型如下式所示:
Figure PCTCN2021124612-appb-000001
Figure PCTCN2021124612-appb-000002
其中,x为LIPM在x轴上的质心位置,y为LIPM在y轴上的质心位置,
Figure PCTCN2021124612-appb-000003
为LIPM在x轴上的质心加速度,
Figure PCTCN2021124612-appb-000004
为LIPM在y轴上的质心加速度,
Figure PCTCN2021124612-appb-000005
g为重力加速度,z为LIPM的质心距离地面的高度。
对于LIPM而言,其稳定的周期轨迹如图1所示。周期(记为T)越大,LIPM的质心轨迹幅度越大,但其质心最终都会经过
Figure PCTCN2021124612-appb-000006
点处,其中,S为机器人的步长,D为机器人的步宽。
在本申请实施例中,可以构造一个基于机器人的躯干在水平面上的两个位置分量(将在x轴上的位置分量记为x w,将在y轴上的位置分量记为y w)的函数,即相变量(记为Φ)。其中,机器人相对于坐标原点的躯干位置(即腰部位置)可根据关节角度反馈值,使用正运动学计算得出。
Φ需要满足两个条件:第一,由0变化到1;第二,严格单调递增。为了保证Φ在每一步的末尾必须等于1这个条件,需要构建一个在支撑脚切换前一时刻,沿x、y轴方向躯干位置的一个函数关系。在本申请实施例中,可以构建了一个满足以下条件的空间二维平面:
Figure PCTCN2021124612-appb-000007
图2所示即为该平面
Figure PCTCN2021124612-appb-000008
的示意图,此处将其称之为切换平面,其中,z w为机器人的躯干在z轴上的位置分量,C为切换平面的斜率参数,其具体取值可以根据实际情况进行设置,本申请实施例对其不作具体限定。行走过程中,对机器人躯干高度进行约束,使之处于同一水平面内。
图3所示为机器人的位置误差关系的示意图,当机器人简化为LIPM时,其稳定的周期轨迹总是从
Figure PCTCN2021124612-appb-000009
开始,到
Figure PCTCN2021124612-appb-000010
结束,如图3中虚线轨迹所示。而当机器人受到扰动时,其运动轨迹会偏离原有的稳定周期轨道,如图3中实线轨迹所示。机器人的躯干所在平面与切换平面的交集可看作为一条直线,如图3中直线所示。该直线定义了躯干在x轴与y轴方向的位置误差之间的关系,即:
δx w=Cδy w
其中,δx w为躯干在x轴上的位置误差分量,δy w为躯干在y轴上的位置误差分量。当受到扰动时,δx w与δy w的值是未知的,但总是满足上式所示的关系。
在机器人行走的过程中,摆动脚的落脚位置与摆动时间是影响行走稳定性非常重要的因素。当机器人受到扰动时,机器人的位置和姿态会偏离原有的轨迹,如果使用时间变量对机器人受控关节进行规划,将发生提前或滞后触地的现象。而在本申请实施例中,则可以使用机器人的内部状态(即相变量)代替时间变量,机器人会根据受到的扰动自动调整摆动时间,以保持稳定的步态。
请参阅图4,本申请实施例中一种机器人轨迹规划方法的一个实施例可以包括:
步骤S401、构造机器人轨迹规划的相变量。
在二维空间中,相变量可以是机器人沿行进方向的位移,或者支撑腿与地面的夹角。而三维空间中,相变量需要同时考虑机器人状态在水平面上的两个分量,如机器人的躯干位置在行进方向和侧向的位移。其中,在行进方向的位移是单调递增的,在侧向的位移则是非单调的,而本申请实施例中则需要基于这两者构造一个单调递增的相变量。
如图5所示,步骤S401具体可以包括如下过程:
步骤S4011、使用系数待定的二元二次方程建立相变量与机器人的躯干在水平面上的两个位置分量的函数关系。
具体地,可以建立如下式所示的函数关系:
Φ=a 1x w+a 2y w+a 3x wy w+a 4x w 2+a 5y w 2+a 6
其中,a 1、a 2、a 3、a 4、a 5和a 6分别为待定系数。
步骤S4012、根据相变量在初始时刻的预设取值和在终止时刻的预设取值建立二元二次方程的各个待定系数的求解方程组。
首先,可以根据相变量在初始时刻的预设取值建立二元二次方程的第一求解方程。由前述分析可知,相变量在初始时刻始终为0,即Φ(x w0,y w0)=0,其中,(x w0,y w0)为初始时刻机器人的躯干在水平面上的两个位置分量,可以根据机器人的上一个跨步的终止状态计算得到,为已知量。Φ(x w0,y w0)即为相变量在初始时刻的取值,代入上述的函数关系,可得如下所示的第一求解方程:
a 1x w0+a 2y w0+a 3x w0y w0+a 4x w0 2+a 5y w0 2+a 6=0
还可以根据相变量在终止时刻的预设取值建立二元二次方程的第二求解方程。由前述分析可知,相变量在终止时刻始终为1,即Φ(x wf,y wf)=1,其中,(x wf,y wf)为终止时刻机器人的躯干在水平面上的两个位置分量,在理想状态下,
Figure PCTCN2021124612-appb-000011
而在受到扰动的情况下,
Figure PCTCN2021124612-appb-000012
Φ(x wf,y wf)即为相变量在终止时刻的取值,代入上述的函数关系,可得如下所示的第二求解方程:
Figure PCTCN2021124612-appb-000013
为了书写方便,在之后的计算中将δy w简写作δ,将位置误差关系δx w=Cδy w代入第二求解方程中,则可得:
Figure PCTCN2021124612-appb-000014
对于任意的δ,上式中的约束都必须满足,因此,上式中所有包含δ的项前面的系数都必须为0,且剩余项的和必须为1,因此从上式可得到如下所示的各个衍生求解方程:
a 1(S/2)+a 2(D/2)+a 3(S/2)(D/2)+a 4(S/2) 2+a 5(D/2) 2+a 6=1
-a 3C+a 4C 2+a 5=0
-a 1C+a 2-a 3C(D/2)+a 3(S/2)-2a 4C(S/2)+2a 5(D/2)=0
最后,可以将第一求解方程和第二求解方程的各个衍生求解方程构建如下所示的求解方程组:
Figure PCTCN2021124612-appb-000015
步骤S4013、根据求解方程组对二元二次方程的待定系数数目进行简化,得到简化后的函数关系。
求解方程组中包含4个等式,6个未知数,即待定系数a 1、a 2、a 3、a 4、a 5和a 6,其中的四个待定系数可以看作以剩下的两个待定系数为变量的函数。例如,可以选择将a 1、a 2、a 3、a 4分别看作以a 5和a 6为变量的函数。这样,6个待定系数可以简化为2个待定系数,从而得到简化后的函数关系。
步骤S4014、构建与简化后的函数关系对应的优化目标函数。
具体地,可以构建如下所示的优化目标函数:
J=∑(Φ(t i)-t i/T) 2
其中,t i为LIPM周期内的第i个时刻,Φ(t i)为相变量与t i对应的取值,J为优化目标函数。由于相变量在完成一个跨步的过程中必须保持单调递增,这一优化目标函数从LIPM周期中选取若干个时刻,对于第i个时刻,使用(Φ(t i)-t i/T) 2来衡量相变量与单位化的时间变量之间的偏差,对选取的各个时刻的偏差进行累加所得的总偏差即为优化目标函数。
步骤S4015、根据优化目标函数和预设的优化算法计算二元二次方程的各个待定系数,以完成相变量的构造。
在本申请实施例中,可以根据实际情况选取现有技术中的任意一种优化算法,包括但不限于随机梯度下降法、动量算法、Adam算法等优化算法。通过求解可以得到二元二次方程的各个待定系数,从而完成相变量的构造。
步骤S402、使用相变量对机器人的摆动脚在各个坐标轴方向上进行轨迹规划。
首先,可以将机器人的摆动脚在各个坐标轴方向上的轨迹表示为相变量的函数。其中,在x轴方向上的轨迹记为xs(Φ),在y轴方向上的轨迹记为ys(Φ),在z轴方向上的轨迹记为zs(Φ)。
然后,可以分别确定机器人的摆动脚在各个坐标轴方向上的轨迹的边界条件。
其中,在x轴方向上的轨迹的边界条件为:
x s(0)=x w0,x s(1)=S;
Figure PCTCN2021124612-appb-000016
在y轴方向上的轨迹的边界条件为:
y s(0)=y w0,y s(1)=D;
Figure PCTCN2021124612-appb-000017
其中,
Figure PCTCN2021124612-appb-000018
为初始时刻机器人的躯干在x轴方向上的速度,
Figure PCTCN2021124612-appb-000019
为初始时刻机器人的躯干在y轴方向上的速度,两者均可以根据机器人的上一个跨步的终止状态计算得到,为已知量。在不考虑碰撞的理想状态下,可以将两者均设置为0。
在z轴方向上的轨迹的边界条件为:
z s(0)=0,z sm)=h s,z s(1)=0;
Figure PCTCN2021124612-appb-000020
其中,h s为摆动脚的最大高度,0<Φ m<1,为Φ的一个中间值,当Φ=Φ m时,摆动脚达到最大高度。
最后,可以根据边界条件对机器人的摆动脚在预设的各个坐标轴方向上的轨迹进行曲线拟合,得到机器人的摆动脚在预设的各个坐标轴方向上的规划轨迹。
在本申请实施例中,可以根据实际情况选取现有技术中的任意一种曲线拟合算法,包括但不限于基于三次多项式曲线、S型曲线、三次样条曲线、三次Hermite曲线以及贝塞尔曲线等的曲线拟合算法。通过曲线拟合确定一条从初始状态过渡到终止状态的光滑曲线,也即摆动脚的规划轨迹。
综上所述,在本申请实施例中,不再使用基于时间变量的轨迹规划方法,而是构造出机器人轨迹规划的相变量,即机器人的躯干在水平面上的两个位置分量的函数,使用相变量替换时间变量对机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划,使得机器人在受到环境扰动后可以不再继续跟随既定的轨迹,而是根据受到的扰动相应的进行状态调整,抵消扰动造成的影响,保持行走的稳定性,避免出现摆动脚提前或滞后触地的现象。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种机器人轨迹规划方法,图6示出了本申请实施例提供的一种机器人轨迹规划装置的一个实施例结构图。
本实施例中,一种机器人轨迹规划装置可以包括:
相变量构造模块601,用于构造机器人轨迹规划的相变量,所述相变量为机器人的躯干在水平面上的两个位置分量的函数;
轨迹规划模块602,用于使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。
进一步地,所述相变量构造模块可以包括:
函数关系建立单元,用于使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系;
求解方程组建立单元,用于根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组;
系数简化单元,用于根据所述求解方程组对所述二元二次方程的待定系数数目进行简化,得到简化后的函数关系;
优化目标函数构建单元,用于构建与所述简化后的函数关系对应的优化目标函数;
系数计算单元,用于根据所述优化目标函数和预设的优化算法计算所述二元二次方程的各个待定系数,以完成所述相变量的构造。
进一步地,所述函数关系建立单元具体用于建立如下式所示的函数关系:
Φ=a 1x w+a 2y w+a 3x wy w+a 4x w 2+a 5y w 2+a 6
其中,x w和y w为所述机器人的躯干在水平面上的两个位置分量,a 1、a 2、a 3、a 4、a 5和a 6分别为待定系数,Φ为所述相变量。
进一步地,所述求解方程组建立单元可以包括:
第一求解方程建立子单元,用于根据所述相变量在初始时刻的预设取值建立所述二元二次方程的第一求解方程;
第二求解方程建立子单元,用于根据所述相变量在终止时刻的预设取值建立所述二元二次方程的第二求解方程;
衍生求解方程建立子单元,用于将预设的位置误差关系代入所述第二求解方程中,得到所述第二求解方程的各个衍生求解方程;所述位置误差关系为所述机器人的躯干在水平面上的两个位置误差分量之间的关系;
求解方程组建立子单元,用于将所述第一求解方程和所述第二求解方程的各个衍生求解方程构建为所述求解方程组。
进一步地,所述位置误差关系为:
δx w=Cδy w
其中,δx w和δy w为所述机器人的躯干在水平面上的两个位置误差分量,C为预设的切换平面的斜率参数。
所述优化目标函数构建单元具体用于构建如下所示的优化目标函数:
J=∑(Φ(t i)-t i/T) 2
其中,T为所述机器人的线性倒立摆模型的周期,t i为所述周期内的第i个时刻,Φ(t i)为所述相变量与t i对应的取值,J为所述优化目标函数。
进一步地,所述轨迹规划模块可以包括:
函数表示单元,用于将所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹表示为所述相变量的函数;
边界条件确定单元,用于确定所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹的边界条件;
曲线拟合单元,用于根据所述边界条件对所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹进行曲线拟合,得到所述机器人的摆动脚在预设的各个坐标轴方向上的规划轨迹。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图7示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图7所示,该实施例的机器人7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个机器人轨迹规划方法实施例中的步骤,例如图4所示的步骤S401至步骤S402。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至模块602的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述机器人7中的执行过程。
本领域技术人员可以理解,图7仅仅是机器人7的示例,并不构成对机器人7的限定, 可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人7还可以包括输入输出设备、网络接入设备、总线等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述机器人7的内部存储单元,例如机器人7的硬盘或内存。所述存储器71也可以是所述机器人7的外部存储设备,例如所述机器人7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述机器人7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述机器人7所需的其它程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块 或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

  1. 一种机器人轨迹规划方法,其特征在于,包括:
    构造机器人轨迹规划的相变量,所述相变量为机器人的躯干在水平面上的两个位置分量的函数;
    使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。
  2. 根据权利要求1所述的机器人轨迹规划方法,其特征在于,所述构造机器人轨迹规划的相变量,包括:
    使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系;
    根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组;
    根据所述求解方程组对所述二元二次方程的待定系数数目进行简化,得到简化后的函数关系;
    构建与所述简化后的函数关系对应的优化目标函数;
    根据所述优化目标函数和预设的优化算法计算所述二元二次方程的各个待定系数,以完成所述相变量的构造。
  3. 根据权利要求2所述的机器人轨迹规划方法,其特征在于,所述使用系数待定的二元二次方程建立所述相变量与所述机器人的躯干在水平面上的两个位置分量的函数关系,包括:
    建立如下式所示的函数关系:
    Φ=a 1x w+a 2y w+a 3x wy w+a 4x w 2+a 5y w 2+a 6
    其中,x w和y w为所述机器人的躯干在水平面上的两个位置分量,a 1、a 2、a 3、a 4、a 5和a 6分别为待定系数,Φ为所述相变量。
  4. 根据权利要求2所述的机器人轨迹规划方法,其特征在于,所述根据所述相变量在初始时刻的预设取值和在终止时刻的预设取值建立所述二元二次方程的各个待定系数的求解方程组,包括:
    根据所述相变量在初始时刻的预设取值建立所述二元二次方程的第一求解方程;
    根据所述相变量在终止时刻的预设取值建立所述二元二次方程的第二求解方程;
    将预设的位置误差关系代入所述第二求解方程中,得到所述第二求解方程的各个衍生求解方程;所述位置误差关系为所述机器人的躯干在水平面上的两个位置误差分量之间的关系;
    将所述第一求解方程和所述第二求解方程的各个衍生求解方程构建为所述求解方程组。
  5. 根据权利要求4所述的机器人轨迹规划方法,其特征在于,所述位置误差关系为:
    δx w=Cδy w
    其中,δx w和δy w为所述机器人的躯干在水平面上的两个位置误差分量,C为预设的切换平面的斜率参数。
  6. 根据权利要求2所述的机器人轨迹规划方法,其特征在于,所述构建与所述简化后的函数关系对应的优化目标函数,包括:
    构建如下所示的优化目标函数:
    J=∑(Φ(t i)-t i/T) 2
    其中,T为所述机器人的线性倒立摆模型的周期,t i为所述周期内的第i个时刻,Φ(t i)为所述相变量与t i对应的取值,J为所述优化目标函数。
  7. 根据权利要求1至6中任一项所述的机器人轨迹规划方法,其特征在于,所述使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划,包括:
    将所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹表示为所述相变量的函数;
    确定所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹的边界条件;
    根据所述边界条件对所述机器人的摆动脚在预设的各个坐标轴方向上的轨迹进行曲线拟合,得到所述机器人的摆动脚在预设的各个坐标轴方向上的规划轨迹。
  8. 一种机器人轨迹规划装置,其特征在于,包括:
    相变量构造模块,用于构造机器人轨迹规划的相变量,所述相变量为机器人的躯干在水平面上的两个位置分量的函数;
    轨迹规划模块,用于使用所述相变量对所述机器人的摆动脚在预设的各个坐标轴方向上进行轨迹规划。
  9. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的机器人轨迹规划方法的步骤。
  10. 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的机器人轨迹规划方法的步骤。
PCT/CN2021/124612 2021-02-21 2021-10-19 一种机器人轨迹规划方法、装置、可读存储介质及机器人 WO2022174604A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/222,448 US20230359207A1 (en) 2021-02-21 2023-07-16 Trajectory planning method, computer-readable storage medium, and robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110194548.4A CN113001542B (zh) 2021-02-21 2021-02-21 一种机器人轨迹规划方法、装置、可读存储介质及机器人
CN202110194548.4 2021-02-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/222,448 Continuation US20230359207A1 (en) 2021-02-21 2023-07-16 Trajectory planning method, computer-readable storage medium, and robot

Publications (1)

Publication Number Publication Date
WO2022174604A1 true WO2022174604A1 (zh) 2022-08-25

Family

ID=76404927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/124612 WO2022174604A1 (zh) 2021-02-21 2021-10-19 一种机器人轨迹规划方法、装置、可读存储介质及机器人

Country Status (3)

Country Link
US (1) US20230359207A1 (zh)
CN (1) CN113001542B (zh)
WO (1) WO2022174604A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113001542B (zh) * 2021-02-21 2022-04-26 深圳市优必选科技股份有限公司 一种机器人轨迹规划方法、装置、可读存储介质及机器人
CN113467484B (zh) * 2021-09-02 2021-12-31 深圳市优必选科技股份有限公司 双足机器人步态控制方法、装置和计算机设备
CN114815596A (zh) * 2022-03-02 2022-07-29 深圳市优必选科技股份有限公司 一种步态规划方法、装置、计算机可读存储介质及机器人
CN115356920A (zh) * 2022-08-08 2022-11-18 深圳市优必选科技股份有限公司 单腿跳跃运动控制方法、装置、可读存储介质及机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103149933A (zh) * 2013-02-27 2013-06-12 南京邮电大学 基于闭环控制的仿人机器人全向行走方法
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
CN110286679A (zh) * 2019-06-24 2019-09-27 南京理工大学 基于线性倒立摆模型的机器人步态规划方法
CN111736615A (zh) * 2020-08-04 2020-10-02 深圳市优必选科技股份有限公司 一种步态规划方法、装置、计算机可读存储介质及机器人
CN113001542A (zh) * 2021-02-21 2021-06-22 深圳市优必选科技股份有限公司 一种机器人轨迹规划方法、装置、可读存储介质及机器人

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101745110B1 (ko) * 2015-07-14 2017-06-21 현대자동차주식회사 로봇의 보행 제어 방법 및 시스템
CN105511465B (zh) * 2015-12-02 2017-08-04 歌尔股份有限公司 一种双足机器人的步态控制方法和装置
CN112060082B (zh) * 2020-08-19 2021-10-15 大连理工大学 基于仿生强化学习型小脑模型的在线稳定控制仿人机器人
CN112051735B (zh) * 2020-08-19 2022-03-29 大连理工大学 仿人机器人步行控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103149933A (zh) * 2013-02-27 2013-06-12 南京邮电大学 基于闭环控制的仿人机器人全向行走方法
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
CN110286679A (zh) * 2019-06-24 2019-09-27 南京理工大学 基于线性倒立摆模型的机器人步态规划方法
CN111736615A (zh) * 2020-08-04 2020-10-02 深圳市优必选科技股份有限公司 一种步态规划方法、装置、计算机可读存储介质及机器人
CN113001542A (zh) * 2021-02-21 2021-06-22 深圳市优必选科技股份有限公司 一种机器人轨迹规划方法、装置、可读存储介质及机器人

Also Published As

Publication number Publication date
CN113001542B (zh) 2022-04-26
CN113001542A (zh) 2021-06-22
US20230359207A1 (en) 2023-11-09

Similar Documents

Publication Publication Date Title
WO2022174604A1 (zh) 一种机器人轨迹规划方法、装置、可读存储介质及机器人
US12070863B2 (en) Dynamic planning controller
US11230001B2 (en) Biped robot gait control method and biped robot
WO2022205840A1 (zh) 机器人及其步态控制方法和装置
US11383381B2 (en) Footstep contact detection
CN111309039B (zh) 一种四足机器人姿态控制方法和装置
WO2022134143A1 (zh) 一种机器人状态估计方法、装置、可读存储介质及机器人
US20240017404A1 (en) Robot step length control method, robot controller, and computer-readable storage medium
WO2022198995A1 (zh) 步态轨迹规划方法、装置、计算机可读存储介质及机器人
WO2022121003A1 (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
WO2022134131A1 (zh) 一种机器人姿态控制方法、装置及机器人
US20230234655A1 (en) Robot step control method, robot control apparatus, and computer readable storage medium
CN113031579A (zh) 双足机器人的行走控制方法、装置及双足机器人
US11685049B2 (en) Robot localization using variance sampling
WO2022105023A1 (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
US11691292B2 (en) Robot choreographer
CN112757301A (zh) 机器人抗扰动控制方法、装置、电子设备及存储介质
CN109866217A (zh) 机器人里程定位方法、装置、终端设备及计算机存储介质
CN113485403B (zh) 机器人的步态规划方法、装置、处理设备及存储介质
CN112947398A (zh) 一种机器人步态规划方法、装置、可读存储介质及机器人
CN115107030A (zh) 机器人质心运动规划方法、装置和双足机器人
WO2022179213A1 (zh) 仿人机器人的解耦控制方法、装置和仿人机器人
CN114454981A (zh) 双足机器人的弹跳运动控制方法、装置及双足机器人
CN113246124A (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
CN114815596A (zh) 一种步态规划方法、装置、计算机可读存储介质及机器人

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21926318

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21926318

Country of ref document: EP

Kind code of ref document: A1