WO2022166328A1 - 任务执行控制方法、装置、控制设备及可读存储介质 - Google Patents

任务执行控制方法、装置、控制设备及可读存储介质 Download PDF

Info

Publication number
WO2022166328A1
WO2022166328A1 PCT/CN2021/132997 CN2021132997W WO2022166328A1 WO 2022166328 A1 WO2022166328 A1 WO 2022166328A1 CN 2021132997 W CN2021132997 W CN 2021132997W WO 2022166328 A1 WO2022166328 A1 WO 2022166328A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
robot
represent
motion
matrix
Prior art date
Application number
PCT/CN2021/132997
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 WO2022166328A1 publication Critical patent/WO2022166328A1/zh
Priority to US18/230,620 priority Critical patent/US20230373089A1/en

Links

Images

Classifications

    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39062Calculate, jacobian matrix estimator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42156Forward dynamics model fdm

Definitions

  • the present application relates to the technical field of robot control, and in particular, to a task execution control method, device, control device, and readable storage medium.
  • the purpose of this application includes providing a task execution control method, device, control device and readable storage medium, which can combine the real-time state of the robot into the control process of the robot's motion status, ensure that the robot achieves the expected motion effect, and Ensure that the body movements of the robot conform to the laws of motion of the robot and are within a safe range of motion, so as to improve the operational safety of the robot.
  • the present application provides a task execution control method, the method comprising:
  • a matching parameter distribution constraint is constructed for the task driving parameters
  • the running state of each joint end effector of the robot is controlled according to the target driving parameter, so that the robot can perform the target task correspondingly.
  • the target task includes at least one task to be executed, and the task execution coefficient matrix includes a first task coefficient matrix and a second task coefficient matrix.
  • the motion state information, and determining the task execution coefficient matrix corresponding to the robot performing the target task including:
  • For each to-be-executed task obtain an end Jacobian matrix corresponding to the to-be-executed task from the expected motion trajectory information, and construct a first execution of the to-be-executed task based on the obtained end Jacobian matrix coefficient submatrix;
  • the generalized velocity of the robot is obtained from the motion state information
  • the expected terminal acceleration corresponding to the task to be executed is obtained from the expected motion trajectory information
  • the generalized velocity, the terminal Jacobian matrix and The expected terminal acceleration constructs a second execution coefficient sub-matrix of the to-be-executed task
  • the first execution coefficient sub-matrix and the second execution coefficient sub-matrix of the same to-be-executed task are respectively weighted with the execution weight of the to-be-executed task to obtain the to-be-executed task.
  • the first weighted parameter sub-matrix and the second weighted parameter sub-matrix of the execution task are respectively weighted with the execution weight of the to-be-executed task to obtain the to-be-executed task.
  • the task driving parameters include the acceleration of the robot at the generalized coordinate position and the magnitude of the external force on the robot, and the dynamic constraints are expressed as follows:
  • q is used to represent the generalized coordinate position of the robot in the motion state information
  • It is used to represent the generalized speed of the robot in the motion state information
  • M( ⁇ ) is used to represent the inertia matrix of the robot in the desired motion trajectory information
  • B( ⁇ ) is used to represent the expected motion trajectory information by centrifugal force.
  • G( ) is used to represent the robot gravity matrix in the desired motion trajectory information
  • J ext is used to represent the Jacobian of the external force action point in the desired motion trajectory information matrix
  • is used to represent the generalized force acting on the generalized coordinate position of the robot
  • f ext is used to represent the magnitude of the external force on the robot.
  • the body motion safety constraints include effective joint position constraints for robot joints, then according to the motion state information and the body motion safety constraints corresponding to the target task, for
  • the step of constructing matching parameter distribution constraints for the task-driven parameters includes:
  • the joint position prediction function is expressed as:
  • q(t) is used to represent the predicted joint position at time t, used to indicate the current moment
  • ⁇ t is used to represent the preset time interval, for The first derivative of , used to represent the current moment joint velocity, for The second derivative of , which is used to represent the current moment joint acceleration;
  • ⁇ min is used to represent the lower limit boundary of the joint position in the effective joint position constraint
  • ⁇ max is used to represent the upper limit of the joint position in the effective joint position constraint condition.
  • the body motion safety constraint includes a task space position constraint for the robot task space, then according to the motion state information and the body motion safety constraint corresponding to the target task,
  • the step of constructing matching parameter distribution constraints for the task-driven parameters includes:
  • the preset relationship between the real-time position in the task space, the speed Jacobian matrix and the generalized speed of the robot, and the task space position prediction function are substituted into the task space position constraints to perform parameter conversion, and the generalized relationship between the robot and the robot is obtained.
  • the parameter distribution constraints corresponding to the acceleration at the coordinate position.
  • the task space position prediction function is expressed as:
  • ⁇ (t) is used to represent the spatial position of the prediction task at time t, used to indicate the current moment
  • the real-time position of the task space ⁇ t is used to represent the preset time interval, for The first derivative of , for the second derivative of ;
  • J represents the acceleration of the robot at the generalized coordinate position
  • J is used to represent the velocity Jacobian matrix in the desired motion trajectory information, used to indicate the current moment the generalized speed of the robot, is the first derivative of J
  • r min is used to represent the lower limit boundary of the position in the task space position constraint
  • r max is used to represent the upper limit boundary of the position in the task space position constraint.
  • the step of using the task execution coefficient matrix to solve a pre-stored task execution loss function to obtain target driving parameters that satisfy the dynamic constraints and the parameter distribution constraints includes:
  • the task execution loss function is solved, then the robot will be solved in the generalized The target acceleration at the coordinate position and the value of the robot's target external force are used as the target driving parameter, otherwise, the task driving parameter used most recently before the current moment is used as the target driving parameter.
  • the task execution loss function is expressed as:
  • A is used to represent the first task coefficient matrix of the target task
  • b is used to represent the second task coefficient matrix of the target task
  • f ext is used to represent the magnitude of the external force on the robot
  • 2 is used to represent the vector two norm
  • w is used to represent the execution weight of the target task matrix.
  • the present application provides a task execution control device, the device comprising:
  • the motion information acquisition module is used to acquire the current motion state information of the robot and the desired motion trajectory information corresponding to the target task;
  • a task coefficient determination module configured to determine a task execution coefficient matrix corresponding to the robot executing the target task according to the desired motion trajectory information and the motion state information;
  • a motion condition restriction module configured to construct a matching dynamic constraint condition for the task driving parameters of the robot according to the desired motion trajectory information and the motion state information
  • a body motion restriction module configured to construct a matching parameter distribution constraint condition for the task driving parameter according to the motion state information and the body motion safety constraint condition corresponding to the target task;
  • a driving parameter solving module configured to solve a pre-stored task execution loss function by using the task execution coefficient matrix to obtain target driving parameters that satisfy the dynamic constraints and the parameter distribution constraints;
  • the task execution control module is configured to control the operation state of each joint end effector of the robot according to the target drive parameter, so that the robot can execute the target task correspondingly.
  • the present application provides a control device, including a processor and a memory, where the memory stores a computer program that can be executed by the processor, and the processor can execute the computer program to implement the foregoing embodiments. Any one of the task execution control methods.
  • the present application provides a readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the task execution control method described in any one of the foregoing embodiments.
  • the present application determines the task execution coefficient matrix when the robot performs the target task, and the dynamic constraints matching the task driving parameters of the robot based on the obtained current motion state information of the robot and the desired motion trajectory information corresponding to the target task, and According to the motion state information and the body motion safety constraints corresponding to the target task, the matching parameter distribution constraints are constructed for the task driving parameters, and then the task execution loss function is solved by using the task execution coefficient matrix to obtain the dynamic constraints and parameters.
  • the target driving parameters of the distribution constraints are finally controlled according to the target driving parameters to control the operation status of the actuators of each joint end of the robot, so that the robot can perform the target task correspondingly, so that the real-time status of the robot can be effectively integrated into the control process of the robot motion status. Ensure that the robot achieves the expected motion effect, and ensure that the body motion of the robot conforms to the motion law of the robot and is within a safe range of motion to improve the safety of the robot.
  • FIG. 1 is a schematic diagram of the composition of a control device provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a task execution control method provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of sub-steps included in step S220 in FIG. 2;
  • FIG. 4 is one of the schematic flowcharts of the sub-steps included in step S240 in FIG. 2;
  • FIG. 5 is the second schematic flowchart of the sub-steps included in step S240 in FIG. 2;
  • FIG. 6 is a schematic flowchart of the sub-steps included in step S250 in FIG. 2;
  • FIG. 7 is a schematic diagram of the composition of a task execution control apparatus provided by an embodiment of the present application.
  • Icon 10-control device; 11-memory; 12-processor; 13-communication unit; 100-task execution control device; 110-motion information acquisition module; 120-task coefficient determination module; 130-motion condition restriction module; 140 -Body action restriction module; 150-drive parameter solving module; 160-task execution control module.
  • the robot motion control scheme based on the position of the robot joint can be expressed in two implementations: one of the implementations is to start from the trajectory planning, and pre-plan a number of joints that can theoretically avoid the singularity of the joint or not exceed the limited position range of the joint.
  • the motion trajectory is then sent as an instruction signal to each joint end effector of the robot to track and execute; while another implementation is to inverse kinematics from the expected trajectory of the workspace to the joint space, and then artificially Truncation control.
  • the former implementation cannot take into account the motion status of the robot in real time, and is easily affected by various factors (including performance limitations of joint end effectors and huge external interference), resulting in
  • the latter implementation uses a posteriori truncation. In this way, even if the joint can be guaranteed to avoid singularity and the joint can be prevented from exceeding the limited position range, the task execution effect of the workspace is often not guaranteed, that is, the expected motion effect cannot be achieved.
  • the robot motion control scheme based on the spatial position of the robot task can also be expressed in two implementations: one of the implementations is to start from the trajectory planning, and pre-plan a number of theoretically able to avoid the singularity of the mechanism or not exceed the specified number.
  • the motion trajectory of the safe motion range, and then the motion trajectory is sent as a command signal to each joint end effector of the robot to track and execute; another implementation is to construct an artificial potential field function in the task space, and use a virtual potential field force to Soft constraints are applied to the motion status of the robot.
  • the former implementation cannot take into account the motion status of the robot in real time, and is easily affected by various factors (including performance limitations of joint end effectors and huge external interference), resulting in
  • the latter implementation relies too much on the parameter adjustment of internal parameters, and its implementation
  • the process is usually separated from the dynamic information of the robot, and the real motion status of the robot is not considered, so that the robot motion cannot always conform to the motion law of the robot, and robot motion accidents are prone to occur.
  • the embodiments of the present application provide by providing A task execution control method, apparatus, control device, and readable storage medium realize the foregoing functions.
  • FIG. 1 is a schematic diagram of the composition of a control device 10 provided by an embodiment of the present application.
  • the control device 10 can be connected to the robot for remote communication, or can be integrated with the robot, so as to control the movement status of the robot, so that the robot can achieve the expected movement effect and ensure the robot
  • the action conforms to the motion law of the robot, and at the same time, the body motion of the robot is effectively limited to a specific safe movement range, which improves the operation safety of the robot.
  • the robot may be, but not limited to, an industrial manipulator, a series/parallel robot, a quadruped robot, a humanoid robot, and the like.
  • control device 10 may include a memory 11 , a processor 12 , a communication unit 13 and a task execution control apparatus 100 .
  • the elements of the memory 11 , the processor 12 and the communication unit 13 are directly or indirectly electrically connected to each other to realize data transmission or interaction.
  • the elements of the memory 11 , the processor 12 and the communication unit 13 can be electrically connected to each other through one or more communication buses or signal lines.
  • the memory 11 may be, but not limited to, a random access memory (Random Access Memory, RAM), a read only memory (Read Only Memory, ROM), a programmable read only memory (Programmable Read-Only Memory) Memory, PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Read-Only Memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.
  • RAM Random Access Memory
  • ROM read only memory
  • PROM programmable read only memory
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Read-Only Memory
  • the memory 11 is further used to store the body motion safety constraints when the robot performs different tasks, wherein the body motion safety constraints may include effective joint position constraints for the robot joints, and/or for the robot task space task space location constraints.
  • the effective joint position constraints are used to indicate the position limit range of each joint position of the robot when the corresponding task is executed, so as to ensure that the robot body is in a safe motion state
  • the task space position constraints are used to indicate the corresponding task.
  • the respective effective joint position constraints of different tasks may be the same or different; the respective task space position constraints of different tasks may be the same or different.
  • the processor 12 may be an integrated circuit chip with signal processing capability.
  • the processor 12 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), a network processor (Network Processor, NP), a digital signal processor (DSP) ), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, at least one of a discrete gate or transistor logic device, a discrete hardware component.
  • the general-purpose processor may be a microprocessor, or the processor may also be any conventional processor, etc., and may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application.
  • the communication unit 13 is configured to establish a communication connection between the control device 10 and other electronic devices through a network, and to send and receive data through the network, where the network includes wired communication networks and wireless communication network.
  • the control device 10 can obtain the desired motion trajectory information for the robot from the trajectory planning device through the communication unit 13, and send motion control instructions to the robot through the communication unit 13, so that the robot can follow the desired motion
  • the motion control command is used to execute the motion.
  • the task execution control apparatus 100 includes at least one software function module that can be stored in the memory 11 in the form of software or firmware or fixed in the operating system of the control device 10 .
  • the processor 12 may be configured to execute executable modules stored in the memory 11 , such as software function modules and computer programs included in the task execution control device 100 .
  • the control device 10 effectively integrates the real-time state of the robot into the control process of the robot motion status through the task execution control device 100, so as to ensure that the robot can achieve the expected motion effect, and to ensure that the body motion of the robot conforms to the motion law of the robot and is safe. Within the range of motion, improve the safety of robot operation.
  • FIG. 1 is only a schematic diagram of the composition of the control device 10, and the control device 10 may further include more or less components than those shown in FIG. 1 shows different configurations. Each component shown in FIG. 1 may be implemented in hardware, software, or a combination thereof.
  • the embodiments of the present application provide A task execution control method for a robot achieves the foregoing object.
  • the task execution control method provided by the present application will be described in detail below.
  • FIG. 2 is a schematic flowchart of a task execution control method provided by an embodiment of the present application.
  • the task execution control method may include steps S210 to S260.
  • step S210 the current motion state information of the robot and the desired motion trajectory information corresponding to the target task are acquired.
  • the motion state information can be obtained by feedback from a state estimator installed on the robot to the control device 10, and the desired motion trajectory information can be obtained by the control device 10 from a trajectory planning device through a network .
  • the specific content of the motion state information and the desired motion track information matches the robot type.
  • the information corresponding to the desired motion trajectory may include the desired motion trajectory of the end effector when the robot performs the target task, a specific position (eg, the position of each joint or the end of the robotic arm) and external
  • the expected contact force, the expected trajectory information of the robot's centroid momentum, etc., the corresponding motion state information can be related to the robot joints or the robot task space.
  • the motion state information related to the robot joints may include the real-time position information of each joint of the robot, the real-time speed information of each joint, the real-time torque information of the end-effector of each joint, the real-time force feedback information of the end-effector, the real-time pose information of the robot and Real-time centroid momentum information, etc.
  • the motion state information related to the robot task space may include real-time position information of each joint of the robot, real-time speed information of each joint, real-time position information of the task space, real-time speed information of the task space, and real-time force feedback information of the end effector , robot real-time pose information and real-time centroid momentum information, etc.
  • the corresponding expected motion trajectory information may include the expected upper body posture trajectory information, foot workspace trajectory information, expected contact force between a specific position and the outside world, and robot quality when the robot performs the target task.
  • the expected trajectory information of the heart rate, etc., and the corresponding motion state information can be related to the robot joints, and can also be related to the robot task space.
  • the motion state information related to the robot joints may include real-time position information of each joint of the robot, real-time speed information of each joint, real-time torque information of each joint end-effector, real-time force feedback information of the end-effector, real-time robot pose information and real-time mass center momentum information, etc.
  • the motion state information related to the robot task space may include real-time position information of each joint of the robot, real-time speed information of each joint, real-time position information of the task space, real-time speed information of the task space, real-time force feedback information of the end effector, Robot real-time pose information and real-time centroid momentum information, etc.
  • Step S220 Determine a task execution coefficient matrix corresponding to the target task performed by the robot according to the desired motion trajectory information and motion state information.
  • the task execution coefficient matrix is used to represent the specific coefficient content that matches the task execution loss function when the target task is executed at the robot, and the task execution loss function is used to represent any task
  • the execution process refers to the general expression of the least squares optimization equation at the robot, and its purpose is to correct the deviation between the actual motion state of the robot and the expected trajectory behavior according to the specified expected trajectory behavior.
  • the control device 10 can determine the matching task coefficient content for each task sub-item included in the target task according to the desired motion trajectory information corresponding to the target task and the current motion state information of the robot, And then aggregate to form the task execution coefficient matrix of the target task.
  • the target task may include at least one task to be executed, and each task to be executed corresponds to an execution weight, and the execution weight is used to indicate the execution priority of the corresponding task to be executed at the robot , the higher the value, the higher the importance of the corresponding task execution.
  • the task execution coefficient matrix may include a first task coefficient matrix and a second task coefficient matrix
  • the step S220 may include sub-steps S221 to S224, so as to construct the sub-steps S221 to S224 through the sub-steps S221 to S224 Matrix of task execution coefficients that match the target task.
  • Sub-step S221 for each task to be executed, obtain the end Jacobian matrix corresponding to the task to be executed from the expected motion trajectory information, and construct a first execution coefficient sub-matrix of the task to be executed based on the obtained end Jacobian matrix.
  • the first execution coefficient sub-matrix is formed by splicing an end Jacobian matrix corresponding to a task to be executed and a zero matrix, wherein the number of matrix rows of the zero matrix is the same as the task to be executed included in the target task. The total number is the same, and the number of matrix columns of the zero matrix is consistent with the external force dimension of the robot required for the execution of the target task.
  • the first execution coefficient sub-matrix is used to represent a coefficient content corresponding to the task execution loss function of the to-be-executed task that constrains the mechanical energy of the robot's motion.
  • Sub-step S222 obtain the generalized speed of the robot from the motion state information, obtain the expected terminal acceleration corresponding to the task to be performed from the expected motion trajectory information, and construct the to-be-executed task according to the generalized speed, the terminal Jacobian matrix and the expected terminal acceleration.
  • the second execution coefficient sub-matrix obtains the generalized speed of the robot from the motion state information, obtain the expected terminal acceleration corresponding to the task to be performed from the expected motion trajectory information, and construct the to-be-executed task according to the generalized speed, the terminal Jacobian matrix and the expected terminal acceleration.
  • the second execution coefficient sub-matrix is obtained by subtracting the product of the generalized velocity and the end Jacobian matrix from the expected terminal acceleration corresponding to the to-be-executed task, which is used to indicate that the to-be-executed task corresponds to the task execution loss function Another coefficient content of .
  • the generalized speed is used to represent the speed of the robot at the generalized coordinate position
  • the expected terminal acceleration can be calculated by the following formula:
  • Sub-step S223 according to the execution weight of each to-be-executed task in the target task, the first execution coefficient sub-matrix and the second execution coefficient sub-matrix of the same to-be-executed task are respectively weighted with the execution weight of the to-be-executed task to obtain The first weighting parameter sub-matrix and the second weighting parameter sub-matrix of the task to be executed.
  • the first weighted parameter sub-matrix of each to-be-executed task is the weighted product between the execution weight of the to-be-executed task and the first execution coefficient sub-matrix
  • the second weighted value of each to-be-executed task is The parameter sub-matrix is the weighted product value between the execution weight of the task to be executed and the second execution coefficient sub-matrix.
  • Sub-step S224 perform matrix aggregation on the respective first weighting parameter sub-matrices of all tasks to be executed under the target task, obtain the first task coefficient matrix of the target task, and combine the respective second weighting parameter sub-matrices of all tasks to be executed under the target task.
  • the matrix is aggregated to obtain the second task coefficient matrix of the target task.
  • the control device 10 can pass a single to-be-executed sub-matrix in the same matrix.
  • the way of assigning a matrix row to the execution task is to aggregate the first weighting parameter sub-matrices of all the tasks to be executed under the target task correspondingly to obtain the first task coefficient matrix of the target task, and assign all the The second weighting parameter sub-matrix of the task to be executed is aggregated to obtain the second task coefficient matrix of the target task.
  • the present application can ensure that the constructed task execution coefficient matrix can accurately represent the action status of each task subdivision item in the execution process of the corresponding target task by executing the above sub-steps S221 to S224, so as to facilitate
  • the control device 10 effectively integrates the real-time state of the robot into the control process of the motion state of the robot based on the task execution coefficient matrix, so as to ensure that the robot achieves the desired motion effect.
  • step S230 according to the desired motion trajectory information and motion state information, a matching dynamic constraint condition is constructed for the task driving parameters of the robot.
  • the dynamic constraints are used to indicate that the work of the robot satisfies the constraints on the task driving parameters of the robot dynamics law during the robot motion control process.
  • the dynamic constraint condition can be expressed by a full dynamic equation, or can be expressed by a center of mass dynamic equation.
  • the task driving parameters may include the acceleration of the robot at the generalized coordinate position and the magnitude of the external force on the robot, and the dynamic constraints are expressed by full dynamic equations.
  • the above kinetic constraints are expressed as:
  • q is used to represent the generalized coordinate position of the robot in the motion state information
  • It is used to represent the generalized speed of the robot in the motion state information
  • M( ⁇ ) is used to represent the inertia matrix of the robot in the desired motion trajectory information
  • B( ⁇ ) is used to represent the expected motion trajectory information by centrifugal force.
  • G( ) is used to represent the robot gravity matrix in the desired motion trajectory information
  • J ext is used to represent the Jacobian of the external force action point in the desired motion trajectory information matrix
  • is used to represent the generalized force acting on the generalized coordinate position of the robot
  • f ext is used to represent the magnitude of the external force on the robot.
  • Step S240 according to the motion state information and the body motion safety constraints corresponding to the target task, construct matching parameter distribution constraints for the task driving parameters.
  • the task driving parameter targeted by the parameter distribution constraint is the acceleration of the robot at the generalized coordinate position.
  • the specific implementation process of step S240 may vary according to the type of the body motion safety constraint. Adjust accordingly. At this time, the specific implementation process of the step S240 is as follows.
  • step S240 may include sub-steps S241 to S242, which are used to determine the generalized acceleration
  • the dimension of realizes the singular avoidance operation of the robot joints, limits the position of the robot joints within the safe and effective position range, and avoids the occurrence of robot motion accidents.
  • Sub-step S241 construct a matching joint position prediction function according to the joint real-time position in the motion state information.
  • the joint position prediction function can be expressed by a second-order Taylor expansion of the joint position with respect to the current moment, so as to perform the joint position prediction operation based on the current motion state information of the robot.
  • the joint position prediction function can be expressed by the following formula:
  • q(t) is used to represent the predicted joint position at time t, used to indicate the current moment
  • ⁇ t is used to represent the preset time interval, for The first derivative of , used to represent the current moment joint velocity, for The second derivative of , which is used to represent the current moment joint acceleration.
  • Sub-step S242 Substitute the joint position prediction function into the effective joint position constraint condition to perform parameter conversion, and obtain the parameter distribution constraint condition corresponding to the acceleration of the robot at the generalized coordinate position.
  • the effective joint position constraint can be expressed by [ ⁇ min , ⁇ max ], where ⁇ min is used to represent the lower limit boundary of the joint position in the effective joint position constraint, and ⁇ max is used to represent The upper bound of the joint position in the valid joint position constraints.
  • the effective joint position constraint can be transformed into the following formula, and the formula can be used as the acceleration of the robot at the generalized coordinate position
  • the formula can be expressed as:
  • ⁇ min is used to represent the lower limit boundary of the joint position in the effective joint position constraint
  • ⁇ max is used to represent the upper limit of the joint position in the effective joint position constraint condition.
  • the present application can implement the above-mentioned sub-step S241 and sub-step S242 to realize the avoidance operation of the robot joint from the dimension of generalized acceleration, limit the position of the robot joint within the safe and effective position range, and avoid the occurrence of robot motion accidents.
  • step S240 is the second schematic flowchart of the sub-steps included in step S240 in FIG. 2 .
  • the step S240 may include sub-steps S243 to S244, which are used to analyze the generalized The dimension of acceleration can effectively constrain the motion range of the robot's task space, so as to ensure that the final determined motion of the robot is still within the safe range to maintain the robot's operation and avoid robot motion accidents.
  • Sub-step S243 build a matching task space position prediction function according to the task space real-time position in the motion state information.
  • the task space position prediction function can be expressed by the second-order Taylor expansion of the task space position with respect to the current moment, and the task space position prediction function can be expressed by the following formula:
  • ⁇ (t) is used to represent the spatial position of the prediction task at time t, used to indicate the current moment
  • the real-time position of the task space ⁇ t is used to represent the preset time interval, for The first derivative of , that is Used to indicate that the robot is at the current moment
  • the task space moving speed at the real-time position of the task space for The second derivative of , that is Used to indicate that the robot is at the current moment
  • Sub-step S244 substituting the preset relationship between the real-time position in the task space, the speed Jacobian matrix and the generalized speed of the robot, and the task space position prediction function into the task space position constraints to perform parameter conversion, and obtain the generalized coordinate position with the robot.
  • the parameter distribution constraints corresponding to the acceleration at .
  • the preset relationship between the real-time position in the task space, the speed Jacobian matrix, and the generalized speed of the robot may adopt the following formula to express, where ⁇ is used to represent the real-time position of the task space, J is used to represent the velocity Jacobian matrix, Used to represent the generalized speed of the robot.
  • the task space position constraints can be expressed by [r min , r max ], where r min is used to represent the position lower limit boundary in the task space position constraints, and r max is used to represent the task space position constraints Position upper bounds in .
  • the parameter distribution constraint corresponding to the acceleration of the robot at the generalized coordinate position can be expressed as:
  • J represents the acceleration of the robot at the generalized coordinate position
  • J is used to represent the velocity Jacobian matrix in the desired motion trajectory information, used to indicate the current moment the generalized speed of the robot, is the first derivative of J
  • r min is used to represent the lower limit boundary of the position in the task space position constraint
  • r max is used to represent the upper limit boundary of the position in the task space position constraint.
  • the present application can implement the above-mentioned sub-step S243 and sub-step S244 to realize the effective constraint on the motion range of the robot task space from the dimension of generalized acceleration, so as to ensure that the finally determined robot motion is still within the safe range of maintaining the operation of the robot, Avoid robot motion accidents.
  • Step S250 using the task execution coefficient matrix to solve the pre-stored task execution loss function to obtain target driving parameters that satisfy the dynamic constraints and the parameter distribution constraints.
  • the task execution loss function can be expressed by the following formula:
  • A is used to represent the first task coefficient matrix of the target task
  • b is used to represent the second task coefficient matrix of the target task
  • f ext is used to represent the magnitude of the external force on the robot
  • 2 is used to represent the vector two norm
  • w is used to represent the execution weight of the target task matrix.
  • the execution weight matrix is formed by aggregation of execution weights of tasks to be executed under the target task.
  • the control device 10 substitutes the obtained task execution coefficient matrix, dynamic constraints and parameter distribution constraints corresponding to the target task into the task execution loss function. , and then execute the loss function for the task to solve the target driving parameters that satisfy the dynamic constraints and parameter distribution constraints by solving the QP (Quadratic Programming) problem, so as to pass the target driving parameters to the described
  • QP Quadrattic Programming
  • FIG. 6 is a schematic flowchart of sub-steps included in step S250 in FIG. 2 .
  • the step S250 may include sub-step S251 and sub-step S252.
  • Sub-step S251 Substitute the task execution coefficient matrix, the dynamic constraints and the parameter distribution constraints into the task execution loss function to iteratively solve the parameters.
  • the task execution loss function can be used as the problem body of a QP problem
  • the dynamic constraint can be used as an equality constraint of the QP problem
  • the parameter distribution constraint can be used as the QP An inequality constraint of the problem
  • the task execution coefficient matrix is substituted into the task execution loss function
  • the QP problem is iteratively solved to determine that the QP problem is represented by satisfying the robot motion law (robot dynamics characteristics). ) and the task driving parameters of the safe motion range of the body action.
  • the task driving parameters solved at this time include the acceleration value of the robot at the generalized coordinate position and the value of the robot's target external force.
  • Sub-step S252 if the corresponding iterative solution times are less than or equal to the preset solution times threshold, and/or the corresponding iterative solution duration is less than or equal to the preset solution duration threshold, the task execution loss function is solved, then the solved robot
  • the target acceleration at the generalized coordinate position and the value of the robot's target external force are used as the target drive parameters, otherwise, the most recently used task drive parameters before the current moment are used as the target drive parameters.
  • the solved task driving parameters are valid parameters.
  • the calculated target acceleration of the robot at the generalized coordinate position and the value of the robot's target external force can be used as target drive parameters.
  • the present application can ensure that the obtained task driving parameters can match the real-time state of the robot by executing the above-mentioned sub-step S251 and sub-step S252, and can achieve the expected motion effect based on the task driving parameters, so that the motion of the robot conforms to the law of motion of the robot , and effectively restrict the safe movement range of the robot body, thereby improving the safety of the robot.
  • Step S260 controlling the running state of each joint end effector of the robot according to the target driving parameter, so that the robot can perform the target task correspondingly.
  • the control device 10 determines the parameter correlation between the acceleration value of the robot at the generalized coordinate position, the generalized force and the magnitude of the external force on the robot. , obtain the target generalized force relative to the target driving parameter, and then adjust the operating state of the corresponding joint end effector according to the joint moment component of the target generalized force at each joint end effector to ensure that the robot can correspond to Execute the target task.
  • a matching joint control algorithm will be used to control the state according to the type of the joint end effector.
  • the actuator type of a joint end effector is a position-controlled joint
  • the corresponding joint position can be calculated based on the torque component of the corresponding joint, and the calculated joint position can be used as the servo angle of the joint end effector;
  • the joint torque component can be directly used as the tracking torque of the joint end effector;
  • the actuator type of a joint end effector is a force-position hybrid control joint, Then, the corresponding joint position and the joint movement speed can be calculated based on the corresponding joint moment component, and then the joint moment component, the joint position and the joint movement speed can be comprehensively used to control the running state of the joint end effector.
  • the present application can combine the real-time state of the robot into the control process of the robot motion status by performing the above steps S210 to S260 to ensure that the robot achieves the expected motion effect, and synchronously ensures that the robot motion conforms to the robot motion law, effectively restraining the robot
  • the safe range of motion of the body action avoids joint singularity or structural singularity, and improves the safety of the robot.
  • the present application in order to ensure that the control device 10 can execute the above task execution control method through the task execution control apparatus 100 , the present application implements the aforementioned functions by dividing the task execution control apparatus 100 into functional modules. The specific components of the task execution control device 100 provided by the present application are described below accordingly.
  • FIG. 7 is a schematic diagram of the composition of a task execution control apparatus 100 provided by an embodiment of the present application.
  • the task execution control device 100 may include a motion information acquisition module 110, a task coefficient determination module 120, a motion condition restriction module 130, a body motion restriction module 140, a driving parameter solution module 150, and a task execution control module 160.
  • the motion information acquisition module 110 is configured to acquire the current motion state information of the robot and the desired motion trajectory information corresponding to the target task.
  • the task coefficient determination module 120 is configured to determine the task execution coefficient matrix corresponding to the target task performed by the robot according to the desired motion trajectory information and motion state information.
  • the motion condition restriction module 130 is configured to construct a matching dynamic constraint condition for the task driving parameters of the robot according to the desired motion trajectory information and motion state information.
  • the body motion restriction module 140 is configured to construct matching parameter distribution constraints for the task driving parameters according to the motion state information and the body motion safety constraints corresponding to the target task.
  • the driving parameter solving module 150 is used to solve the pre-stored task execution loss function by using the task execution coefficient matrix to obtain target driving parameters that satisfy the dynamic constraints and the parameter distribution constraints.
  • the task execution control module 160 is configured to control the operation state of each joint end effector of the robot according to the target drive parameters, so that the robot can execute the target task correspondingly.
  • the target task includes at least one task to be executed
  • the task execution coefficient matrix includes a first task coefficient matrix and a second task coefficient matrix
  • the task coefficient determination module 120 according to the expected motion trajectory information and motion state information, The method of determining the task execution coefficient matrix corresponding to the robot's execution of the target task, including:
  • For each to-be-executed task obtain an end Jacobian matrix corresponding to the to-be-executed task from the expected motion trajectory information, and construct a first execution of the to-be-executed task based on the obtained end Jacobian matrix coefficient submatrix;
  • the generalized velocity of the robot is obtained from the motion state information
  • the expected terminal acceleration corresponding to the task to be executed is obtained from the expected motion trajectory information
  • the generalized velocity, the terminal Jacobian matrix and The expected terminal acceleration constructs a second execution coefficient sub-matrix of the to-be-executed task
  • the first execution coefficient sub-matrix and the second execution coefficient sub-matrix of the same to-be-executed task are respectively weighted with the execution weight of the to-be-executed task to obtain the to-be-executed task.
  • the first weighted parameter sub-matrix and the second weighted parameter sub-matrix of the execution task are respectively weighted with the execution weight of the to-be-executed task to obtain the to-be-executed task.
  • the task driving parameters include the acceleration of the robot at the generalized coordinate position and the magnitude of the external force on the robot, and the dynamic constraints are expressed as follows:
  • q is used to represent the generalized coordinate position of the robot in the motion state information
  • It is used to represent the generalized speed of the robot in the motion state information
  • M( ⁇ ) is used to represent the inertia matrix of the robot in the desired motion trajectory information
  • B( ⁇ ) is used to represent the expected motion trajectory information by centrifugal force.
  • G( ) is used to represent the robot gravity matrix in the desired motion trajectory information
  • J ext is used to represent the Jacobian of the external force action point in the desired motion trajectory information matrix
  • is used to represent the generalized force acting on the generalized coordinate position of the robot
  • f ext is used to represent the magnitude of the external force on the robot.
  • the body motion restriction module 140 drives the robot for the task according to the motion state information and the body motion safety constraints corresponding to the target task.
  • the way parameters build matching parameter distribution constraints including:
  • a matching joint position prediction function is constructed
  • the joint position prediction function is substituted into the effective joint position constraints for parameter conversion, and the parameter distribution constraints corresponding to the acceleration of the robot at the generalized coordinate position are obtained.
  • q(t) is used to represent the predicted joint position at time t, used to indicate the current moment
  • ⁇ t is used to represent the preset time interval, for The first derivative of , used to represent the current moment joint velocity, for The second derivative of , which is used to represent the current moment joint acceleration;
  • ⁇ min is used to represent the lower limit boundary of the joint position in the effective joint position constraint
  • ⁇ max is used to represent the upper limit of the joint position in the effective joint position constraint condition.
  • the body movement restriction module 140 according to the motion state information and the body movement safety constraints corresponding to the target task, targets the task space.
  • the manner in which the driving parameters construct matching parameter distribution constraints including:
  • a matching task space position prediction function is constructed
  • ⁇ (t) is used to represent the spatial position of the prediction task at time t, used to indicate the current moment
  • the real-time position of the task space ⁇ t is used to represent the preset time interval, for The first derivative of , for the second derivative of ;
  • J represents the acceleration of the robot at the generalized coordinate position
  • J is used to represent the velocity Jacobian matrix in the desired motion trajectory information, used to indicate the current moment the generalized speed of the robot, is the first derivative of J
  • r min is used to represent the lower limit boundary of the position in the task space position constraint
  • r max is used to represent the upper limit boundary of the position in the task space position constraint.
  • the driving parameter solving module 150 uses the task execution coefficient matrix to solve the pre-stored task execution loss function to obtain the target driving parameters that satisfy the dynamic constraints and the parameter distribution constraints, include:
  • the task execution loss function is solved, then the robot will be solved in the generalized The target acceleration at the coordinate position and the value of the robot's target external force are used as the target driving parameter, otherwise, the task driving parameter used most recently before the current moment is used as the target driving parameter.
  • A is used to represent the first task coefficient matrix of the target task
  • b is used to represent the second task coefficient matrix of the target task
  • f ext is used to represent the magnitude of the external force on the robot
  • 2 is used to represent the vector two norm
  • w is used to represent the execution weight of the target task matrix.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more functions for implementing the specified logical function(s) executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present application may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.
  • the functions are implemented in the form of software function modules and sold or used as independent products, they may be stored in a readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution, and the computer software product is stored in a readable storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned readable storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other various programs that can store program codes medium.
  • the present application is based on the acquired current motion state information of the robot and the desired motion trajectory information corresponding to the target task. , determine the task execution coefficient matrix when the robot performs the target task, and the dynamic constraints matching the task driving parameters of the robot, and according to the motion state information and the body motion safety constraints corresponding to the target task, for the task driving parameters Construct matching parameter distribution constraints, then use the task execution coefficient matrix to solve the task execution loss function, obtain the target drive parameters that satisfy the dynamic constraints and parameter distribution constraints, and finally control the operation of each joint end effector of the robot according to the target drive parameters.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

