WO2009020600A1 - Force controlled robots - Google Patents
Force controlled robots Download PDFInfo
- Publication number
- WO2009020600A1 WO2009020600A1 PCT/US2008/009412 US2008009412W WO2009020600A1 WO 2009020600 A1 WO2009020600 A1 WO 2009020600A1 US 2008009412 W US2008009412 W US 2008009412W WO 2009020600 A1 WO2009020600 A1 WO 2009020600A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- force
- robot
- force sensor
- force control
- control
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39319—Force control, force as reference, active compliance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40287—Workpiece manipulator and tool manipulator cooperate
Definitions
- This invention relates to force controlled robots and more particularly to the setup of such robots .
- a force-controlled robot opens a new horizon of applications as a result of its controlled contact with the working environment.
- a force-controlled robot has a force sensor and a force controller as compared to a position-controlled robot which does not have these elements.
- the force sensor provides the measurement of the contact force between a mechanical unit and its interacting environment. The measured force is input into the force controller to change the motion of a mechanical unit in order to achieve a desired contact force.
- a force control setup involves two mechanical units, namely the force sensor mounting unit where the force sensor is mounted, and the force-controlled unit on which the force control action is exerted.
- mechanical unit as used herein has a rather broad meaning as it includes a multi-axis robot, single axis mechanism, conveyor, stationary object (world frame), and other mechanisms.
- a force-controlled unit must be a drivable and controllable mechanism such as a multiple-axis robot and external axis, while the force sensor mounting unit can be anything.
- Robot 11 has a faceplate 12, a force sensor 13 mounted on the wrist 11a of robot 11 and an end effector lib that, as is shown in Fig. 1, holds either the tool 14 that will perform work on a work object located elsewhere or the work object 14 that will be worked on by a tool located elsewhere.
- tool as used herein means, without limitation, a conventional tool such as a grinding or deburring tool that is to perform work on the work object located elsewhere or a work object which is to be assembled with or used in the assembly of the work object located elsewhere.
- the conventional setup further includes a controller 10 which contains the force controller and the software program which is used to control the motion of the robot in response to among other things an input from force sensor 13.
- controller 10 is connected by cable 15 to the force sensor 13 and to the robot 11 by drive and measurement cable 16. Therefore as is shown in Fig. 1, the robot 11 is subject to force control action, that is, its motion will be altered in response to the measured force.
- the software program can, as is described above, be resident in controller 10 or may be on a suitable media such as a CD-ROM or flash drive in a form that can be loaded into the controller 10 for execution.
- the software program may be downloaded into the controller 10 by well known means from the same site where controller 10 is located or from another site that is remote from the site where controller 10 is located.
- the software program may be installed or loaded into a computing device (not shown in Fig. 1) which is connected to controller 10 to send commands to the controller 10.
- Fig. 1 While the conventional setup shown in Fig. 1 has its advantages such as compactness and relative closeness it lacks flexibility and suffers performance constraints. For each application at hand, a new setup should be pursued when the conventional one is inadequate in terms of cost and performance.
- a system has : a robot having one object; a mechanical unit external to the robot having another object; a force sensor associated with either the robot or the mechanical unit; and a controller apparatus for providing force control in response to a signal from the force sensor when the one object comes into contact with the another object, the force control applied to the robot when the force sensor is associated with the mechanical unit and applied to the mechanical unit when the force sensor is associated with the robot.
- a system includes: a robot carrying a first object; a mechanical unit carrying a second object, the mechanical unit being external to the robot and movable along a single axis; a force sensor positioned between either the robot and the first object or the mechanical unit and the second object; and a controller apparatus for providing force control in response to a signal from the force sensor when the first object contacts the second object, wherein the force control is applied to the robot if the force sensor is positioned between the mechanical unit and the second object and the force control is applied to the mechanical unit if the force sensor positioned between the robot and the first object.
- a system includes: a first six axis robot carrying a first object; a second six axis robot carrying a second object; a force sensor associated with either the first robot or the second robot; and a controller apparatus for providing force control in response to a signal from the force sensor when the first object contacts the second object, wherein the force control is applied to the first robot if the force sensor is associated with the second robot and the force control is applied to the second robot if the force sensor is associated with the first robot.
- Fig. 1 shows a prior art setup for a robot with force control .
- Figs . 2 to 5 show alternative embodiments for the force control setup of the present invention.
- Figure 6 shows a general control flow of a force controlled robot system describing how the motion of the force controlled unit is altered in order to maintain the desired contact force.
- Fig. 7A shows the flow control for the prior art setup shown in Fig. 1.
- Fig. 7B shows the gravity compensation in that setup and
- Fig. 7C shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
- Fig. 8A shows the flow control for the embodiment shown in Fig. 2.
- Fig. 8B shows the gravity compensation in that setup and
- Fig. 8C shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
- Fig. 9A shows the flow control for the embodiment shown in Fig. 3.
- Fig. 9B shows the gravity compensation in that setup and
- Fig. 9C shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
- Fig. 1OA shows the flow control for the embodiment shown in Fig. 4.
- Fig. 1OB shows the gravity compensation in that setup and
- Fig. 1OC shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
- Fig. HA shows the flow control for the embodiment shown in Fig. 5.
- Fig. HB shows the gravity compensation in that setup and
- Fig. HC shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
- each of Figs. 2-5 shows an embodiment for the force control setup of the present invention.
- each of those embodiments includes a controller 10 which, as in the conventional setup in Fig. 1, contains the force controller and the software program which is used to control the motion of the robot in response to among other things an input from force sensor 13.
- the software program can, as is described above, be resident in controller 10 or may be on a suitable media such as a CD-ROM or flash drive in a form that can be loaded into the controller 10 for execution.
- the software program may be downloaded into the controller 10 by well known means from the same site where controller 10 is located or from another site that is remote from the site where controller 10 is located.
- the software program may be installed or loaded into a computing device (not shown in Figs. 2-5) which is connected to controller 10 to send commands to the controller 10.
- the software program may include the software needed for one or more of the embodiments shown in Figs. 2 to 5 and if it does will allow the user to, in a manner well known to those of ordinary skill in the art, select the software to be executed for the embodiment of the present invention to be implemented by the user.
- the present invention may take the form of a computer program product on a tangible computer-usable or computer-readable medium having computer-usable program code embodied in the medium.
- the tangible computer-usable or computer-readable medium may be any tangible medium such as by way of example but without limitation, a portable computer diskette, a flash drive, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a portable compact disc read-only memory (CD- ROM) , an optical storage device, or a magnetic storage device.
- Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like, or may also be written in conventional procedural programming languages, such as the "C" programming language.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) .
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- Fig. 2 there is shown one example of a new setup where both the force sensor 13 and object 17 are stationary because they are, for example, sitting on a table 19 and are not, as is shown in Fig. 1, mounted on the robot 11.
- the controller 10 receives the signal from force sensor 13 through force sensor cable 15 and is connected to the robot 11 by drive and measurement cable 16.
- the benefit of the setup of Fig. 2 as compared to the setup of Fig. 1 is simple and accurate gravity and inertial compensation, as the gravity components of the sensor payload are constant instead of varying with the robot configuration.
- the object 17 may either be an object to be worked on by a tool 14 ⁇ held by the robot 11 or a tool that performs work on an object that is held by the robot 11.
- the external axis 18 may for example be a conveyor or some other device which is capable of motion.
- Figs. 3 and 4 represent three cases. Cases 1 and 2 are both shown in Fig. 3 where for case 1 the force controlled unit is the robot 11 and the force sensor 13 is mounted on the external axis 18; and for case 2 the force controlled unit is the external axis 18 and the force sensor 13 is also mounted on the external axis 18. In case 3, which is shown in Fig. 4, the force controlled unit is the external axis 18 and the force sensor 13 is mounted on the robot 11.
- the controller 10 receives the signal from force sensor 13 through force sensor cable 15 and is connected to the robot 11 and external axis 18 by drive and measurement cable 16.
- an external axis 18 is more responsive to the motion change command from the robot controller 10 due to the smaller inertia. This setup is very beneficial for using the robot in a grinding application where small and rapidly changing contact force is to be controlled.
- robots such as robot A 11 and robot B 20 as shown in Fig. 5.
- the force sensor 13 is mounted on robot A 11, but robot B 20 is subject to the force control action.
- both robots 11 and 20 are connected to controller 10 by an associated drive and measurement cable 16 and the end effector lib of robot 11 either holds the tool or work object 14 while the end effector 20a of robot 20 either holds the work object 17 when the end effector lib of robot 11 holds the tool 14 or the tool 17 when the end effector lib of robot 11 holds the work object 14.
- Figure 6 shows a general control flow of a force controlled system describing how the motion of the force controlled unit 200 is altered in order to maintain the desired contact force.
- the force controller module 100 computes the change of motion reference command ⁇ rfrom the difference between the desired ( F dei ) and measured contact force ( F comacl ) .
- the modified motion reference (f + Ar) is then sent to force controlled unit 200 and affects its motion v .
- the computing algorithm in force controller module 100 can be varied.
- the commonly used computing algorithms in module 100 include but are not limited to damping control, admittance control, hybrid position and force control.
- the force sensor 13 As the motion of the force controlled unit 200 is changed, its interaction force with the contacting environment is changed accordingly.
- the measurement of the interaction force is performed by the force sensor 13, which as shown in Figs. 2, 3 (case 1), 4 and 5, can be mounted on a mechanical unit 300 different from the force controlled unit 200.
- This mounting of the force sensor 13 on a mechanical unit 300 which is different from unit 200 is possible because the interaction force is mutual according to Newton's third law.
- a force signal processing module 400 is used to perform the necessary computations, which include for example, low-pass filtering, gravity and inertial compensation, as well as transformation from one point to the other.
- Figure 6 can be applied to the various setups such as those shown in Figures 1-5.
- the difference in choosing force controlled unit 200 and force sensor mounting unit 300 for the location of force sensor 13 affects the implementation of force controller module 100 and force signal processing module 400.
- the tool 14 is mounted close to the force sensor 13 and the desired contact force is specified in the coordinate system of the work object.
- the control flow is as is shown in Figure 7A. Because the force sensor 13 is mounted on the robot 11, the payload gravity force will change at different robot configurations. As a result, the gravity compensation in the force signal processing module 400 is complex. As shown in Figure 7B, load identification must be performed first so that the mass and the center of gravity of the payload are known for the gravity force calculation. The gravity force is calculated at the current robot configuration from the known payload mass and center of gravity. The calculated gravity force is deducted from the force center measurement to obtain the gravity compensation. The transformation of the measured force from the force sensor coordinate system 30 to the work object coordinate system 32 is shown in Figure 7C. In this figure, the transformation from the force sensor coordinate system 30 to the work object coordinate system 32 is divided into steps.
- Each step is represented by a curved arrow 34a to 34d in the figure, and should be either known or be easily calculated or calibrated by one of ordinary skill in the art.
- the position and orientation of the robot face plate coordinate system 36 relative to the robot base coordinate system 38 is well known as forward kinematics and is calculated as the function of the robot joint angles, while the position and orientation of the force sensor coordinate system 30 is commonly obtained through measurement using simple tools such as measuring tape or gauges.
- the transformation of the force measurement F meas from the force sensor coordinate system 30 to the work object coordinate system 32 follows the curved arrows 34a to 34d in a counterclockwise direction.
- F meas is first transformed, as is shown by the arrow 34a, to the robot faceplate coordinate system 36, then, as is shown by the curved arrow 34b, to the robot base coordinate system 38, and as is shown by the curved arrow 34c to the world coordinate system 40 before being transformed, as is shown by the curved arrow 34d, to the work object coordinate system 32.
- control flow Figure 8A is very similar to the control flow shown in Fig. 7A for the conventional setup.
- the gravity compensation procedure as is shown in Fig. 8B, is much easier for the setup of Fig. 2 as compared to the gravity compensation procedure shown in Fig. 7B for the setup of Fig. 1 because the force sensor 13 never changes its orientation.
- the force sensor coordinate system 30 is first transformed into the face plate coordinate system 44a of robot A 11 and then into the base coordinate system 44b of that robot. Then the transformation is to the world coordinate system 40 and from there first to the base coordinate system 46a of robot B 20 and then to the faceplate coordinate system 46b of that robot before the final transformation to the work object coordinate system 32.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Various arrangements for force control and robots are described. In one arrangement, the force sensor and the object are both stationary. In another arrangement which represents two cases, the object and the force sensor are both on an external axis and in one case the force controlled unit is the robot and in the case the force controlled unit is the external axis. In yet another arrangement in which the object is on the external axis, the external axis is the force controlled unit is the external axis and the force sensor is on the robot. In a further arrangement, there are two robots and the force is mounted on one and the other is subjected to force control. The object can be either the tool or the object to be worked on or the object to be assembled with or used in the assembly of another object.
Description
Force Controlled Robots
1. Field of the Invention
This invention relates to force controlled robots and more particularly to the setup of such robots .
2. Description of the Prior Art
A force-controlled robot opens a new horizon of applications as a result of its controlled contact with the working environment. A force-controlled robot has a force sensor and a force controller as compared to a position-controlled robot which does not have these elements. Function wise, the force sensor provides the measurement of the contact force between a mechanical unit and its interacting environment. The measured force is input into the force controller to change the motion of a mechanical unit in order to achieve a desired contact force.
As can be appreciated, a force control setup involves two mechanical units, namely the force sensor mounting unit where the force sensor is mounted, and the force-controlled unit on which the force control action is exerted. Note that the terminology "mechanical unit" as used herein has a rather broad meaning as it includes a multi-axis robot, single axis mechanism, conveyor, stationary object (world frame), and other mechanisms. As can further be appreciated, a force-controlled unit must be a drivable and controllable mechanism such as a multiple-axis robot and external axis, while the force sensor mounting unit can be anything.
Referring now to Fig. 1, there is shown a conventional setup for a force controlled robot 11. Robot 11 has a faceplate 12, a force sensor 13 mounted on the wrist 11a of robot 11 and an end effector lib that, as is shown in Fig. 1, holds either the tool 14 that will perform work on a work object located elsewhere or the work object 14 that will be worked on by a tool located elsewhere. The term "tool" as used herein means, without
limitation, a conventional tool such as a grinding or deburring tool that is to perform work on the work object located elsewhere or a work object which is to be assembled with or used in the assembly of the work object located elsewhere.
The conventional setup further includes a controller 10 which contains the force controller and the software program which is used to control the motion of the robot in response to among other things an input from force sensor 13. To that end, controller 10 is connected by cable 15 to the force sensor 13 and to the robot 11 by drive and measurement cable 16. Therefore as is shown in Fig. 1, the robot 11 is subject to force control action, that is, its motion will be altered in response to the measured force. As is well known, the software program can, as is described above, be resident in controller 10 or may be on a suitable media such as a CD-ROM or flash drive in a form that can be loaded into the controller 10 for execution. Alternatively, the software program may be downloaded into the controller 10 by well known means from the same site where controller 10 is located or from another site that is remote from the site where controller 10 is located. As another alternative, the software program may be installed or loaded into a computing device (not shown in Fig. 1) which is connected to controller 10 to send commands to the controller 10.
While the conventional setup shown in Fig. 1 has its advantages such as compactness and relative closeness it lacks flexibility and suffers performance constraints. For each application at hand, a new setup should be pursued when the conventional one is inadequate in terms of cost and performance.
Summary of the Invention
According to one aspect of the present invention, a system has : a robot having one object;
a mechanical unit external to the robot having another object; a force sensor associated with either the robot or the mechanical unit; and a controller apparatus for providing force control in response to a signal from the force sensor when the one object comes into contact with the another object, the force control applied to the robot when the force sensor is associated with the mechanical unit and applied to the mechanical unit when the force sensor is associated with the robot.
According to another aspect of the present invention, a system includes: a robot carrying a first object; a mechanical unit carrying a second object, the mechanical unit being external to the robot and movable along a single axis; a force sensor positioned between either the robot and the first object or the mechanical unit and the second object; and a controller apparatus for providing force control in response to a signal from the force sensor when the first object contacts the second object, wherein the force control is applied to the robot if the force sensor is positioned between the mechanical unit and the second object and the force control is applied to the mechanical unit if the force sensor positioned between the robot and the first object.
According to still another aspect of the present invention, a system includes: a first six axis robot carrying a first object; a second six axis robot carrying a second object; a force sensor associated with either the first robot or the second robot; and a controller apparatus for providing force control in response to a signal from the force sensor when the
first object contacts the second object, wherein the force control is applied to the first robot if the force sensor is associated with the second robot and the force control is applied to the second robot if the force sensor is associated with the first robot.
Description of the Drawing
Fig. 1 shows a prior art setup for a robot with force control .
Figs . 2 to 5 show alternative embodiments for the force control setup of the present invention.
Figure 6 shows a general control flow of a force controlled robot system describing how the motion of the force controlled unit is altered in order to maintain the desired contact force.
Fig. 7A shows the flow control for the prior art setup shown in Fig. 1. Fig. 7B shows the gravity compensation in that setup and Fig. 7C shows the transform from the sensor coordinate system to the work object coordinate system in that setup. Fig. 8A shows the flow control for the embodiment shown in Fig. 2. Fig. 8B shows the gravity compensation in that setup and Fig. 8C shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
Fig. 9A shows the flow control for the embodiment shown in Fig. 3. Fig. 9B shows the gravity compensation in that setup and Fig. 9C shows the transform from the sensor coordinate system to the work object coordinate system in that setup. Fig. 1OA shows the flow control for the embodiment shown in Fig. 4. Fig. 1OB shows the gravity compensation in that setup and Fig. 1OC shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
Fig. HA shows the flow control for the embodiment shown in Fig. 5. Fig. HB shows the gravity compensation
in that setup and Fig. HC shows the transform from the sensor coordinate system to the work object coordinate system in that setup.
Detailed Description
Each of Figs. 2-5 shows an embodiment for the force control setup of the present invention. As is shown in each of those figures, each of those embodiments includes a controller 10 which, as in the conventional setup in Fig. 1, contains the force controller and the software program which is used to control the motion of the robot in response to among other things an input from force sensor 13. As was described for the conventional setup of Fig. 1, the software program can, as is described above, be resident in controller 10 or may be on a suitable media such as a CD-ROM or flash drive in a form that can be loaded into the controller 10 for execution.
Alternatively, the software program may be downloaded into the controller 10 by well known means from the same site where controller 10 is located or from another site that is remote from the site where controller 10 is located. As another alternative, the software program may be installed or loaded into a computing device (not shown in Figs. 2-5) which is connected to controller 10 to send commands to the controller 10. Further the software program may include the software needed for one or more of the embodiments shown in Figs. 2 to 5 and if it does will allow the user to, in a manner well known to those of ordinary skill in the art, select the software to be executed for the embodiment of the present invention to be implemented by the user.
As can be appreciated by one of ordinary skill in the art, the present invention may take the form of a computer program product on a tangible computer-usable or computer-readable medium having computer-usable program code embodied in the medium. The tangible computer-usable
or computer-readable medium may be any tangible medium such as by way of example but without limitation, a portable computer diskette, a flash drive, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a portable compact disc read-only memory (CD- ROM) , an optical storage device, or a magnetic storage device.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like, or may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) .
Referring now to Fig. 2, there is shown one example of a new setup where both the force sensor 13 and object 17 are stationary because they are, for example, sitting on a table 19 and are not, as is shown in Fig. 1, mounted on the robot 11. The controller 10 receives the signal from force sensor 13 through force sensor cable 15 and is connected to the robot 11 by drive and measurement cable 16. The benefit of the setup of Fig. 2 as compared to the setup of Fig. 1 is simple and accurate gravity and inertial compensation, as the gravity components of the sensor payload are constant instead of varying with the robot configuration. As can be appreciated, the object 17 may either be an object to be worked on by a tool 14
■ held by the robot 11 or a tool that performs work on an object that is held by the robot 11.
Referring now to Figs. 3 and 4, there are shown two embodiments of another setup where in both figures the object 17 is on an external axis 18. The external axis 18 may for example be a conveyor or some other device which is capable of motion.
The embodiments shown in Figs. 3 and 4 represent three cases. Cases 1 and 2 are both shown in Fig. 3 where for case 1 the force controlled unit is the robot 11 and the force sensor 13 is mounted on the external axis 18; and for case 2 the force controlled unit is the external axis 18 and the force sensor 13 is also mounted on the external axis 18. In case 3, which is shown in Fig. 4, the force controlled unit is the external axis 18 and the force sensor 13 is mounted on the robot 11.
In Figs. 3 and 4, the controller 10 receives the signal from force sensor 13 through force sensor cable 15 and is connected to the robot 11 and external axis 18 by drive and measurement cable 16.
Unlike a 6-axis robot, an external axis 18 is more responsive to the motion change command from the robot controller 10 due to the smaller inertia. This setup is very beneficial for using the robot in a grinding application where small and rapidly changing contact force is to be controlled.
In yet another setup, there are two robots such as robot A 11 and robot B 20 as shown in Fig. 5. In this setup, the force sensor 13 is mounted on robot A 11, but robot B 20 is subject to the force control action. As is shown in Fig. 5, both robots 11 and 20 are connected to controller 10 by an associated drive and measurement cable 16 and the end effector lib of robot 11 either holds the tool or work object 14 while the end effector 20a of robot 20 either holds the work object 17 when the end effector lib of robot 11 holds the tool 14 or the
tool 17 when the end effector lib of robot 11 holds the work object 14.
Figure 6 shows a general control flow of a force controlled system describing how the motion of the force controlled unit 200 is altered in order to maintain the desired contact force. The force controller module 100 computes the change of motion reference command Δrfrom the difference between the desired ( Fdei ) and measured contact force ( Fcomacl ) . The modified motion reference (f + Ar) is then sent to force controlled unit 200 and affects its motion v . The computing algorithm in force controller module 100 can be varied. The commonly used computing algorithms in module 100 include but are not limited to damping control, admittance control, hybrid position and force control.
As the motion of the force controlled unit 200 is changed, its interaction force with the contacting environment is changed accordingly. The measurement of the interaction force is performed by the force sensor 13, which as shown in Figs. 2, 3 (case 1), 4 and 5, can be mounted on a mechanical unit 300 different from the force controlled unit 200. This mounting of the force sensor 13 on a mechanical unit 300 which is different from unit 200 is possible because the interaction force is mutual according to Newton's third law.
Most of the time the measurement Fmeas from the force sensor 13 is contaminated by the gravitational and inertial force of the object mounting on the force sensor 13. In addition, the action point of the measured force is often different from that of the desired force Fdes . To obtain the actual contact force Fcomaa at the same place as the desired contact force, a force signal processing module 400 is used to perform the necessary computations, which include for example, low-pass filtering, gravity
and inertial compensation, as well as transformation from one point to the other.
Figure 6 can be applied to the various setups such as those shown in Figures 1-5. The difference in choosing force controlled unit 200 and force sensor mounting unit 300 for the location of force sensor 13 affects the implementation of force controller module 100 and force signal processing module 400.
To illustrate the difference, an exemplary implementation of Figure 6 is selected where a simple
J-. / damping controller of v = yβ is used in force controller module 100. In this implementation, the tool 14 is mounted close to the force sensor 13 and the desired contact force is specified in the coordinate system of the work object.
For the conventional setup as shown in Figure 1, the control flow is as is shown in Figure 7A. Because the force sensor 13 is mounted on the robot 11, the payload gravity force will change at different robot configurations. As a result, the gravity compensation in the force signal processing module 400 is complex. As shown in Figure 7B, load identification must be performed first so that the mass and the center of gravity of the payload are known for the gravity force calculation. The gravity force is calculated at the current robot configuration from the known payload mass and center of gravity. The calculated gravity force is deducted from the force center measurement to obtain the gravity compensation. The transformation of the measured force from the force sensor coordinate system 30 to the work object coordinate system 32 is shown in Figure 7C. In this figure, the transformation from the force sensor coordinate system 30 to the work object coordinate system 32 is divided into steps. Each step is represented by a curved arrow 34a to 34d in the figure, and should be
either known or be easily calculated or calibrated by one of ordinary skill in the art. For example, the position and orientation of the robot face plate coordinate system 36 relative to the robot base coordinate system 38 is well known as forward kinematics and is calculated as the function of the robot joint angles, while the position and orientation of the force sensor coordinate system 30 is commonly obtained through measurement using simple tools such as measuring tape or gauges. The transformation of the force measurement Fmeas from the force sensor coordinate system 30 to the work object coordinate system 32 follows the curved arrows 34a to 34d in a counterclockwise direction. That is, Fmeas is first transformed, as is shown by the arrow 34a, to the robot faceplate coordinate system 36, then, as is shown by the curved arrow 34b, to the robot base coordinate system 38, and as is shown by the curved arrow 34c to the world coordinate system 40 before being transformed, as is shown by the curved arrow 34d, to the work object coordinate system 32.
For the setup shown in Figure 2 where force sensor 13 is mounted on a stationary object 17 and the robot 11 is subject to force control action, the control flow Figure 8A is very similar to the control flow shown in Fig. 7A for the conventional setup. The gravity compensation procedure, as is shown in Fig. 8B, is much easier for the setup of Fig. 2 as compared to the gravity compensation procedure shown in Fig. 7B for the setup of Fig. 1 because the force sensor 13 never changes its orientation.
All that is needed to obtain the actual contact force is to reset the sensor 13 before contact. This is equivalent as is shown in Fig. 8B to recording the initial value of the force sensor 13 before contact and then subtracting it during contact. The transformation
of force is very simple because only two coordinate systems, force sensor coordinate system 30 and work object coordinate system 32, are involved, as shown in Figure 8C.
For the setup shown in Figure 3 , where the force sensor 13 is mounted on an external axis 18 and either the robot or the external axis is subject to force control action, the control flow is shown in Figure 9A. Depending on the type of external axis 18, the gravity compensation can either look like the compensation shown in Figure 7B in the case of a rotary axis, or is as simple as that shown in Figure 8B in case of a linear axis. The latter gravity compensation is shown in Fig. 9B. The transformation procedure (Figure 9C) is exactly the same as that shown in Figure 8C and described above.
For the setup shown in Figure 4 where the force sensor 13 is mounted on the robot 11 and the external axis 18 is subject to force control action, the control flow is shown in Figure 1OA. Unlike robot 11, the external axis 18 has only one drivable axis, and the change of motion can only be in that axis . The change in the reference command from the vector form Δv shown in Figs. 7A, 8A and 9A to scalar form Δv in Figure 1OA indicates the difference between those embodiments. Because force sensor 13 is mounted on the robot 11, the gravity compensation procedure, as is shown in Fig. 1OB, is the same as in the conventional setup shown in Fig. 1. Compared to Figure 7C, the transformation diagram shown in Figure 1OC has an extra coordinate system involved, which is the external axis base coordinate system 42.
For the setup shown in Figure 5 where the force sensor mounting unit and force controlled unit are both robots but different from each other, the control flow and the gravity compensation procedure as shown in Figs . HA and B, respectively are similar to those in the conventional setup. As is shown in Fig. HC,
transformation of force measurement is a little more complex than all of the other setups since the kinematics of the two robots 11 and 20 are involved.
As is shown in Fig. HC by the curved arrows 34a to 34f, the force sensor coordinate system 30 is first transformed into the face plate coordinate system 44a of robot A 11 and then into the base coordinate system 44b of that robot. Then the transformation is to the world coordinate system 40 and from there first to the base coordinate system 46a of robot B 20 and then to the faceplate coordinate system 46b of that robot before the final transformation to the work object coordinate system 32.
It is to be understood that the description of the foregoing exemplary embodiment ( s ) is (are) intended to be only illustrative, rather than exhaustive, of the present invention. Those of ordinary skill will be able to make certain additions, deletions, and/or modifications to the embodiment ( s ) of the disclosed subject matter without departing from the spirit of the invention or its scope, as defined by the appended claims.
Claims
1. A system comprising: a robot carrying a first object; a mechanical unit external to said robot carrying a second object; a force sensor associated with either said robot or said mechanical unit; and a controller apparatus for providing force control in response to a signal from said force sensor when said first object contacts said second object, wherein said force control is applied to said robot if said force sensor is associated with said mechanical unit and said force control is applied to said mechanical unit if said force sensor is associated with said robot.
2. The system of claim 1 wherein said mechanical unit is movable when said force control is applied to said mechanical unit.
3. The system of claim 1 wherein said mechanical unit is non-movable when said force control is applied to said robot .
4. The system of claim 1 wherein said robot has an end effector and said force control provided by said controller apparatus controls the motion of said end effector when said force control is applied to said robot .
5. The system of claim 1 wherein said force sensor provides a signal representative of the force imparted when said first object comes into contact with said second object and said controller apparatus provides said force control in response to said signal.
6. The system of claim 5 wherein said controller apparatus compensates said imparted force representative signal for predetermined errors therein.
7. The system of claim 4 wherein said force sensor provides a signal representative of the force imparted when said first object comes into contact with said second object and said controller apparatus provides said force control to control the motion of said end effector in response to said signal.
8. A system comprising: a robot carrying a first object; a mechanical unit carrying a second object, said mechanical unit being external to said robot and movable along a single axis; a force sensor positioned between either said robot and said first object or said mechanical unit and said second object; and a controller apparatus for providing force control in response to a signal from said force sensor when said first object contacts said second object, wherein said force control is applied to said robot if said force sensor is positioned between said mechanical unit and said second object and said force control is applied to said mechanical unit if said force sensor positioned between said robot and said first object.
9. The system according to claim 8 wherein said first object is a tool and said second object is an object to be worked.
10. The system according to claim 8 wherein said first object is an object to be worked and said second object is a tool.
11. The system of claim 8 wherein said robot includes an end effector and said force control provided by said controller apparatus controls the motion of said end effector when said force control is applied to said robot .
12. The system of claim 8 wherein said force sensor provides a signal representative of the force imparted when said first object comes into contact with said second object and said controller apparatus provides said force control in response to said signal.
13. The system of claim 12 wherein said controller apparatus compensates said signal representative of the force imparted for predetermined errors therein.
14. The system of claim 13 wherein at least one of said predetermined errors includes errors due to gravitational effects.
15. The system of claim 11 wherein said force sensor provides a signal representative of the force imparted when said first object comes into contact with said second object and said controller apparatus provides said force control to control the motion of said end effector in response to said signal.
16. A system comprising: a first six axis robot carrying a first object; a second six axis robot carrying a second object; a force sensor associated with either said first robot or said second robot; and a controller apparatus for providing force control in response to a signal from said force sensor when said first object contacts said second object, wherein said force control is applied to said first robot if said force sensor is associated with said second robot and said force control is applied to said second robot if said force sensor is associated with said first robot.
17. The system according to claim 16 wherein said first object is a tool and said second object is an object to be worked.
18. The system according to claim 16 wherein said first object is an object to be worked and said second object is a tool.
19. The system of claim 16 wherein said force sensor provides a signal representative of the force imparted when said first object comes into contact with said second object and said controller apparatus provides said force control in response to said signal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95409507P | 2007-08-06 | 2007-08-06 | |
US60/954,095 | 2007-08-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009020600A1 true WO2009020600A1 (en) | 2009-02-12 |
Family
ID=39884391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2008/009412 WO2009020600A1 (en) | 2007-08-06 | 2008-08-05 | Force controlled robots |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2009020600A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015067680A3 (en) * | 2013-11-08 | 2015-10-01 | Kuka Systems Gmbh | Sensing device and sensing method |
CN106625653A (en) * | 2016-05-23 | 2017-05-10 | 北京卫星环境工程研究所 | Force feedback-based industrial robot auxiliary assembling and flexible docking method |
CN108262766A (en) * | 2018-01-03 | 2018-07-10 | 中科新松有限公司 | A kind of detection device for the robot that cooperates |
WO2019168563A1 (en) * | 2018-02-27 | 2019-09-06 | Siemens Aktiengesellschaft | Reinforcement learning for contact-rich tasks in automation systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08141951A (en) * | 1994-11-17 | 1996-06-04 | Kawasaki Heavy Ind Ltd | Cooperative control method of robot and cooperative control device thereof |
JPH09216185A (en) * | 1996-02-13 | 1997-08-19 | Nippon Telegr & Teleph Corp <Ntt> | Robot controlling method and robot system |
JPH106180A (en) * | 1996-06-26 | 1998-01-13 | Toshiba Corp | Work machining device |
US20060048364A1 (en) * | 2004-09-08 | 2006-03-09 | Hui Zhang | Robotic machining with a flexible manipulator |
-
2008
- 2008-08-05 WO PCT/US2008/009412 patent/WO2009020600A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08141951A (en) * | 1994-11-17 | 1996-06-04 | Kawasaki Heavy Ind Ltd | Cooperative control method of robot and cooperative control device thereof |
JPH09216185A (en) * | 1996-02-13 | 1997-08-19 | Nippon Telegr & Teleph Corp <Ntt> | Robot controlling method and robot system |
JPH106180A (en) * | 1996-06-26 | 1998-01-13 | Toshiba Corp | Work machining device |
US20060048364A1 (en) * | 2004-09-08 | 2006-03-09 | Hui Zhang | Robotic machining with a flexible manipulator |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015067680A3 (en) * | 2013-11-08 | 2015-10-01 | Kuka Systems Gmbh | Sensing device and sensing method |
US9962836B2 (en) | 2013-11-08 | 2018-05-08 | Kuka Systems Gmbh | Detection device and detection method |
CN106625653A (en) * | 2016-05-23 | 2017-05-10 | 北京卫星环境工程研究所 | Force feedback-based industrial robot auxiliary assembling and flexible docking method |
CN108262766A (en) * | 2018-01-03 | 2018-07-10 | 中科新松有限公司 | A kind of detection device for the robot that cooperates |
WO2019168563A1 (en) * | 2018-02-27 | 2019-09-06 | Siemens Aktiengesellschaft | Reinforcement learning for contact-rich tasks in automation systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8761932B2 (en) | Automation equipment control system | |
US4621332A (en) | Method and apparatus for controlling a robot utilizing force, position, velocity, spring constant, mass coefficient, and viscosity coefficient | |
JP6223640B2 (en) | Calibration apparatus and robot system using the same | |
US9616564B2 (en) | Event-based redundancy angle configuration for articulated-arm robots | |
EP1728600B1 (en) | Controlling the trajectory of an effector | |
US7508155B2 (en) | Controller | |
US20200238526A1 (en) | Calibration device, calibration method, and control device | |
EP2404712A1 (en) | A dual arm robot and a method for controlling a dual arm robot | |
Caccavale et al. | Integration for the next generation: embedding force control into industrial robots | |
US20220226995A1 (en) | Control of a multipurpose robot arm | |
Patarinski et al. | Robot force control: a review | |
JPH09319420A (en) | Assembly robot | |
CN111376267A (en) | Industrial robot system | |
WO2009020600A1 (en) | Force controlled robots | |
An | Trajectory and force control of a direct drive arm | |
Farsoni et al. | Real-time identification of robot payload using a multirate quaternion-based kalman filter and recursive total least-squares | |
Grunwald et al. | Touch: The direct type of human interaction with a redundant service robot | |
JPH07198370A (en) | Position detection probe of force control robot | |
Arteaga et al. | On the robustness of force estimation methods for robot manipulators: An experimental study | |
CN115674188B (en) | Series mechanical arm accurate compliance open-loop tracking control system based on double-path filter | |
Iwasaki et al. | Adaptive force control for unknown environment using sliding mode controller with variable hyperplane | |
Maddahi et al. | Testing robotic manipulators: improvement and experience | |
Farías et al. | Influence of parallel kinematic machine dimensional tolerances on the estimation of payload inertia | |
Mianowski et al. | Application of the RNT Robot to Milling and Polishing | |
Stanczyk et al. | Experimental comparison of interaction control methods for a redundant telemanipulator |
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: 08795044 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: 08795044 Country of ref document: EP Kind code of ref document: A1 |