1. Field of the Invention
The present invention relates to force feedback hand controllers, particularly to three to six degree of freedom hand controllers with rotational handles.
2. Background Art
Force-reflecting master hand controllers fall under two main categories, namely serial mechanisms and parallel mechanisms, and can also be a combination of both in the case of hybrid constructions.
Serial mechanisms or linkages comprise a series of generally rigid links that are joined end-to-end in series. They form a structure analogous to a human arm, with a shoulder supporting an upper arm, which supports a lower arm, which in turn supports a hand. The hand is termed a distal stage, and supports a handle that the user may grasp to move the mechanism. The shoulder is normally mounted to a fixed base. Motors connected to the joints in the linkages serve to apply force and/or torque to the handle.
Serial mechanisms offer a large range of motion, but the joints closer to the motors must support the outer ones. Thus the inner joints require larger motors, which must move the load of the outer joints with their attendant high inertia. Moreover, all joints must be actuated, so either the weight of the joint motors is added to the weight of the links, or the mechanism is made more complex by the use of tendons or other means of transmitting torque to the joints from motors at the base.
Parallel mechanisms comprise two or more branches of linkages that are connected together. One end of each branch is connected to a base, while the other end is connected to a central joint. The central joint may support a handle that a user may grasp to move the mechanism. The motors generally reside in the base, moving the lower links in each branch and working together to apply force or torque to the handle. Because motors are generally not in the moving linkages, the load on the motors in the base consists mainly of lightweight linkages and joints. The weight of the structure and the attendant inertia is thus reduced compared to a serial mechanism. Smaller motors can therefore be employed to give adequate force and/or torque to the handle. However, the range of motion of a parallel mechanism is less than that of a serial mechanism. Moreover, the kinematic solution, the algorithm which relates the position of the central joint to the angles at the base of each branch, is generally more complex than that of a serial structure.
U.S. Pat. No. 5,847,528 discloses a three-degree of freedom parallel mechanism that provides position control of a member in space. The mechanism consists of three branches, each one comprising two link members serially connected together by rotary joints. Three rotary motors in the base drive the lower link of each branch, each of which is rigidly connected to a motor shaft. However, this mechanism does not employ a balanced design, so its load capability is limited since the motors have to counteract significant gravitational forces to hold a given position. In addition, the geometry of the branches produces a mechanism that is relatively voluminous.
U.S. Pat. No. 4,806,068 discloses a three-degree of freedom parallel mechanism also consisting of three branches each with two links serially connected together by rotary joints. The lower links, i.e. the links closer to the base, are translated in one degree of freedom rather than rotated.
U.S. Pat. No. 5,301,566 discloses a three-degree of freedom parallel mechanism also with three branches supporting a platform, each branch having a single inextensible link connected to a five-bar linkage in the plane of the base. The five-bar linkage moves the end of each inextensible link in two-degree of freedom motion in the plane of the base, so that the platform is moved in space.
U.S. Pat. No. 4,651,589 discloses a six-degree of freedom parallel mechanism with three branches supporting a platform. Each branch has two extensible links connected at one end to spherical joints at the platform, and at the other end by a spherical joint to a lower rigid link. The other end of the lower rigid link of each branch is connected to a rotary actuator at the base. A three-degree of freedom mechanism results when the two extensible links in each branch are replaced by inextensible links.
U.S. Pat. No. 4,976,582 discloses a three-degree of freedom parallel mechanism with three branches supporting a platform. Each branch has a four-bar mechanism connected at one end to two spherical joints at the platform, and at the other end by a rotary joint to a rigid lower link. The other end of the lower link of each branch is connected to a rotary actuator at the base. When the platform is moved, it maintains a constant orientation.
U.S. Pat. No. 5,271,290 discloses a six-degree of freedom mechanism with six branches supporting a platform. The branches are arranged in pairs, so that each pair forms a five-bar mechanism to control the 2-degree of freedom position of one corner of a triangular platform, thus controlling the orientation and position of the whole platform.
Accordingly, there is a need for a hand controller allowing at least three-degree of freedom control with a balanced and compact geometry and having a computable forward kinematic model.
It is therefore an aim of the present invention to provide an improved hand controller allowing at least three-degree of freedom control.
It is also an aim of the present invention to provide a balanced hand controller able to hold a current position without assistance.
It is a further aim of the present invention to provide a hand controller with a compact geometry having a readily computable forward kinematic model.
Therefore, in accordance with the present invention, there is provided a parallel mechanism comprising a base, three rotary motors fixed on the base, each of the rotary motors having a rotating shaft, three branches, each of the branches having a first end and a second end, the first end of each of the branches being connected to the rotating shaft of a different one of the rotary motors, a central coupler connected to the second end of all of the branches, the branches constraining the central coupler to be movable along at least three degrees of freedom as a function of actuation from any one of the three rotary motors, and at least one counterweight for each of the branches to balance the same about at least the rotating shaft of the corresponding one of the rotary motors such that the central coupler holds a current position and orientation without assistance from the rotary motors.
Also in accordance with the present invention, there is provided a mechanism for transmitting a motion having at least three degrees of freedom to a processing system, the mechanism comprising a base, three branches, each of the branches including a parallelogram formed by first, second, third and fourth links joined by revolute joints with the first and fourth links being parallel to one another and the second and third links being parallel to one another, each of the branches also including a fifth link rotationally and axially connected to the fourth link, the fifth link being rotationally connected to the base, a sensor coupled to each of the branches and connected to the processing system, and a central coupler rotationally connected to the first link of each of the branches, the branches constraining the central coupler to be movable along the at least three degrees of freedom, an orientation of each one of the branches being measured by the corresponding sensor to produce data used by the processing system to calculate a position and orientation of the central coupler.
In a preferred embodiment, the invention provides a mechanism for moving a member in space. The mechanism comprises three identical branches, each provided with at least first, second, third, four and fifth link members. The three branches are mutually coupled through a central spherical joint. The central joint consists of a payload member with three revolute joints with orthogonal axes. A handle may be attached to the payload member, such that a user may grasp it to manipulate the mechanism. Alternatively, the handle may support an orientation/plunger device with two degrees of freedom in orientation and one degree of freedom of linear motion.
The first link member of each branch is connected to the central spherical joint by means of one of the three revolute joints of the central joint. The first, second, third and fourth link members of each branch form a parallelogram linkage, or a four-bar mechanism, so that the first link is constrained to move parallel to the fourth link. The fourth link has an extension that is connected to a fifth link by an axially revolute joint. The fifth link is connected to the end of a revolute motor shaft positioned normal to the midpoint of the fifth link. Thus, the motor shaft, the fourth link and the fifth link form a spherical joint, which is the base spherical joint for each branch. The three motors are fixedly attached to a common base. Thus three motors connected to the ends of the three branches serve to position the payload relative to the fixed base.
Revolute sensors are attached to one or more of the revolute joints in order to measure the angle of the joint, which is joined to the position of the payload by a kinematics calculation.
The second and fourth links of each branch may have extensions outside the four-bar that hold counterweights, so that the payload and the links comprising the four-bar are balanced in the presence of gravity. Heavy counterweights are used near the axis of movement of the base, in order to minimize inertia.
The payload at the central spherical joint may itself have a one, two or three degree of freedom handle, each joint of which may be sensed by revolute sensors or driven by motors. The motors may be carried on the handle or installed in the fixed base and connected to the handle by flexible means such as belts or tendons.
Reference will now be made to the accompanying drawings, showing by way of illustration a preferred embodiment of the present invention and in which:
The present invention falls under the class of hybrid controllers, with a parallel mechanism supporting a serial handle mechanism. The serial handle mechanism may include motors which are generally lightweight. The controller has a balanced design, which permits the motors to apply all their power to the handle mechanism, rather than consuming energy to overcome an unbalanced gravitational load. The present invention makes use of an arrangement of the links that forms a cube in its home position. It therefore has the advantage of being amenable to a relatively simple kinematic approximate solution for three-degree of freedom control.
The mechanism of the present invention in connection with a computer allows for a user to move the handle mechanism to activate, for example, a virtual probe in a synchronous motion. The mechanism can produce a feedback force on the handle mechanism to be reflected to the user's hand when the virtual probe comes in contact with an obstacle.
Referring to
Referring to
The branch 14 comprises a first link 32, a second link 34, a third link 36, a fourth link 38 and a fifth link 40. The first and fourth links 32,38 form the short sides of a parallelogram linkage 82, while the second and third links 34,36 form the long sides of that parallelogram linkage 82. The links 32,34,36,38 forming the parallelogram linkage 82 are connected through revolute joints 84,86,88,90 to allow the links to move in the plane of the parallelogram 82. The four revolute joints 84,86,88,90 each have a respective axis of rotation 52,54,56,58, with the four axes of rotation 52,54,56,58 being mutually parallel and normal to the plane formed by the parallelogram 82. Thus, as the links or sides 32,34,36,38 of the parallelogram linkage 82 move, the first link 32 remains parallel to the fourth link 38, and the second link 34 remains parallel to the third link 36.
The first link 32 extends past the parallelogram 82 toward the front of the mechanism 10. On the front extremity of the first link 32, a central joint hole 30 is defined for receiving a revolute joint having an axis of rotation 50 parallel to axes 52,54,56,58 of the parallelogram 82.
The fourth link 38 extends past the parallelogram 82 toward the back of the mechanism 10. The fifth link 40 has a hole 110 along its length, as shown in
A clamp 42 is fixedly attached to the outside of the fifth link 40 and includes a hole 112 defining an axis of rotation 62 perpendicular to the axis of rotation 60 of the fourth and fifth links 38,40. The hole 112 is designed to receive a motor shaft 70, as shown in
The motor 24 comprises a reverse extension shaft 126, which protrudes from a back end of the motor body 72. A rotational sensor 124 is coupled to the reverse extension shaft 126 by a cylindrical coupler 128 with holes in both ends. The hole on the front end of the coupler 128 receives the reverse extension shaft 126 of the motor, while the hole on the back of the coupler 128 receives a shaft 130 of the sensor 124. Thus the reverse extension shaft 126 and the shaft 130 of the sensor are axially connected by the coupler 128 and rotate together, the rotation of the sensor shaft 130 accurately measuring the rotation of the reverse extension motor shaft 126. Since the reverse motor shaft 126 is rigidly attached to the motor shaft 70 through the motor body 72, and collinear with the motor shaft 70, the sensor 124 accurately measures the rotation of the motor shaft 70, and hence of the fifth link 40 attached to the shaft 70 by the clamp 42.
The fourth link 38 extends past the fifth link 40 to support a counterweight 46. The counterweight 46 is screwed onto the end of the fourth link 38, and may be adjusted by turning the counterweight 46 until the branch 14 is balanced in gravity when turning about the axis of rotation 62 of the clamp 42.
Likewise, the second link 34 extends past the revolute joint 88 connecting it to the fourth link 38. The extension of the second link 34 supports a counterweight 44, which is screwed onto the end of the second link 34, and may be adjusted by turning the counterweight 44 until the branch 14 is balanced in gravity when turning about the axis of rotation 56 of the joint 88. Alternatively, each of the counterweights 44,46 can be connected to the respective link 34,38 by inserting the link into a central bore of the counterweight, and tightening a set screw inserted through the counterweight perpendicularly to the hole to press against the link. It is to be understood that a number of other equivalent means to connect each of the counterweights 44,46 to the respective link 34,38 can also be used.
Referring to
The first links 32 of the three branches 12,14,16 are each attached by revolute joints to the central joint 20 (see
Because the axis of rotation 50 of the central joint hole 30 in each branch 12,14,16 is parallel to the axes of rotation 52,54,56,58 of the parallelogram 82 of that branch (see
A spherical handle 106 is fixedly attached to the body 92 of the central joint 20. The handle 106, the central joint body 92 and the central joint right shaft 102 share the axis 140 of the right shaft 102. Thus the orientation of the axis 140 of the right shaft 102, and of the central joint body 92, is determined by the orientation of the right branch 16. This is because the central joint hole 30 of the right branch 16 receives the right shaft 102 of the central joint 20, making the axis 140 of the right shaft 102 and the axis 50 of the right branch 16 coincident, and because the right shaft 102 is fixedly attached to the central joint body 92.
The mechanism 10 in the configuration described provides a three-degree of freedom motion. It is also considered to include a distal stage that provides two degrees of freedom of rotational motion, and possibly one degree of freedom in a linear motion. In an alternative embodiment, and as shown in
It is also considered to install the handle with rotation 120 or the spherical handle 106 so that the handle can slide or rotate in the central joint body 92. A longitudinal hole 116 is defined in the central joint body 92. A shaft 114 having an appropriate diameter is inserted in the longitudinal hole 116 through the body 92 and emerges on the other side to define an extension shaft 118. The spherical form 106, the shaft 114 and the extension shaft 118 are aligned and fixedly attached to one another. The sliding motion of the extension shaft 118 in the central joint body 92 is preferably instrumented with a linear sensor mounted on the central joint body 92. It is also considered to drive the sliding motion by a linear motor mounted on the central joint body 92. Similarly, the rotating motion of the extension shaft 118 in the central joint body 92 is preferably instrumented with a rotary sensor and driven by a rotary motor, both of which being mounted on the central joint body 92.
In operation, the user grasps the handle 106 (or 120) and moves it. Movements of the handle 106, 120 are measured by the rotational sensors 124 attached to the motors 22, 24 and 26 at the base of each branch 12, 14, 16.
In a preferred embodiment, a program in the computer 150 accepts the angle measurements 152 and moves a virtual probe synchronously with the motion of the mechanism 10. If desired, the computer program computes the required force to be reflected to the user's hand, when, for example, the virtual probe touches a virtual surface. The program uses kinematics algorithms to convert this required force to a required motor torque, then to a voltage known to produce that torque which is fed to a digital to analogue converter 158. The output of the D/A converter 158 is fed to a voltage to current converter 160 connected to the motors 22,24,26. The current applied to motors 22,24,26 then produces the required torque.
The various elements of the mechanism 10 are preferably machined from solid aluminum, except for the second and third links 34,36 of the branches 12,14,16 which are preferably round steel shafts. Flanged bearings are preferably inserted on both sides of each joint, and preloaded by tensioning with holding screws, with the screw heads pressing on the inner race of the bearing and the flange of the bearing resting on the outside of the hole.
In a preferred embodiment, the motors 22,24,26 are 90-Watt motors from Maxon, Model RE035-071-34EAB200A. The D/A converter 158 is a PCI-6208 converter from Adlink, while the voltage to current converter 160 for each motor is a model PA12A converter from Apex. The rotational sensors 124 are magneto-resistance sensors from Midori America Corporation, Model CP-2UTX. The A/D converter 156 for each sensor is a KPCI-3107 converter from Keithley.
The kinematics algorithm of the mechanism 10 is relatively simple, because of its symmetrical construction. Although several solutions, varying in complexity and precision, can be used to characterize the motion and torque of the central joint 20, a solution is possible when the angular sensors are located at the elbow (as will be described hereinafter). This solution is simple and straightforward, and will be described in the following. The mechanism 10 as represented in
Since the mechanism 10 nominally takes the general form of a cube in its home position, this allows some simple kinematic equations to be defined. For example, suppose L is the length of the side of the nominal cube. Referring to
The location of the central point 178 at home position is coincident with the origin of the coordinate system 144, 146 and 148. We will refer to this fixed location as the “origin”, while the central point 178 may move relative to the origin.
In terms of the coordinate system 144, 146, 148, the positions of the motor points 176 of each branch 12, 14 and 16 are given, respectively, by
M0=(0,−L,−L)
M1=(−L,0,−L)
M2=(−L,−L,0)
where subscripts 0, 1 and 2 represent branches 14, 16 and 12, respectively. The vector quantities Mi will be referred to as “motor vectors”. These are vector that do not move as the mechanism moves, each one being a vector from the origin to a motor point.
Now define biceps vectors 170 and forearm vectors 172, termed, respectively, Bi and Gi for branch i, where i may be 0, 1 or 2 to represent branch 12, 14 or 16. As seen in
Define also φi, the angle 174 between the biceps vector 170 and the forearm vector 172, according to the usual definition for angles between vectors (so that the dot product of the vectors equals the cosine of the angle between them). For convenience, we also define αi, the complement of the angle φi, (that is, αi=π/2−φi).
Define also a vector X drawn from the origin (the central point 178 at home position) to the location in space of the central point 178 when it is moved from home position by the action of the mechanism 10.
Because of the geometry of mechanism 10, vector X is equal to the sum of the vectors from the origin (central point 178 at home position), through the motor point 176 and the elbow point 180:
Mi+Bi+Gi=X
Rearranging this equation, we put Bi and Gi on the left:
Bi+Gi=X−Mi
Squaring both sides,
Bi2+2 Bi·Gi+Gi2=X2−2 X·Mi+Mi2
Vectors Bi and Gi each have length L, while vectors Mi have length L from the definition of Mi:
Bi2=L2
Gi2=L2
Mi2=2L2
Bi·Gi=L2 cos φi
Substituting these into the squared equation,
L2+2 L2 cos φi+L2−2 X·Mi+2L2
which may be rearranged to give,
cos φi=L−2(X2/2−X·Mi)
Using αi, the complement of angle φi, we get
sin αi=L−2(X2/2−X·Mi)
Explicitly, for each branch,
S0≡sin α0=L−2((X02+X12+X22)/2+L(X1+X2))
S1≡sin α1=L−2((X02+X12+X22)/2+L(X0+X2))
S2≡sin α2=L−2((X02+X12+X22)/2+L(X0+X1))
This gives the inverse kinematics, in which the joint angles are derived from the central joint position in space. The forward kinematics may be derived by inversion of these equations to obtain the symmetric set of equations,
Xi=−L(K+Si)
for each i, where
K=⅓[2−(S0+S1+S2)−{square root}2[2+(S0+S1+S2)−(S02+S12+S22)+S0S1+S0S2+S1S2]1/2]
Although the mechanism 10 has been described as being actuated, such as to produce a motion on the handle, it is understood that the mechanism 10 can be used to merely capture and transmit the movements of the handle to the processing system. In that case, the motors can be omitted and the fifth link of each branch is rotationally received on the base, with a rotational sensor being provided for each branch, for example at the fifth link.
The mechanism of the present invention presents several advantages. The parallel nature of the mechanism allows fast response, with direct connection of the links to the motors. The mechanism is highly responsive to the driving torque applied by the motors, thus making possible the rendering of higher virtual stiffness.
The motors 22, 24 and 26 are fixedly mounted to the base 18, so their weight does not have to be carried in the structure of the mechanism. The mechanism thus has low inertia and can be moved rapidly.
In the case in which the rotational sensors 124 are mounted to the motor bodies 66,72,78, the sensors can be rotated into their correct position simply by turning the motor body to which that sensor is attached. It is pointed out that angular displacements may be measured at any suitable location (e.g., joints) on the mechanism 10.
Preloaded bearings in each joint allow response with reduced backlash and a minimum of friction. The design is simple, and can be built efficiently.
By making use of magneto-resistance effect sensors connected to a 16-bit analog to digital converter, the mechanism can deliver an angular resolution of some 7 seconds of arc over a 120 degree range of motion, without the weight, size and expense penalties incurred by optical encoders.
Because of the counterweights, the mechanism 10 is balanced in a gravitational field. Accordingly, the central coupler can maintain any position without assistance when no motion is transmitted by the handle. This reduces the load on the motors, which can put their energy into positioning rather than holding a position.
The mechanism, 10, because of the “cubic” configuration, allows near-separation of variables, so that each branch is generally responsible for motion in one of the three Cartesian directions.
The embodiments of the invention described above are intended to be exemplary. Those skilled in the art will therefore appreciate that the foregoing description is illustrative only, and that various alternatives and modifications can be devised without departing from the spirit of the present invention. Accordingly, the present is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.