一种任务执行控制方法,包括:基于获取到的机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息,确定机器人执行目标任务时的任务执行系数矩阵及动力学约束条件,并根据运动状态信息及机体动作安全约束条件构建参数分布约束条件,接着使用任务执行系数矩阵求解任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件的目标驱动参数,最后基于目标驱动参数将机器人实时状态结合到机器人运动状况的控制过程中。该方法确保机器人实现预期运动效果,并同步地确保机器人的机体动作符合机器人运动规律且处于安全运动范围内,提升机器人运行安全性。还提供一种任务执行控制装置、控制设备及可读存储介质。

Description

任务执行控制方法、装置、控制设备及可读存储介质
相关申请的交叉引用
本申请要求于2021年2月5日提交中国专利局的申请号为202110164574.2、名称为“任务执行控制方法、装置、控制设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及机器人控制技术领域,具体而言,涉及一种任务执行控制方法、装置、控制设备及可读存储介质。
背景技术
随着科学技术的不断发展,机器人技术因具有极大的研究价值及应用价值受到了各行各业的广泛重视,而在机器人技术的实际应用过程中,通常需要确保机器人的机体结构在运动过程中不产生奇异,或将机器人的机体动作限定在特定的运动范围内,以避免机器人与外界事物发生碰撞,保证机器人得以安全运行。
申请内容
有鉴于此,本申请的目的包括提供一种任务执行控制方法、装置、控制设备及可读存储介质,能够将机器人实时状态结合到机器人运动状况的控制过程中,确保机器人实现预期运动效果,并确保机器人的机体动作符合机器人运动规律且处于安全运动范围内,提升机器人运行安全性。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请提供一种任务执行控制方法,所述方法包括:
获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息;
根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵;
根据所述期望运动轨迹信息以及所述运动状态信息,针对所述机器人的任务驱动参数构建匹配的动力学约束条件;
根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所 述任务驱动参数构建匹配的参数分布约束条件;
采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数;
按照所述目标驱动参数对所述机器人各关节端执行器的运行状态进行控制,使所述机器人对应执行所述目标任务。
在可选的实施方式中,所述目标任务包括至少一项待执行任务,所述任务执行系数矩阵包括第一任务系数矩阵及第二任务系数矩阵,所述根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵,包括:
针对每个待执行任务,从所述期望运动轨迹信息中获取与所述待执行任务对应的末端雅可比矩阵,并基于获取到的所述末端雅可比矩阵构建所述待执行任务的第一执行系数子矩阵;
从所述运动状态信息中获取所述机器人的广义速度,从所述期望运动轨迹信息中获取与所述待执行任务对应的期望末端加速度,并根据所述广义速度、所述末端雅可比矩阵以及所述期望末端加速度构建所述待执行任务的第二执行系数子矩阵;
根据所述目标任务中每个待执行任务的执行权重,将同一待执行任务的第一执行系数子矩阵与第二执行系数子矩阵分别与该待执行任务的执行权重进行加权运算,得到该待执行任务的第一加权参数子矩阵及第二加权参数子矩阵;
将所述目标任务下所有待执行任务各自的第一加权参数子矩阵进行矩阵聚合,得到所述目标任务的第一任务系数矩阵,并将所述目标任务下所有待执行任务各自的第二加权参数子矩阵进行矩阵聚合,得到所述目标任务的第二任务系数矩阵。
在可选的实施方式中,所述任务驱动参数包括机器人在广义坐标位置处的加速度以及机器人所受外力大小,动力学约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000001
其中,q用于表示所述运动状态信息中的机器人广义坐标位置,
Figure PCTCN2021132997-appb-000002
用于表示所述运动状态信息中的机器人广义速度,M(·)用于表示所述期望运动轨迹信息中的机器人惯量矩阵,B(·)用于表示所述期望运动轨迹信息中的由离心力和科里奥利力产生的非线 性矩阵,G(·)用于表示所述期望运动轨迹信息中的机器人重力矩阵,J ext用于表示所述期望运动轨迹信息中的外力作用点的雅可比矩阵,τ用于表示作用在所述机器人广义坐标位置上的广义力大小,
Figure PCTCN2021132997-appb-000003
表示所述机器人在所述广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小。
在可选的实施方式中,所述机体动作安全约束条件包括针对机器人关节的有效关节位置约束条件,则所述根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件的步骤,包括:
根据所述运动状态信息中的关节实时位置,构建匹配的关节位置预测函数;
将所述关节位置预测函数代入所述有效关节位置约束条件中进行参数换算,得到与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在可选的实施方式中,所述关节位置预测函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000004
其中,q(t)用于表示t时刻的预测关节位置,
Figure PCTCN2021132997-appb-000005
用于表示当前时刻
Figure PCTCN2021132997-appb-000006
的关节实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000007
Figure PCTCN2021132997-appb-000008
的一阶导数,用于表示当前时刻
Figure PCTCN2021132997-appb-000009
的关节速度,
Figure PCTCN2021132997-appb-000010
Figure PCTCN2021132997-appb-000011
的二阶导数,用于表示当前时刻
Figure PCTCN2021132997-appb-000012
的关节加速度;
所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000013
Figure PCTCN2021132997-appb-000014
其中,
Figure PCTCN2021132997-appb-000015
表示所述机器人在所述广义坐标位置处的加速度,
Figure PCTCN2021132997-appb-000016
用于表示所述运动状态信息中的机器人广义速度,q用于表示所述运动状态信息中的机器人广义坐标位置,θ min用于表示所述有效关节位置约束条件中的关节位置下限边界,θ max用于表示所述有效关节位置约束条件中的关节位置上限边界。
在可选的实施方式中,所述机体动作安全约束条件包括针对机器人任务空间的任务空间位置约束条件,则所述根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件的步骤,包括:
根据所述运动状态信息中的任务空间实时位置,构建匹配的任务空间位置预测函数;
将任务空间实时位置、速度雅可比矩阵及机器人广义速度之间的预设关联关系,以及所述任务空间位置预测函数代入所述任务空间位置约束条件中进行参数换算,得到与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在可选的实施方式中,所述任务空间位置预测函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000017
其中,γ(t)用于表示t时刻的预测任务空间位置,
Figure PCTCN2021132997-appb-000018
用于表示当前时刻
Figure PCTCN2021132997-appb-000019
的任务空间实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000020
Figure PCTCN2021132997-appb-000021
的一阶导数,
Figure PCTCN2021132997-appb-000022
Figure PCTCN2021132997-appb-000023
的二阶导数;
所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000024
Figure PCTCN2021132997-appb-000025
其中,
Figure PCTCN2021132997-appb-000026
表示所述机器人在所述广义坐标位置处的加速度,J用于表示所述期望运动轨迹信息中的速度雅可比矩阵,
Figure PCTCN2021132997-appb-000027
用于表示当前时刻
Figure PCTCN2021132997-appb-000028
的机器人广义速度,
Figure PCTCN2021132997-appb-000029
为J的一阶导数,r min用于表示所述任务空间位置约束条件中的位置下限边界,r max用于表示所述任务空间位置约束条件中的位置上限边界。
在可选的实施方式中,所述采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数的步骤,包括:
将所述任务执行系数矩阵、所述动力学约束条件以及所述参数分布约束条件代入所述任务执行损失函数进行参数迭代求解;
若在对应迭代求解次数小于或等于预设求解次数阈值,并且/或者对应迭代求解时长小于或等于预设求解时长阈值的情况下求解出所述任务执行损失函数,则将求解出的机器人在广义坐标位置处的目标加速度以及机器人目标外力数值作为所述目标驱动参数,否则将当前时刻以前最近使用的任务驱动参数作为所述目标驱动参数。
在可选的实施方式中,所述任务执行损失函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000030
其中
Figure PCTCN2021132997-appb-000031
其中,A用于表示所述目标任务的第一任务系数矩阵,b用于表示所述目标任务的第二任务系数矩阵,
Figure PCTCN2021132997-appb-000032
表示所述机器人在广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小,||·|| 2用于表示向量二范数,w用于表示所述目标任务的执行权重矩阵。
第二方面,本申请提供一种任务执行控制装置,所述装置包括:
运动信息获取模块,用于获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息;
任务系数确定模块,用于根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵;
运动条件限制模块,用于根据所述期望运动轨迹信息以及所述运动状态信息,针对所述机器人的任务驱动参数构建匹配的动力学约束条件;
机体动作限制模块,用于根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件;
驱动参数求解模块,用于采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数;
任务执行控制模块,用于按照所述目标驱动参数对所述机器人各关节端执行器的运行状态进行控制,使所述机器人对应执行所述目标任务。
第三方面,本申请提供一种控制设备,包括处理器和存储器,所述存储器存储有能 够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,实现前述实施方式中任意一项所述的任务执行控制方法。
第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述实施方式中任意一项所述的任务执行控制方法。
本申请实施例的有益效果包括如下内容:
本申请基于获取到的机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息,确定机器人执行目标任务时的任务执行系数矩阵,以及与机器人的任务驱动参数匹配的动力学约束条件,并根据运动状态信息及与目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件,接着使用任务执行系数矩阵求解任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件的目标驱动参数,最后按照目标驱动参数对机器人各关节端执行器的运行状态进行控制,使机器人对应执行目标任务,从而将机器人实时状态有效地结合到机器人运动状况的控制过程中,确保机器人实现预期运动效果,并确保机器人的机体动作符合机器人运动规律且处于安全运动范围内,提升机器人运行安全性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的控制设备的组成示意图;
图2为本申请实施例提供的任务执行控制方法的流程示意图;
图3为图2中的步骤S220包括的子步骤的流程示意图;
图4为图2中的步骤S240包括的子步骤的流程示意图之一;
图5为图2中的步骤S240包括的子步骤的流程示意图之二;
图6为图2中的步骤S250包括的子步骤的流程示意图;
图7为本申请实施例提供的任务执行控制装置的组成示意图。
图标:10-控制设备;11-存储器;12-处理器;13-通信单元;100-任务执行控制装置;110-运动信息获取模块;120-任务系数确定模块;130-运动条件限制模块;140-机体动作限制模块;150-驱动参数求解模块;160-任务执行控制模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要理解的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
申请人通过辛苦调研发现,现有机器人动作控制方案通常需要从全局角度考虑机器人任务空间位置的安全运动范围来实现,或者从局部角度考虑机器人关节位置的安全运动范围来实现。
基于机器人关节位置实现的机器人动作控制方案可表现为两种实施方式:其中一种 实施方式是从轨迹规划出发,预先离线地规划出若干在理论上能够避开关节奇异或不超过关节限定位置范围的运动轨迹,然后将运动轨迹作为指令信号发送给机器人各关节端执行器去跟踪执行;而另一种实施方式则是从工作空间的期望轨迹逆运动学地计算到关节空间,然后再进行人为截断控制。
就这两种实施方式来看,前一种实施方式在具体实施时无法实时考虑到机器人的运动状况,易受到各种因素(包括关节端执行器的性能限制及外界存在巨大干扰)影响,导致机器人在实际控制过程中难以达到预想的运动效果,极易引发关节奇异现象,导致机器人动作超出针对关节位置的安全运动范围,接着出现机器人运动事故;而后一种实施方式则因采用了后验截断方式,即使能够保证关节避免奇异以及防止关节超出限定位置范围,但往往无法保证工作空间的任务执行效果,即无法达到预期运动效果。
而基于机器人任务空间位置实现的机器人动作控制方案也可表现为两种实施方式:其中一种实施方式是从轨迹规划出发,预先离线地规划出若干在理论上能够避开机构奇异或不超过特定安全运动范围的运动轨迹,然后将运动轨迹作为指令信号发送给机器人各关节端执行器去跟踪执行;而另一种实施方式则是在任务空间构建人工势场函数,利用虚拟的势场力对机器人运动状况进行软约束。
就这两种实施方式来看,前一种实施方式在具体实施时无法实时考虑到机器人的运动状况,易受到各种因素(包括关节端执行器的性能限制及外界存在巨大干扰)影响,导致机器人在实际控制过程中难以达到预想的运动效果,极易引发机构奇异现象,导致机器人动作超出针对任务空间位置的安全运动范围;而后一种实施方式则过度依赖于内部参数的参数调整,其实施过程通常与机器人动力学信息相互脱离,没有考虑到机器人真实运动状况,导致机器人动作无法始终与机器人运动规律相契合,极易出现机器人运动事故。
在此情况下,为确保机器人能够结合实时状态实现预期运动效果,并确保机器人动作符合机器人运动规律,同时有效约束机器人机体动作的安全运动范围,提升机器人运行安全性,本申请实施例提供通过提供一种任务执行控制方法、装置、控制设备及可读存储介质实现前述功能。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
参照图1,图1是本申请实施例提供的控制设备10的组成示意图。在本实施例中,所述控制设备10可以与机器人远程通信连接,也可以与机器人集成为一体,用于对所述机器人的运动状况进行控制,使该机器人能够实现预期运动效果,并确保机器人动作符合机器人运动规律,同时有效地将该机器人的机体动作限定在一个特定安全运动范围内,提升机器人运行安全性。其中,所述机器人可以是,但不限于,工业机械臂、串联/并联机器人、四足机器人及仿人机器人等。
在本实施例中,所述控制设备10可以包括存储器11、处理器12、通信单元13及任务执行控制装置100。其中,所述存储器11、所述处理器12及所述通信单元13各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,所述存储器11、所述处理器12及所述通信单元13这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
在本实施例中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,所述存储器11用于存储计算机程序,所述处理器12在接收到执行指令后,可相应地执行所述计算机程序。
其中,所述存储器11还用于存储机器人在执行不同任务时的机体动作安全约束条件,其中所述机体动作安全约束条件可以包括针对机器人关节的有效关节位置约束条件,和/或针对机器人任务空间的任务空间位置约束条件。其中,所述有效关节位置约束条件用于表示对应任务被执行时针对机器人各关节位置的位置限定范围,以确保机器人机体动作处于安全运动状态,而所述任务空间位置约束条件用于表示对应任务被执行时机器人的任务空间的安全运动范围。其中,可以理解的是,不同任务各自的有效关节位置约束条件可以相同,也可以不同;不同任务各自的任务空间位置约束条件可以相同,也可以不同。
在本实施例中,所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其 他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
在本实施例中,所述通信单元13用于通过网络建立所述控制设备10与其他电子设备之间的通信连接,并通过所述网络收发数据,其中所述网络包括有线通信网络及无线通信网络。例如,所述控制设备10可以通过所述通信单元13从轨迹规划设备处获取针对机器人的期望运动轨迹信息,并通过所述通信单元13向所述机器人发送运动控制指令,使所述机器人按照所述运动控制指令进行运动。
在本实施例中,所述任务执行控制装置100包括至少一个能够以软件或固件的形式存储于所述存储器11中或固化在所述控制设备10的操作系统中的软件功能模块。所述处理器12可用于执行所述存储器11存储的可执行模块,例如所述任务执行控制装置100所包括的软件功能模块及计算机程序等。所述控制设备10通过所述任务执行控制装置100将机器人实时状态有效地结合到机器人运动状况的控制过程中,确保机器人能够实现预期运动效果,并确保机器人的机体动作符合机器人运动规律且处于安全运动范围内,提升机器人运行安全性。
可以理解的是,图1所示的框图仅为所述控制设备10的一种组成示意图,所述控制设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
在本申请中,为确保所述控制设备10能够控制机器人实现预期运动效果,确保机器人动作符合机器人运动规律,并保证机器人动作能够处于安全运动范围内,提升机器人运行安全性,本申请实施例提供一种针对机器人的任务执行控制方法实现前述目的。下面对本申请提供的任务执行控制方法进行详细描述。
请参照图2,图2是本申请实施例提供的任务执行控制方法的流程示意图。在本申请实施例中,所述任务执行控制方法可以包括步骤S210~步骤S260。
步骤S210,获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息。
在本实施例中,所述运动状态信息可由安装在机器人上的状态估计器向所述控制设备10反馈得到,所述期望运动轨迹信息可由所述控制设备10从轨迹规划设备处通过网 络获取得到。其中,所述运动状态信息及所述期望运动轨迹信息的具体内容与所述机器人类型相匹配。
例如,若所述机器人为工业机械臂,则对应期望运动轨迹信息可以包括该机器人在执行目标任务时期望的末端执行器运动轨迹、特定位置(例如,各关节位置或机械臂末端)与外界的期望接触力、机器人质心动量预期轨迹信息等,对应运动状态信息可以与机器人关节相关,也可以与机器人任务空间相关。此时,与机器人关节相关的运动状态信息可以包括机器人各关节实时位置信息、各关节实时速度信息、各关节端执行器的实时力矩信息、末端执行器实时力反馈信息、机器人实时位姿信息及实时质心动量信息等;与机器人任务空间相关的运动状态信息可以包括机器人各关节实时位置信息、各关节实时速度信息、任务空间实时位置信息、任务空间实时速度信息、末端执行器实时力反馈信息、机器人实时位姿信息及实时质心动量信息等。
若所述机器人为足式机器人,则对应期望运动轨迹信息可以包括该机器人在执行目标任务时期望的上身位姿轨迹信息、足端工作空间轨迹信息、特定位置与外界的期望接触力及机器人质心动量预期轨迹信息等,对应运动状态信息可以与机器人关节相关,也可以与机器人任务空间相关。其中,与机器人关节相关的运动状态信息可以包括机器人各关节实时位置信息、各关节实时速度信息、各关节端执行器的实时力矩信息、末端执行器实时力反馈信息、机器人实时位姿信息及实时质心动量信息等;与机器人任务空间相关的运动状态信息可以包括机器人各关节实时位置信息、各关节实时速度信息、任务空间实时位置信息、任务空间实时速度信息、末端执行器实时力反馈信息、机器人实时位姿信息及实时质心动量信息等。
步骤S220,根据期望运动轨迹信息以及运动状态信息,确定机器人执行目标任务所对应的任务执行系数矩阵。
在本实施例中,所述任务执行系数矩阵用于表示所述目标任务在所述机器人处执行时与任务执行损失函数相匹配的具体系数内容,所述任务执行损失函数用于表示任一任务执行过程在该机器人处参照最小二乘优化方程的通用式表达,其目的在于根据指定的期望轨迹行为对机器人实质运动状况与期望轨迹行为之间的偏离进行矫正。由此,所述控制设备10可根据与目标任务对应的期望运动轨迹信息以及所述机器人当前的运动状态信息,针对所述目标任务所包括的每个任务细分项确定匹配的任务系数内容,进而聚合形成该目标任务的任务执行系数矩阵。
可选地,请参照图3,图3是图2中的步骤S220包括的子步骤的流程示意图。在本实施例中,所述目标任务可以包括至少一项待执行任务,每项待执行任务对应有一个执行权重,所述执行权重用于表示对应待执行任务在所述机器人处的执行优先级,其数值越高则表达对应任务执行重要程度越高。此时,所述任务执行系数矩阵可以包括第一任务系数矩阵及第二任务系数矩阵,所述步骤S220可以包括子步骤S221~子步骤S224,以通过所述子步骤S221~子步骤S224构建出与目标任务匹配的任务执行系数矩阵。
子步骤S221,针对每个待执行任务,从期望运动轨迹信息中获取与待执行任务对应的末端雅可比矩阵,并基于获取到的末端雅可比矩阵构建待执行任务的第一执行系数子矩阵。
在本实施例中,所述第一执行系数子矩阵由对应待执行任务的末端雅可比矩阵及零矩阵拼接形成,其中所述零矩阵的矩阵行数与所述目标任务所包括的待执行任务总数相同,所述零矩阵的矩阵列数与所述目标任务执行时所需的机器人外力维度保持一致。此时,所述第一执行系数子矩阵用于表示该待执行任务在任务执行损失函数处对应的一项对机器人动作机械能约束的系数内容。
子步骤S222,从运动状态信息中获取机器人的广义速度,从期望运动轨迹信息中获取与待执行任务对应的期望末端加速度,并根据广义速度、末端雅可比矩阵以及期望末端加速度构建待执行任务的第二执行系数子矩阵。
在本实施例中,所述第二执行系数子矩阵由对应待执行任务的期望末端加速度减去广义速度与末端雅可比矩阵之积得到,用于表示该待执行任务在任务执行损失函数处对应的另一项系数内容。其中,所述广义速度用于表示所述机器人在广义坐标位置处的速度,所述期望末端加速度可采用如下式子计算得到:
Figure PCTCN2021132997-appb-000033
其中,
Figure PCTCN2021132997-appb-000034
用于表示对应待执行任务的期望末端加速度,
Figure PCTCN2021132997-appb-000035
用于表示所述期望运动轨迹信息给出的针对所述待执行任务的末端加速度参考值,
Figure PCTCN2021132997-appb-000036
用于表示所述期望运动轨迹信息给出的针对所述待执行任务的末端工作空间位置参考值,γ c用于表示所述运动状态信息中与所述待执行任务对应的末端工作空间的实时位置,
Figure PCTCN2021132997-appb-000037
用于表示所述期望运动轨迹信息给出的针对所述待执行任务的末端速度参考值,
Figure PCTCN2021132997-appb-000038
用于表示所述运动状态信息中与所述待执行任务对应的实时末端速度,P用于表示所述期望运动 轨迹信息给出的针对所述待执行任务的比例系数矩阵,D用于表示所述期望运动轨迹信息给出的针对所述待执行任务的微分系数矩阵。
子步骤S223,根据目标任务中每个待执行任务的执行权重,将同一待执行任务的第一执行系数子矩阵与第二执行系数子矩阵分别与该待执行任务的执行权重进行加权运算,得到该待执行任务的第一加权参数子矩阵及第二加权参数子矩阵。
在本实施例中,每个待执行任务的第一加权参数子矩阵即为该待执行任务的执行权重与第一执行系数子矩阵之间的加权积值,每个待执行任务的第二加权参数子矩阵即为该待执行任务的执行权重与第二执行系数子矩阵之间的加权积值。
子步骤S224,将目标任务下所有待执行任务各自的第一加权参数子矩阵进行矩阵聚合,得到目标任务的第一任务系数矩阵,并将目标任务下所有待执行任务各自的第二加权参数子矩阵进行矩阵聚合,得到目标任务的第二任务系数矩阵。
在本实施例中,所述控制设备10在确定出所述目标任务所包括的每个待执行任务的第一加权参数子矩阵及第二加权参数子矩阵后,可在同一矩阵内通过单个待执行任务分配一个矩阵行的方式,对应地将所述目标任务下所有待执行任务的第一加权参数子矩阵进行聚合,得到该目标任务的第一任务系数矩阵,并将所述目标任务下所有待执行任务的第二加权参数子矩阵进行聚合,得到该目标任务的第二任务系数矩阵。
由此,本申请得以通过执行上述子步骤S221~子步骤S224,确保构建出的任务执行系数矩阵能够准确表征出对应目标任务在执行过程中的各任务细分项之间的作用状况,以便于所述控制设备10基于所述任务执行系数矩阵有效地将机器人实时状态结合到机器人运动状况的控制过程中,以确保机器人实现预期运动效果。
请再次参照图2,步骤S230,根据期望运动轨迹信息以及运动状态信息,针对机器人的任务驱动参数构建匹配的动力学约束条件。
在本实施例中,所述动力学约束条件用于表示机器人运动控制过程中机器人工作满足机器人动力学规律的针对任务驱动参数的约束条件。其中,所述动力学约束条件可以采用全动力学方程进行表达,也可以采用质心动力学方程进行表达。在本实施例的一种实施方式中,所述任务驱动参数可以包括机器人在广义坐标位置处的加速度以及机器人所受外力大小,所述动力学约束条件采用全动力学方程进行表达,此时所述动力学约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000039
其中,q用于表示所述运动状态信息中的机器人广义坐标位置,
Figure PCTCN2021132997-appb-000040
用于表示所述运动状态信息中的机器人广义速度,M(·)用于表示所述期望运动轨迹信息中的机器人惯量矩阵,B(·)用于表示所述期望运动轨迹信息中的由离心力和科里奥利力产生的非线性矩阵,G(·)用于表示所述期望运动轨迹信息中的机器人重力矩阵,J ext用于表示所述期望运动轨迹信息中的外力作用点的雅可比矩阵,τ用于表示作用在所述机器人广义坐标位置上的广义力大小,
Figure PCTCN2021132997-appb-000041
表示所述机器人在所述广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小。
步骤S240,根据运动状态信息以及与目标任务对应的机体动作安全约束条件,针对任务驱动参数构建匹配的参数分布约束条件。
在本实施例中,所述参数分布约束条件所针对的任务驱动参数为机器人在广义坐标位置处的加速度,所述步骤S240的具体实施过程随着所述机体动作安全约束条件的类型不同,可相应地有所调整。此时所述步骤S240的具体实施过程如下所示。
可选地,请参照图4,图4是图2中的步骤S240包括的子步骤的流程示意图之一。在本实施例的第一种实施方式中,若所述机体动作安全约束条件包括针对机器人关节的有效关节位置约束条件,所述步骤S240可以包括子步骤S241~子步骤S242,用于从广义加速度(机器人在广义坐标位置处的加速度)的维度实现对机器人关节奇异的规避操作,将机器人关节位置限定在安全有效位置范围内,避免出现机器人运动事故。
子步骤S241,根据运动状态信息中的关节实时位置,构建匹配的关节位置预测函数。
在本实施例中,所述关节位置预测函数可采用关节位置关于当前时刻的二阶泰勒展开式进行表达,以基于机器人当前运动状态信息进行关节位置预测操作。此时,所述关节位置预测函数可采用如下式子进行表达:
Figure PCTCN2021132997-appb-000042
其中,q(t)用于表示t时刻的预测关节位置,
Figure PCTCN2021132997-appb-000043
用于表示当前时刻
Figure PCTCN2021132997-appb-000044
的关节实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000045
Figure PCTCN2021132997-appb-000046
的一阶导数,用于表示当前时 刻
Figure PCTCN2021132997-appb-000047
的关节速度,
Figure PCTCN2021132997-appb-000048
Figure PCTCN2021132997-appb-000049
的二阶导数,用于表示当前时刻
Figure PCTCN2021132997-appb-000050
的关节加速度。
子步骤S242,将关节位置预测函数代入有效关节位置约束条件中进行参数换算,得到与机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在本实施例中,所述有效关节位置约束条件可采用[θ min,θ max]进行表达,其中θ min用于表示所述有效关节位置约束条件中的关节位置下限边界,θ max用于表示所述有效关节位置约束条件中的关节位置上限边界。
因此,当将关节位置预测函数代入到所述有效关节位置约束条件后,可将该有效关节位置约束条件变换为如下式子,并将该式子作为与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件。此时,该式子可表达为:
Figure PCTCN2021132997-appb-000051
Figure PCTCN2021132997-appb-000052
其中,
Figure PCTCN2021132997-appb-000053
表示所述机器人在所述广义坐标位置处的加速度,
Figure PCTCN2021132997-appb-000054
用于表示所述运动状态信息中的机器人广义速度,q用于表示所述运动状态信息中的机器人广义坐标位置,θ min用于表示所述有效关节位置约束条件中的关节位置下限边界,θ max用于表示所述有效关节位置约束条件中的关节位置上限边界。
由此,本申请可通过执行上述子步骤S241及子步骤S242,从广义加速度的维度实现对机器人关节奇异的规避操作,将机器人关节位置限定在安全有效位置范围内,避免出现机器人运动事故。
可选地,请参照图5,图5是图2中的步骤S240包括的子步骤的流程示意图之二。在本实施例的第二种实施方式中,若所述机体动作安全约束条件包括针对机器人任务空间的任务空间位置约束条件,所述步骤S240可以包括子步骤S243~子步骤S244,用于从广义加速度的维度实现对机器人任务空间运动范围的有效约束,以确保最终确定出的机器人动作仍然处于维持机器人运行安全范围内,避免出现机器人运动事故。
子步骤S243,根据运动状态信息中的任务空间实时位置,构建匹配的任务空间位 置预测函数。
在本实施例中,所述任务空间位置预测函数可采用任务空间位置关于当前时刻的二阶泰勒展开式进行表达,此时所述任务空间位置预测函数可采用如下式子进行表达:
Figure PCTCN2021132997-appb-000055
其中,γ(t)用于表示t时刻的预测任务空间位置,
Figure PCTCN2021132997-appb-000056
用于表示当前时刻
Figure PCTCN2021132997-appb-000057
的任务空间实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000058
Figure PCTCN2021132997-appb-000059
的一阶导数,即
Figure PCTCN2021132997-appb-000060
用于表示机器人在当前时刻
Figure PCTCN2021132997-appb-000061
的任务空间实时位置处的任务空间移动速度,
Figure PCTCN2021132997-appb-000062
Figure PCTCN2021132997-appb-000063
的二阶导数,即
Figure PCTCN2021132997-appb-000064
用于表示机器人在当前时刻
Figure PCTCN2021132997-appb-000065
的任务空间实时位置处的任务空间移动加速度。
子步骤S244,将任务空间实时位置、速度雅可比矩阵及机器人广义速度之间的预设关联关系,以及任务空间位置预测函数代入任务空间位置约束条件中进行参数换算,得到与机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在本实施例中,所述任务空间实时位置、速度雅可比矩阵及机器人广义速度之间的预设关联关系可采用如下式子
Figure PCTCN2021132997-appb-000066
进行表达,其中γ用于表示所述任务空间实时位置,J用于表示所述速度雅可比矩阵,
Figure PCTCN2021132997-appb-000067
用于表示机器人广义速度。所述任务空间位置约束条件可采用[r min,r max]进行表达,其中r min用于表示所述任务空间位置约束条件中的位置下限边界,r max用于表示所述任务空间位置约束条件中的位置上限边界。
此时,与机器人在广义坐标位置处的加速度对应的参数分布约束条件可采用如下式子表达为:
Figure PCTCN2021132997-appb-000068
Figure PCTCN2021132997-appb-000069
其中,
Figure PCTCN2021132997-appb-000070
表示所述机器人在所述广义坐标位置处的加速度,J用于表示所述期望运 动轨迹信息中的速度雅可比矩阵,
Figure PCTCN2021132997-appb-000071
用于表示当前时刻
Figure PCTCN2021132997-appb-000072
的机器人广义速度,
Figure PCTCN2021132997-appb-000073
为J的一阶导数,r min用于表示所述任务空间位置约束条件中的位置下限边界,r max用于表示所述任务空间位置约束条件中的位置上限边界。
由此,本申请可通过执行上述子步骤S243及子步骤S244,从广义加速度的维度实现对机器人任务空间运动范围的有效约束,以确保最终确定出的机器人动作仍然处于维持机器人运行安全范围内,避免出现机器人运动事故。
步骤S250,采用任务执行系数矩阵求解预存的任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件的目标驱动参数。
在本实施例中,所述任务执行损失函数可采用如下式子进行表达:
Figure PCTCN2021132997-appb-000074
其中
Figure PCTCN2021132997-appb-000075
其中,A用于表示所述目标任务的第一任务系数矩阵,b用于表示所述目标任务的第二任务系数矩阵,
Figure PCTCN2021132997-appb-000076
表示所述机器人在广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小,||·|| 2用于表示向量二范数,w用于表示所述目标任务的执行权重矩阵。其中,所述执行权重矩阵由所述目标任务下各待执行任务的执行权重聚合形成。
所述控制设备10在求解上述任务执行损失函数的过程中,是将得到的与所述目标任务对应的任务执行系数矩阵、动力学约束条件及参数分布约束条件代入到所述任务执行损失函数中,而后对该任务执行损失函数通过求解QP(Quadratic Programming,凸二次规划)问题的方式,求解出满足动力学约束条件以及参数分布约束条件的目标驱动参数,以通过该目标驱动参数对所述机器人的运动状况进行控制,使该机器人对应执行所述目标任务,实现预期运动效果,并确保机器人动作符合机器人运动规律,使机器人关节处于有效位置范围内,避免出现关节奇异现象,提升机器人运行安全性。
可选地,请参照图6,图6是图2中的步骤S250包括的子步骤的流程示意图。在本实施例中,所述步骤S250可以包括子步骤S251及子步骤S252。
子步骤S251,将任务执行系数矩阵、动力学约束条件以及参数分布约束条件代入任务执行损失函数进行参数迭代求解。
在本实施例中,可通过将所述任务执行损失函数作为一个QP问题的问题主体,将所述动力学约束条件作为该QP问题的一个等式约束,将所述参数分布约束条件作为该 QP问题的一个不等式约束,而后将所述任务执行系数矩阵代入到所述任务执行损失函数中,接着通过对该QP问题进行迭代求解,以确定该QP问题表征的满足机器人运动规律(机器人动力学特性)以及机体动作安全运动范围的任务驱动参数,此时求解出的任务驱动参数即包括机器人在广义坐标位置处的加速度值以及机器人目标外力数值。
子步骤S252,若在对应迭代求解次数小于或等于预设求解次数阈值,并且/或者对应迭代求解时长小于或等于预设求解时长阈值的情况下求解出任务执行损失函数,则将求解出的机器人在广义坐标位置处的目标加速度以及机器人目标外力数值作为目标驱动参数,否则将当前时刻以前最近使用的任务驱动参数作为目标驱动参数。
在本实施例中,如果在不超过预设求解次数阈值和/或预设求解时长阈值的情况下对应完成对上述QP问题的求解操作,则可表明求解出的任务驱动参数属于有效参数,此时即可将将求解出的机器人在广义坐标位置处的目标加速度以及机器人目标外力数值作为目标驱动参数。
而如果在超过预设求解次数阈值和/或预设求解时长阈值的情况下才完成对上述QP问题的求解操作,则无法保证求解出的任务驱动参数是否有用,是否能够保证对应机器人动作满足机器人运动规律,并有效约束机器人的机体动作所对应的安全运动范围,此时即可维持当前时刻之前最近使用的任务驱动参数不变,以确保所述机器人维持在安全运行状态。
由此,本申请可通过执行上述子步骤S251及子步骤S252,确保求解出的任务驱动参数能够与机器人实时状态相匹配,并能基于任务驱动参数达到预期运动效果,使机器人动作符合机器人运动规律,并有效约束机器人机体动作的安全运动范围,从而提升机器人运行安全性。
步骤S260,按照目标驱动参数对所述机器人各关节端执行器的运行状态进行控制,使机器人对应执行目标任务。
在本实施例中,当所述控制设备10确定出与目标任务对应的目标驱动参数后,会根据机器人在广义坐标位置处的加速度值、广义力及机器人所受外力大小之间的参数关联关系,求得与所述目标驱动参数相对于的目标广义力,而后根据该目标广义力在各关节端执行器处的关节力矩分量调整对应关节端执行器的运行状态,以确保所述机器人能够对应执行所述目标任务。
其中,当确定出某个关节端执行器所对应的关节力矩分量后,会根据该关节端执行器的执行器类型,采用匹配的关节控制算法进行状态控制。例如,若某个关节端执行器的执行器类型为位控关节,则可基于对应关节力矩分量计算对应关节位置,并以计算出的关节位置来作为该关节端执行器的伺服角度;若某个关节端执行器的执行器类型为力控关节,则可直接基于该关节力矩分量作为该关节端执行器的跟踪力矩;若某个关节端执行器的执行器类型为力位混合控制关节,则可基于对应关节力矩分量计算对应关节位置及关节移动速度,而后综合利用关节力矩分量、关节位置及关节移动速度控制该关节端执行器的运行状态。
由此,本申请可通过执行上述步骤S210~步骤S260,将机器人实时状态结合到机器人运动状况的控制过程中,确保机器人实现预期运动效果,并同步地确保机器人动作符合机器人运动规律,有效约束机器人机体动作的安全运动范围,避免出现关节奇异现象或结构奇异现象,提升机器人运行安全性。
在本申请中,为确保所述控制设备10能够通过所述任务执行控制装置100执行上述任务执行控制方法,本申请通过对所述任务执行控制装置100进行功能模块划分的方式实现前述功能。下面对本申请提供的任务执行控制装置100的具体组成进行相应描述。
请参照图7,图7是本申请实施例提供的任务执行控制装置100的组成示意图。在本申请实施例中,所述任务执行控制装置100可以包括运动信息获取模块110、任务系数确定模块120、运动条件限制模块130、机体动作限制模块140、驱动参数求解模块150及任务执行控制模块160。
运动信息获取模块110,用于获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息。
任务系数确定模块120,用于根据期望运动轨迹信息以及运动状态信息,确定机器人执行目标任务所对应的任务执行系数矩阵。
运动条件限制模块130,用于根据期望运动轨迹信息以及运动状态信息,针对机器人的任务驱动参数构建匹配的动力学约束条件。
机体动作限制模块140,用于根据运动状态信息以及与目标任务对应的机体动作安全约束条件,针对任务驱动参数构建匹配的参数分布约束条件。
驱动参数求解模块150,用于采用任务执行系数矩阵求解预存的任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件的目标驱动参数。
任务执行控制模块160,用于按照目标驱动参数对机器人各关节端执行器的运行状态进行控制,使机器人对应执行所述目标任务。
其中,所述目标任务包括至少一项待执行任务,所述任务执行系数矩阵包括第一任务系数矩阵及第二任务系数矩阵,所述任务系数确定模块120根据期望运动轨迹信息以及运动状态信息,确定机器人执行目标任务所对应的任务执行系数矩阵的方式,包括:
针对每个待执行任务,从所述期望运动轨迹信息中获取与所述待执行任务对应的末端雅可比矩阵,并基于获取到的所述末端雅可比矩阵构建所述待执行任务的第一执行系数子矩阵;
从所述运动状态信息中获取所述机器人的广义速度,从所述期望运动轨迹信息中获取与所述待执行任务对应的期望末端加速度,并根据所述广义速度、所述末端雅可比矩阵以及所述期望末端加速度构建所述待执行任务的第二执行系数子矩阵;
根据所述目标任务中每个待执行任务的执行权重,将同一待执行任务的第一执行系数子矩阵与第二执行系数子矩阵分别与该待执行任务的执行权重进行加权运算,得到该待执行任务的第一加权参数子矩阵及第二加权参数子矩阵;
将所述目标任务下所有待执行任务各自的第一加权参数子矩阵进行矩阵聚合,得到所述目标任务的第一任务系数矩阵,并将所述目标任务下所有待执行任务各自的第二加权参数子矩阵进行矩阵聚合,得到所述目标任务的第二任务系数矩阵。
同时,所述任务驱动参数包括机器人在广义坐标位置处的加速度以及机器人所受外力大小,所述动力学约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000077
其中,q用于表示所述运动状态信息中的机器人广义坐标位置,
Figure PCTCN2021132997-appb-000078
用于表示所述运动状态信息中的机器人广义速度,M(·)用于表示所述期望运动轨迹信息中的机器人惯量矩阵,B(·)用于表示所述期望运动轨迹信息中的由离心力和科里奥利力产生的非线性矩阵,G(·)用于表示所述期望运动轨迹信息中的机器人重力矩阵,J ext用于表示所述期望运动轨迹信息中的外力作用点的雅可比矩阵,τ用于表示作用在所述机器人广义 坐标位置上的广义力大小,
Figure PCTCN2021132997-appb-000079
表示所述机器人在所述广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小。
可选地,若所述机体动作安全约束条件包括针对机器人关节的有效关节位置约束条件,则所述机体动作限制模块140根据运动状态信息以及与目标任务对应的机体动作安全约束条件,针对任务驱动参数构建匹配的参数分布约束条件的方式,包括:
根据运动状态信息中的关节实时位置,构建匹配的关节位置预测函数;
将关节位置预测函数代入有效关节位置约束条件中进行参数换算,得到与机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在此过程中,所述关节位置预测函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000080
其中,q(t)用于表示t时刻的预测关节位置,
Figure PCTCN2021132997-appb-000081
用于表示当前时刻
Figure PCTCN2021132997-appb-000082
的关节实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000083
Figure PCTCN2021132997-appb-000084
的一阶导数,用于表示当前时刻
Figure PCTCN2021132997-appb-000085
的关节速度,
Figure PCTCN2021132997-appb-000086
Figure PCTCN2021132997-appb-000087
的二阶导数,用于表示当前时刻
Figure PCTCN2021132997-appb-000088
的关节加速度;
所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000089
Figure PCTCN2021132997-appb-000090
其中,
Figure PCTCN2021132997-appb-000091
表示所述机器人在所述广义坐标位置处的加速度,
Figure PCTCN2021132997-appb-000092
用于表示所述运动状态信息中的机器人广义速度,q用于表示所述运动状态信息中的机器人广义坐标位置,θ min用于表示所述有效关节位置约束条件中的关节位置下限边界,θ max用于表示所述有效关节位置约束条件中的关节位置上限边界。
可选地,若所述机体动作安全约束条件包括针对机器人任务空间的任务空间位置约 束条件,则所述机体动作限制模块140根据运动状态信息以及与目标任务对应的机体动作安全约束条件,针对任务驱动参数构建匹配的参数分布约束条件的方式,包括:
根据运动状态信息中的任务空间实时位置,构建匹配的任务空间位置预测函数;
将任务空间实时位置、速度雅可比矩阵及机器人广义速度之间的预设关联关系,以及任务空间位置预测函数代入任务空间位置约束条件中进行参数换算,得到与机器人在广义坐标位置处的加速度对应的参数分布约束条件。
在此过程中,所述任务空间位置预测函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000093
其中,γ(t)用于表示t时刻的预测任务空间位置,
Figure PCTCN2021132997-appb-000094
用于表示当前时刻
Figure PCTCN2021132997-appb-000095
的任务空间实时位置,Δt用于表示预设时间间隔,
Figure PCTCN2021132997-appb-000096
Figure PCTCN2021132997-appb-000097
的一阶导数,
Figure PCTCN2021132997-appb-000098
Figure PCTCN2021132997-appb-000099
的二阶导数;
所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
Figure PCTCN2021132997-appb-000100
Figure PCTCN2021132997-appb-000101
其中,
Figure PCTCN2021132997-appb-000102
表示所述机器人在所述广义坐标位置处的加速度,J用于表示所述期望运动轨迹信息中的速度雅可比矩阵,
Figure PCTCN2021132997-appb-000103
用于表示当前时刻
Figure PCTCN2021132997-appb-000104
的机器人广义速度,
Figure PCTCN2021132997-appb-000105
为J的一阶导数,r min用于表示所述任务空间位置约束条件中的位置下限边界,r max用于表示所述任务空间位置约束条件中的位置上限边界。
而对所述驱动参数求解模块150来说,所述驱动参数求解模块150采用任务执行系数矩阵求解预存的任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件 的目标驱动参数的方式,包括:
将所述任务执行系数矩阵、所述动力学约束条件以及所述参数分布约束条件代入所述任务执行损失函数进行参数迭代求解;
若在对应迭代求解次数小于或等于预设求解次数阈值,并且/或者对应迭代求解时长小于或等于预设求解时长阈值的情况下求解出所述任务执行损失函数,则将求解出的机器人在广义坐标位置处的目标加速度以及机器人目标外力数值作为所述目标驱动参数,否则将当前时刻以前最近使用的任务驱动参数作为所述目标驱动参数。
其中,所述任务执行损失函数采用如下式子表达为:
Figure PCTCN2021132997-appb-000106
其中
Figure PCTCN2021132997-appb-000107
其中,A用于表示所述目标任务的第一任务系数矩阵,b用于表示所述目标任务的第二任务系数矩阵,
Figure PCTCN2021132997-appb-000108
表示所述机器人在广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小,||·|| 2用于表示向量二范数,w用于表示所述目标任务的执行权重矩阵。
需要说明的是,本申请实施例所提供的任务执行控制装置100,其基本原理及产生的技术效果与前述的任务执行控制方法相同。为简要描述,本实施例部分未提及之处,可参考上述的针对任务执行控制方法的描述内容。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,在本申请提供的一种任务执行控制方法、装置、控制设备及可读存储介质中,本申请基于获取到的机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息,确定机器人执行目标任务时的任务执行系数矩阵,以及与机器人的任务驱动参数匹配的动力学约束条件,并根据运动状态信息及与目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件,接着使用任务执行系数矩阵求解任务执行损失函数,得到满足动力学约束条件以及参数分布约束条件的目标驱动参数,最后按照目标驱动参数对机器人各关节端执行器的运行状态进行控制,使机器人对应执行目标任务,从而将机器人实时状态有效地结合到机器人运动状况的控制过程中,确保机器人实现预期运动效果,并确保机器人的机体动作符合机器人运动规律且处于安全运动范围内,提升机器人运行安全性。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应当以权利要求的保护范围为准。

