|
|
Line 1: |
Line 1: |
| {{Lead rewrite|date=August 2009}}
| | Yoshiko is her title but she doesn't like when individuals use her complete title. Delaware is our beginning location. Climbing is what adore doing. Interviewing is what she does.<br><br>Also visit my weblog :: car warranty - [http://Alles-herunterladen.de/auto-repair-tips-youll-wish-youd-read-sooner/ you could try this out], |
| | |
| A '''virtual fixture''' is an overlay of abstract sensory information on a workspace in order to improve the [[telepresence]] of a [[telerobotics|remotely manipulated]] task.
| |
| | |
| == Concept ==
| |
| The concept of virtual fixtures was first introduced in (Rosenberg, 1993) as an overlay of
| |
| abstract sensory information on a workspace in order to improve the
| |
| [[telepresence]] in a [[telerobotics|telemanipulation]] task. The concept of abstract
| |
| sensory overlays is difficult to visualize and talk about, as a
| |
| consequence the virtual fixture metaphor was introduced. To understand
| |
| what a virtual fixture is an analogy with a real physical fixture such
| |
| as a ruler is often used. A simple task such as drawing a straight
| |
| line on a piece of paper on free-hand is a task that most humans are
| |
| unable to perform with good accuracy and high speed. However, the use
| |
| of a simple device such as a ruler allows the task to be carried out
| |
| fast and with good accuracy. The use of a ruler helps the user by
| |
| guiding the pen along the ruler reducing the tremor and mental load of
| |
| the user, thus increasing the quality of the task.
| |
| | |
| The definition of virtual fixtures in
| |
| (Rosenberg, 1993) is much broader than simply providing
| |
| guidance of the end-effector. For example, auditory virtual fixtures
| |
| are used to increase the user awareness by providing audio clues that
| |
| helps the user by providing multi modal cues for localization of the
| |
| end-effector. Rosenberg argues that the success of virtual fixtures is
| |
| not only because the user is guided by the fixture, but
| |
| that the user experiences a greater presence and better localization
| |
| in the remote workspace. However, in the context of
| |
| human-machine collaborative systems, the term
| |
| virtual fixtures is most often used to refer to a task dependent aid
| |
| that guides the user's motion along desired directions while
| |
| preventing motion in undesired directions or regions of the
| |
| workspace. This is the type of virtual fixtures that is described in this article.
| |
| | |
| Virtual fixtures can be either ''guiding virtual fixtures'' or
| |
| ''forbidden regions virtual fixtures''. A forbidden regions virtual fixture could be used, for
| |
| example, in a [[teleoperation|teleoperated]] setting where the operator has to drive a
| |
| vehicle at a remote site to accomplish an objective. If there are pits
| |
| at the remote site which would be harmful for the vehicle to fall into
| |
| forbidden regions could be defined at the various pits locations, thus
| |
| preventing the operator from issuing commands that would result in the
| |
| vehicle ending up in such a pit.
| |
| | |
| [[Image:Forbidden regions virtual fixture.png|frame|center|Example of a forbidden regions virtual fixture]]
| |
| | |
| Such illegal commands could easily be sent by an operator because of,
| |
| for instance, delays in the [[teleoperation]] loop, poor [[telepresence]] or
| |
| a number of other reasons.
| |
| | |
| An example of a guiding virtual fixture could be when the vehicle must
| |
| follow a certain trajectory,
| |
| | |
| [[Image:Guiding virtual fixture.png|frame|center|Example of a guiding virtual fixture]]
| |
| | |
| The operator is then able to control the progress along the
| |
| ''preferred direction'' while motion along the
| |
| ''non-preferred direction'' is constrained.
| |
| | |
| With both forbidden regions and guiding virtual fixtures the
| |
| ''stiffness'', or its inverse the ''compliance'', of the fixture can be adjusted. If the
| |
| compliance is high (low stiffness) the fixture is ''soft''. On the other hand
| |
| when the compliance is zero (maximum stiffness) the fixture is
| |
| ''hard''.
| |
| | |
| [[Image: Soft hard virtual fixture.png|frame|center|The stiffness of a virtual fixture can be
| |
| soft or hard. A hard fixture completely constrains the motion to thefixture while a softer
| |
| fixture allows some deviations from the fixture.]]
| |
| | |
| == Virtual Fixture Control Law ==
| |
| This section describes how a control law that implements virtual
| |
| fixtures can be derived. It is assumed that the robot is a purely
| |
| kinematic device with end-effector position
| |
| <math>\mathbf{p} = \left[ x,y,z \right]</math>
| |
| and end-effector orientation <math>\mathbf{r} = \left[ r_\textrm{x}, r_\textrm{y}, r_\textrm{z} \right]</math>
| |
| expressed in the robot's base frame <math>F_\textrm{r}</math>.
| |
| The input control signal <math>\mathbf{u}</math> to the
| |
| robot is assumed to be a desired end-effector velocity
| |
| <math>\mathbf{v} = \dot{\mathbf{x}} = \left[ \dot{\mathbf{p}}, \dot{\mathbf{r}} \right]</math>.
| |
| In a tele-operated system it is often useful to
| |
| scale the input velocity from the operator, <math>\mathbf{v}_\textrm{op}</math> before
| |
| feeding it to the robot controller. If the input from the user is of
| |
| another form such as a force or position it must first be transformed
| |
| to an input velocity, by for example scaling or differentiating.
| |
| | |
| Thus the control signal <math>\mathbf{u}</math> would be computed from the
| |
| operator's input velocity <math>\mathbf{v}_\textrm{op}</math> as:
| |
| <math>\mathbf{v} = c \cdot \mathbf{v}_\textrm{op}</math>
| |
| If <math>c=1</math> there exists a one-to-one mapping between the operator and the slave robot.
| |
| | |
| If the constant <math>c</math> is replaced by a diagonal matrix <math>\mathbf{C}</math> it is
| |
| possible to adjust the compliance independently for different
| |
| dimensions of <math>\dot{\mathbf{x}}</math>. For example, setting the first three
| |
| elements on the diagonal of <math>\mathbf{C}</math> to <math>c</math> and all other elements to zero
| |
| would result in a system that only permits translational motion and not
| |
| rotation. This would be an example of a hard virtual fixture that
| |
| constrains the motion from <math>\mathbf{x} \in \mathbb{R}^6</math> to
| |
| <math>\mathbf{p} \in \mathbb{R}^3</math>. If the rest of the elements on the
| |
| diagonal were set to a small value, instead of zero, the fixture
| |
| would be soft, allowing some motion in the rotational directions.
| |
| | |
| To express more general constraints assume a time-varying matrix
| |
| <math>\mathbf{D}(t) \in \mathbb{R}^{6 \times n},~ n \in [1..6]</math>
| |
| which represents the preferred direction at time <math>t</math>. Thus if <math>n=1</math> the
| |
| preferred direction is along a curve in <math>\mathbb{R}^{6}</math>. Likewise,
| |
| <math>n=2</math> would give preferred directions that span a surface. From <math>\mathbf{D}</math> two
| |
| projection operators can be defined (Marayong ''et al.'', 2003), the
| |
| span and kernel of the column space:
| |
| <math>
| |
| \begin{align}
| |
| \textrm{Span}(\mathbf{D}) & \equiv \left[ \mathbf{D} \right] =
| |
| \mathbf{D}(\mathbf{D}^T\mathbf{D})^{-1}\mathbf{D}^T \\
| |
| \textrm{Kernel}(\mathbf{D}) & \equiv \langle \mathbf{D} \rangle = \mathbf{I} - \left[ \mathbf{D} \right]
| |
| \end{align}
| |
| </math>
| |
| | |
| If <math>\mathbf{D}</math> does not have full column rank the span can not be computed,
| |
| consequently it is better to compute the span by using the
| |
| pseudo-inverse (Marayong ''et al.'', 2003), thus in practice the span is computed as:
| |
| <math>
| |
| \textrm{Span}(\mathbf{D}) \equiv \left[ \mathbf{D} \right] = \mathbf{D}(\mathbf{D}^T\mathbf{D})^{\dagger}\mathbf{D}^T
| |
| </math>
| |
| where <math>\mathbf{D}^\dagger</math> denotes the pseudo-inverse of <math>\mathbf{D}</math>.
| |
| | |
| If the input velocity is split into two components as:
| |
| <math>\mathbf{v}_\textrm{D} \equiv \left[ \mathbf{D} \right]
| |
| \mathbf{v}_\textrm{op} \textrm{~and~} \mathbf{v}_\tau \equiv
| |
| \mathbf{v}_\textrm{op} - \mathbf{v}_\textrm{D} = \langle \mathbf{D} \rangle
| |
| \mathbf{v}_\textrm{op}
| |
| </math>
| |
| it is possible to rewrite the control law as:
| |
| <math>\mathbf{v} = c \cdot \mathbf{v}_\textrm{op} = c \left( \mathbf{v}_\textrm{D} +
| |
| \mathbf{v}_\tau \right)
| |
| </math>
| |
| | |
| Next introduce a new compliance that affects only the non-preferred
| |
| component of the velocity input and write the final control law as:
| |
| <math>
| |
| \mathbf{v} = c \left( \mathbf{v}_\textrm{D} +
| |
| c_\tau \cdot \mathbf{v}_\tau \right) =
| |
| c \left( \left[ \mathbf{D} \right] + c_\tau \langle \mathbf{D} \rangle \right)
| |
| \mathbf{v}_\textrm{op}
| |
| </math>
| |
| | |
| == References ==
| |
| * L. B. Rosenberg. ''Virtual fixtures: Perceptual tools for telerobotic manipulation'', In Proc. of the IEEE Annual Int. Symposium on Virtual Reality, pp. 76–82, 1993.
| |
| * P. Marayong, M. Li, A. M. Okamura, and G. D. Hager. ''Spatial Motion Constraints: Theory and Demonstrations for Robot Guidance Using Virtual Fixtures'', In Proc. of the IEEE Int. Conf. on Robotics and Automation, pp. 1270–1275, 2003.
| |
| | |
| {{No footnotes|date=August 2009}}
| |
| | |
| == See also ==
| |
| * [[Telepresence]]
| |
| | |
| {{DEFAULTSORT:Virtual Fixture}}
| |
| [[Category:Perception]]
| |
| [[Category:Robotic sensing]]
| |
| [[Category:Virtual reality]]
| |
| [[Category:Control theory]]
| |
| [[Category:Cybernetics]]
| |
| [[Category:Robot control]]
| |