Event-based redundancy angle configuration for articulated-arm robots
09616564 ยท 2017-04-11
Assignee
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
Y10S901/04
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1674
PERFORMING OPERATIONS; TRANSPORTING
International classification
G05B19/04
PHYSICS
B25J9/06
PERFORMING OPERATIONS; TRANSPORTING
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The invention relates to a method and a system for controlling a robot, which has at least one redundant degree of freedom. The method according to the invention prevents the robot from colliding with its surrounding environment and/or from getting into an inconvenient position as a result of its redundancy, and does so without causing any disadvantageous displacement of the tool center point.
Claims
1. A method for controlling a hand-guided multi-axle manipulator, in particular an articulated-arm robot, the axes of which are equipped with sensors to register the torques acting on the axes and the positions of a plurality of joints of the multi-axle manipulator, wherein the manipulator has at least one redundant degree of freedom, and wherein the manipulator has a tool center point, which includes the following method steps performed by a control device: defining, for at least one of the plurality of joints of the manipulator, a range in which the joint of the manipulator can move freely according to the overall movement of the manipulator; determining according to a position registered by one of the sensors whether the joint has reached a limit of the range defined for the joint as a tool center point of the manipulator is guided by an operator; and adjusting movement of the manipulator in response to the determination that the joint has reached the limit of the range defined for the joint, so that a movement of the joint through the limit is counteracted, without the tool center point of the robot being displaced as a result of the counteraction.
2. The method according to claim 1, wherein the adjustment of the movement comprises at least one of a change in the stiffness of the joints of the manipulator or an application of a force.
3. The method according to claim 2, wherein the adjustment of the movement pertains to the one joint which has reached a limit of the range defined for the joint.
4. The method according to claim 3, wherein the adjustment of the movement does not pertain to any of the other joints.
5. The method according to claim 1, wherein the manipulator has at least six axes A1 to A6 and the adjustment of the movement is a change in the stiffness of the joints of the axes A3 or A4 of the manipulator, wherein the joints of the axes A3 or A4define an elbow joint of the manipulator.
6. The method according to claim 1, wherein the adjustment of the movement comprises a redirection of the movement of the one joint, which has reached the limit of the range defined for the joint.
7. The method according to claim 1, wherein the determination of whether the one joint of the manipulator is located outside of the range defined for the joint comprises an identification of rising and/or falling edges of signals produced by the one sensor.
8. The method according to claim 1, wherein the determination is carried out while the manipulator is guided by the operator in a force-compensated mode.
9. The method according to claim 1, wherein the adjustment of the movement of the manipulator can be manually triggered, and the adjustment then occurs automatically.
10. A manipulator system, comprising: a hand-guided multi-axle manipulator the axes of which are equipped with sensors to register the torques acting on the axes and the positions of a plurality of joints of the multi-axle manipulator, wherein the manipulator has at least one redundant degree of freedom and wherein the manipulator has a tool center point, and a control device, wherein the control device is configured to: a) define, for at least one of the plurality of joints of the manipulator, a range in which the joint of the manipulator can move freely according to the overall movement of the manipulator; b) determine according to a position registered by one of the sensors whether the joint has reached a limit of the range defined for the joint as a tool center point of the manipulator is guided by an operator; and c) adjust a movement of the manipulator in response to the determination that the joint has reached the limit of the range defined for the joint, so that a movement of the joint through the limit is counteracted, without the tool center point of the robot being displaced as a result of the counteraction.
11. The manipulator system of claim 10, wherein the hand-guided multi-axle manipulator is an articulated arm robot.
Description
4. EXEMPLARY EMBODIMENTS
(1) The invention is described in greater detail below with reference to the accompanying figures, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) In step 304 the elbow joint of the manipulator approaches the limit of the defined range. This approximation takes place in response to the hand-guided movement of the manipulator. In the decision 305 it is checked whether the elbow joint has reached a limit of the range defined for the joint. Alternatively, in the decision 305 it can be checked whether the stipulation defined in step 303 has been satisfied.
(11) If the result of the check 305 is positive, in step 306 a time-synchronous message with system information is provided. This system information can contain, among other things, the current position of the manipulator and of the elbow or the current elbow angle, as well as the forces and/or torques in the individual joints.
(12) At the point in time 307, the elbow joint of the manipulator is located at the limit of the defined working range. In step 308, a response strategy is executed. This response strategy can, according to the decision 309, consist of one or more responses and depend on the system information provided. Thus, in step 310, the stiffness of the elbow joint can be increased. In other words, the elbow angle is made more rigid in order to prevent another drop in the elbow angle. In the torque control, the stiffness of the elbow joint can be increased. In step 311, a direction-oriented application of force to the elbow joint can take place. The application of a force pulse is realized in a time-synchronous manner, so that the elbow joint is shifted back into the permitted range. Alternatively, in step 312, the Cartesian position of the elbow joint itself can be commanded afresh, in order to reach a desired position. This variant is advantageous, in particular when the monitoring of the elbow is intended to prevent the manipulator from colliding with its surrounding environment.
(13) In the decision 313 it is determined whether the joint of the manipulator is located in the defined range. At the time 314, the elbow joint of the manipulator is again located inside the range defined for the joint.
(14) The person skilled in the art will understand that the three described response strategies 310, 311 and 312 represent exemplary responses only, and other possible response strategies can be selected. The programmer or operator can decide for himself/herself which response strategy is to be applied and whether several strategies should be combined.
(15) Preferably, the operator can, by pressing a corresponding button on a media flange or tool, produce a manipulator response. Consequently, the adjustment of the movement of the manipulator can be manually triggered, and the adjustment itself then occurs automatically. For example, the operator can manually trigger an adjustment of the movement of the manipulator, whereupon the manipulator automatically responds accordingly, so that a movement of a joint through a limit of the range defined for the joint is counteracted, and without the tool center point of the manipulator being displaced as a result of the counteraction.
(16) In the patent document WO 2014/043702 A1 above-noted as incorporated by reference in its entirety herein, series elastic actuators are disclosed that may be used at the robot joints 121, 122, 123, 124, 125, 126, 127 of the robot 100 in accordance with the present invention. Series elastic actuators are described in detail in, for example, U.S. Pat. No. 5,650,704, issued on Jul. 22, 1997, the entire disclosure of which is hereby incorporated by reference in the patent document WO 2014/043702 A1. As schematically illustrated in
(17) The series elastic actuator 400 is typically equipped with one or more sensors for monitoring the state of the joint, such a position sensor or encoder 410 (e.g., a set of Hall-effect sensors and associated counting circuitry) associated with the motor 402, an Ampere-meter 412 measuring a current supplied to the motor 402, a spring deflection sensor 414 measuring the angle that the series-elastic element 406 deflects, and an output position sensor 416 (e.g., a magnetic angle encoder) measuring the output angle of the joint. The electrical current driving the motor 402 may for example be set by the control device 500 of
(18) Patent document WO 2014/043702 A1 further discloses a general purpose computer 500 that may be used as a control device in accordance with the present invention. The computer 500 may include a processor (CPU) 502 and associated system memory 504 (e.g., random access memory (RAM)), one or more non-volatile storage devices 506 (e.g., one or more hard drives, CD-ROMs, DVDs, magnetic tapes, USB memory keys, or other conventional data storage media), a user interface 508 with input/output (I/O) devices (e.g., screen, keyboard, and mouse), and a system bus 510 that facilitates communication between these components. The system bus 510 also connects the computer with the joint-level controllers 512 and robot sensors 514 that serve to monitor the positions of and forces applied at the joints (e.g., the sensors previously described in the series elastic actuators of
(19) The system memory 504 stores processor-executable instructions organized into modules, including an operating system (OS) 520 that governs file access, memory allocation, and other low-level functionality, as well as one or more high-level applications for implementing the methods described herein. The high-level applications may include, e.g., a module implementing the robot controller 522 (which sends commands to external joint-level controllers 512), a module 524 for maintaining the robot's self-model based on input from the sensors 514, a module 526 for recording or otherwise defining the canonical posture(s), a module 528 for determining the robot's current null space, a module 530 for computing the torque terms required to compensate for gravity, and a module 532 for modeling constraints on the redundant degrees of freedom, e.g., by means of virtual springs pulling the manipulator towards the canonical posture, and computing the additional torque terms implementing these constraints. The modules may be programmed in any suitable programming language, including, without limitation, high-level languages such as C, C++, C#, Ada, Basic, Cobra, Fortran, Java, Lisp, Perl, Python, Ruby, or Object Pascal, or low-level assembly languages. Of course, the instructions implementing the various functions may be grouped and organized in many different ways; the depicted organization into a few discrete modules is intended to be exemplary only.
(20) The person skilled in the art will understand that different modifications of the described embodiments are possible because, in particular, the corresponding manipulator is capable of variation in the number and design of its links and also of its driven axes. For example, the manipulator can have any number and combination of rotational and/or translational axes, so that the manipulator has at least one redundant degree of freedom. Therefore, the invention claimed herein is not limited to the described embodiments, but may be otherwise variously embodied within the scope of the claims listed infra.
REFERENCE NUMERALS LIST
(21) 100 Robot 110 Robot base 111, 112, 113, 114, 115, 116 Connecting link 117 Hand flange 121, 122, 123, 124, 125, 126, 127 Joint 400 Series elastic actuator 402 Motor 404 Gearbox 406 Series elastic element 408 Load 410 Position sensor or encoder 412 Ampere-meter 414 Spring deflection sensor 416 Output position sensor 500 Control device 502 Processor 504 System memory 506 Non-volatile storage 508 User interface 510 System bus 512 Joint-level controllers 514 Sensors 520 Operating system 522 Robot controller 524 Self-model module 526 Canonical-posture module 528 Null-space module 530 Gravity-compensation module 532 Constraint module I, II, III, IV, V, VI, VII Axes