Claims (12)

  1. 一种任务执行控制方法,其特征在于,所述方法包括:
    获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息;
    根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵;
    根据所述期望运动轨迹信息以及所述运动状态信息,针对所述机器人的任务驱动参数构建匹配的动力学约束条件;
    根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件;
    采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数;
    按照所述目标驱动参数对所述机器人各关节端执行器的运行状态进行控制,使所述机器人对应执行所述目标任务。
  2. 根据权利要求1所述的方法,其特征在于,所述目标任务包括至少一项待执行任务,所述任务执行系数矩阵包括第一任务系数矩阵及第二任务系数矩阵,所述根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵,包括:
    针对每个待执行任务,从所述期望运动轨迹信息中获取与所述待执行任务对应的末端雅可比矩阵,并基于获取到的所述末端雅可比矩阵构建所述待执行任务的第一执行系数子矩阵;
    从所述运动状态信息中获取所述机器人的广义速度,从所述期望运动轨迹信息中获取与所述待执行任务对应的期望末端加速度,并根据所述广义速度、所述末端雅可比矩阵以及所述期望末端加速度构建所述待执行任务的第二执行系数子矩阵;
    根据所述目标任务中每个待执行任务的执行权重,将同一待执行任务的第一执行系数子矩阵与第二执行系数子矩阵分别与该待执行任务的执行权重进行加权运算,得到该 待执行任务的第一加权参数子矩阵及第二加权参数子矩阵;
    将所述目标任务下所有待执行任务各自的第一加权参数子矩阵进行矩阵聚合,得到所述目标任务的第一任务系数矩阵,并将所述目标任务下所有待执行任务各自的第二加权参数子矩阵进行矩阵聚合,得到所述目标任务的第二任务系数矩阵。
  3. 根据权利要求1所述的方法,其特征在于,所述任务驱动参数包括机器人在广义坐标位置处的加速度以及机器人所受外力大小,动力学约束条件采用如下式子表达为:
    Figure PCTCN2021132997-appb-100001
    其中,q用于表示所述运动状态信息中的机器人广义坐标位置,
    Figure PCTCN2021132997-appb-100002
    用于表示所述运动状态信息中的机器人广义速度,M(·)用于表示所述期望运动轨迹信息中的机器人惯量矩阵,B(·)用于表示所述期望运动轨迹信息中的由离心力和科里奥利力产生的非线性矩阵,G(·)用于表示所述期望运动轨迹信息中的机器人重力矩阵,J ext用于表示所述期望运动轨迹信息中的外力作用点的雅可比矩阵,τ用于表示作用在所述机器人广义坐标位置上的广义力大小,
    Figure PCTCN2021132997-appb-100003
    表示所述机器人在所述广义坐标位置处的加速度,f ext用于表示所述机器人所受外力大小。
  4. 根据权利要求1所述的方法,其特征在于,所述机体动作安全约束条件包括针对机器人关节的有效关节位置约束条件,则所述根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件的步骤,包括:
    根据所述运动状态信息中的关节实时位置,构建匹配的关节位置预测函数;
    将所述关节位置预测函数代入所述有效关节位置约束条件中进行参数换算,得到与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件。
  5. 根据权利要求4所述的方法,其特征在于,所述关节位置预测函数采用如下式子表达为:
    Figure PCTCN2021132997-appb-100004
    其中,q(t)用于表示t时刻的预测关节位置,
    Figure PCTCN2021132997-appb-100005
    用于表示当前时刻
    Figure PCTCN2021132997-appb-100006
    的关节实时位置,Δt用于表示预设时间间隔,
    Figure PCTCN2021132997-appb-100007
    Figure PCTCN2021132997-appb-100008
    的一阶导数,用于表示当前时 刻
    Figure PCTCN2021132997-appb-100009
    的关节速度,
    Figure PCTCN2021132997-appb-100010
    Figure PCTCN2021132997-appb-100011
    的二阶导数,用于表示当前时刻
    Figure PCTCN2021132997-appb-100012
    的关节加速度;
    所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
    Figure PCTCN2021132997-appb-100013
    Figure PCTCN2021132997-appb-100014
    其中,
    Figure PCTCN2021132997-appb-100015
    表示所述机器人在所述广义坐标位置处的加速度,
    Figure PCTCN2021132997-appb-100016
    用于表示所述运动状态信息中的机器人广义速度,q用于表示所述运动状态信息中的机器人广义坐标位置,θ min用于表示所述有效关节位置约束条件中的关节位置下限边界,θ max用于表示所述有效关节位置约束条件中的关节位置上限边界。
  6. 根据权利要求1所述的方法,其特征在于,所述机体动作安全约束条件包括针对机器人任务空间的任务空间位置约束条件,则所述根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件的步骤,包括:
    根据所述运动状态信息中的任务空间实时位置,构建匹配的任务空间位置预测函数;
    将任务空间实时位置、速度雅可比矩阵及机器人广义速度之间的预设关联关系,以及所述任务空间位置预测函数代入所述任务空间位置约束条件中进行参数换算,得到与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件。
  7. 根据权利要求6所述的方法,其特征在于,所述任务空间位置预测函数采用如下式子表达为:
    Figure PCTCN2021132997-appb-100017
    其中,γ(t)用于表示t时刻的预测任务空间位置,
    Figure PCTCN2021132997-appb-100018
    用于表示当前时刻
    Figure PCTCN2021132997-appb-100019
    的任务空间实时位置,Δt用于表示预设时间间隔,
    Figure PCTCN2021132997-appb-100020
    Figure PCTCN2021132997-appb-100021
    的一阶导数,
    Figure PCTCN2021132997-appb-100022
    Figure PCTCN2021132997-appb-100023
    的二阶导数;
    所述与所述机器人在广义坐标位置处的加速度对应的参数分布约束条件采用如下式子表达为:
    Figure PCTCN2021132997-appb-100024
    Figure PCTCN2021132997-appb-100025
    其中,
    Figure PCTCN2021132997-appb-100026
    表示所述机器人在所述广义坐标位置处的加速度,J用于表示所述期望运动轨迹信息中的速度雅可比矩阵,
    Figure PCTCN2021132997-appb-100027
    用于表示当前时刻
    Figure PCTCN2021132997-appb-100028
    的机器人广义速度,
    Figure PCTCN2021132997-appb-100029
    为J的一阶导数,r min用于表示所述任务空间位置约束条件中的位置下限边界,r max用于表示所述任务空间位置约束条件中的位置上限边界。
  8. 根据权利要求1-7中任意一项所述的方法,其特征在于,所述采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数的步骤,包括:
    将所述任务执行系数矩阵、所述动力学约束条件以及所述参数分布约束条件代入所述任务执行损失函数进行参数迭代求解;
    若在对应迭代求解次数小于或等于预设求解次数阈值,并且/或者对应迭代求解时长小于或等于预设求解时长阈值的情况下求解出所述任务执行损失函数,则将求解出的机器人在广义坐标位置处的目标加速度以及机器人目标外力数值作为所述目标驱动参数,否则将当前时刻以前最近使用的任务驱动参数作为所述目标驱动参数。
  9. 根据权利要求8所述的方法,其特征在于,所述任务执行损失函数采用如下式子表达为:
    Figure PCTCN2021132997-appb-100030
    其中,A用于表示所述目标任务的第一任务系数矩阵,b用于表示所述目标任务的第二任务系数矩阵,
    Figure PCTCN2021132997-appb-100031
    表示所述机器人在广义坐标位置处的加速度,f ext用于表示所 述机器人所受外力大小,||·|| 2用于表示向量二范数,w用于表示所述目标任务的执行权重矩阵。
  10. 一种任务执行控制装置,其特征在于,所述装置包括:
    运动信息获取模块,用于获取机器人当前的运动状态信息以及与目标任务对应的期望运动轨迹信息;
    任务系数确定模块,用于根据所述期望运动轨迹信息以及所述运动状态信息,确定所述机器人执行所述目标任务所对应的任务执行系数矩阵;
    运动条件限制模块,用于根据所述期望运动轨迹信息以及所述运动状态信息,针对所述机器人的任务驱动参数构建匹配的动力学约束条件;
    机体动作限制模块,用于根据所述运动状态信息以及与所述目标任务对应的机体动作安全约束条件,针对所述任务驱动参数构建匹配的参数分布约束条件;
    驱动参数求解模块,用于采用所述任务执行系数矩阵求解预存的任务执行损失函数,得到满足所述动力学约束条件以及所述参数分布约束条件的目标驱动参数;
    任务执行控制模块,用于按照所述目标驱动参数对所述机器人各关节端执行器的运行状态进行控制,使所述机器人对应执行所述目标任务。
  11. 一种控制设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,实现权利要求1-9中任意一项所述的任务执行控制方法。
  12. 一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-9中任意一项所述的任务执行控制方法。
