<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s100201119</article-id>
<article-id pub-id-type="publisher-id">sensors-10-01119</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Development of a Fingertip Glove Equipped with Magnetic Tracking Sensors</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Fahn</surname><given-names>Chin-Shyurng</given-names></name><xref ref-type="corresp" rid="c1-sensors-10-01119"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Sun</surname><given-names>Herman</given-names></name></contrib>
<aff id="af1-sensors-10-01119">Department of Computer Science and Information Engineering, National Taiwan University of Science and Technology, Taipei 10607, Taiwan; E-Mail: <email>herman_sun@sitronix.com.tw</email></aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-10-01119">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>csfahn@mail.ntust.edu.tw</email>; Tel: +886-2-27301215; Fax: +886-2-27301081.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2010</year></pub-date>
<pub-date pub-type="epub">
<day>29</day>
<month>1</month>
<year>2010</year></pub-date>
<volume>10</volume>
<issue>2</issue>
<fpage>1119</fpage>
<lpage>1140</lpage>
<history>
<date date-type="received">
<day>24</day>
<month>11</month>
<year>2009</year></date>
<date date-type="rev-recd">
<day>11</day>
<month>1</month>
<year>2010</year></date>
<date date-type="accepted">
<day>20</day>
<month>1</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2010 by the authors; licensee Molecular Diversity Preservation International, Basel, Switzerland.</copyright-statement>
<copyright-year>2010</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>In this paper, we present the development of a data glove system based on fingertip tracking techniques. To track the fingertip position and orientation, a sensor module and two generator coils are attached on the fingertip and metacarpal of the corresponding finger. By tracking the fingertip, object manipulation tasks in a virtual environment or teleoperation system can be carried out more precisely, because fingertips are the foremost areas that reach the surface of an object in most of grasping processes. To calculate the bending angles of a finger, we also propose a method of constructing the shape of the finger. Since the coils are installed on the fingertips and metacarpals, there is no contact point between the sensors and finger joints. Hence, the shape of the sensors does not change as the fingers are bending, and both the quality of measurement and the lifetime of the sensors will not decrease in time. For the convenience of using this glove, a simple and efficient calibration process consisting of only one calibration gesture is also provided, so that all required parameters can be determined automatically. So far, the experimental results of the sensors performing linear movement and bending angle measurements are very satisfactory. It reveals that our data glove is available for a man-machine interface.</p></abstract>
<kwd-group>
<kwd>data glove</kwd>
<kwd>fingertip tracking</kwd>
<kwd>magnetic induction</kwd>
<kwd>sensor module</kwd>
<kwd>motion constraint</kwd>
<kwd>data glove calibration</kwd>
<kwd>man-machine interface</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Interest in studying man-machine interfaces has continued to grow, especially for immersive virtual environment applications and for input devices for portable machines. To achieve more realistic object manipulation, glove-based input devices are commonly chosen as the human-machine interfaces of virtual reality (VR) applications. The data glove is a multi-sensory device that generates a large amount of data and is more complex than other input devices. Nonetheless, most researchers still adopt this device because the natural interfacing characteristic of the data glove with human being is the way to improve system manipulations that are applicable in many specific fields. At present, the data glove has been increasingly employed in the areas of teleoperations and robotic control [<xref ref-type="bibr" rid="b1-sensors-10-01119">1</xref>–<xref ref-type="bibr" rid="b3-sensors-10-01119">3</xref>], surgery training of medical applications [<xref ref-type="bibr" rid="b4-sensors-10-01119">4</xref>,<xref ref-type="bibr" rid="b5-sensors-10-01119">5</xref>], entertainment sports (VR systems) [<xref ref-type="bibr" rid="b6-sensors-10-01119">6</xref>,<xref ref-type="bibr" rid="b7-sensors-10-01119">7</xref>], industrial manufacturing of CAD/CAM applications [<xref ref-type="bibr" rid="b8-sensors-10-01119">8</xref>,<xref ref-type="bibr" rid="b9-sensors-10-01119">9</xref>], text input devices [<xref ref-type="bibr" rid="b10-sensors-10-01119">10</xref>–<xref ref-type="bibr" rid="b12-sensors-10-01119">12</xref>], and so on.</p>
<p>The hand-tracking gloves currently marketed include: Sayre Glove, MIT LED Glove, Digital Data-Entry Glove, DataGlove, Dexterous HandMaster, Power Glove, CyberGlove, VPL Glove, and Space Glove [<xref ref-type="bibr" rid="b13-sensors-10-01119">13</xref>]. Nowadays, several kinds of sensing technologies have been realized and applied to the development of data gloves. Most of these data gloves provide high accuracy, high reliability, and high capability in measuring the degree of freedom (DOF) of human hands [<xref ref-type="bibr" rid="b14-sensors-10-01119">14</xref>–<xref ref-type="bibr" rid="b17-sensors-10-01119">17</xref>]. Most of them are constructed using sensors that measure the bending angles of fingers. Although the glove sensors can measure all of the bending angles precisely, the precision of object grasping in the virtual environment is not guaranteed due to the variation in size of a user’s hand wearing the data glove.</p>
<p>The gloves are also mostly built with flex sensors attached on the finger joint positions of the hand. When the fingers are bent, the sensors are also bent and the generated outputs are measured. Based on these outputs, the bending angles of the fingers are calculated. When users wear the data gloves, the stretching and bending of the finger joints occur very frequently. This reduces the lifetime of the sensors and the accuracy of measurements. According to the sensor outputs, the data gloves can be grouped into two classes: one type produces linear outputs, and another produces nonlinear outputs. Either linear or nonlinear data gloves should be calibrated before they are activated in the particular applications. Compared to linear data gloves, the calibration process of nonlinear data gloves is not so easy, owing to the lack of output references of nonlinear sensors [<xref ref-type="bibr" rid="b18-sensors-10-01119">18</xref>]. The following depicts the most commonly used sensors for hand tracking applied to the development of glove-based input devices:
<list list-type="roman-lower">
<list-item>
<p>Acoustic tracking sensor</p>
<p>This kind of sensor uses high frequency audio signals to track the movements of fingers. Such sensors may suffer from acoustic reflections if they are surrounded with hard walls or other acoustically reflective surfaces.</p></list-item>
<list-item>
<p>Optical tracking sensor</p>
<p>This sensor generally uses an LED or infra-red signal as the source which is conducted toward a transmission media like flexible tubes or fiber optics. Then a photocell sensor is placed at the other end of the media to measure the intensity of the signal.</p></list-item>
<list-item>
<p>Magnetic tracking sensor</p>
<p>It uses a source element radiating a magnetic field and a small sensor that reports its position and orientation with respect to the source. The magnetic field may be interfered by metallic objects in the environment, which decrease the accuracy of measurement.</p></list-item>
<list-item>
<p>Resistance tracking sensor</p>
<p>This sensor uses a variable resistance material whose resistivity is varied according to the bending degree of the sensor.</p></list-item></list></p>
<p>In order to achieve high capability in measuring the DOF of a hand, a lot of sensors should be attached to the data glove, each of which is usually installed on the finger joint position. Low cost data gloves that contain few sensors are available today on the market. However, this kind of data gloves can only measure a few DOF of the hand, so it does not appropriately act as an input device for most of the VR systems that require a high DOF of the hand.</p>
<p>In this paper, we present the development of a sensory data glove that contains only five sensor modules and one sensor coil, but still possesses the ability to measure high numbers of DOF of the hand. Instead of measuring the bending angles of finger joints directly, we track the positions and orientations of fingertips with respect to the metacarpals, so that there is no direct contact point between sensors and finger joints, and thus, the quality of measurement and the lifetime of the sensors will not decrease in time. We also propose a method for constructing the shape of the finger, and based on this shape, the bending angle of the finger joints can be calculated. By measuring the positions of the fingertips, the object grasping process in a virtual environment can be performed more precisely, because in most of such processes, the fingertips are the foremost areas that reach the surface of an object. Using magnetic induction technology, we constructed the data glove sensors, which provide high accuracy of measurement. To avoid the interference of metallic objects in the environment, the sensors and the electromagnetic sources on the glove are arranged in such a way to ensure that the distances between them are near enough, so that the measurement error caused by metallic objects can be ignored.</p>
<p>In the light of the magnetic induction theory, the position and orientation of a single coil sensor can be uniquely described by three position and two orientation parameters. To solve these parameters, a minimum of five equations are needed. If more equations are incorporated, more sensors should be added such that the complexity of the data glove system will increase. To reduce the number of sensors, we design a sensor module that can be used for measuring the fingertip position. The positions of the sensors on the data glove are carefully arranged and the motion constraints among the fingers and the finger joints of the hand [<xref ref-type="bibr" rid="b19-sensors-10-01119">19</xref>] are also investigated. The theoretical formulation of the fingertip positions, abduction angles, and the calibration equations are derived directly from the positions and orientations of the sensors in which the motion constrains of the hand are applied.</p>
<p>To make the glove easy to use, a simple and efficient calibration process consisting of only one calibration gesture is proposed, too. The parameters required for calculating the fingertip positions are immediately determined from the calibration equations that are also derived from the positions and orientations of the sensors on the data glove. In the realization of the data glove, ten generator coils arranged into five groups are attached on the metacarpals, while five associated sensor modules are installed on the fingertips of the hand. Additionally one sensor coil is placed on the metacarpal of the middle index for measuring the abduction angles. These ten generator coils tend to interfere with each other if they are not appropriately controlled, and all of the sensors will not produce accurate results. To overcome this problem, three scanning methods are evaluated and the time division technique is eventually adopted in developing the prototype of our data glove.</p></sec>
<sec sec-type="methods">
<label>2.</label>
<title>The Construction of the Data Glove Sensor</title>
<p>The sensor of the data glove we have developed is made of small coils (the sensor coils) that are installed on the fingertip positions of the hand. The magnetic flux generators are also made of small coils (the generator coils) activated by sinusoidal waveform generators. Each generator coil may be represented as a magnetic dipole that can be modeled by a single analytical equation. The magnetic dipole is a current loop whose dimensions are much smaller than the distance between the loop and an observation point. The magnetic field at point <bold>P</bold> with distance <italic>r</italic> from a circular dipole as shown in <xref ref-type="fig" rid="f1-sensors-10-01119">Figure 1a</xref> is given by:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mi mathvariant="italic">NIa</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mi mathvariant="italic">NIa</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>where <italic>B<sub>γ</sub></italic>, <italic>B<sub>θ</sub></italic> and <italic>B<sub>ϕ</sub></italic> are the magnetic fields in the directions <italic>a<sub>γ</sub></italic>, <italic>a<sub>θ</sub></italic>, and <italic>a<sub>ϕ</sub></italic> of the spherical coordinates system, respectively, <italic>μ<sub>0</sub></italic> = 4<italic>π</italic> × 10<sup>−9</sup> H/cm is the magnetic permeability of a free space, <italic>N</italic> is the number of turns, <italic>I</italic> is the coil current, <italic>a</italic> is the radius of the coil, and <italic>r</italic> &gt;&gt; <italic>a.</italic></p>
<p>When a single coil sensor is placed at point <bold>P</bold> where the magnetic field intensity is varied in time, the electromotive force (<italic>Emf</italic>) induced in the coil is expressed by the following equation:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="bold">Φ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula>where <italic>ϕ</italic> is the magnetic flux density linking the coil and <italic>N<sub>c</sub></italic> is the number of turns of the coil. The negative sign indicates the direction of the induced current opposite to that of the change of the magnetic flux density. The magnetic flux density linked by the coil depends on the position and orientation of the coil in the magnetic field, as <xref ref-type="fig" rid="f1-sensors-10-01119">Figure 1(b)</xref> shows. Since <italic>B<sub>ϕ</sub> = 0</italic>, we can assume that the position of point <bold>P</bold> is always in the <italic>xz</italic>-plane. The orientation of the coil at point <bold>P</bold> can be represented by <italic>θ<sub>c</sub></italic> measured from the <italic>Z<sub>L</sub></italic>-axis and <italic>ϕ<sub>c</sub></italic> measured from the <italic>X<sub>L</sub></italic>-axis as shown in <xref ref-type="fig" rid="f2-sensors-10-01119">Figure 2</xref>, where <italic>X<sub>L</sub></italic>, <italic>Y<sub>L</sub></italic>, and <italic>Z<sub>L</sub></italic> represent the local coordinates system of the coil.</p>
<p>The magnetic field intensity in the direction <italic>S<sub>N</sub></italic> can be calculated by projecting <italic>S<sub>N</sub></italic> into the <italic>xz</italic>-plane. The procedure of calculating this magnetic field intensity is stated below:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:msub></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>90</mml:mn>
<mml:mo>°</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>θ</mml:mi>
<mml:mi>c</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi></mml:mrow>
<mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Then the magnetic flux density linked by the coil with radius <italic>b</italic> yields:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="normal">Φ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>B</mml:mi></mml:mrow>
<mml:mi>θ</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>By substituting B<sub>γ</sub> and B<sub>θ</sub> from (1) into (4), the magnetic flux density becomes:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="normal">Φ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:msup>
<mml:mi mathvariant="italic">Na</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>From (2), the induced electromotive force can be written as the function of the position in the <italic>yz</italic>-plane and the orientation of the sensor coil. This equation yields:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:msup>
<mml:mi mathvariant="italic">Na</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mn>8</mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula>.</p>
<p>In the development of the data glove, two identical sensor coils are combined to produce a sensor module. These two coils are arranged such that they are co-centered and perpendicular, as illustrated in <xref ref-type="fig" rid="f3-sensors-10-01119">Figure 3</xref>.</p>
<p>Since the two sensor coils are perpendicular, the orientation of the second sensor coil can be expressed as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>90</mml:mn>
<mml:mo>°</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>By substituting (7) into (6), the square of the <italic>Emf</italic> signals produced by the two sensor coils become:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi>W</mml:mi>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>9</mml:mn>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Emf</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi>W</mml:mi>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>9</mml:mn>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>where <italic>W</italic> = 3cos2<italic>θ</italic> + 1. Consequently, the power <italic>Emf</italic> signal of the sensor module, which is defined as the sum of the square of the <italic>Emf</italic> signals of the two sensor coils with respect to the generator coil, can be derived from (8) and listed in the following:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Emf</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Emf</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">dI</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mn>9</mml:mn>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ϕ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>If <italic>ϕ<sub>c</sub></italic> = 0, the equation above can be further simplified as:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>5</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p></sec>
<sec sec-type="methods">
<label>3.</label>
<title>The Construction of the Data Glove</title>
<p>To track the fingertip positions efficiently, the orientations and locations of the sensor modules associated with the generator coils should be carefully arranged on a user’s hand. Instead of placing them on the finger joint positions, the sensor modules are attached on the fingertips and the generator coils are placed near to the metacarpophalangeal (MCP) joints on the dorsal surface of the metacarpals. The distances between the generator coils and sensor modules are close enough such that the potential interference caused by a metallic object with the distance greater than 20 cm from the data glove can be ignored.</p>
<p>Owing to the highly articulated characteristic of a human hand, it possesses approximately 30 DOF that produce almost all hand gestures. Although the hand has so many DOF, the movements of the fingers, however, are highly constrained, so that it cannot make arbitrary gestures. There are many examples of such constraints, for instance, fingers cannot bend backward too much. The constraints that are applicable to simplifying the development of our data glove typically can be classified as follows:
<list list-type="roman-lower">
<list-item>
<p>Intrafinger constraints</p>
<p>It is the constraint between two joints of the same finger. By applying these constraints, the index, middle, ring, and pinkie distal interphalangeal (DIP) joint movements can be approximated by the following equation:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">DIP</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.67</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">PIP</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>where <italic>θ<sub>DIP</sub></italic> is the bending angle of a DIP joint and <italic>θ<sub>PIP</sub></italic> is the bending angle of a proximal interphalangeal (PIP) joint.</p></list-item>
<list-item>
<p>Angle range constraints</p>
<p>This type of constraints refers to the limits of the ranges of finger motion as a result of hand anatomy. It is usually represented by the following equation:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">MCP</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">Flexion</mml:mi></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:msup>
<mml:mn>90</mml:mn>
<mml:mo>∘</mml:mo></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">PIP</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">Flexion</mml:mi></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>90</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo>∼</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>100</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Thumb</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">IP</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">Flexion</mml:mi></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mn>90</mml:mn>
<mml:mo>°</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">MCP</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">abduction</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mtext>for the middle finger</mml:mtext></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">MCP</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">abduction</mml:mi></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mtext>for the other fingers</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item>
<p>One-axis constraints</p>
<p>For DIP, PIP, and thumb interphalangeal (IP) joints, only one axis of movements is available. It means that the bending angle is the unique parameter to be measured.</p></list-item></list></p>
<sec>
<label>3.1.</label>
<title>The Hand Model</title>
<p>As mentioned in the above motion constraints of the hand, each of DIP, PIP, and thumb IP joints has only one DOF. It is also assumed that the MCP joint of the middle finger has only one DOF, but the MCP joints of the other fingers have two DOF; namely, MCP bending angles and abduction angles. <xref ref-type="fig" rid="f4-sensors-10-01119">Figure 4</xref> describes the hand model and the positions of the sensor modules and generator coils of the data glove.</p>
<p>In this data glove, we measure the positions of five fingertips of the hand using five sensor modules and ten generator coils that are arranged into five groups. For the middle finger, one additional sensor coil is installed such that it is co-centered and perpendicular with the generator coils. This sensor coil is used for measuring three abduction angles called index-middle, ring-middle, and pinkie-ring abduction angles. By tracking fingertip positions, the object manipulation tasks in a virtual environment or teleoperation system can be carried out more precisely, because in most of grasping processes, fingertips are the foremost areas that reach the surface of an object. After the fingertip position has been determined, the shape of the associated finger can be modeled using the relationship between adjacent phalanges, and the corresponding bending angles of finger joints can be calculated, too. With this technique, our data glove has the ability of measuring 17 DOF of the hand. These bending angles are listed in <xref ref-type="table" rid="t1-sensors-10-01119">Table 1</xref>.</p></sec>
<sec>
<label>3.2.</label>
<title>Measuring the Fingertip Position</title>
<p>The data glove we develop contains sensor modules and generator coils that are placed on the fingertips and metacarpals of the hand, respectively. To make the measurement process easier, they must be installed in such a way, so that the orientation of the sensor module from the X<italic><sub>L</sub></italic>-axis is always equal to zero (<italic>ϕ<sub>c</sub></italic> = 0). To achieve this, each generator coil must be made rotatable such that its rotational direction is consistent with the rotation of the abduction angle for the corresponding finger.</p>
<p>On the assumption that the metacarpal of a finger is laid on the <bold>X</bold>-axis, the position of a fingertip can be expressed by the distance <italic>r</italic> measured from the sensor module to the generator coils and the angle <italic>θ<sub>1</sub></italic> measured from the <bold>X</bold>-axis. Two generator coils that are identical, perpendicular, and co-centered (the generator module) are used for measuring the above two parameters. They are placed on the metacarpal such that the normal vector of the first coil is parallel to the <bold>X</bold>-axis, as shown in <xref ref-type="fig" rid="f5-sensors-10-01119">Figure 5a</xref>.</p>
<p>Since the two generator coils are perpendicular, the orientation of the second generator coil can be written as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>90</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>By substituting (13) into (10), the respective power <italic>Emf</italic> signals produced by the sensor module with respect to the first and the second generator coils can be expressed as:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">EmfM</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>5</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>6</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>5</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Finally, the parameters <italic>θ<sub>1</sub></italic> and <italic>r</italic> can be solved from (14), and are summarized in the following:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">EmfM</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">EmfM</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mroot>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>20</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mn>6</mml:mn></mml:mroot></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p></sec>
<sec>
<label>3.3.</label>
<title>Measuring the Abduction Angle</title>
<p>To measure the abduction angles of three fingers, one additional sensor coil is installed on the metacarpal of the middle finger. This sensor coil is also co-centered and perpendicular with the generator coils, which is shown in <xref ref-type="fig" rid="f5-sensors-10-01119">Figure 5(b)</xref>. There are three abduction angles to be measured, including index-middle, ring-middle, and pinkie-ring abduction angles. The parameters <italic>d<sub>1</sub></italic>, <italic>d<sub>2</sub></italic> and <italic>d<sub>3</sub></italic> used for calculating these three abduction angles are measured using the first generator coil of the middle finger during the calibration process. When measuring the associated abduction angle, only the first generator coil of the corresponding finger is activated; for example, to measure the index-middle abduction angle, only the first generator coil of the index finger is adopted. By applying (6), the <italic>Emf</italic> signal produced by the sensor coil of the middle finger can be expressed as:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>90</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mn>90</mml:mn></mml:mrow></mml:mrow>
<mml:mo>°</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>for</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>where <italic>Emf<sub>1</sub></italic>, <italic>Emf<sub>2</sub></italic> and <italic>Emf<sub>3</sub></italic> correspond to the outputs of the sensor coils with respect to the first generator coil of the index, ring, and pinkie fingers, respectively. The angle <italic>γ<sub>n</sub></italic> can be solved from (16), which yields:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mtext>sin</mml:mtext>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>for</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Consequently, the three abduction angles can be determined below:
<list list-type="simple">
<list-item>
<p>Index-middle abduction angle =<italic>γ<sub>1</sub></italic>,</p></list-item>
<list-item>
<p>ring-middle abduction angle =<italic>γ<sub>2</sub></italic>,</p></list-item>
<list-item>
<p>and pinkie-ring abduction angle =<italic>γ<sub>3</sub></italic> <italic>– γ<sub>2</sub></italic>.</p></list-item></list></p></sec>
<sec>
<label>3.4.</label>
<title>Constructing the Shape of a Finger</title>
<p>The objective of constructing the shape of a finger is to estimate the bending angles of the DIP, PIP, and thumb IP joints. To accomplish this, only the distance <italic>r</italic> between the sensor module and the generator coils is involved, while the parameter <italic>θ<sub>1</sub></italic> is used for estimating the bending angle of the MCP joint. <xref ref-type="fig" rid="f6-sensors-10-01119">Figure 6</xref> illustrates the relationship between the distance <italic>r</italic> and the bending angles for the thumb and the other fingers.</p>
<p>The parameters <italic>α<sub>1</sub></italic> and <italic>α<sub>2</sub></italic> are the bending angles of the thumb IP and MCP joints, while <italic>β<sub>1</sub></italic>, <italic>β<sub>2</sub></italic>, and <italic>β<sub>3</sub></italic> are the bending angles of the DIP, PIP, and MCP joints of the other fingers, respectively. The length of finger phalanges <italic>p<sub>1</sub></italic>, <italic>p<sub>2</sub></italic>, <italic>q<sub>1</sub></italic>, <italic>q<sub>2</sub></italic>, and <italic>q<sub>3</sub></italic> are calculated during the calibration process. From <xref ref-type="fig" rid="f5-sensors-10-01119">Figure 5</xref> and <xref ref-type="fig" rid="f6-sensors-10-01119">Figure 6</xref>, it is apparent that the bending angle of the MCP joint (<italic>α<sub>2</sub></italic> and <italic>β<sub>3</sub></italic>) can be calculated using the following equations:
<disp-formula id="FD18">
<label>(18)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mtext>and</mml:mtext>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula>where:
<disp-formula id="FD19">
<label>(19)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">rp</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>γ</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">rq</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>The bending angle of the thumb IP joint related to the distance <italic>r</italic> can be calculated directly using the following equation:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mtext>cos</mml:mtext>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>According to the motion constraints, the bending angles of the DIP joints of the index, middle, ring, and pinkie fingers are closely related to those of the PIP joints. With reference to <xref ref-type="fig" rid="f6-sensors-10-01119">Figure 6</xref>, this relationship can be further written as:
<disp-formula id="FD21">
<label>(21)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>The distance <italic>r</italic> between the sensor module and the generator coils can be formulated as follows:
<disp-formula id="FD22">
<label>(22)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>m</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">mq</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>m</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>0.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mo> </mml:mo>
<mml:mn>1.67</mml:mn>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Therefore, the angle <italic>β<sub>2</sub></italic> can be solved from (22), and thus the bending angles of DIP, PIP, and MCP joints can be calculated.</p></sec></sec>
<sec sec-type="methods">
<label>4.</label>
<title>Data Glove Calibration</title>
<p>To make the data glove easy to use, the calibration process should be made as simple and efficient as possible. This means that there is no additional device needed; as a consequence, users merely wear the data glove during the calibration process.</p>
<p>For our data glove, the calibration process consists of only one calibration gesture, as shown in <xref ref-type="fig" rid="f7-sensors-10-01119">Figure 7(a)</xref>. The <italic>Emf</italic> signals produced by each sensor module and sensor coil are measured and stored into memory for further processing. When performing the calibration, the bending angle for each finger joint is equal to zero; accordingly, the parameters <italic>θ<sub>1</sub></italic> and <italic>r</italic> will be equal to:
<disp-formula id="FD23">
<label>(23)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mtext>for the thumb and</mml:mtext>
<mml:mi> </mml:mi>
<mml:mi>r</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mtext>for the other fingers</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>Then the parameters <italic>p<sub>1</sub></italic>, <italic>p<sub>2</sub></italic>, <italic>q<sub>1</sub></italic>, <italic>q<sub>2</sub></italic>, and <italic>q<sub>3</sub></italic> can be calculated based on the proportional length of the finger phalanges from the virtual hand as <xref ref-type="fig" rid="f7-sensors-10-01119">Figure 7(b)</xref> shows. The equations of those parameters can be summarized as follows:
<disp-formula id="FD24">
<label>(24)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">rp</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:mtext>and</mml:mtext>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">rp</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">rq</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mi> </mml:mi>
<mml:mtext>and</mml:mtext>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="italic">rq</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>In this calibration process, the first generator coil of the middle finger is also used as the sensor coil for measuring the parameters of the abduction angles. When a user is making the calibration gesture, the normal vectors of the sensor and generator coils will parallel such that the orientation parameters can be written as:
<disp-formula id="FD25">
<label>(25)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>90</mml:mn>
<mml:mo>°</mml:mo>
<mml:mi> </mml:mi>
<mml:mtext>and</mml:mtext>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mo>°</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The parameters of the abduction angle, that is, the distances between the sensor and generator coils, can be solved by substituting (25) into (6), which are stated in the following:
<disp-formula id="FD26">
<label>(26)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mroot>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">Emf</mml:mi>
<mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mfrac>
<mml:mi mathvariant="italic">dI</mml:mi>
<mml:mi mathvariant="italic">dt</mml:mi></mml:mfrac></mml:mrow>
<mml:mn>3</mml:mn></mml:mroot></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext>for n</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p></sec>
<sec sec-type="results">
<label>5.</label>
<title>Experimental Glove Sensor Results</title>
<p>To verify the validity of the derived <italic>Emf</italic> equations, experiments of bending angle, linear movement, and rotational angle measurements were performed. In those experiments, a signal generator circuit that produced a sinusoidal waveform was inputted to the generator coils, and the <italic>Emf</italic> signals generated by the sensor coil and sensor module were measured using an oscilloscope.</p>
<sec>
<label>5.1.</label>
<title>Bending Angle Experiment</title>
<p>In this experiment, the generator and sensor coils are placed on the bending angle measurement device as <xref ref-type="fig" rid="f8-sensors-10-01119">Figure 8 (a)</xref> shows. The generator coils are located on the rotational axis of the device, while the sensor module is placed on the moveable ruler, so that the distance between the sensor module and generator coils is adjustable. The power <italic>Emf</italic> signals produced by the sensor module with the rotational degrees ranging from 10° to 120° for <italic>r</italic> = 6 cm are recorded and listed in <xref ref-type="table" rid="t2-sensors-10-01119">Table 2</xref>, where the constant <italic>k</italic> is equal to 1.2523 × 10<sup>−5</sup> Hcm<sup>3</sup>. These measured values are used for calculating the cosine of the bending angles to compare with their derived values from (15) as follows:
<disp-formula id="FD27">
<label>(27)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="italic">Measured-value</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">EmfM</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="italic">Derived-value</mml:mi>
<mml:mo>=</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="fig" rid="f8-sensors-10-01119">Figure 8(b)</xref> plots the derived values <italic>versus</italic> the measured values of the bending angles. It is obvious that the measured values almost coincide with the theoretic values.</p></sec>
<sec>
<label>5.2.</label>
<title>Linear Movement Experiment</title>
<p>In this experiment, the generator coils and sensor modules are also placed on the bending angle measurement device, as shown in <xref ref-type="fig" rid="f8-sensors-10-01119">Figure 8(a)</xref>. The angle <italic>θ</italic><sub>1</sub> is set to 60°, while the distance <italic>r</italic> is varied from 5 to 10 cm.</p>
<p>The power <italic>Emf</italic> signals produced by the sensor module with the distance ranging from 5 to 10 cm from the generator coils are recorded and listed in <xref ref-type="table" rid="t3-sensors-10-01119">Table 3</xref>, where the constant <italic>k</italic> is also equal to 1.2523 × 10<sup>−5</sup> Hcm<sup>3</sup>. <xref ref-type="fig" rid="f9-sensors-10-01119">Figure 9</xref> plots the power <italic>Emf</italic> function of (14) <italic>versus</italic> the measured values. We can see that the measured values perfectly match the power <italic>Emf</italic> function.</p></sec>
<sec>
<label>5.3.</label>
<title>Rotational Angle Experiment</title>
<p>In this experiment, both sensor and generator coils are placed on the rotational angle measurement device, as shown in <xref ref-type="fig" rid="f10-sensors-10-01119">Figure 10 (a)</xref>. The generator coil is rotatable, while the sensor coil is fixed on the X-axis with the distance equal to 5 cm from the generator coil. The constant <italic>k</italic> is equal to 0.995957 × 10<sup>−5</sup> Hcm<sup>3</sup>. The <italic>Emf</italic> signals produced by the sensor coil with the rotational angle γ from 0° to 45° are recorded and listed in <xref ref-type="table" rid="t4-sensors-10-01119">Table 4</xref>. <xref ref-type="fig" rid="f10-sensors-10-01119">Figure 10 (b)</xref> plots the <italic>Emf</italic> function of (16) <italic>versus</italic> the measured values. Apparently, the measured values flawlessly match the <italic>Emf</italic> function.</p></sec></sec>
<sec sec-type="methods">
<label>6.</label>
<title>Realization of the Data Glove System</title>
<p>The data glove we have developed applies generator coils to generate electromagnetic signals. The sensor coil and sensor modules arranged on the metacarpal of the middle finger and fingertips, respectively, sense the electromagnetic signals and then measure the generated <italic>Emf</italic> signals. Based on the measured <italic>Emf</italic> signals, the abduction angles and fingertip positions of the hand are calculated using the derived equations as formulated in Section 3. Since ten generator coils are installed on the data glove, we should pay attention to the prevention of interference among them. There are three commonly used techniques for solving this problem:
<list list-type="roman-lower">
<list-item>
<p>Frequency division method</p>
<p>Each generator coil is driven by a sinusoidal waveform of different frequencies and the outputs of the sensor coil and sensor module are bandpass-filtered to get an appropriate <italic>Emf</italic> signal.</p></list-item>
<list-item>
<p>Time division method</p>
<p>In this technique, only one sinusoidal signal is used to drive the generator coils. To prevent interference, each generator coil is given an activation time slice and scanned on a round-robin basis. Within each time slice, the outputs of the associated sensor coil and sensor module are detected and the resulting analog streams are fed to an A/D converter.</p></list-item>
<list-item>
<p>Mix of frequency and time division method</p>
<p>With this method, two frequency bands of sinusoidal signals can be applied to activating the generator coils. Such generator coils are organized into five groups corresponding to each finger of the hand. Then, these five groups of generator coils are controlled by the time division method.</p></list-item></list></p>
<p>Both the time division and mix of frequency and time division methods are feasible for developing the prototype of our data glove, because the sinusoidal signals that drive the generator module must have similar characteristics. In this prototype, we adopt the time division method to control the generator and sensor coils. The advantage of this method is the feasibility of controlling them entirely via digital circuits. The block diagram of the data glove control system is shown in <xref ref-type="fig" rid="f11-sensors-10-01119">Figure 11</xref>.</p>
<p>The sinusoidal generator circuit will continuously produce a sinusoidal signal that is fetched into an analog demultiplexer. The micro controller unit will generate timing and control signals for selecting an appropriate generator coil and enabling the output of the associated sensor module or sensor coil followed by a pre-amplifier to be passed to a bandpass filter by sending a control signal to an analog multiplexer. Before entering the analog multiplexer, the outputs of the pre-amplifier and sensor modules are fetched into the respective programmable-gain amplifiers for further amplification. Because we are only interested to the intensity of the <italic>Emf</italic> signal produced by the sensor coil, a peak hold circuit is connected with the output of the bandpass filter for tracking the maximum value of the sinusoidal signal generated by the sensor coil. The output of the peak hold circuit is a DC level signal originated from the maximum <italic>Emf</italic> signal of the sensor output. This DC level signal is then sampled by an A/D converter and stored into temporary memory in the micro controller unit. All the sensor outputs are sent to a host computer through a parallel communication port. The sensor module shown in <xref ref-type="fig" rid="f12-sensors-10-01119">Figure 12</xref> consists of two sensor coils that are perpendicular and co-centered. The two pre-amplifiers are used for signal enhancement.</p>
<p>In the development of this data glove, we use the 16-bit microprocessor SPCE061 with a built-in 10-bit A/D converter provided by Sunplus Technology. <xref ref-type="fig" rid="f13-sensors-10-01119">Figure 13</xref> depicts the timing diagram of the control signals.</p>
<p>The A/D SOC in <xref ref-type="fig" rid="f13-sensors-10-01119">Figure 13</xref> is the start of the conversion signal for the A/D converter, where <italic>ts</italic> is the setup time required by the generator and sensor coils to produce a stable <italic>Emf</italic> signal. <xref ref-type="table" rid="t5-sensors-10-01119">Table 5</xref> lists the mapping pairs of the generator and sensor coils in the scanning process.</p>
<p><xref ref-type="fig" rid="f14-sensors-10-01119">Figure 14</xref> illustrates the sinusoidal output waveform from the analog demultiplexer for a generator coil as well as the sinusoidal output waveform of the associated sensor coil with the time division method. To get a clear inspection on the sinusoidal waveform, in this demonstration, only two generator coils are scanned on a round-robin basis.</p></sec>
<sec sec-type="conclusions">
<label>7.</label>
<title>Conclusions</title>
<p>In this paper, the development of a data glove with fingertip tracking technology based on magnetic induction has been presented. This data glove has the ability of measuring 17 DOF by reconstructing the shape of the fingers after the positions and orientations of the fingertips have been estimated. By tracking the fingertips of the hand, the object manipulation tasks in a virtual environment or teleoperation system can be controlled more precisely, since in most of grasping processes, fingertips are the foremost areas that reach the surface of an object. To track the fingertips, we use five sensor modules and one sensor coil that are attached on the fingertips and metacarpal of the middle finger of a hand. The sensors and generators constructed with small magnetic induction coils are called the sensor coils and generator coils of the data glove, respectively. The sensor module consists of two sensor coils that are perpendicular and co-centered. All of these sensor and generator coils are placed on the fingertips and metacarpal positions of the hand, so that there is no direct contact point between the sensors and the finger joints. It means that the data glove sensors do not change their shapes when the fingers are bending. Thus, not only the quality of measurement is greatly improved, but also the lifetime of the sensors is greatly prolonged.</p>
<p>To facilitate the action of the data glove, the sensor module can be constructed entirely by hardware using the currently available semiconductor technology, so that the power <italic>Emf</italic> signal is calculated directly using hardware as shown in <xref ref-type="fig" rid="f15-sensors-10-01119">Figure 15</xref>. Thus, more accurate results can be gained due to a higher SNR of the signal in the transmission wire.</p>
<p>The motion constraints applicable to simplifying the development of the data glove are also investigated. They are classified into three categories: intrafinger constraints, angle range constraints, and one-axis constraints. With the intrafinger constraints, the shape of a finger can be constructed based on the measured fingertip position, and hence, the DIP and PIP bending angles can be calculated. The angle range and one-axis constraints are devoted to simplify the <italic>Emf</italic> equations, so that the fingertip position and orientation can be easily calculated. For the convenience of using the data glove, we also propose a simple and efficient calibration process that comprises only one calibration gesture.</p>
<p>The theoretical formulation of the fingertip position and orientation, and the abduction angles of the finger joints as well as the calibration equations are derived directly from the positions and orientations of the generator and sensor coils on the data glove. Beside this, the circuit block diagram and the construction of the data glove system are described and realized. To prevent the interference among the generator coils, three methods of scanning the generator and sensor coils, including the frequency division, time division, and mix of frequency and time division techniques, are also discussed. After the evaluation, we adopted the time division method to control the generator and sensor coils in developing the prototype of our data glove. The advantage of this method is the feasibility of controlling them entirely via digital circuits. Another superiority of this data glove compared to use the Pohemus motion tracking system [<xref ref-type="bibr" rid="b21-sensors-10-01119">21</xref>] is that the distances between the generator coils and sensor modules are close enough such that only small power of electromagnetic radiation is needed, and the interference of a metallic object with the distance greater than 20 cm from the data glove can be ignored. But the supporting of the Pohemus motion tracking system for detecting the positions of hands in a 3D environment becomes significantly important when the complete movements of hands are required. So far, the experimental results of the sensors performing linear movement and bending angle measurements are very satisfactory. It reveals that our data glove can act as an practical man-machine interface.</p></sec></body>
<back>
<ack>
<p>The authors thank the National Science Council of Taiwan for supporting this work in part under Grant NSC93-2213-E-011-030.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-10-01119"><label>1.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tung</surname><given-names>C.P.</given-names></name><name><surname>Kak</surname><given-names>A.C.</given-names></name></person-group><article-title>Automatic learning of assembly tasks using a data glove system</article-title><conf-name>Proceedings of IEEE/RSJ International Conference Intelligence Robots and System</conf-name><conf-loc>Pittsburgh, PA, USA</conf-loc><year>1995</year><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b2-sensors-10-01119"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hashimoto</surname><given-names>H.</given-names></name><name><surname>Ogawa</surname><given-names>H.</given-names></name><name><surname>Umeda</surname><given-names>T.</given-names></name><name><surname>Obama</surname><given-names>M.</given-names></name><name><surname>Tatsuno</surname><given-names>K.</given-names></name></person-group><article-title>An unilateral master-slave hand system with a force-controlled slave hand</article-title><conf-name>Proceedings of IEEE International Conference Robotics and Automation</conf-name><conf-loc>Nagoya, Aichi, Japan</conf-loc><year>1995</year><fpage>956</fpage><lpage>961</lpage></citation></ref>
<ref id="b3-sensors-10-01119"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sing</surname><given-names>B.K.</given-names></name><name><surname>Ikeuchi</surname><given-names>K.</given-names></name></person-group><article-title>A robot system that observes and replicates grasping tasks</article-title><conf-name>Proceedings of 5th International Conference Computer Vision</conf-name><conf-loc>Cambridge, MA, USA</conf-loc><year>1995</year><fpage>1093</fpage><lpage>1099</lpage></citation></ref>
<ref id="b4-sensors-10-01119"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Greenleaf</surname><given-names>W.J.</given-names></name></person-group><article-title>Rehabilitation, ergonomics, and disability solutions using virtual reality technology</article-title><conf-name>Proceedings of Interactive Technology and New Paradigm for Healthcare Conference</conf-name><conf-loc>San Diego, CA, USA</conf-loc><year>1995</year><fpage>415</fpage><lpage>422</lpage></citation></ref>
<ref id="b5-sensors-10-01119"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Satava</surname><given-names>R.M.</given-names></name></person-group><article-title>Medicine 2001: the king is dead</article-title><conf-name>Proceedings of Interactive Technology and New Paradigm for Healthcare Conference</conf-name><conf-loc>San Diego, CA, USA</conf-loc><year>1995</year><fpage>334</fpage><lpage>339</lpage></citation></ref>
<ref id="b6-sensors-10-01119"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kawamura</surname><given-names>S.</given-names></name><name><surname>Ida</surname><given-names>M.</given-names></name><name><surname>Wada</surname><given-names>T.</given-names></name><name><surname>Wu</surname><given-names>J.L.</given-names></name></person-group><article-title>Development of a virtual sports machine using a wire drive system—a trial of virtual tennis</article-title><conf-name>Proceedings of IEEE/RSJ International Conference Intelligence Robots and System</conf-name><conf-loc>Pittsburgh, PA, USA</conf-loc><year>1995</year><fpage>111</fpage><lpage>116</lpage></citation></ref>
<ref id="b7-sensors-10-01119"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Gromala</surname><given-names>D.</given-names></name><name><surname>Sharir</surname><given-names>Y.</given-names></name></person-group><article-title>Dancing with the virtual dervish: virtual bodies’</article-title><conf-name>Proceedings of Virtual Reality Software and Technology Conference</conf-name><conf-loc>Singapore</conf-loc><year>1994</year><fpage>321</fpage><lpage>328</lpage></citation></ref>
<ref id="b8-sensors-10-01119"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jaques</surname><given-names>M.W.S.</given-names></name><name><surname>Strickland</surname><given-names>P.</given-names></name><name><surname>Oliver</surname><given-names>T.J.</given-names></name></person-group><article-title>Design by manufacturing simulation: concurrent engineering meets virtual reality</article-title><conf-name>Proceedings of Joint British-Hungarian Mechatronics Conference</conf-name><conf-loc>Budapest, Hungary</conf-loc><year>1994</year><fpage>637</fpage><lpage>642</lpage></citation></ref>
<ref id="b9-sensors-10-01119"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jaques</surname><given-names>M.W.S.</given-names></name><name><surname>Harrison</surname><given-names>D.J.</given-names></name></person-group><article-title>Using gestures to interface with a ‘virtual manufacturing’ package</article-title><conf-name>Proceedings of 3rd International Conference Interface to Real and Virtual Worlds</conf-name><conf-loc>Montpellier, France</conf-loc><year>1994</year><fpage>231</fpage><lpage>240</lpage></citation></ref>
<ref id="b10-sensors-10-01119"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rosenberg</surname><given-names>R.</given-names></name><name><surname>Slater</surname><given-names>M.</given-names></name></person-group><article-title>The chording glove: a glove-based text input device</article-title><source>IEEE Trans. System Man Cybern. Part C: Appli. Rev</source><year>1999</year><volume>29</volume><fpage>186</fpage><lpage>191</lpage><pub-id pub-id-type="doi">10.1109/5326.760563</pub-id></citation></ref>
<ref id="b11-sensors-10-01119"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Cho</surname><given-names>M.C.</given-names></name><name><surname>Park</surname><given-names>K.H.</given-names></name><name><surname>Hong</surname><given-names>S.H.</given-names></name><name><surname>Jeon</surname><given-names>J.W.</given-names></name><name><surname>Lee</surname><given-names>S.L.</given-names></name><name><surname>Choi</surname><given-names>H.</given-names></name><name><surname>Choi</surname><given-names>H.G.</given-names></name></person-group><article-title>A pair of braille-based chord gloves</article-title><conf-name>Proceedings of IEEE International Symposium Wearable Computer</conf-name><conf-loc>Seattle, WA, USA</conf-loc><year>2002</year><fpage>154</fpage><lpage>155</lpage></citation></ref>
<ref id="b12-sensors-10-01119"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Babic</surname><given-names>R.V.</given-names></name></person-group><article-title>Sensorglove—a new solution for kinematic virtual keyboard concept</article-title><conf-name>Proceedings of IEEE International Symposium Intelligence System</conf-name><conf-loc>Varna, Bulgaria</conf-loc><year>2002</year><fpage>358</fpage><lpage>362</lpage></citation></ref>
<ref id="b13-sensors-10-01119"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sturman</surname><given-names>D.J.</given-names></name><name><surname>Zeltzer</surname><given-names>D.</given-names></name></person-group><article-title>A survey of glove-based input</article-title><source>IEEE Comput. Graphics Appli</source><year>1994</year><volume>14</volume><fpage>30</fpage><lpage>39</lpage><pub-id pub-id-type="doi">10.1109/38.250916</pub-id></citation></ref>
<ref id="b14-sensors-10-01119"><label>14.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Toney</surname><given-names>A.</given-names></name></person-group><article-title>A novel method for joint motion sensing on a wearable computer</article-title><conf-name>Proceedings of 2nd International Symposium Wearable Computer</conf-name><conf-loc>Pittsburgh, PA, USA</conf-loc><year>1998</year><fpage>158</fpage><lpage>159</lpage></citation></ref>
<ref id="b15-sensors-10-01119"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Perng</surname><given-names>J.K.</given-names></name><name><surname>Fisher</surname><given-names>B.</given-names></name><name><surname>Hollar</surname><given-names>S.</given-names></name><name><surname>Pister</surname><given-names>K.S.J.</given-names></name></person-group><article-title>Acceleration sensing glove (ASG)</article-title><conf-name>Proceedings of 3rd Intnational Symposium Wearable Computer</conf-name><conf-loc>San Francisco, CA, USA</conf-loc><year>1999</year><fpage>178</fpage><lpage>180</lpage></citation></ref>
<ref id="b16-sensors-10-01119"><label>16.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Dogramadzi</surname><given-names>S.</given-names></name><name><surname>Allen</surname><given-names>C.R.</given-names></name><name><surname>Bell</surname><given-names>G.D.</given-names></name><name><surname>Rowland</surname><given-names>R.</given-names></name></person-group><article-title>An electromagnetic imaging system for remote sign language communication</article-title><conf-name>Proceedings of 16th IEEE International Conference Information and Measurement Technology</conf-name><conf-loc>Venice, Italy</conf-loc><year>1999</year><fpage>1443</fpage><lpage>1446</lpage></citation></ref>
<ref id="b17-sensors-10-01119"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Tarchanidis</surname><given-names>K.N.</given-names></name><name><surname>Lygouras</surname><given-names>J.N.</given-names></name></person-group><article-title>Data glove with a force sensor</article-title><conf-name>Proceedings of 18th IEEE Conference Information and Measurement Technology</conf-name><conf-loc>Budapest, Hungary</conf-loc><year>2001</year><fpage>380</fpage><lpage>385</lpage></citation></ref>
<ref id="b18-sensors-10-01119"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fahn</surname><given-names>C.S.</given-names></name><name><surname>Sun</surname><given-names>H.</given-names></name></person-group><article-title>Development of a sensory data glove using neural-network-based calibration</article-title><source>Jour. Comput</source><year>2000</year><volume>14</volume><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b19-sensors-10-01119"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>J.</given-names></name><name><surname>Wu</surname><given-names>Y.</given-names></name><name><surname>Huang</surname><given-names>T.S.</given-names></name></person-group><article-title>Modeling the constraints of human hand motion</article-title><conf-name>Proceedings of Workshop Human Motion</conf-name><conf-loc>Austin, TX, USA</conf-loc><year>2000</year><fpage>121</fpage><lpage>126</lpage></citation></ref>
<ref id="b20-sensors-10-01119"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname><given-names>H.</given-names></name><name><surname>Fahn</surname><given-names>C.S.</given-names></name></person-group><article-title>Development of a virtual keyboard based on button tracking using magnetic induction</article-title><source>Jour. Chinese Inst. Eng</source><year>2007</year><volume>30</volume><fpage>311</fpage><lpage>322</lpage><pub-id pub-id-type="doi">10.1080/02533839.2007.9671257</pub-id></citation></ref>
<ref id="b21-sensors-10-01119"><label>21.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Polhemus</collab></person-group><comment>Available online: <ext-link xlink:href="http://www.polhemus.com/?page=Motion_Case_Studies_AMM" ext-link-type="uri">http://www.polhemus.com/?page=Motion_Case_Studies_AMM</ext-link> (accessed on January 5, 2010).</comment></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-10-01119" position="float">
<label>Figure 1.</label>
<caption>
<p>Illustration of magnetic fields: (a) a point <bold>P</bold> located at distance r from a magnetic dipole; (b) the magnetic flux density linked by the coil at position <bold>P</bold> (adapted from [<xref ref-type="bibr" rid="b20-sensors-10-01119">20</xref>]).</p></caption>
<graphic xlink:href="sensors-10-01119f1.gif"/></fig>
<fig id="f2-sensors-10-01119" position="float">
<label>Figure 2.</label>
<caption>
<p>The coil at position <bold>P</bold> with the orientation pointed by unit vector S<sub>N</sub> (adapted from [<xref ref-type="bibr" rid="b20-sensors-10-01119">20</xref>]).</p></caption>
<graphic xlink:href="sensors-10-01119f2.gif"/></fig>
<fig id="f3-sensors-10-01119" position="float">
<label>Figure 3.</label>
<caption>
<p>Illustration of the sensor module.</p></caption>
<graphic xlink:href="sensors-10-01119f3.gif"/></fig>
<fig id="f4-sensors-10-01119" position="float">
<label>Figure 4.</label>
<caption>
<p>The hand model and the positions of the sensor modules and generator coils.</p></caption>
<graphic xlink:href="sensors-10-01119f4.gif"/></fig>
<fig id="f5-sensors-10-01119" position="float">
<label>Figure 5.</label>
<caption>
<p>The positions and orientations of: (a) the sensor module and generator coils of one finger; (b) the generator coils of four fingers.</p></caption>
<graphic xlink:href="sensors-10-01119f5.gif"/></fig>
<fig id="f6-sensors-10-01119" position="float">
<label>Figure 6.</label>
<caption>
<p>The relationship between the distance <italic>r</italic> and the bending angles of finger joints: (a) for the thumb; (b) for the other fingers.</p></caption>
<graphic xlink:href="sensors-10-01119f6.gif"/></fig>
<fig id="f7-sensors-10-01119" position="float">
<label>Figure 7.</label>
<caption>
<p>Illustration of a calibration gesture: (a) the pose of a real hand; (b) the corresponding virtual hand.</p></caption>
<graphic xlink:href="sensors-10-01119f7.gif"/></fig>
<fig id="f8-sensors-10-01119" position="float">
<label>Figure 8.</label>
<caption>
<p>Illustration of a bending angle experiment: (a) the bending angle measurement device; (b) the derived angles <italic>versus</italic> the measured angles in the bending angle experiment.</p></caption>
<graphic xlink:href="sensors-10-01119f8.gif"/></fig>
<fig id="f9-sensors-10-01119" position="float">
<label>Figure 9.</label>
<caption>
<p>The power <italic>Emf</italic> function <italic>versus</italic> the measured values for: (a) <italic>EmfM</italic><sub>1</sub>; (b) <italic>EmfM</italic><sub>2</sub> in the linear movement experiment.</p></caption>
<graphic xlink:href="sensors-10-01119f9.gif"/></fig>
<fig id="f10-sensors-10-01119" position="float">
<label>Figure 10.</label>
<caption>
<p>Illustration of a bending angle experiment: (a) the rotational angle measurement device; (b) the <italic>Emf</italic> function <italic>versus</italic> the measured values.</p></caption>
<graphic xlink:href="sensors-10-01119f10.gif"/></fig>
<fig id="f11-sensors-10-01119" position="float">
<label>Figure 11.</label>
<caption>
<p>The block diagram of the data glove control system.</p></caption>
<graphic xlink:href="sensors-10-01119f11.gif"/></fig>
<fig id="f12-sensors-10-01119" position="float">
<label>Figure 12.</label>
<caption>
<p>The block diagram of the sensor module.</p></caption>
<graphic xlink:href="sensors-10-01119f12.gif"/></fig>
<fig id="f13-sensors-10-01119" position="float">
<label>Figure 13.</label>
<caption>
<p>The timing diagram of the data glove control signals.</p></caption>
<graphic xlink:href="sensors-10-01119f13.gif"/></fig>
<fig id="f14-sensors-10-01119" position="float">
<label>Figure 14.</label>
<caption>
<p>Sinusoidal output waveforms of the demultiplexer and the sensor coil.</p></caption>
<graphic xlink:href="sensors-10-01119f14.gif"/></fig>
<fig id="f15-sensors-10-01119" position="float">
<label>Figure 15.</label>
<caption>
<p>Hardware implementation of the sensor module.</p></caption>
<graphic xlink:href="sensors-10-01119f15.gif"/></fig>
<table-wrap id="t1-sensors-10-01119" position="float">
<label>Table 1.</label>
<caption>
<p>The list of seventeen bending angles.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="4" align="center" valign="bottom"><bold>Bending Angles</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Index PIP</td>
<td align="left" valign="top">Index MCP</td>
<td align="left" valign="top">Index DIP</td>
<td align="left" valign="top">Index-middle abduction</td></tr>
<tr>
<td align="left" valign="top">Middle PIP</td>
<td align="left" valign="top">Middle MCP</td>
<td align="left" valign="top">Middle DIP</td>
<td align="left" valign="top">Ring-middle abduction</td></tr>
<tr>
<td align="left" valign="top">Ring PIP</td>
<td align="left" valign="top">Ring MCP</td>
<td align="left" valign="top">Ring DIP</td>
<td align="left" valign="top">Pinkie-ring abduction</td></tr>
<tr>
<td align="left" valign="top">Pinkie PIP</td>
<td align="left" valign="top">Pinkie MCP</td>
<td align="left" valign="top">Pinkie DIP</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="left" valign="top">Thumb IP</td>
<td align="left" valign="top">Thumb MCP</td>
<td align="left" valign="top"/>
<td align="left" valign="top"/></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-10-01119" position="float">
<label>Table 2.</label>
<caption>
<p>The power <italic>Emf</italic> signal produced by a sensor module in the bending angle experiment.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom"><italic>θ</italic><sub>1</sub></th>
<th align="center" valign="bottom"><italic>EmfM</italic><sub>1</sub> (<italic>mV</italic><sup>2</sup>)</th>
<th align="center" valign="bottom"><italic>EmfM<sub>2</sub></italic> (<italic>mV</italic><sup>2</sup>)</th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">10°</td>
<td align="center" valign="top">2.690</td>
<td align="center" valign="top">0.746</td></tr>
<tr>
<td align="center" valign="top">20°</td>
<td align="center" valign="top">2.466</td>
<td align="center" valign="top">0.900</td></tr>
<tr>
<td align="center" valign="top">30°</td>
<td align="center" valign="top">2.152</td>
<td align="center" valign="top">1.143</td></tr>
<tr>
<td align="center" valign="top">40°</td>
<td align="center" valign="top">1.773</td>
<td align="center" valign="top">1.446</td></tr>
<tr>
<td align="center" valign="top">50°</td>
<td align="center" valign="top">1.354</td>
<td align="center" valign="top">1.731</td></tr>
<tr>
<td align="center" valign="top">60°</td>
<td align="center" valign="top">1.100</td>
<td align="center" valign="top">2.100</td></tr>
<tr>
<td align="center" valign="top">70°</td>
<td align="center" valign="top">0.833</td>
<td align="center" valign="top">2.500</td></tr>
<tr>
<td align="center" valign="top">80°</td>
<td align="center" valign="top">0.745</td>
<td align="center" valign="top">2.700</td></tr>
<tr>
<td align="center" valign="top">90°</td>
<td align="center" valign="top">0.654</td>
<td align="center" valign="top">2.500</td></tr>
<tr>
<td align="center" valign="top">100°</td>
<td align="center" valign="top">0.720</td>
<td align="center" valign="top">2.500</td></tr>
<tr>
<td align="center" valign="top">110°</td>
<td align="center" valign="top">0.867</td>
<td align="center" valign="top">2.400</td></tr>
<tr>
<td align="center" valign="top">120°</td>
<td align="center" valign="top">1.200</td>
<td align="center" valign="top">2.200</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-10-01119" position="float">
<label>Table 3.</label>
<caption>
<p>The power <italic>Emf</italic> signal produced by a sensor module in the linear movement experiment.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom">Distance <italic>r</italic> (cm)</th>
<th align="center" valign="bottom"><italic>EmfM</italic><sub>1</sub> (<italic>mV</italic><sup>2</sup>)</th>
<th align="center" valign="bottom"><italic>EmfM</italic><sub>2</sub> (<italic>mV</italic><sup>2</sup>)</th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">5</td>
<td align="center" valign="top">3.334</td>
<td align="center" valign="top">6.548</td></tr>
<tr>
<td align="center" valign="top">6</td>
<td align="center" valign="top">1.100</td>
<td align="center" valign="top">2.100</td></tr>
<tr>
<td align="center" valign="top">7</td>
<td align="center" valign="top">0.468</td>
<td align="center" valign="top">0.942</td></tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">0.216</td>
<td align="center" valign="top">0.420</td></tr>
<tr>
<td align="center" valign="top">9</td>
<td align="center" valign="top">0.111</td>
<td align="center" valign="top">0.205</td></tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">0.063</td>
<td align="center" valign="top">0.114</td></tr></tbody></table></table-wrap>
<table-wrap id="t4-sensors-10-01119" position="float">
<label>Table 4.</label>
<caption>
<p>The <italic>Emf</italic> signal produced by a sensor coil in the rotational angle experiment.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom"><italic>γ</italic></th>
<th align="center" valign="bottom"><italic>Emf</italic> (<italic>mV</italic>)</th>
<th align="center" valign="bottom"><italic>γ</italic></th>
<th align="center" valign="bottom"><italic>Emf</italic> (<italic>mV</italic>)</th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">0°</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">25°</td>
<td align="center" valign="top">30</td></tr>
<tr>
<td align="center" valign="top">5°</td>
<td align="center" valign="top">6</td>
<td align="center" valign="top">30°</td>
<td align="center" valign="top">35</td></tr>
<tr>
<td align="center" valign="top">10°</td>
<td align="center" valign="top">12</td>
<td align="center" valign="top">35°</td>
<td align="center" valign="top">40</td></tr>
<tr>
<td align="center" valign="top">15°</td>
<td align="center" valign="top">19</td>
<td align="center" valign="top">40°</td>
<td align="center" valign="top">45</td></tr>
<tr>
<td align="center" valign="top">20°</td>
<td align="center" valign="top">25</td>
<td align="center" valign="top">45°</td>
<td align="center" valign="top">50</td></tr></tbody></table></table-wrap>
<table-wrap id="t5-sensors-10-01119" position="float">
<label>Table 5.</label>
<caption>
<p>The mapping pairs of the generator and sensor coils.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom">Generator coil</th>
<th align="center" valign="bottom">Sensor coil</th>
<th align="center" valign="bottom">Generator coil</th>
<th align="center" valign="bottom">Sensor coil</th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">6</td>
<td align="center" valign="top">6</td></tr>
<tr>
<td align="center" valign="top">2</td>
<td align="center" valign="top">2</td>
<td align="center" valign="top">7</td>
<td align="center" valign="top">7, 11</td></tr>
<tr>
<td align="center" valign="top">3</td>
<td align="center" valign="top">3, 11</td>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td></tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="center" valign="top">9</td>
<td align="center" valign="top">9, 11</td></tr>
<tr>
<td align="center" valign="top">5</td>
<td align="center" valign="top">5</td>
<td align="center" valign="top">10</td>
<td align="center" valign="top">10</td></tr></tbody></table></table-wrap></sec></back></article>
