Data processing: generic control systems or specific application – Specific application – apparatus or process – Robot control
Reexamination Certificate
1999-02-18
2001-05-01
Cuchlinski, Jr., William A. (Department: 3661)
Data processing: generic control systems or specific application
Specific application, apparatus or process
Robot control
C700S245000, C700S246000, C700S260000, C700S264000, C703S001000, C703S006000, C703S007000, C901S034000, C901S045000, C901S047000, C901S048000
Reexamination Certificate
active
06226566
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to the field of robotics. More specifically, the invention relates to controlling robotic mechanisms with both active and passive joints.
BACKGROUND OF THE INVENTION
Robotic mechanisms comprising only active joints are used widely in a number of application domains and the control of such mechanism is well understood. We will refer to such mechanisms as active mechanisms. Active mechanisms are particularly well suited for situations where the working volume of the mechanism is free of obstacles and environmental constraints on the motion of the mechanism. This is typically the case for applications of active robot mechanisms to manufacturing tasks, where the robot work-cell is specifically designed to suit the requirements of the robot mechanism. There are situations, however, where access to the working volume of a robotic mechanism can not be made unimpeded. In such situations access to the working volume is restricted by environmental constraints, such as small openings, tight passages and obstacles. With active mechanisms these constraints must be accommodated with time-consuming off-line programming to allow the mechanism to accomplish a given task without undesired contact with the environment. The success of task execution depends on the accuracy with which the programmer has captured the geometry of the environmental constraints and the accuracy with which complex coordinated motions of multiple joints of the robot mechanism are carried out. This approach is inflexible and error-prone, often leading to unintended or overly forceful interaction between the robot mechanism and the environment, potentially damaging the environment, the mechanism itself, or both.
An alternative approach to controlling robotic mechanisms in the presence of environmental constraints is to use robot mechanisms which include one or more passive joints. We will refer to such robot mechanisms as hybrid mechanisms. By ensuring that each link of a hybrid mechanism, which is constrained by an environmental constraint, is attached to one or more passive joints at the proximal end of the constrained link, such a hybrid mechanism can comply freely with the environmental constraints acting on the mechanism. (Throughout this document we will use the terms ‘proximal’ and ‘distal’ to mean ‘closer to’ and ‘further from’ the base of the robot, respectively. The base of the robot refers to the point where the robot is rigidly attached to the environment.) This arrangement ensures that neither the environment nor the mechanism itself will be damaged during task execution, which makes hybrid mechanisms the preferred solution for applications where access to the workspace is restricted and avoiding incidental damage to the environment is critical. However the use of passive joints significantly complicates control of the mechanism and so hybrid mechanisms are rarely used in practice. The difficulties in controlling hybrid mechanisms arise because the environmental constraints on the motion of the constrained elements and attached passive joints must be characterized and used to accurately predict the motion of the mechanism in response to a given displacement of active joints. Further, the control is complicated by the fact that the location where a given environmental constraint is acting on the mechanism may change as the mechanism moves. This requires that the control method be able to update the characterization of the environmental constraints on the motion of the mechanism at run-time.
We will define a mechanism to comprise a serial chain of two or more rigid links, connected by one or more joints. Each of the joints can be either active or passive. An active joint is equipped with an actuator (motor), which is capable of moving the joint, and an encoding device (encoder), which provides information about the position of the joint at any time. A mechanism consisting of only active joints will be referred to as an active mechanism. A mechanism comprising both active and passive joints will be referred to as a hybrid mechanism. An element of the mechanism will refer to either a joint or a link of the mechanism. The element whose motion relative to the workspace is being controlled will be referred to as the target element. Normally the target element will correspond to a tool or an instrument attached to the distal end of the mechanism, but could be, in general, any element of the mechanism. We will use the term sub-mechanism to mean a subset of a larger mechanism, the sub-mechanism comprising at least one element of the larger mechanism. We will define the pose of an element to be the position and orientation of the element, expressed with respect to a given (e.g., Cartesian) coordinate frame. We will distinguish between a desired pose of an element and an actual pose of an element. The desired pose of an element is the pose that the element is expected to attain as a result of the control action of a control method. The desired pose of the target element is input to the control method. The actual pose of an element is the element's current pose with respect to a given Cartesian coordinate system. We will define a pose difference between pose A and pose B of an element to be a function of the two poses. Normally, the result of evaluating the pose difference function will be the Euclidean distance between the positional parts of the two poses and a unit vector and angle corresponding to the finite rotation separating the orientational components of the two poses. However, other functions can be defined to represent the pose difference between two given poses of an element.
FIGS. 1 and 2
introduce the notational conventions used throughout this document and provide a brief overview of the state of the art in control of active mechanisms.
FIG. 1
a
shows a simple mechanism consisting of 4 links (
101
,
104
,
107
,
110
), three mechanical joints (
102
,
105
,
108
), and three actuators corresponding to the three mechanical joints (
103
,
106
,
109
, respectively). Each of the actuators comprises a motor (
111
), which delivers mechanical force or torque to move the joint, and a means of determining the angular or linear position of the joint (
112
), which enables closed-loop control of each of the joints.
FIGS. 1
b
,
1
c
,
1
d
, and
1
e
detail the notational conventions for the four types of mechanical joints that will be used in this document.
FIG. 1
b
shows a translational joint (
121
) and the corresponding symbolic representation (
122
) used in subsequent figures.
FIG. 1
c
shows a rotary twist joint (
141
) and the corresponding symbolic representation (
142
).
FIG. 1
d
shows an out-of-plane revolute joint (
161
) and the corresponding symbolic representation (
162
). Finally,
FIG. 1
e
shows an in-plane revolute joint (
181
) and the corresponding symbolic representation (
182
).
FIG. 2
shows a flow diagram of a typical control method for Cartesian control of a target element of a robotic mechanism comprising only active joints. The method
200
begins by determining the positions of all joints of the mechanism (
205
). The position of a translational joint is expressed as a linear distance and the position of a rotary joint is expressed as an angular displacement. Standard mathematical techniques (known in the art as forward kinematic) are then used to compute the actual (current) pose of the target element (
210
). The actual pose of the target element is compared with the desired pose of the target element (
215
) and the control method is terminated (
220
) if the difference between the two poses is less than some predetermined amount, where the amount can be a vector quantity. The pose difference consists of a positional and an orientational component. If the pose difference is larger than the predetermined amount, the method continues by characterizing the effect of moving each of the joints on the resulting Cartesian displacement of the target element (
225
). This step is accomplished by analyzing the effect of moving each
Funda Janez
Taylor Russell Highsmith
Cuchlinski Jr. William A.
International Business Machines - Corporation
Marc McDieunel
McGuireWoods LLP
Percello, Esq. Louis J.
LandOfFree
Method of constrained cartesian control of robotic... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of constrained cartesian control of robotic..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of constrained cartesian control of robotic... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2468664