PCT/CN2021/132997 2021-02-05 2021-11-25 任务执行控制方法、装置、控制设备及可读存储介质 WO2022166328A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/230,620 US20230373089A1 (en) 2021-02-05 2023-08-05 Method for controlling robot, robot and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110164574.2A CN112775976B (zh) 2021-02-05 2021-02-05 任务执行控制方法、装置、控制设备及可读存储介质
CN202110164574.2 2021-02-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/230,620 Continuation US20230373089A1 (en) 2021-02-05 2023-08-05 Method for controlling robot, robot and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2022166328A1 true WO2022166328A1 (zh) 2022-08-11

Family

ID=75761072

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/132997 WO2022166328A1 (zh) 2021-02-05 2021-11-25 任务执行控制方法、装置、控制设备及可读存储介质

Country Status (3)

Country Link
US (1) US20230373089A1 (zh)
CN (1) CN112775976B (zh)
WO (1) WO2022166328A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115533922A (zh) * 2022-11-29 2022-12-30 北京航空航天大学杭州创新研究院 位姿关系标定方法及装置、计算机设备和可读存储介质
CN115533924A (zh) * 2022-12-01 2022-12-30 北京航空航天大学杭州创新研究院 协同运动控制方法及装置、机器人控制设备和存储介质
CN115813563A (zh) * 2023-02-20 2023-03-21 北京壹点灵动科技有限公司 手术机器人控制方法、装置、存储介质以及处理器
CN116449852A (zh) * 2023-06-13 2023-07-18 麦岩智能科技(北京)有限公司 一种轨迹规划方法、装置、电子设备及介质
CN117647985A (zh) * 2024-01-30 2024-03-05 中国科学院苏州生物医学工程技术研究所 一种助力机器人轨迹跟踪控制方法、系统、设备及介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112775976B (zh) * 2021-02-05 2022-05-10 深圳市优必选科技股份有限公司 任务执行控制方法、装置、控制设备及可读存储介质
CN113033027B (zh) * 2021-05-18 2021-11-02 追觅创新科技(苏州)有限公司 智能机器人的步态控制方法及装置、存储介质、电子装置
CN113290559B (zh) * 2021-05-26 2022-11-11 深圳市优必选科技股份有限公司 机器人平衡控制方法、装置、机器人控制设备及存储介质
CN114147710B (zh) * 2021-11-27 2023-08-11 深圳市优必选科技股份有限公司 机器人的控制方法、装置、机器人及存储介质
CN114137982A (zh) * 2021-11-29 2022-03-04 深圳市优必选科技股份有限公司 机器人运动控制方法及装置、机器人控制设备和存储介质
CN114237233B (zh) * 2021-11-30 2024-02-23 深圳市优必选科技股份有限公司 机器人下棋方法、装置、计算机可读存储介质及机器人
CN114260892B (zh) * 2021-12-17 2023-12-15 深圳市优必选科技股份有限公司 弹性关节力矩控制方法、装置、可读存储介质及机器人
CN114326769B (zh) * 2021-12-28 2024-03-29 深圳市优必选科技股份有限公司 机器人运动矫正方法及装置、机器人控制设备和存储介质
CN116728393A (zh) * 2022-03-01 2023-09-12 腾讯科技(深圳)有限公司 机器人控制方法和机器人
CN116736748A (zh) * 2022-03-01 2023-09-12 腾讯科技(深圳)有限公司 构建机器人的控制器的方法和机器人
CN114633259B (zh) * 2022-04-26 2023-08-08 军事科学院系统工程研究院卫勤保障技术研究所 一种并联移动机器人步距优化方法及装置
CN117084790B (zh) * 2023-10-19 2024-01-02 苏州恒瑞宏远医疗科技有限公司 一种穿刺方位控制方法、装置、计算机设备、存储介质
CN118163116B (zh) * 2024-05-11 2024-07-12 北京航空航天大学 一种机器人控制方法、装置和机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075614A1 (en) * 2016-09-12 2018-03-15 DunAn Precision, Inc. Method of Depth Estimation Using a Camera and Inertial Sensor
CN111015649A (zh) * 2019-10-12 2020-04-17 深圳先进技术研究院 一种驱控一体化控制系统
CN111203878A (zh) * 2020-01-14 2020-05-29 北京航空航天大学 一种基于视觉模仿的机器人序列任务学习方法
CN111618864A (zh) * 2020-07-20 2020-09-04 中国科学院自动化研究所 基于自适应神经网络的机器人模型预测控制方法
CN112775976A (zh) * 2021-02-05 2021-05-11 深圳市优必选科技股份有限公司 任务执行控制方法、装置、控制设备及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019096B (zh) * 2012-11-23 2015-09-16 北京理工大学 一种基于加速度优化的仿人机器人逆动力学控制器
CN103926925B (zh) * 2014-04-22 2015-04-29 江苏久祥汽车电器集团有限公司 一种基于改进的vfh算法的定位与避障方法及机器人
CN103955611B (zh) * 2014-04-28 2017-04-19 西北工业大学 一种空间绳系机器人的通用动力学模型的建立方法
CN103991074B (zh) * 2014-05-21 2015-10-21 北京邮电大学 一种基于粒子滤波算法的空间机械臂控制方法及系统
CN105751230B (zh) * 2016-03-31 2018-12-21 纳恩博(北京)科技有限公司 一种路径控制方法、路径规划方法、第一设备及第二设备
CN106113034B (zh) * 2016-06-12 2018-06-12 哈尔滨工程大学 一种六自由度机械臂考虑力约束的轨迹规划方法
CN109790723B (zh) * 2016-07-15 2021-12-31 快砖知识产权私人有限公司 结合在交通工具中的砖块/砌块铺设机器
US20180075609A1 (en) * 2016-09-12 2018-03-15 DunAn Precision, Inc. Method of Estimating Relative Motion Using a Visual-Inertial Sensor
CN108445750B (zh) * 2017-02-16 2022-04-08 法拉第未来公司 用于车辆运动规划的方法和系统
DE102017129665B3 (de) * 2017-12-12 2019-01-24 Pilz Gmbh & Co. Kg Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
US20200306998A1 (en) * 2019-03-25 2020-10-01 Boston Dynamics, Inc. Multi-Body Controller
CN110209048A (zh) * 2019-05-20 2019-09-06 华南理工大学 基于动力学模型的机器人时间最优轨迹规划方法、设备
CN112060075B (zh) * 2020-07-21 2022-01-04 深圳先进技术研究院 步态生成网络的训练方法、训练设备以及存储介质
CN111880544B (zh) * 2020-08-07 2024-03-22 深圳市优必选科技股份有限公司 仿人机器人步态规划方法、装置和仿人机器人

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075614A1 (en) * 2016-09-12 2018-03-15 DunAn Precision, Inc. Method of Depth Estimation Using a Camera and Inertial Sensor
CN111015649A (zh) * 2019-10-12 2020-04-17 深圳先进技术研究院 一种驱控一体化控制系统
CN111203878A (zh) * 2020-01-14 2020-05-29 北京航空航天大学 一种基于视觉模仿的机器人序列任务学习方法
CN111618864A (zh) * 2020-07-20 2020-09-04 中国科学院自动化研究所 基于自适应神经网络的机器人模型预测控制方法
CN112775976A (zh) * 2021-02-05 2021-05-11 深圳市优必选科技股份有限公司 任务执行控制方法、装置、控制设备及可读存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115533922A (zh) * 2022-11-29 2022-12-30 北京航空航天大学杭州创新研究院 位姿关系标定方法及装置、计算机设备和可读存储介质
CN115533924A (zh) * 2022-12-01 2022-12-30 北京航空航天大学杭州创新研究院 协同运动控制方法及装置、机器人控制设备和存储介质
CN115533924B (zh) * 2022-12-01 2023-02-28 北京航空航天大学杭州创新研究院 协同运动控制方法及装置、机器人控制设备和存储介质
CN115813563A (zh) * 2023-02-20 2023-03-21 北京壹点灵动科技有限公司 手术机器人控制方法、装置、存储介质以及处理器
CN116449852A (zh) * 2023-06-13 2023-07-18 麦岩智能科技(北京)有限公司 一种轨迹规划方法、装置、电子设备及介质
CN117647985A (zh) * 2024-01-30 2024-03-05 中国科学院苏州生物医学工程技术研究所 一种助力机器人轨迹跟踪控制方法、系统、设备及介质
CN117647985B (zh) * 2024-01-30 2024-05-03 中国科学院苏州生物医学工程技术研究所 一种助力机器人轨迹跟踪控制方法、系统、设备及介质

