<?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/s100908129</article-id>
<article-id pub-id-type="publisher-id">sensors-10-08129</article-id>
<article-categories>
<subj-group>
<subject>Communication</subject></subj-group></article-categories>
<title-group>
<article-title>A Novel Sensing Method and Sensing Algorithm Development for a Ubiquitous Network</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Jabbar</surname><given-names>Hamid</given-names></name><xref ref-type="aff" rid="af1-sensors-10-08129"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Lee</surname><given-names>Sungju</given-names></name><xref ref-type="aff" rid="af2-sensors-10-08129"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Choi</surname><given-names>Seunghwan</given-names></name><xref ref-type="aff" rid="af3-sensors-10-08129"><sup>3</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Baek</surname><given-names>Seunghyun</given-names></name><xref ref-type="aff" rid="af1-sensors-10-08129"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Yu</surname><given-names>Sungwook</given-names></name><xref ref-type="aff" rid="af4-sensors-10-08129"><sup>4</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Jeong</surname><given-names>Taikyeong</given-names></name><xref ref-type="aff" rid="af1-sensors-10-08129"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-10-08129"><sup>*</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-10-08129">
<label>1</label> Department of Electronic Engineering, Myongji University, Seoul, Korea; E-Mails: <email>hamid@mju.ac.kr</email> (H.J.); <email>shbeak12@mju.ac.kr</email> (S.B.)</aff>
<aff id="af2-sensors-10-08129">
<label>2</label> Department of Computer &amp; Information Science, Korea University, Seoul, Korea; E-Mail: <email>peacfeel@korea.ac.kr</email></aff>
<aff id="af3-sensors-10-08129">
<label>3</label> Department of Software Engineering, Korea Electric Power Corporation, Korea; E-Mail: <email>kepchoi@kepri.re.kr</email></aff>
<aff id="af4-sensors-10-08129">
<label>4</label> Department of Electronic Engineering, Chungang University, Seoul, Korea; E-Mail: <email>sungwook@cau.ac.kr</email></aff>
<author-notes>
<corresp id="c1-sensors-10-08129">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>ttjeong@mju.ac.kr</email>.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2010</year></pub-date>
<pub-date pub-type="epub">
<day>30</day>
<month>8</month>
<year>2010</year></pub-date>
<volume>10</volume>
<issue>9</issue>
<fpage>8129</fpage>
<lpage>8142</lpage>
<history>
<date date-type="received">
<day>15</day>
<month>7</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>30</day>
<month>7</month>
<year>2010</year></date>
<date date-type="accepted">
<day>15</day>
<month>8</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2010 by the authors; licensee MDPI, 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>This paper proposes a novel technique which provides energy efficient circuit design for sensors networks. The overall system presented requires a minimum number of independently communicating sensors and sub-circuits which enable it to reduce the power consumption by setting unused sensors to idle. This technique reduces hardware requirements, time and interconnection problems with a supervisory control. Our proposed algorithm, which hands over the controls to two software mangers for the sensing and moving subsystems can greatly improve the overall system performance. Based on the experimental results, we observed that our system, which is using sensing and moving managers, the four sensors required only 3.4 mW power consumption when a robot arm is moved a total distance of 17 cm. This system is designed for robot applications but could be implemented to many other human environments such as “ubiquitous cities”, “smart homes”, <italic>etc.</italic></p></abstract>
<kwd-group>
<kwd>sensing circuits</kwd>
<kwd>ubiquitous network</kwd>
<kwd>wireless sensor network</kwd>
<kwd>low-power</kwd>
<kwd>sensing algorithm</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>All of the sophisticated and intelligent man made equipment need some sort of sensor to infer the environment. Collecting these data from different sensors and to perform the required tasks in a minimum time requires the efficient use of minimum size and easy to install and use sensors, communications and power systems. The above features should be implemented in such a way that there is no loss of required data and redundancy other than the safety.</p>
<p>This paper presents a sensing technique using an experimental platform for micro-sensors used in robot arm for various missions such as space and home networks. Proximity sensors are used in these sorts of applications to determine objects, locations of pins, holes and edges in equipment with sufficient accuracy to permit alignment prior to docking and berthing. The use of several sensors in an array with multiple connections complicates the construction and movement, especially when changing the sensors.</p>
<p>This paper presents a technique to efficiently use four given sensors at the front of a robot arm to detect the object and perform the required task like forcing a tool. The proximity type sensor used in this system has proven its reliability in past space missions [<xref ref-type="bibr" rid="b1-sensors-10-08129">1</xref>]. The presented algorithm uses software- based management routines, in which managers govern the multiple sensors and actuators to make an energy efficient system by allowing a minimum number of sensors to be working at any given time. These managers use bidirectional wireless communication among the sensors on the robot arm and the management system to detect the objects and move the robot in a minimum time. The system was tested using a Mote type experimental platform with computational and communication capabilities. By organizing the system power structure and interconnections for stable power and other actuator driving mechanisms with fast response and distributed power we can achieve greatly improved overall system performance.</p>
<p>One issue in smart sensor networks is achieving efficient operation because of the limited available power. A smart sensor is a collection of integrated sensors and electronics. When these types of sensors are used in Wireless Sensor Networks (WSNs), very powerful, versatile networks can be created and used in situations where traditional wired networks fail [<xref ref-type="bibr" rid="b2-sensors-10-08129">2</xref>]. In our proposed system using the 2-D network with -four neighbors consumes less power than 2-D networks with six and eight neighbors. This is because of the tradeoffs between the number of neighbors and the power dissipated in the system.</p>
<p>Methodology of the system is described in Section 2. The proposed algorithm and overall system approach is in Section 3. Section 4 describes the experimental platform used in the testing of algorithm and technique, and reports experimental results. Section 5 describes related work, and Section 6 summarizes the whole theme.</p></sec>
<sec>
<label>2.</label>
<title>Methodology</title>
<sec>
<label>2.1.</label>
<title>Overall Method</title>
<p>This section expresses the sensing methodology of the sensor system; sensors are used to precisely locate an object or pattern of an object using its edges and known locations. For our design we assume frequency information from each of four sensors is from one point of object and each sensor value varies with the distance from the object. The nearer the sensor to the object, the smaller is this frequency value.</p>
<p>A multiple-element space robot low power sensor with sensing electrodes is used, which is programmed with a proposed sensing algorithm. The capacity type proximity sensor used, comprises a capacitance type sensor, a capacitance type reference, and two independent and mutually opposing driven shields, respectively, adjacent to the sensor and reference and which are coupled in a bridge circuit configuration and driven by a single frequency controlled oscillator [<xref ref-type="bibr" rid="b3-sensors-10-08129">3</xref>]. Two mutually opposing driven shields and electro-magnetic effects between the sensing circuit and the sensed object gives rise to a current in the sensors, as shown in <xref ref-type="fig" rid="f1-sensors-10-08129">Figure 1</xref>. Some of the built-in low power sensors, the controller that drives the sensing electrodes, put out a voltage that varies with this current by virtue of the voltage drop of this current across the voltage follower resistor. This voltage follower output is converted to the digital value for control purposes and fed to the controller. The controller of each sensor is capable of transmitting this data to the computer and to the counter so that it can be used by the overall system to guide the robot arm. The controller controls the sensor using feedback through a digital to analog converter. Our controller of the system consists of the Mote circuit board with processor and Tiny OS (operating System) [<xref ref-type="bibr" rid="b4-sensors-10-08129">4</xref>]. Section 4 describes in detail the experimental platform used in the testing.</p></sec>
<sec>
<label>2.2.</label>
<title>Sensors Detection Methodology</title>
<p>First we think only in 2-D configuration. <italic>v1</italic> is sensor1 and <italic>v2</italic> is sensor2 known frequency values and current coordinate of sensors are known from hardware feedback. To find an object we increase <italic>v1</italic> and decrease <italic>v2</italic> till we get the angle θ (direction) and S (required frequency), as shown in <xref ref-type="fig" rid="f2-sensors-10-08129">Figure 2(b)</xref>. <xref ref-type="fig" rid="f2-sensors-10-08129">Figure 2(c)</xref> shows that S and is <italic>P⃗</italic><italic><sub>a</sub></italic> (pattern) and angle θ2 for sensor <italic>v2</italic> is <italic>P⃗</italic><italic><sub>b</sub></italic> (pattern).</p>
<p>Now we visualize the system in 3-D (as shown in <xref ref-type="fig" rid="f3-sensors-10-08129">Figure 3</xref>). We assume, <italic>c</italic><sub>1</sub>, <italic>c</italic><sub>2</sub>, <italic>c</italic><sub>3</sub>, <italic>c</italic><sub>4</sub>, and each has the coordinates (<italic>x</italic><sub>1</sub>, <italic>y</italic><sub>1</sub>, <italic>z</italic><sub>1</sub>), (<italic>x</italic><sub>2</sub>, <italic>y</italic><sub>2</sub>, <italic>z</italic><sub>2</sub>), (<italic>x</italic><sub>3</sub>, <italic>y</italic><sub>3</sub>, <italic>z</italic><sub>3</sub>), (<italic>x</italic><sub>4</sub>, <italic>y</italic><sub>4</sub>, <italic>z</italic><sub>4</sub>), respectively. Each sensor has the scalar value <italic>S</italic><sub>1</sub> of <italic>c</italic><sub>1</sub>, <italic>S</italic><sub>2</sub> of <italic>c</italic><sub>2</sub>, <italic>S</italic><sub>3</sub> of <italic>c</italic><sub>3</sub> and <italic>c</italic><sub>4</sub> of <italic>S</italic><sub>4</sub>. We get the following sets of the equations:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>S</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>S</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>S</mml:mi></mml:mrow>
<mml:mn>3</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>S</mml:mi></mml:mrow>
<mml:mn>4</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>where <italic>x</italic>0, <italic>y</italic>0, <italic>and z</italic>0 ≥ 0.</p>
<p>Then, we can find object coordinate using robot arm origin (<italic>x</italic><sub>0</sub>, <italic>y</italic><sub>0</sub>, <italic>z</italic><sub>0</sub> ) from the above four equations. Now as we know object locations, we can find pattern <italic>P⃗</italic><italic><sub>a</sub></italic> using <xref ref-type="disp-formula" rid="FD5">Equations (5)</xref> and <xref ref-type="disp-formula" rid="FD6">(6)</xref>:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>Based on the pattern <italic>P⃗</italic><italic><sub>a</sub></italic>, and we can now guide the robot arm in the direction of the object for an accurate positioning. Using one more sensor to detect the object for proper alignment, we can perform the required task by making some rotation and forcing along the <italic>z</italic>-axis. Also, to clearly explain our methodology, we made a list of 2-D and 3-D configurations as described in <xref ref-type="table" rid="t1-sensors-10-08129">Table 1</xref>.</p></sec></sec>
<sec>
<label>3.</label>
<title>Overall System and Proposed Algorithm</title>
<sec sec-type="methods">
<label>3.1.</label>
<title>Overall System Design</title>
<p>The combination of a sensing algorithm with feature recognition requires pre-programmed prior knowledge and operator supervision [<xref ref-type="bibr" rid="b5-sensors-10-08129">5</xref>]. The micro energy device’s sensing system consumes low power over the whole electrical system and achieves self- recovery via a sensing manager and a moving manager. When we look at sensors for robots performing precision assembly, an operating principle of the micro energy systems relies on a stable power distribution [<xref ref-type="bibr" rid="b6-sensors-10-08129">6</xref>]. We also confirmed that contact surface proximity images can be generated at every sensing step because: (i) the end-unit of the robot is centered and aligned with respect to the fastener; (ii) the electromagnetic effect between the end-unit of robot and fastener can be measured; (iii) the range between the tool and fastener can be calculated from simulation and software models, given the capacitance between them; (iv) each sensors’ surface image is derived from the measurement-adjusted simulation model and displayed in oscillation circuit modeling.</p>
<p>As demonstrated by the profiling result of the combination of multiple sensors (shown in <xref ref-type="fig" rid="f4-sensors-10-08129">Figure 4</xref>), our objective is to minimize the sensing power distribution and moving time. This amounts to maximizing the amount of power distribution that flows a current. Since all array sensors are enclosed by a robot body, they contribute the same to the overall power consumption rate as well as moving time using two software managers—the sensing manager and the moving manager. The specific design application can be implemented for sensor network applications and it will be investigated using an electronic design automation tool, including timing constraints and clock/data frequency recovery circuits under the worst-case scenario. The overall goal of the energy efficient sensor circuit is to model the studied system or plant in robots, to design the control system, and to simulate the entire system by embedding the sensor circuits into the robots. The interface to circuits available in the robots system makes it possible to test the control algorithm with detailed models of all of the hardware components, including piezoelectric sensor, actuators, and devices.</p>
<p>A proposed sensor design gathers information from the environment through measuring mechanical, thermal, chemical, biological, optical, and magnetic phenomena. Moreover, sensor applications and fast data processing are in increasing demand. Energy efficient sensor circuit design also allows for the realistic deployment of highly articulated robots into unknown environments and into environments that are too difficult to model. While carrying on sensors, an issue is extremely important the robot’s ability to determine its location in the world.</p></sec>
<sec>
<label>3.2.</label>
<title>Proposed Sensing Algorithm</title>
<p><xref ref-type="fig" rid="f5-sensors-10-08129">Figure 5</xref> shows how four sensors can detect objects and communicate not only with each other, but also with the managers in our proposed algorithms. We propose a “sensing manager” for controlling the sensors and managing information of each sensor, and a “moving manager” for the actual robot movement.</p>
<p>The four sensors are only needed to read the frequency for a desired object. They send the frequency information to the sensing manger and receive the WAKE or SLEEP commands. Sensors communicate with each other and managers using wireless communication.</p>
<p>The sensing manger has information tables to find the direction and distance of the location. The sensing manager can manage the following tasks and tables:
<list list-type="bullet">
<list-item>
<p>Each sensors’ maximum frequency table.</p></list-item>
<list-item>
<p>Each sensors’ minimum frequency table.</p></list-item>
<list-item>
<p>Each sensors’ detection table constructed by Δx, Δy, Δz between sensor and object.</p></list-item>
<list-item>
<p>Each sensors’ state table constructed by the current location x, y, z.</p></list-item>
<list-item>
<p>Each sensors’ flag.</p></list-item>
<list-item>
<p>Each sensors’ state (SLEEP or WAKE).</p></list-item></list></p>
<p>The moving manger decides and implements the direction, rotation and movement of the robot. It also performs the tasks below:
<list list-type="bullet">
<list-item>
<p>Decide first direction pattern (<italic>P⃗</italic><italic><sub>a</sub></italic>) using four sensors</p></list-item>
<list-item>
<p>Decide similarity direction pattern (<italic>P⃗</italic><italic><sub>b</sub></italic> ) using one sensor</p></list-item>
<list-item>
<p>Decide angle of desired object using two sensors</p></list-item>
<list-item>
<p>Moving the end-effector</p></list-item>
<list-item>
<p>Stopping the end-effector</p></list-item></list></p>
<p>Our algorithm, which resides in the Tiny OS of our controller, describes how managers work with four sensors in five different modes initial, moving, self-locking, level-setting and forcing. We discuss each mode and its algorithm in detail.
<list list-type="bullet">
<list-item>
<p>Initialization Mode: This mode sets the start point for the robot and tries to find the first direction or pattern (<italic>P⃗</italic><italic><sub>a</sub></italic>) of the object by awaking all sensors. This Initialization mode algorithm is as follows:
<table-wrap position="anchor">
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm #1</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><bold>x, y, z = distance (or frequency)</bold></td></tr>
<tr>
<td align="left" valign="top"> <italic>P⃗<sub>a</sub></italic> <bold>= pattern (the vector between four sensors and object)</bold></td></tr>
<tr>
<td align="left" valign="top"> <italic>P⃗<sub>b</sub></italic> <bold>= Near one sensor to the object</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>init sensing mode{</bold></td></tr>
<tr>
<td align="left" valign="top">   <bold>Set the start point x0, y0, z0</bold></td></tr>
<tr>
<td align="left" valign="top">   <bold>Find the Δx, Δy, Δz</bold></td></tr>
<tr>
<td align="left" valign="top">   <italic>P⃗</italic><italic><sub>b</sub></italic> <bold>= Find Pattern(x, y, z)</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>}</bold></td></tr></tbody></table></table-wrap></p></list-item>
<list-item>
<p>Moving Mode: This mode is for finding the similar pattern of the object with other sensors (<italic>P⃗</italic><italic><sub>b</sub></italic>). After finding the desired object, we need to decide the most energy-efficient, shortest and minimum time-consuming direction before the actual moving mode. For this, we compare the two patterns <italic>P⃗</italic><italic><sub>a</sub></italic> and <italic>P⃗</italic><italic><sub>b</sub></italic>. The “sensing manager” has tables of information for each sensor, and updates each table by event. Above steps are repeated until the sensor can find the edge of the object within the shortest distance and robot is stopped. Algorithm #2 shows this moving mode.
<table-wrap position="anchor">
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm #2</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><bold>while (</bold><italic>P⃗</italic><italic><sub>a</sub></italic>≠<italic>P⃗</italic><italic><sub>b</sub></italic><bold>)</bold> <italic>P⃗</italic><italic><sub>b</sub></italic> <bold>= Find pattern(x, y, z){</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>put other sensors to SLEEP</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>if( table sensor frequency &lt; current sensor frequency)</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>update “sensing manager” by current sensor frequency</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>}</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>while (table sensor frequency &lt; current sensor</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>frequency){</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>“mobbing manager” decides x, y, z</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>“mobbing manager” moves the robots</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>}</bold></td></tr></tbody></table></table-wrap></p></list-item>
<list-item>
<p>Self-locking Mode: All sensors are awake again and we start moving the robot by making all sensors detect the edge of the object at the shortest distance. The above steps are repeated until each sensor’s maximum frequency converges. If it converges, the moving manager stops moving the robot right above the object. Self locking mode is described by Algorithm #3.
<table-wrap position="anchor">
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm #3</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><bold>while (current sensor frequency = max sensor frequency) {</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>“sensing manager” wakes four sensors</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>“mobbing manager” decides x, y, z</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>“mobbing manager” moves the robots</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>If(table sensor frequency &lt; current sensor frequency)</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>Update “sensing manager” by current sensor frequency</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>Update “flag” by TRUE</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>If(table sensor frequency &gt;= current sensor frequency)</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>Update “flag” by TRUE</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>If(flag = TRUE)</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>“moving manager” increases x, y, z</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>“moving manager” moves the robots</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>If(flag = FALSE)</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>“moving manager” decides moving amount in different directions</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>If(current sensor frequency = max of sensor frequency)</bold></td></tr>
<tr>
<td align="left" valign="top">    <bold>Stop moving the robot</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>}</bold></td></tr></tbody></table></table-wrap></p></list-item>
<list-item>
<p>Level-setting Mode: the sensing manager decides which two sensors have maximum frequency and minimum frequency values. Except for these two sensors, the sensing manager makes the other two sensors go to sleep. The sensing manager decides the angle with the two awake sensors for level setting and sends the value of the angle to the moving manager, and then the moving manager can do level setting until the robot and object are parallel. Algorithm #4 shows this level-setting mode.
<table-wrap position="anchor">
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm #4</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><bold>Sensing manager decides two sensors</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>one with max of frequency or SF</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>second with min of frequency or SF</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>current angle = Find angle(maxSF,</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>minSF)</bold></td></tr></tbody></table></table-wrap></p></list-item>
<list-item>
<p>Forcing Mode: the sensing manager chooses one sensor and makes another sensor go to sleep. The moving manager moves the robot along the z axis until the robot cannot move any more in this direction. Finally, the moving manager rotates the robot in the z-axis until the sensor can find the matching pattern of the object at the minimum distance. When the sensor finds the pattern, the robot stops rotating and forces the object. As shown Algorithm #5, we described the forcing mode.
<table-wrap position="anchor">
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"><bold>Algorithm #5</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><bold>Chooses one sensor{</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>Put other sensor to SLEEP</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>Find the matching pattern of object in the minimum distance</bold></td></tr>
<tr>
<td align="left" valign="top">  <bold>Forcing the z axis</bold></td></tr>
<tr>
<td align="left" valign="top"><bold>}</bold></td></tr></tbody></table></table-wrap></p></list-item></list></p></sec></sec>
<sec sec-type="results|discussion">
<label>4.</label>
<title>Results and Discussion</title>
<p>In this section, we confirm the performance of the proposed algorithms and the techniques. For that, we first establish the environment of the platform, and then measure some performance features such as power consumption and execution time.</p>
<sec>
<label>4.1.</label>
<title>Experimental Platform</title>
<p>All the proposed algorithms and techniques were tested using an experimental platform consisting of four mote type boards each mounted with a sensor. The Mica2 mote, developed at UC Berkeley [<xref ref-type="bibr" rid="b7-sensors-10-08129">7</xref>] is one of the most popular sensor node designs. It is based on a 7.3 MHz Atmel ATmega128 L embedded controller with 4 Kbytes of RAM and 128 K bytes of ROM. The Mica2 includes a low-power, single-chip radio (the ChipconCC1000) capable of operating at 76.8 kbps with a practical indoor range of approximately 20–30 m. The Mica2 dimensions are 5.7 cm, 3.2 cm, 2.2 cm, and uses two AA batteries that will last for up to a week if the device is powered continuously. However, you can extend its lifetime to months or years through careful duty cycling. The Mica2 runs a specialized operating system, called TinyOS, which addresses the sensor nodes concurrency and resource management [<xref ref-type="bibr" rid="b8-sensors-10-08129">8</xref>].</p>
<p>Each board has three parts, as shown in <xref ref-type="fig" rid="f6-sensors-10-08129">Figure 6</xref>, which includes a programming board—MIB510 was used for programming the motes and for housing the base mote for wireless communication. Also, Motes-MICA2 includes a processor that runs the Tiny-OS. It is capable of radio transmission and reception. It has a 51-pin connector for housing the sensor. Finally, Sensors-MTS300 has the capability to sense data and transmits it using the processor/radio module. We have programmed the board using nesC language. Board communicate with the UNIX based PC using serial communication.</p></sec>
<sec sec-type="results">
<label>4.2.</label>
<title>Simulation Results</title>
<p>For analysis and comparison we analyzed three types of output data from the simulation result we performed. One is the figure of merit, Power Delay (PD) Product, which is essentially the energy consumption per cycle and will remain a constant for a specific machine. Second one is Cache Hit Rate, average time to access memory and tells effectiveness of the cache. Third is the Moving time, the time taken by mode to move the robot or actuator.</p>
<p>We have tested the sensor algorithm using the experimental platform and verified it by benchmarking, using Integer Matrix Multiply (IMM) and Vector Matrix Multiplier (VMM) benchmarks on a machine equipped with an Intel Itanium microprocessor. IMM was chosen because it is designed to facilitate comparing, validating, and improving reconfigurable computing systems. It also provides an architecture-independent compilation framework to express each algorithm’s dependencies and to support automatic synthesis, partitioning, and mapping to a reconfigurable computer [<xref ref-type="bibr" rid="b9-sensors-10-08129">9</xref>]. VMM analog VLSI implementation function offers the potential of significant benefits in terms of power, volume, and performance compared to a digital implementation for applications involving fixed or slowly varying weights [<xref ref-type="bibr" rid="b10-sensors-10-08129">10</xref>]. Also, in digital systems, VMM reduces the truncation errors and improves vector to vector multiplication.</p>
<p>The benchmark results of our approach on efficient energy consumption are shown in <xref ref-type="table" rid="t2-sensors-10-08129">Table 2</xref>. We observe our approach for distance moved, active time, power consumption and PD Product in all modes. We note that, since moving mode has more PD Product than others, overall our proposed approach depends mainly on the moving mode, so the proposed algorithm will not restrict the attached hardware actuators’ movements.</p>
<p>Furthermore, for designing of sensors that have more efficient performance in our approach, we observe the logic gates in <xref ref-type="fig" rid="f7-sensors-10-08129">Figure 7</xref> used by hardware in each mode by keeping data width 8 and varying the parallel processing nodes and hardware cycles. <xref ref-type="fig" rid="f8-sensors-10-08129">Figure 8</xref> compares the total time taken in each mode of proposed algorithm with the algorithm lacking the Sensing and Moving manager features.</p>
<p>By studying the two data values of Cache Hit Rate and PD Product, we can predict that our algorithm is energy efficient and has low power consumption. Also, from the values of time taken by each mode we are confident that proposed algorithm has no timing constraints and can also perform well in embedded environment with low speed processors.</p>
<p>Finally, <xref ref-type="fig" rid="f9-sensors-10-08129">Figure 9</xref> shows our overall implemented system. <xref ref-type="fig" rid="f9-sensors-10-08129">Figure 9(a)</xref> is a board that included a micro-sensor circuit and <xref ref-type="fig" rid="f9-sensors-10-08129">Figure 9(b)</xref> is a real experimental sensor device, MOTES-MICA2, containing a sensing manger and moving manager. Each sensing and moving manager system was implemented by the embedded board and the robot arm has four sensors. Then the sensing and moving manager system communicates with frequency to the four sensors, and acquires the moving distance, required power consumption, and execution cycle. To precisely adapt the proposed system as well as sensing algorithm, we confirmed that sensor circuits are made by private companies and other defense related industries, e.g., Department of Defense and Aerospace companies. Note that this proposed system could not only be applied to a robot arm, but could also be implemented to many other human environments such as “ubiquitous cities”, “smart homes”, and Wireless Sensor Networks (WSNs), <italic>etc.</italic></p></sec></sec>
<sec>
<label>5.</label>
<title>Related Works</title>
<p>The application of technique presented here is not only limited to robots, as this system can be utilized in a vast range of ubiquitous sensor and network uses. The most promising areas are <italic>ad-hoc</italic> sensor networks for emergency medical care, ubiquitous cities or U-cities and smart homes, on road vehicle detection, <italic>etc</italic>. One example from the use of a sensing device and operating system is early detection of information by Tiny OS [<xref ref-type="bibr" rid="b11-sensors-10-08129">11</xref>], for example, in detecting a fire or an alarm warning for a disaster, <italic>etc.</italic></p>
<p>The system presented uses only one type of sensor, performing the same task. To generalize this technique for future prospects we need to take in account the different type of sensors transmitting different environmental data. We also need to develop a technique to use multiple communication protocols as system can interact with different sensors or equipment which have different communication methods.</p>
<p>There are many sensor manufacturers and many networks on the market today. It is too costly for manufacturers to make special transducers for every network on the market. Different components made by different manufacturers should be compatible. Therefore, in 1993 the IEEE and the National Institute of Standards and Technology (NIST) began work on a standard for Smart Sensor Networks. IEEE 1451, the Standard for Smart Sensor Networks was the result [<xref ref-type="bibr" rid="b12-sensors-10-08129">12</xref>]. The objective of this standard is to make it easier for different manufacturers to develop smart sensors and to interface those devices to networks.</p></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>Improving performance is of great importance in modern semiconductor design technology as well as in the system integration area. In this paper, an energy efficient micro-sensor design for robots with an adaptive sensor design method and a new algorithm is proposed, which utilizes the sensor circuit more efficiently to achieve minimum moving time and power consumption. In particular, our paper proposes a method to determine the performance and sensing algorithm by integrated sensor and low-power circuits. Based on the experimental result, we observed that with our system, using a sensing and a moving manager, the four sensors required only 3.4 mW power consumption when a robot arm was moved a total distance of 17 cm. The architectural and system features such as power, mechanical comprise, and redundancy have been improved. It should be noted that sensor design is strongly related with circuit design options, particularly in sensory-interactive control technique.</p>
<p>In conclusion, as complexity increases it is necessary to study the effects of energy in micro-sensor circuits to develop accurate design models. Therefore, the sensor and sensing algorithm has an important role not only in the robot design field, but also in future sensor network applications.</p></sec></body>
<back>
<ack>
<p>This work is supported by Korea Science and Engineering Foundation (KOSEF) grant funded by the Korean government (MEST) (No. 20090069991). This work is supported by the Korean Ministry of Knowledge and Economics (MKE) under the grant No. I-2010-1-012 of the Electric Power Industry Tech. Evaluation and Planning Center (ETEP). The circuit was designed at the IC Design Center.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-10-08129"><label>1.</label><citation citation-type="web"><source>Capaciflector-Based Technology</source><publisher-name>NASA GSFC</publisher-name><publisher-loc>Greenbelt, MD, USA</publisher-loc><comment>Available online: <ext-link xlink:href="http://change.oact.hq.nasa.gov/ft-tech-capaciflector-guidedmechs" ext-link-type="uri">http://change.oact.hq.nasa.gov/ft-tech-capaciflector-guidedmechs</ext-link> (accessed on August 15, 2010).</comment></citation></ref>
<ref id="b2-sensors-10-08129"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Salhieh</surname><given-names>A</given-names></name><name><surname>Weinmann</surname><given-names>J</given-names></name><name><surname>Kochhal</surname><given-names>M</given-names></name><name><surname>Schwiebert</surname><given-names>L</given-names></name></person-group><article-title>Power Efficient Topologies for Wireless Sensor Networks</article-title><conf-name>Proceedings of the 2001 International Conference on Parallel Processing (ICPP 2001)</conf-name><conf-loc>Valencia, Spain</conf-loc><conf-date>September 2001</conf-date><fpage>156</fpage><lpage>163</lpage></citation></ref>
<ref id="b3-sensors-10-08129"><label>3.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Vranish</surname><given-names>J</given-names></name><name><surname>McConnell</surname><given-names>R</given-names></name></person-group><article-title>Driven-Shield Capacitive Sensor. U.S. Patent 5,166,679</article-title><month>November</month><day>24</day><year>1992</year></citation></ref>
<ref id="b4-sensors-10-08129"><label>4.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Levis</surname><given-names>P</given-names></name><name><surname>Madden</surname><given-names>S</given-names></name><name><surname>Gay</surname><given-names>D</given-names></name><name><surname>Polastre</surname><given-names>J</given-names></name><name><surname>Szewczyk</surname><given-names>R</given-names></name><name><surname>Whitehouse</surname><given-names>K</given-names></name><name><surname>Woo</surname><given-names>A</given-names></name><name><surname>Hill</surname><given-names>J</given-names></name><name><surname>Welsh</surname><given-names>M</given-names></name><name><surname>Brewer</surname><given-names>E</given-names></name><name><surname>Culler</surname><given-names>T</given-names></name></person-group><article-title>TinyOS: An Operating System for Sensor Networks</article-title><source>Ambient Intelligence</source><person-group person-group-type="editor"><name><surname>Weber</surname><given-names>W</given-names></name><name><surname>Rabaey</surname><given-names>J</given-names></name><name><surname>Aarts</surname><given-names>E</given-names></name></person-group><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Heidelberg, Germany</publisher-loc><year>2004</year></citation></ref>
<ref id="b5-sensors-10-08129"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ngo</surname><given-names>H</given-names></name><name><surname>Carpenter</surname><given-names>G</given-names></name></person-group><article-title>Low-power Phased locked Loop Concept and System</article-title><conf-name>Proceedings of the 27th Annual Int’l Symposium on Computer Architecture</conf-name><conf-loc>Vancouver, BC, Canada</conf-loc><month>September</month><day>10–14</day><year>2001</year><fpage>83</fpage><lpage>94.5</lpage></citation></ref>
<ref id="b6-sensors-10-08129"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jeong</surname><given-names>T</given-names></name><name><surname>Ambler</surname><given-names>P</given-names></name></person-group><article-title>Power Efficiency System for Flight Applications (PESFA) mission</article-title><source>IEEE Trans. Aerosp. Elect. Syst. Design</source><year>2006</year><volume>42</volume><fpage>1515</fpage><lpage>1520</lpage><pub-id pub-id-type="doi">10.1109/TAES.2006.314592</pub-id></citation></ref>
<ref id="b7-sensors-10-08129"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hill</surname><given-names>J</given-names></name><name><surname>Szewczyk</surname><given-names>R</given-names></name><name><surname>Woo</surname><given-names>A</given-names></name><name><surname>Seth</surname><given-names>H</given-names></name><name><surname>Culler</surname><given-names>D</given-names></name><name><surname>Pister</surname><given-names>K</given-names></name></person-group><article-title>System Architecture Directions for Networked Sensors</article-title><conf-name>Proceedings of 9th International Conference Architectural Support for Programming Languages and Operating Systems, ASPLOS 2000</conf-name><publisher-name>ACM Press</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><month>August</month><year>2000</year><fpage>794</fpage><lpage>812</lpage></citation></ref>
<ref id="b8-sensors-10-08129"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lorincz</surname><given-names>K</given-names></name><name><surname>Malan</surname><given-names>D</given-names></name><name><surname>Fulford-Jones</surname><given-names>TRF</given-names></name><name><surname>Nawoj</surname><given-names>A</given-names></name><name><surname>Clavel</surname><given-names>A</given-names></name><name><surname>Shnayder</surname><given-names>V</given-names></name><name><surname>Mainland</surname><given-names>G</given-names></name><name><surname>Moulton</surname><given-names>S</given-names></name><name><surname>Welsh</surname><given-names>M</given-names></name></person-group><article-title>Sensor Networks for Emergency Response: Challenges and Opportunities</article-title><source>IEEE Pervasive Comput</source><year>2004</year><volume>3</volume><fpage>16</fpage><lpage>23</lpage></citation></ref>
<ref id="b9-sensors-10-08129"><label>9.</label><citation citation-type="web"><article-title>RAW Benchmark Suite</article-title><comment>Available online: <ext-link xlink:href="http://cag-www.lcs.mit.edu/raw/benchmark/README.html/" ext-link-type="uri">http://cag-www.lcs.mit.edu/raw/benchmark/README.html/</ext-link> (accessed on August 15, 2010).</comment></citation></ref>
<ref id="b10-sensors-10-08129"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kub</surname><given-names>FJ</given-names></name><name><surname>Moon</surname><given-names>KK</given-names></name><name><surname>Mack</surname><given-names>I</given-names></name><name><surname>Long</surname><given-names>FM</given-names></name></person-group><article-title>Programmable Analog Vector- Matrix Multipliers</article-title><source>IEEE J. Solid- State Circuits</source><year>1990</year><volume>25</volume><fpage>207</fpage><lpage>214</lpage><pub-id pub-id-type="doi">10.1109/4.50305</pub-id></citation></ref>
<ref id="b11-sensors-10-08129"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Connel</surname><given-names>JH</given-names></name></person-group><article-title>A Behavioral-Based Arm Controller</article-title><source>IEEE Trans. Robotics Autom</source><year>1989</year><volume>5</volume><fpage>784</fpage><lpage>791</lpage><pub-id pub-id-type="doi">10.1109/70.88099</pub-id></citation></ref>
<ref id="b12-sensors-10-08129"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gandhi</surname><given-names>E</given-names></name><name><surname>Cervera</surname><given-names>E</given-names></name></person-group><article-title>Sensor Covering of a Robot Arm for Collision Avoidance</article-title><source>IEEE Int. Conf. Syst. Man, Cybernetics</source><year>2003</year><volume>5</volume><fpage>4951</fpage><lpage>4955</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-10-08129" position="float">
<label>Figure 1.</label>
<caption>
<p>An overall structure of sensing system.</p></caption>
<graphic xlink:href="sensors-10-08129f1.gif"/></fig>
<fig id="f2-sensors-10-08129" position="float">
<label>Figure 2.</label>
<caption>
<p>Sensors detection process in 2-D with <italic>P⃗</italic><italic><sub>a</sub></italic> and <italic>P⃗</italic><italic><sub>b</sub></italic>.</p></caption>
<graphic xlink:href="sensors-10-08129f2.gif"/></fig>
<fig id="f3-sensors-10-08129" position="float">
<label>Figure 3.</label>
<caption>
<p>Sensor and object detection in 3-D.</p></caption>
<graphic xlink:href="sensors-10-08129f3.gif"/></fig>
<fig id="f4-sensors-10-08129" position="float">
<label>Figure 4.</label>
<caption>
<p>How each sensing mode can apply to the end-unit by sensing manager and moving manager.</p></caption>
<graphic xlink:href="sensors-10-08129f4.gif"/></fig>
<fig id="f5-sensors-10-08129" position="float">
<label>Figure 5.</label>
<caption>
<p>Description of the sensor detection system with moving and sensing manager.</p></caption>
<graphic xlink:href="sensors-10-08129f5.gif"/></fig>
<fig id="f6-sensors-10-08129" position="float">
<label>Figure 6.</label>
<caption>
<p>Illustration of Mote Circuit Boards and connections.</p></caption>
<graphic xlink:href="sensors-10-08129f6.gif"/></fig>
<fig id="f7-sensors-10-08129" position="float">
<label>Figure 7.</label>
<caption>
<p>Hardware utilization in each of the different four modes.</p></caption>
<graphic xlink:href="sensors-10-08129f7.gif"/></fig>
<fig id="f8-sensors-10-08129" position="float">
<label>Figure 8.</label>
<caption>
<p>Comparison Results of the Proposed Algorithm and without Sensing and Moving Managers.</p></caption>
<graphic xlink:href="sensors-10-08129f8.gif"/></fig>
<fig id="f9-sensors-10-08129" position="float">
<label>Figure 9.</label>
<caption>
<p><bold>(a)</bold> A board that installed a micro senor circuit, <bold>(b)</bold> A real experimental sensor device, MOTES-MICA2, including sensing manger and moving manager.</p></caption>
<graphic xlink:href="sensors-10-08129f9.gif"/></fig>
<table-wrap id="t1-sensors-10-08129" position="float">
<label>Table 1.</label>
<caption>
<p>A notation list of sensor detection and configuration.</p></caption>
<table frame="box" rules="all">
<thead>
<tr content-type="background-color:#EEECE1">
<th align="center" valign="middle"><bold>Parameter values</bold></th>
<th align="center" valign="middle"><bold>2-D Configurable</bold></th>
<th align="center" valign="middle"><bold>3-D Configurable</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle"><bold>Sensor node</bold></td>
<td align="center" valign="middle">c1, c2 :<break/>(x1, y1, z1)<break/>(x2, y2, z2)</td>
<td align="center" valign="middle">c1, c2, c3, c4 :<break/>(x1, y1, z1)<break/>(x2, y2, z2)<break/>(x3, y3, z3)<break/>(x4, y4, z4)</td></tr>
<tr>
<td align="center" valign="middle"><bold>Target object</bold></td>
<td align="center" valign="middle">c0 :<break/>(x0, y0, z0)</td>
<td align="center" valign="middle">c0 :<break/>(x0, y0, z0)</td></tr>
<tr>
<td align="left" valign="middle"><bold>Scalar of shortest path between sensor node and target object (Distance)</bold></td>
<td align="center" valign="middle">S1, S2</td>
<td align="center" valign="middle">S1, S2, S3, S4</td></tr>
<tr>
<td align="left" valign="middle"><bold>Direction of shortest path between sensor node and target object(Pattern)</bold></td>
<td align="center" valign="middle"><italic>P⃗<sub>a</sub></italic>, <italic>P⃗<sub>b</sub></italic></td>
<td align="center" valign="middle"><italic>P⃗<sub>a</sub></italic>, <italic>P⃗<sub>b</sub></italic></td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-10-08129" position="float">
<label>Table 2.</label>
<caption>
<p>Power consumption of benchmarking with various values.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Modes</bold></th>
<th align="center" valign="top"><bold>Moving Distance (cm)</bold></th>
<th align="center" valign="top"><bold>Total Time (μsec)</bold></th>
<th align="center" valign="top"><bold>Power Consumption (mW)</bold></th>
<th align="center" valign="top"><bold>PD Product (Pico Joules)</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle">Moving Mode</td>
<td align="center" valign="middle">7.62</td>
<td align="center" valign="middle">2.10</td>
<td align="center" valign="middle">1.45</td>
<td align="center" valign="middle">3.05</td></tr>
<tr>
<td align="center" valign="middle">Self Locking Mode</td>
<td align="center" valign="middle">5.33</td>
<td align="center" valign="middle">0.80</td>
<td align="center" valign="middle">1.38</td>
<td align="center" valign="middle">1.10</td></tr>
<tr>
<td align="center" valign="middle">Level Setting Mode</td>
<td align="center" valign="middle">3.55</td>
<td align="center" valign="middle">0.40</td>
<td align="center" valign="middle">1.25</td>
<td align="center" valign="middle">0.50</td></tr>
<tr>
<td align="center" valign="middle">Forcing Mode</td>
<td align="center" valign="middle">0.50</td>
<td align="center" valign="middle">0.10</td>
<td align="center" valign="middle">1.21</td>
<td align="center" valign="middle">0.12</td></tr></tbody></table></table-wrap></sec></back></article>
