The present invention relates to a system and a method for providing robust operation of tendon-driven robotic fingers in a robotic system.
Robots are automated devices able to manipulate objects using a series of links. The links are interconnected by one or more actuator-driven robotic joints. Each joint in a typical robot represents at least one independent control variable, or a degree of freedom. End-effectors are the particular manipulators used to perform a task at hand, such as grasping a work tool. Therefore, precise motion control of the various robotic manipulators helps to achieve the required mobility, dexterity, and work task-related functionality.
Dexterous robots may be used where a direct interaction is required with devices or systems specifically designed for human use, i.e., devices requiring human-like levels of dexterity to properly manipulate. The use of dexterous robots may also be preferred where a direct interaction is required with human operators, as the motion of the robot can be programmed to approximate human motion. Such robots may include a plurality of fingers that can be actuated remotely using tendons, thus reducing the overall size and weight of the robot. Such tendons must be kept taut at all times to within a calibrated tension level.
Accordingly, a control system and method are disclosed herein for controlling a tendon-driven finger of a dexterous robot. The present control system, by executing the method as disclosed herein, achieves active compliance in the finger so that the finger may safely contact an object in its environment while also allowing for operation of the finger under degraded sensor conditions. This is achieved by a flexible two-tiered control architecture in which an upper control loop employs either a force-based or a position-based control law for a given finger. In turn, a position-based control law can incorporate active compliance selectively for any tendons that it is controlling.
The control law that is selected depends on whether all, none, or some of a number of tension sensors within the finger are available during a given maneuver. Typically, a control law for tendon-driven fingers needs tension feedback to maintain the internal tension on the tendons. The position control law presented here nominally maintains the internal tension by implementing the two-tier control architecture with a range-space constraint as set forth herein.
As used herein, the terms “force-based control law” and “position-based control law” refer to control of a robot relying on respective force or position commands and feedback signals, as is understood in the art. The flexible control scheme is finger-specific, i.e., the various tendon-driven fingers on a given robotic hand can have a different control law operating for that finger at any moment relative to the other fingers.
In particular, a robotic system includes a robotic finger driven by a tendon, a tension sensor, and a control system. The tendon is controlled by an actuator. The control system selectively controls the finger via a force-based control law when the tension sensor is available to measure the tension value, and via a position-based control law when the tension sensor is not available.
A plurality of tendons may be used, each having a corresponding tension sensor. The control system can selectively inject a compliance value to the position-based control law when only some of the tension sensors are available. The compliance value may be a function of a tension error, which can be determined as the difference between a desired tension and an actual tension of one of the tendons.
A control system for a robotic finger driven by a tendon includes a tension sensor and a host machine. The tension sensor is positioned to measure a tension value of the tendon, and the host machine is configured for determining the availability of the tension sensor for measuring the tension value. Additionally, the host machine is configured for selectively controlling the finger via a force-based control law when the tension sensor is available to measure the tension value, and via a position-based control law when the tension sensor is not available to measure the tension value.
A method is also provided for controlling a tendon-driven finger in a robotic system. The method includes determining the availability of a tension sensor for measuring a tension value of the tendon, and then selectively controlling the finger, via a control system, using a force-based control law when the tension sensor is available to measure the tension value, and using a position-based control law when the tension sensor is not available to measure the tension value.
The above features and advantages and other features and advantages of the present invention are readily apparent from the following detailed description of the best modes for carrying out the invention when taken in connection with the accompanying drawings.
With reference to the drawings, wherein like reference numbers refer to the same or similar components throughout the several views, and beginning with
The joint controller 80 uses either force- or position-based control laws in a higher loop to control the position of various finger joints (see
The control system 12 of
In one possible embodiment, the robot 11 shown in
The robot 11 shown in
Still referring to
In one possible embodiment, the robot 11 may include just the lower arm assembly 75 shown in
The control system 12 and each of the controllers 80 and 90 thereof may each be embodied, as noted elsewhere above, as a server or a host machine, i.e., one or multiple digital computers or data processing devices, each having one or more microprocessors or central processing units (CPU), read only memory (ROM), random access memory (RAM), electrically-erasable programmable read only memory (EEPROM), a high-speed clock, analog-to-digital (A/D) circuitry, digital-to-analog (D/A) circuitry, and any required input/output (I/O) circuitry and devices, as well as signal conditioning and buffering electronics.
While shown as a single device in
Referring to
Multiple finger actuators 40 may correspond to each finger 14 and thumb 26. In general, one finger actuator 40 is used for each DOF available plus one additional finger actuator. Therefore, each finger 14 having three DOF requires four finger actuators 40, while each finger having two DOF requires three finger actuators, etc.
Referring to
The tendon 50 may be protected by a sheath or conduit liner 54 positioned within a protective outer conduit 56. The tension sensor 58 measures the force of compression on the conduit 56 to determine the amount of tension placed on the tendon 50. Tension in the tendons 50 can be used by the control system 12 shown in
As the finger actuator 40 moves the tendon 50, the tendon slides relative to the tension sensor 58. The tendon 50 terminates within the finger 14 at the tendon terminator 52. Movement of the tendon 50 causes relative movement of the tendon terminator 52, thereby moving the finger 14. Force may be placed on the tendon terminator 52 either internally, i.e., by movement of the finger actuator 40, or externally, i.e., on the finger 14 by the object 30 of
Referring to
The finger 14 shown in
The relationship between the n joint torques and m tendon tensions, where m>n, is represented as τ=Rf. The variable Rεn×m is known as a tendon map, and it contains the various joint radii data needed for mapping tendon tensions to joint torques. For a system to be tendon-controllable, the tendon map R must be a full row rank, and there must be an all-positive column matrix, w, such that RTw=0. The “internal tension” is a weighted sum of all the tensions in a finger 14; hence, a smaller internal tension indicates smaller tensions amongst the various tendons 50 and a smaller net force.
Inversely, the solution for tension f follows, where R+ is the pseudoinverse of R, I is the identity matrix, and 2 is an arbitrary value:
f=R+τ+fint
fint≐(I−R+R)λ
where fint represents the internal tensions lying in the null-space of R and producing zero net torques. The matrix [I−R− R] provides the projection operator into the null space of R. Given quasi-static conditions, f=fint whenever zero external forces act on the finger 14.
The same matrix R expresses the relationship between a tendon 50 and joint velocities. Based on the principals of virtual work, the contribution of the joint motion to the tendon velocity equals RT {dot over (q)}. Assuming a constant value for R, the net displacement of a tendon 50 is a sum of the joint contribution plus the change in length l of that tendon, or:
Δx=RTΔq+Δl.
We will now provide a model of tendon 50 as a linear spring and assume that the tendon will remain taut. We will also assume that the tendons 50 used in a finger 14 have the same stiffness value, kt, since the difference in tendon lengths is not sufficient to warrant a significant difference in stiffness. The following analysis relates the change in length (Δl) to a change in tendon tensions and joint torques:
hence,
The value (Δlint), which represents the change in length in the null-space of R, i.e., the change in length that affects only the internal tensions and not the joint torques, can be written as:
Δlint≐(I−R+R)δ,
where the value of variable δ is arbitrary. The final relation for tendon displacement may be written as:
In the absence of tension feedback, e.g., when some or all of the tension sensors 58 of
Referring to
The actuator controller 90 consists of a simple position controller on the actuator position; it is first tuned to maximize performance with a first-order response behavior to avoid overshoot. The joint controller 80 can consist of either a force-based controller on the finger joints as understood in the art, or a position-based controller.
A new position controller is set forth herein that implements a discrete version of a velocity controller, wherein the current positions of the actuators are continuously fed back and combined with a delta vector based on the joint errors. Based on the above kinematic relationships, the commanded tendon position (xd), i.e., arrow 133, can be written as:
xd=x−kpRTΔq,
where Δq represents the joint position error (q−qd), i.e., arrow 35 as shown in
This control law produces a fast response that closes the steady-state error and maintains an over-damped behavior. However, it does not actively constrain actuator positions to the range-space. Hence, disturbances can cause disproportionate changes to the actuator positions, changing the internal tensions. This may be exacerbated by the fact that the tendon 50 shown in
An alternative scheme for the position control law is based on a proportional-integral (PI) compensator. This law implements a feed-forward term for the final position of each of the actuators used with a PI term to eliminate steady-state error. If the system is initialized such that the initial tendon position x and joint position q are zero, then the actuator positions matching the desired joint positions (qd), arrow 131, without changing the length of the tendon 50 of
Thus, the commanded position (xd), arrow 133, from the feed-forward control is as follows:
xd=−RT(kpΔq+ki∫Δqdt).
This feed-forward term results in a fast rise time, while the PI term results in zero steady-state error.
When some but not all of a total number of available tension sensors for the finger 14 are available, the control system 12 can selectively apply position control for that finger, in conjunction with selective compliance for the tendons, thus complimenting the position control capabilities of the control system 12. Note that the different fingers 14 on a given hand 24 (see
A selective compliance value (arrow 57) may be defined as k(f-fd)s, with k being a scalar constant and (f-fd) being the tension error. The term s is a selection variable with an element for each tendon, e.g., with a value of 1 to turn compliance on and 0 to turn compliance off. Thus, downstream of the actuator controller 90, the selective compliance value 57 may be subtracted from the output 51 of the actuator controller, with s being selected by the control system 12 in a manner that is dependent upon whether selective compliance is desired (i.e., 1) or not desired (i.e., 0). The control signals (arrow 55), also shown in
When all tension sensors are available in a given finger 14, the control system 12 of
xd=x−kd{dot over (x)}−PTKp(T−Td),
where T=Pf, and P is a matrix that concatenates R and wT on top of each other. The values kp and kd are user-defined proportional and integral gains, respectively.
Referring to
Alternatively, signals may be periodically transmitted from the tension sensor 58 at calibrated intervals, with the interruption or discontinuation of transmission of such signals indicating the non-availability of a particular sensor. Additional embodiments may include the tension sensor 58 reading erroneous values relative to calibrated thresholds, recording a manual input of the non-available status of a given sensor into the control system 12 by a programmer or user, processing of sensor error codes or flags, etc.
At step 104, the control system 12 of
At step 106, the control system 12 determines whether at least some of the tension sensors 58 are available for the finger 14 being evaluated. If so, the method 100 proceeds to step 110. Otherwise, the method 100 proceeds to step 112.
At step 108, with the control system 12 having previously determined at step 104 that all of the total number of tension sensors 58 in a finger 14 are available for use in that finger, the control system of
At step 110, with the control system 12 having determined at step 106 that only some of the tension sensors 58 in a given finger 14 are available for use in that finger, the control system of
At step 112, with the control system 12 of
Accordingly, the control system 12 of
While the best modes for carrying out the invention have been described in detail, those familiar with the art to which this invention relates will recognize various alternative designs and embodiments for practicing the invention within the scope of the appended claims.
This invention was made with government support under NASA Space Act Agreement number SAA-AT-07-003. The invention described herein may be manufactured and used by or for the U.S. Government for U.S. Government (i.e., non-commercial) purposes without the payment of royalties thereon or therefor.
Number | Name | Date | Kind |
---|---|---|---|
4246661 | Pinson | Jan 1981 | A |
5954677 | Albrecht et al. | Sep 1999 | A |
5954692 | Smith et al. | Sep 1999 | A |
6244644 | Lovchik et al. | Jun 2001 | B1 |
6344062 | Abboudi et al. | Feb 2002 | B1 |
6918622 | Kim et al. | Jul 2005 | B2 |
7795832 | Kawabuchi et al. | Sep 2010 | B2 |
20110040408 | De La Rosa Tames et al. | Feb 2011 | A1 |
Number | Date | Country |
---|---|---|
03196983 | Aug 1991 | JP |
0728502 | Jan 1995 | JP |
09185416 | Jul 1997 | JP |
11247807 | Sep 1999 | JP |
2005092763 | Apr 2005 | JP |
2006127047 | May 2006 | JP |
2007045271 | Feb 2007 | JP |
2010117347 | May 2010 | JP |
2010149274 | Jul 2010 | JP |
2011143528 | Jul 2011 | JP |
Entry |
---|
http://robotics.nasa.gov/courses/fall2002/event/oct1/NASA—Robotics—20021001.htm. |
Number | Date | Country | |
---|---|---|---|
20120109379 A1 | May 2012 | US |