Also Published As

Publication number Publication date
CN112775976A (zh) 2021-05-11
CN112775976B (zh) 2022-05-10
US20230373089A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
WO2022166328A1 (zh) 任务执行控制方法、装置、控制设备及可读存储介质
CN107490965B (zh) 一种空间自由漂浮机械臂的多约束轨迹规划方法
WO2022205940A1 (zh) 机器人运动控制方法、装置和机器人
Xu et al. Motion planning of manipulators for simultaneous obstacle avoidance and target tracking: An RNN approach with guaranteed performance
Xiang et al. A varied weights method for the kinematic control of redundant manipulators with multiple constraints
CN107942670B (zh) 一种双柔性空间机械臂模糊鲁棒滑模削抖运动控制方法
WO2007127723A2 (en) Control of robots from human motion descriptors
Mitrovic et al. Optimal feedback control for anthropomorphic manipulators
Li Robot target localization and interactive multi-mode motion trajectory tracking based on adaptive iterative learning
Ni et al. Coordinated trajectory planning of a dual-arm space robot with multiple avoidance constraints
Chung et al. Torque optimizing control with singularity-robustness for kinematically redundant robots
Bai et al. Sliding mode nonlinear disturbance observer-based adaptive back-stepping control of a humanoid robotic dual manipulator
Cui et al. Coupled multiple dynamic movement primitives generalization for deformable object manipulation
Luo et al. Segmented hybrid motion-force control for a hyper-redundant space manipulator
Zhu et al. Real-time dynamic obstacle avoidance for robot manipulators based on cascaded nonlinear MPC with artificial potential field
CN113370205B (zh) 一种基于机器学习的Baxter机械臂轨迹跟踪控制方法
Kingston et al. Kinematically constrained workspace control via linear optimization
CN114102599A (zh) 基于柔性机械臂的人机交互自适应控制方法和系统
JP7221833B2 (ja) 非線形モデル予測制御装置
Papageorgiou et al. Learning by demonstration for constrained tasks
Na et al. Adaptive impedance control of a haptic teleoperation system for improved transparency
Chen et al. The point-to-point multi-region energy-saving trajectory planning for a mechatronic elevator system
Puga et al. Optimal trajectory planning for a redundant mobile manipulator with non-holonomic constraints performing push–pull tasks
US20230191600A1 (en) Motion control method, robot, and computer-readable storage medium
Thota et al. Learning and synchronization of movement primitives for bimanual manipulation tasks

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: 21924323

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: 21924323

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21924323

Country of ref document: EP

Kind code of ref document: A1