ROBOT CONTROL
20230085221 · 2023-03-16
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1661
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/40371
PHYSICS
International classification
Abstract
A method to control a robot to perform at least one Cartesian or joint space task comprises using quadratic programming to determine joint forces, in particular joint torques, and/or joint accelerations of said robot based on at least one cost function which depends on said task.
Claims
1-13. (canceled)
14. A method for controlling a robot to perform at least one Cartesian or joint space task, the robot comprising a plurality of links connected by joints, the method comprising: determining at least one of joint forces or joint accelerations of the robot using quadratic programming and based on at least one cost function which depends on at least one first Cartesian or joint space task; and controlling the robot to perform the at least one first task based on the determined joint forces or joint accelerations.
15. The method of claim 14, wherein the joint forces are joint torques.
16. The method of claim 14, wherein at least one of: the robot is redundant with respect to the at least one first task; controlling the robot to perform the at least one first task comprises controlling the robot by force control; or controlling the robot to perform the at least one first task comprises controlling the robot by compliance control.
17. The method of claim 16, wherein controlling movement of the robot by force control comprises controlling movement of the robot by torque control.
18. The method of claim 14, wherein at least one of: the robot is redundant with respect to the at least one first task; or controlling the robot to perform the at least one first task comprises controlling the robot by pose control.
19. The method of claim 14, further comprising: controlling the robot to perform at least one second Cartesian or joint space task simultaneously with the at least one first task; wherein quadratic programming is used to determine at least one of joint forces or joint accelerations of the robot based on the at least one first task and the at least one second task; and wherein at least one quadratic problem is solved to determine the joint forces or joint accelerations.
20. The method of claim 19, wherein the joint forces comprise joint torques.
21. The method of claim 19, further comprising: prioritizing the at least one first task and the at least one second task among each other.
22. The method of claim 21, wherein prioritizing the at least one first task and the at least one second task comprises selectively prioritizing the tasks by a soft hierarchy or a strict hierarchy.
23. The method of claim 22, wherein the at least one first task and the at least one second task are prioritized by a soft hierarchy by assigning a weight for each task depending on a relative importance of a given task to other tasks.
24. The method of claim 22, wherein the at least one first task and the at least one second task are prioritized by a strict hierarchy, wherein priority guaranties the prioritized scheme and lower priority tasks are scarified if they conflict with higher priority tasks.
25. The method of claim 14, wherein using quadratic programming to determine at least one of joint forces or joint accelerations of the robot is based on at least one of: at least one inequality constraint in Cartesian and/or joint space; at least one velocity limit in Cartesian and/or joint space; or at least one acceleration limit in Cartesian and/or joint space.
26. The method of claim 25, wherein at least one of: the joint forces comprise joint torques; or the at least one inequality constraint comprises at least one of: at least one pose limit, at least one position limit, or at least one orientation limit.
27. The method of claim 25, wherein at least one of: one or more of at least one Cartesian constraint, at least one joint velocity constraint, or at least one acceleration constraint is shaped such that a velocity limit becomes zero at a pose limit; or an orientation of a robot-fixed reference with respect to at least one predetermined direction in Cartesian space is limited.
28. The method of claim 14, wherein controlling the robot to perform the at least one task comprises controlling the robot while avoiding at least one static or dynamic obstacle.
29. The method of claim 28, wherein at least one of: avoiding at least one obstacle is performed based on a Jacobian representing a constraint; or the at least one obstacle is determined based on at least one of a model of the environment surrounding the robot or on computer vision.
30. A system for controlling a robot to perform at least one Cartesian or joint space task, the system comprising: means for determining at least one of joint forces or joint accelerations of the robot using quadratic programming and based on at least one cost function which depends on the at least one first task; and means for controlling the robot to perform the at least one first task based on the at least one determined joint forces or joint accelerations.
31. A computer program product for controlling a robot to perform at least one Cartesian or joint space task, the computer program product comprising program code stored on a non-transitory, computer-readable medium, the program code, when executed by a computer, causing the computer to: determine at least one of joint forces or joint accelerations of the robot using quadratic programming and based on at least one cost function which depends on the at least one first task; and control the robot to perform the at least one first task based on the at least one determined joint forces or joint accelerations.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0152] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with a general description of the invention given above, and the detailed description given below, serve to explain the principles of the invention.
[0153]
[0154]
[0155]
[0156]
[0157]
DETAILED DESCRIPTION
[0158]
[0159]
[0160] In a first step S10 a user determines the task(s) to be performed and/or pose, in particular position and/or orientation, limits in Cartesian space, e.g. limits for the robots TCP and/or an elbow of robot 1, velocity limits in Cartesian space, e.g. for the robots end effector or flange respectively, and/or pose and/or velocity limits in joint space, e.g. limits for q.sub.1, . . . q.sub.7, and/or their time derivatives respectively. The user may determine the task(s) and/or limits by programing, selecting and/or parametrizing program modules or the like. The robot control(ler) 2 receives corresponding data in step S10.
[0161] In step S20 robot control(ler) 2 receives signals indicating the actual joint coordinates and/or their time derivatives and/or actual torques τ.sub.1, . . . τ.sub.7, acting at the joint axes. Additionally it may receive signals from a computer vision system determining obstacles (not shown).
[0162] Based thereon robot control(ler) 2 solves the respective quadratic problem(s) to perform the predetermined task(s) while observing or complying with the predetermined limits respectively (step S30).
[0163] Joint torques τ.sub.1, . . . τ.sub.7 and joint accelerations {umlaut over (q)}.sub.1, . . . , {umlaut over (q)}.sub.7 are used as optimization problem variables. Thus, robot control(ler) 2 determines optimal joint torques and accelerations in step S30.
[0164] According to one embodiment, said optimal joint torques are used in a torque control in step S40, thus realizing a compliant control which allows a human operator to hand-guide the robot while it performs the task(s). According to another embodiment, said optimal joint accelerations are used in a pose control in step S40.
[0165] If the task(s) has/have been completed (step S50: “Y”), the method ends (step S60). Otherwise (step S50: “N”), a next cycle or time step is performed.
[0166] While the present invention has been illustrated by a description of various embodiments, and while these embodiments have been described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such de-tail. The various features shown and described herein may be used alone or in any combination. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative example shown and described.
Accordingly, departures may be made from such details without departing from the spirit and scope of the general inventive concept.