<?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/s91108593</article-id>
<article-id pub-id-type="publisher-id">sensors-09-08593</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Distributed Environment Control Using Wireless Sensor/Actuator Networks for Lighting Applications</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Nakamura</surname><given-names>Masayuki</given-names></name><xref ref-type="corresp" rid="c1-sensors-09-08593"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Sakurai</surname><given-names>Atsushi</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Nakamura</surname><given-names>Jiro</given-names></name></contrib>
<aff id="af1-sensors-09-08593">NTT Energy and Environment Systems Laboratories, Nippon Telegraph and Telephone Corporation, Morinosato Wakamiya, Atsugi-shi, Kanagawa Pref., Japan; E-Mails: <email>a2c@aecl.ntt.co.jp</email> (A.S.); <email>jnaka@aecl.ntt.co.jp</email> (J.N.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-09-08593">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>masayuki@aecl.ntt.co.jp</email>; Tel.: +81-46-240-3039; Fax: +81-46-270-2320.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2009</year></pub-date>
<pub-date pub-type="epub">
<day>28</day>
<month>10</month>
<year>2009</year></pub-date>
<volume>9</volume>
<issue>11</issue>
<fpage>8593</fpage>
<lpage>8609</lpage>
<history>
<date date-type="received">
<day>14</day>
<month>9</month>
<year>2009</year></date>
<date date-type="rev-recd">
<day>22</day>
<month>10</month>
<year>2009</year></date>
<date date-type="accepted">
<day>23</day>
<month>10</month>
<year>2009</year></date></history>
<permissions>
<copyright-statement>© 2009 by the authors; licensee Molecular Diversity Preservation International, Basel, Switzerland.</copyright-statement>
<copyright-year>2009</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>We propose a decentralized algorithm to calculate the control signals for lights in wireless sensor/actuator networks. This algorithm uses an appropriate step size in the iterative process used for quickly computing the control signals. We demonstrate the accuracy and efficiency of this approach compared with the penalty method by using Mote-based mesh sensor networks. The estimation error of the new approach is one-eighth as large as that of the penalty method with one-fifth of its computation time. In addition, we describe our sensor/actuator node for distributed lighting control based on the decentralized algorithm and demonstrate its practical efficacy.</p></abstract>
<kwd-group>
<kwd>sensor/actuator network</kwd>
<kwd>distributed control</kwd>
<kwd>decentralized system</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Wireless sensor/actuator networks (WSANs) have been investigated in addition to wireless sensor networks (WSNs) since WSANs have more attractive and useful applications than WSNs alone. In WSNs, the main objective is to gather raw sensor data or estimate the condition of the environment. From such a sensing standpoint, Zhao <italic>et al.</italic> proposed collaborative signal and information processing (CSIP) to target tracking problems [<xref ref-type="bibr" rid="b1-sensors-09-08593">1</xref>]. They showed that collaborative and decentralized sensor networks are scalable and efficient as regards sensing and communication. Rabbat <italic>et al.</italic> investigated distributed algorithms for sensor network data processing [<xref ref-type="bibr" rid="b2-sensors-09-08593">2</xref>]. They formulated estimation problems as optimization problems in distributed WSNs. WSANs have the potential to expand WSN applications, enabling the nodes to perform both sensing and actuation [<xref ref-type="bibr" rid="b3-sensors-09-08593">3</xref>-<xref ref-type="bibr" rid="b5-sensors-09-08593">5</xref>]. A promising WSAN application is the control of spatially distributed actuators, such as dimmable lighting ballasts, switches and air conditioning systems. WSANs can save energy because they can accurately monitor environmental conditions and thus control the actuators precisely. In this context, Taylor <italic>et al.</italic> developed WSANs for energy management in heating, ventilation, and air-conditioning (HVAC) systems [<xref ref-type="bibr" rid="b6-sensors-09-08593">6</xref>]. Zhang <italic>et al.</italic> proposed a field estimation technique that uses WSANs to control HVAC systems in buildings [<xref ref-type="bibr" rid="b7-sensors-09-08593">7</xref>]. Li <italic>et al.</italic> developed WSANs for lighting control in the home environment [<xref ref-type="bibr" rid="b8-sensors-09-08593">8</xref>]. One challenge is to develop algorithms that save energy without sacrificing user comfort. Sandhu <italic>et al.</italic> proposed WSANs for lighting control using a multi-agent system [<xref ref-type="bibr" rid="b9-sensors-09-08593">9</xref>]. Singhvi <italic>et al.</italic> developed a centralized lighting system to increase user comfort and reduce energy costs by using Motes [<xref ref-type="bibr" rid="b10-sensors-09-08593">10</xref>]. Lin <italic>et al.</italic> proposed a decentralized algorithm for WSANs for optimal lighting control [<xref ref-type="bibr" rid="b11-sensors-09-08593">11</xref>]. We proposed WSANs that can provide optimal actuator control with respect to energy saving and control signal quality as well as sensing [<xref ref-type="bibr" rid="b12-sensors-09-08593">12</xref>]. The sensor/actuator nodes perform sensing and actuation autonomously. However, the decentralized algorithm is based on the penalty function method, and it takes a long time to compute optimal control signals.</p>
<p>In this paper, we introduce an improved collaborative sensing and actuation algorithm in an optimization framework for controlling lights in workplaces. In our algorithm, an objective function is defined that balances energy saving against control signal quality. We describe a decentralized algorithm that is more scalable than the centralized one, and that can autonomously calculate control signals without a central server. This algorithm uses an appropriate step size in the iterative process for calculating control signals. We demonstrate its accuracy and efficiency compared with the previously proposed method by simulations. We also carry out WSAN experiments using Motes to examine the feasibility of the algorithm. We show that the estimation error of the proposed method is one-eighth as large as that of the previous method with one-fifth of its computation time. In addition, we describe a testbed that consists of Motes and infrared (IR) remote controls for distributed lighting control based on the decentralized algorithm.</p></sec>
<sec>
<label>2.</label>
<title>Distributed WSAN Model</title>
<p>In dense distributed WSANs, collaborative processing is essential for intelligent sensing and for controlling environments such as shared workplaces. To conserve energy, local sensing usually determines the local actuation of, for example, a light by using an occupancy sensor. When sensor/actuator nodes are networked, the quality of the control signals within the WSANs is improved, resulting in occupant satisfaction. In this paper, we use “control signal” as the signal applied to actuators. We assume that a control signal, for example a current, corresponds to the controlled environmental condition, such as the brightness of lights. We focus on the energy saving of the lights. In addition, the spatial smoothness of brightness is likely to be preferred by users. We propose a method that balances energy saving and the spatial smoothness of the control signals to improve control signal quality. Our method is formulated as an optimization problem. Let <italic>J</italic> be an objective function defined as:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>n</italic> is the number of sensor nodes, <italic>f<sub>i</sub></italic> is the control signal of sensor node <italic>i, f<sub>j</sub></italic> is the control signal of sensor node <italic>j</italic> within the communication range <italic>N<sub>i</sub></italic> of sensor node <italic>i</italic>, and <italic>α</italic> (0 &lt; <italic>α</italic> &lt; 1) is a tradeoff parameter balancing 
<inline-formula>
<mml:math id="mm2">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> (the spatial roughness of the control signals) against 
<inline-formula>
<mml:math id="mm3">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> (the consumed energy). For this discussion, let us consider that the sensors are passive infrared (PIR) occupancy sensors that detect the presence of people, and that the controlled actuators are lights. Occupancy sensor response <italic>s<sub>i</sub></italic> is binary such that:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mspace width="0.3em"/>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext>detect</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mspace width="0.3em"/>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext>not detect</mml:mtext>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.2"/>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The lights are turned on in areas where people are present. To simplify the problem, we assume that the control signals are set at 1 where people are present, that is:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="0.5em"/>
<mml:mtext>if</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Minimizing <italic>J</italic> with respect to <italic>f<sub>i</sub></italic> means that lights must be turned on in areas where people are present and controlled to balance the spatial smoothness of the control signals and energy saving otherwise. To obtain <italic>f<sub>i</sub></italic> that minimizes <italic>J</italic>, the partial derivative of <italic>J</italic> with respect to <italic>f<sub>i</sub></italic> is calculated as:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>J</mml:mi>
<mml:mo>/</mml:mo>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>α</mml:mi>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mspace width="0.7em"/>
<mml:mtext>if</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mspace width="0.3em"/>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> is a simultaneous equation which represents a centralized algorithm. It can be solved by a server collecting sensor responses from all sensor nodes. After collecting the sensor responses { <italic>S</italic><sub>1</sub>, ‥, <italic>S<sub>i</sub></italic><sub>−1</sub>, <italic>S</italic><sub>1</sub>, <italic>S<sub>i</sub></italic><sub>+1</sub>, ‥, <italic>S<sub>n</sub></italic> }, the server computes control signals { <italic>f</italic><sub>1</sub>, ‥, <italic>f<sub>i</sub></italic><sub>−1</sub>, <italic>f</italic><sub>1</sub>, <italic>f<sub>i</sub></italic><sub>+1</sub>, ‥, <italic>f<sub>n</sub></italic> } by solving <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> and sends the resulting control signals back to the sensor nodes. The sensor nodes control their external actuators through their digital output ports depending on the control signals.</p>
<p>It is also possible to use a decentralized algorithm, which can compute each control signal without a server. Rabbat <italic>et al.</italic> showed that distributed optimization algorithms are more efficient than centralized ones in terms of energy and communications [<xref ref-type="bibr" rid="b2-sensors-09-08593">2</xref>]. The gradient method can be used to determine the value of <italic>f<sub>i</sub></italic> that minimizes <italic>J</italic> [<xref ref-type="bibr" rid="b13-sensors-09-08593">13</xref>]. Using the gradient method, <italic>f<sub>i</sub></italic> is incrementally updated by Δ<italic>f<sub>i</sub></italic> as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>ε</mml:mi>
<mml:mo>∂</mml:mo>
<mml:mi>J</mml:mi>
<mml:mo>/</mml:mo>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left"/>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>ε</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mspace width="0.7em"/>
<mml:mtext>if</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>ε</italic> is a positive step size.</p>
<p>Formerly <italic>J</italic> was redefined to include the condition of <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> using the penalty function method [<xref ref-type="bibr" rid="b12-sensors-09-08593">12</xref>]. This approach was very useful for formulating the objective function without classifying the values of <italic>s<sub>i</sub></italic>. However, the convergence of <italic>f<sub>i</sub></italic> was very slow. In this paper, <italic>f<sub>i</sub></italic> is computed separately by <xref ref-type="disp-formula" rid="FD3">Equations (3)</xref> and <xref ref-type="disp-formula" rid="FD5">(5)</xref> depending on the values of <italic>s<sub>i</sub></italic>.</p>
<p><xref ref-type="fig" rid="f1-sensors-09-08593">Figure 1</xref> shows a decentralized sensor/actuator network system in a shared workplace and an example of calculated brightness for each node. Each sensor node is arranged at regular intervals and communicates with neighboring nodes to compute its control signal locally. In this model, there is no central server collecting sensor data and computing control signals. It is necessary to repeat the updates described by <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> and the communications of the control signals between neighboring nodes.</p>
<p><xref ref-type="fig" rid="f2-sensors-09-08593">Figure 2</xref> shows the two-dimensional sensor node arrangement and how the signals propagate in the network for activation. To simplify the problem, sensor nodes were arranged at regular intervals to form a mesh network. The dashed circle <italic>N<sub>i</sub></italic> represents the communication range of sensor node <italic>i</italic>, which covers neighboring nodes. First, the nodes detect people and become active. Then they communicate their signals to neighboring nodes. The nodes that receive the signals become active in turn so that finally all the nodes are active.</p>
<p><xref ref-type="fig" rid="f3-sensors-09-08593">Figure 3</xref> shows how the control signals propagate after activation. They compute their control signals and communicate them to their neighboring nodes in turn. In this way, the control signals are computed as they propagate through the network. After some communication and computation iterations, each node provides the optimal control signal for environment control.</p>
<p>It is very important to reduce the number of iterations in this process. We have to determine a large <italic>ε</italic> value that ensures the stability of <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref>. Suppose that <italic>m</italic> sensor nodes detect the presence of people. Then <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> is represented as:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mtext mathvariant="bold">Hf</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">d</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mspace width="0.7em"/>
<mml:mtext>if</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>H</bold> is an (<italic>n-m</italic>) × (<italic>n-m</italic>) matrix, and <bold>f</bold> and <bold>d</bold> are <italic>n-m</italic> element column vectors. The elements of <bold>H</bold> satisfy the following equation:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>h</mml:mtext></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>ii</mml:mtext></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.2em"/></mml:mrow>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>i</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>h</mml:mtext></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo></mml:mrow>
<mml:mi>α</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>Then we have:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>h</mml:mtext></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>ii</mml:mtext></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.2em"/></mml:mrow>
<mml:mo>&gt;</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>i</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>h</mml:mtext></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>and <bold>H</bold> is strictly diagonally dominant and regular [<xref ref-type="bibr" rid="b14-sensors-09-08593">14</xref>].</p>
<p>In addition, because the diagonal elements of <bold>H</bold> are positive:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msub>
<mml:mtext>h</mml:mtext>
<mml:mrow>
<mml:mtext>ii</mml:mtext></mml:mrow></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula><bold>H</bold> is a positive definite matrix.</p>
<p>To guarantee the stability of <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref>, we have the following equation [<xref ref-type="bibr" rid="b12-sensors-09-08593">12</xref>]:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&lt;</mml:mo>
<mml:mi>ε</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mo>max</mml:mo></mml:msub>
<mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>λ</italic><sub>max</sub> is the largest eigenvalue of <bold>H</bold>.</p>
<p>With the penalty function method, there are large values in the diagonal elements and large eigenvalues of <bold>H</bold> because the penalty parameter is usually large (e.g. 100) [<xref ref-type="bibr" rid="b12-sensors-09-08593">12</xref>]. Therefore, we had to use a small <italic>ε</italic> value, which resulted in the slow computation of <italic>f<sub>i</sub></italic>. In contrast, we can apply a larger <italic>ε</italic> to <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> than with the penalty function method since we have a smaller <italic>λ</italic><sub>max</sub> than that of the penalty function method. This is expected to lead to the fast and precise computation of the control signals.</p></sec>
<sec>
<label>3.</label>
<title>Experimental</title>
<p>Crossbow Motes, MICA2DOTs equipped with PIR occupancy sensors (AMN 13112, Matsushita Electric Works, Ltd.) were used as the sensor/actuator network testbed. A MICA2DOT consists of an Atmega128 microcontroller (4 MHz) and a CC1000 radio (315 MHz). The occupancy sensor can be easily attached to the 10-bit A/D converter of the Mote. The sensor reading ranged from 0 to 1023. The software was TinyOS1.1 [<xref ref-type="bibr" rid="b15-sensors-09-08593">15</xref>].</p>
<p>First, we examined the decentralized algorithm by simulations and by implementing it using Motes. A Mote has digital I/O pins that can control electronic components such as lights. In this experiment, Motes were assumed to detect occupancy by using the PIR sensors and control lights. We assumed that the sensor/actuator nodes were arranged on the ceiling in a shared workplace. The lights are controlled depending on the response of the occupancy sensors. Basically, the occupied areas must be bright and the unoccupied areas may be dark. Any nonuniformity of brightness may be unacceptable to the occupants. Therefore, both energy saving and smoothness of spatial brightness must be taken into consideration. In this experiment, we used 25 Motes, each with an occupancy sensor. Each node's sampling time was 2 s and its neighboring nodes were fixed regardless of the wireless communication range. All nodes were assumed to have a light control unit with a digital output port. <xref ref-type="fig" rid="f4-sensors-09-08593">Figure 4</xref> shows the experimental setup. Nodes 1, 4 and 19 detected the presence of people and communicated their signals to the neighboring nodes. First we investigated the resulting control signals using the penalty function method. There were 50 communication iterations. Then we evaluated the proposed decentralized algorithm. There were 10 communication iterations.</p>
<p>Next, we developed a testbed for WSANs based on Motes. The sensor/actuator node consists of a MICA2DOT, a PIC microcontroller (PIC12F629, Microchip Technology Inc.), a PIR occupancy sensor and an IR LED for remote control. The IR LED is driven by the PIC microcontroller and generates remote control signals for lights. The light has an IR detector for reading the control signals. Lighting brightness can vary by eight magnitudes depending on the control signals from the Mote. In this experiment, three lights were deployed on the ceiling and three corresponding nodes were placed on the desk (<xref ref-type="fig" rid="f5-sensors-09-08593">Figure 5</xref>). Each node detected occupancy and communicated the control signal to its neighboring nodes, and then controlled the brightness of a unique light right above it. The Mote's wireless communication range was limited to approximately 2 m. <xref ref-type="fig" rid="f6-sensors-09-08593">Figure 6</xref> is a photograph of a distributed lighting experiment. First, the three nodes detected three people and set the corresponding lights at maximum brightness. When the two people at nodes 1 and 3 left their desks, the nodes detected the occupancy changes {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {0,1,0} and began to compute the optimal brightness by communicating with each other. In this experiment, the node's communication interval was 5 s and the nodes adjusted the lights every interval. There were 10 communication and control iterations, which means a communication and control duration of 50 s. Experiments were also conducted for the following occupancy changes, {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,0,0}, {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,0,1}, {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,1,0}.</p></sec>
<sec sec-type="results">
<label>4.</label>
<title>Results</title>
<p><xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref> compares the control signals simulated by the decentralized and centralized algorithms. <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> was redefined by the penalty function method taking account of <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> [<xref ref-type="bibr" rid="b12-sensors-09-08593">12</xref>]. Parameter <italic>α</italic> in <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> was 0.3. The centralized algorithm provides an exact solution for modified <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> by the penalty function method. This result shows that illumination was provided in unpopulated areas close to an area where people were present. In the decentralized algorithm, the initial values of the calculated control signals were determined by sensor responses, that is, 1 for nodes 1, 4 and 19, and 0 for the others. The parameter <italic>ε</italic> in <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref> was 0.015. The root mean square (RMS) error between the centralized and decentralized results was 0.069. This result indicates that there were some errors in the estimated control signals when using the decentralized algorithm even with a large iteration number. We must increase the iteration number further to obtain a better estimation.</p>
<p><xref ref-type="fig" rid="f8-sensors-09-08593">Figure 8</xref> compares the experimental results for distributed actuation using Motes implemented with a decentralized algorithm and a simulation of the centralized algorithm. The parameters were the same as those used in <xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref>. The Motes were implemented with the same decentralized algorithm as in <xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref>. The RMS error was 0.088. It is clear that, despite some errors, Motes can provide a good estimation. The average communication error rate among the Motes was 9.9%. We believe that communication error led to the Motes' calculation error. When there is no communication error, the Motes can compute perfectly, and provide the same result as that in <xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref>.</p>
<p><xref ref-type="fig" rid="f9-sensors-09-08593">Figure 9</xref> compares the control signals simulated by the proposed decentralized and centralized algorithms. The parameter <italic>ε</italic> in <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref> was 0.5 and the iteration number was 10. We were able to use a larger <italic>ε</italic> and a smaller iteration number than in <xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref>. The RMS error was 0.00067, which indicates that this algorithm could achieve better performance than seen in <xref ref-type="fig" rid="f7-sensors-09-08593">Figure 7</xref>. This proposed algorithm enables WSANs to calculate the optimal control signals rapidly and precisely.</p>
<p><xref ref-type="fig" rid="f10-sensors-09-08593">Figure 10</xref> compares the calculation results obtained for the Motes and the centralized algorithm by simulation. The parameters were the same as in <xref ref-type="fig" rid="f9-sensors-09-08593">Figure 9</xref>. The Motes were implemented with the proposed decentralized algorithm. The RMS error was 0.011 and the average communication error rate among the Motes was 9.7%. Compared with <xref ref-type="fig" rid="f8-sensors-09-08593">Figure 8</xref>, the RMS error of the proposed algorithm was one-eighth as large as that of the penalty method with one-fifth of its computation time. The computation errors were caused by the communication errors. This result shows that the Motes could provide almost the same result as the simulation in <xref ref-type="fig" rid="f9-sensors-09-08593">Figure 9</xref>. It was found that the algorithm was capable of constructing practical environment control systems using Motes despite the communication errors.</p>
<p><xref ref-type="fig" rid="f11-sensors-09-08593">Figure 11</xref> compares the simulation results indicating that how the RMS error depends on the communication error for the proposed and the previously proposed algorithms. The parameters were the same as those in <xref ref-type="fig" rid="f7-sensors-09-08593">Figures 7</xref> and <xref ref-type="fig" rid="f9-sensors-09-08593">9</xref>. The Mote's average packet loss rate was approximately 10%. The simulation results indicate that the proposed algorithm is robust against the communication error.</p>
<p>In order to show that the proposed algorithm can be applied in general cases, we used another occupancy pattern and conducted distributed actuation experiments. <xref ref-type="fig" rid="f12-sensors-09-08593">Figure 12</xref> shows the occupancy pattern and the distributed actuation results. The Motes could provide a good estimation. This result shows that the algorithm works even if the occupancy pattern changes.</p>
<p><xref ref-type="fig" rid="f13-sensors-09-08593">Figure 13</xref> shows the control signal profiles of the three lights in the distributed lighting experiment using a Mote testbed for {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {0,1,0}. The parameters were the same as those in <xref ref-type="fig" rid="f9-sensors-09-08593">Figure 9</xref>. After detecting the occupancy changes, the nodes dimmed the lights gradually and completed computing the brightness at 30% of the maximum brightness for lights 1 and 3. The brightness of light 2 remained unchanged. Using the centralized algorithm of <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref>, we obtained the control signals of the lights as:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>0.3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.3</mml:mn>
<mml:mo>}</mml:mo>
<mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>which are almost the same as those in <xref ref-type="fig" rid="f11-sensors-09-08593">Figure 11</xref>. The RMS error of the calculated control signals was 0.00059 and the average communication error rate among the Motes was 5.0%. This result indicates that the distributed lighting control was performed rapidly and precisely using the Motes implemented with the decentralized algorithm.</p>
<p><xref ref-type="fig" rid="f14-sensors-09-08593">Figure 14</xref> shows the control signal profiles of the three lights for {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,0,0}. The control signals calculated from the centralized algorithm are:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.248</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.074</mml:mn>
<mml:mo>}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The RMS error of the calculated control signals was 0.0045 and the average communication error rate was 10.0%.</p>
<p><xref ref-type="fig" rid="f15-sensors-09-08593">Figure 15</xref> shows the control signal profiles of the three lights for {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,0,1}. The control signals calculated from the centralized algorithm are:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>α</mml:mi>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.462</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The RMS error of the calculated control signals was 0.00003 and the average communication error rate was 5.0%.</p>
<p><xref ref-type="fig" rid="f16-sensors-09-08593">Figure 16</xref> shows the control signal profiles of the three lights for {<italic>s</italic><sub>1</sub>,<italic>s</italic><sub>2</sub>,<italic>s</italic><sub>3</sub>} = {1,1,0}. The control signals calculated from the centralized algorithm are:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.3</mml:mn>
<mml:mo>}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The RMS error of the calculated control signals was 0.00049 and the average communication error rate was 10.0%.</p>
<p>These results indicate that the various decentralized lighting controls were successful when using the proposed decentralized algorithm of the wireless sensor/actuator nodes. We attained the same accuracy as the centralized algorithm with a small number of communications and computations because of the large value of the step size employed in the iterative process.</p></sec>
<sec sec-type="discussion">
<label>5.</label>
<title>Discussion</title>
<p>The simulation of the centralized collaborative actuation algorithm revealed that optimal control signals can be obtained when the central server can gather data from all the sensor nodes. This algorithm will be useful when it is used in relatively small WSANs. On the other hand, the proposed decentralized collaborative actuation algorithm is more scalable in practical deployment because it does not need a central server. The routing becomes more complicated as the sensor network becomes larger. This algorithm is free from such a complicated routing problem. The trade-off between the accuracy of the calculated signals and the energy consumed by communication is still a significant problem in the decentralized WSANs. We proposed an improved decentralized algorithm for fast control signal computation. Experiments have indicated that the number of iterations is reduced to approximately ten with appropriate step values in the iterative process. We implemented the algorithm on Motes and evaluated its feasibility.</p>
<p>The Mote employing the decentralized algorithm provided the same results as the simulations. The accuracy of computing the control signals depends on the step values, the number of iterations, and the communication quality. However, the increase in iterations leads directly to a long computation time. In addition, communication error is likely to be inevitable in WSANs. Experimental results indicated that using large step values is effective for computing the control signals rapidly and precisely.</p>
<p>The average consensus algorithm [<xref ref-type="bibr" rid="b16-sensors-09-08593">16</xref>] is closely related to ours. It minimizes a disagreement function to compute the average of the nodes' initial values. It provides a consensus mechanism to compute the average in a large network. It is also applied to a variety of networks such as dynamic networks. In our work, on the other hand, the aim is not to compute the average but to minimize the sum of the consumed energy and the spatial roughness of brightness. And the topology is fixed in the lighting application. Applying the proposed algorithm to various networks remains to be investigated.</p>
<p>In the proposed distributed actuation model, it is unnecessary to clarify the location of each sensor node. Each sensor node may have access to information about neighboring nodes. It is best to arrange sensor nodes at regular intervals and limit the communication range to their neighbors. One way to recognize neighboring nodes is to use a received signal strength indicator (RSSI). This also remains to be investigated.</p>
<p>The smoothness of controlled signals depends on model parameter <italic>α</italic> When <italic>α</italic> is set at 0, the calculated controlled signal is such that only occupied areas are illuminated and other areas are dark. In contrast, when <italic>α</italic> is set at 1 the calculated control signal is such that all areas are illuminated. The parameter depends on whether the purpose of controlling the environment is to save energy or to maintain user satisfaction.</p>
<p>The distributed lighting experiment showed that the autonomous nodes provided the optimal lighting actuation without a central server. The experiment was on a small scale using only three lights. However, a larger light network would be possible, as shown in <xref ref-type="fig" rid="f10-sensors-09-08593">Figure 10</xref>. These results show that the proposed WSANs are scalable for practical environment control systems.</p>
<p>In this work we assumed that the controlled actuators are mainly lights. Other actuators such as air conditioning systems are applicable, and temperature and humidity can also be controlled. These spatially distributed physical signals are targeted by the proposed WSANs. Our testbed has IR LEDs capable of controlling various devices easily thus constituting a versatile controller. We plan to use it to control other actuators.</p>
<p>In this paper, we developed nodes equipped with sensing and actuation functions. By contrast, it is possible to construct WSANs consisting of three types of nodes: sensors, actuators and controllers [<xref ref-type="bibr" rid="b3-sensors-09-08593">3</xref>]. In such networks, sensors are distributed densely, and actuators and controllers are distributed sparsely. We must build a heterogeneous communication model that incorporates these different types of nodes.</p>
<p>As future work, we plan to develop a testbed that adapts to users' actions and preferences. We also plan to employ the proposed algorithm in this testbed and demonstrate distributed sensing and actuation that adapts to the users.</p></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>This paper described improved collaborative sensing and actuation algorithms for providing optimal control of lights in workplaces. In our algorithm, the objective function is defined to balance energy saving against control signal quality. We proposed a decentralized algorithm that can autonomously calculate control signals without a central server. We demonstrated its accuracy and efficiency compared with the previously proposed method using simulations and Motes. It uses appropriate step size values in the iterative process used for calculating control signals. Experimental results showed that it is useful for providing accurate and fast computation because it is difficult to eliminate communication errors. This approach enables practical WSAN deployment because it is easy to implement and maintain. In addition, we described a testbed for distributed lighting control based on the decentralized algorithm. It has IR LEDs for controlling various devices wirelessly and flexibly. It can be used as a versatile controller for other actuators with IR detectors. We showed that it achieved optimal lighting control without a central server. In addition, the decentralized computation was very fast and precise. The experimental results suggest that this approach will allow us to realize a practical environment control system.</p></sec></body>
<back>
<ref-list>
<title>References and Notes</title>
<ref id="b1-sensors-09-08593"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhao</surname><given-names>F.</given-names></name><name><surname>Guibas</surname><given-names>L.</given-names></name></person-group><source>Wireless Sensor Networks: An Information Processing Approach</source><publisher-name>Elsevier</publisher-name><publisher-loc>San Francisco, CA, USA</publisher-loc><year>2004</year></citation></ref>
<ref id="b2-sensors-09-08593"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rabbat</surname><given-names>M.</given-names></name><name><surname>Nowak</surname><given-names>R.</given-names></name></person-group><article-title>Distributed Optimization in Sensor Networks</article-title><conf-name>Proceedings of IPSN'04</conf-name><conf-loc>Berkeley, CA, USA</conf-loc><conf-date>April 26-27, 2004</conf-date><fpage>20</fpage><lpage>27</lpage></citation></ref>
<ref id="b3-sensors-09-08593"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rabaey</surname><given-names>J.M.</given-names></name></person-group><article-title>Low-power Sensor Networks</article-title><conf-name>Proceedings of ISSNIP2005 Tutorial</conf-name><conf-loc>Melbourne, Australia</conf-loc><conf-date>December 5-8, 2005</conf-date></citation></ref>
<ref id="b4-sensors-09-08593"><label>4.</label><citation citation-type="web"><source>Robomote</source><comment>Available online: <ext-link xlink:href="http://www-robotics.usc.edu/∼robomote/" ext-link-type="uri">http://www-robotics.usc.edu/∼robomote/</ext-link> (accessed on October 20, 2009)</comment></citation></ref>
<ref id="b5-sensors-09-08593"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Coates</surname><given-names>M.</given-names></name><name><surname>Ing</surname><given-names>G.</given-names></name></person-group><article-title>Actuator Networks: Distributed Evaluation of Causal Effect</article-title><conf-name>Proceedings of Signals, Systems and Computers</conf-name><conf-loc>Pacific Grove, CA, USA</conf-loc><conf-date>November 7-10, 2004</conf-date><fpage>1376</fpage><lpage>1380</lpage></citation></ref>
<ref id="b6-sensors-09-08593"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Taylor</surname><given-names>K.</given-names></name><name><surname>Ward</surname><given-names>J.</given-names></name><name><surname>Gerasimov</surname><given-names>V.</given-names></name><name><surname>James</surname><given-names>G.</given-names></name></person-group><article-title>Sensor/Actuator Networks Supporting Agents for Distributed Energy Management</article-title><conf-name>Proceedings of 29th Annual IEEE International Conference on Local Computer Networks (LCN'04)</conf-name><conf-loc>Tampa, FL, USA</conf-loc><conf-date>November 15-17, 200</conf-date><fpage>463</fpage><lpage>470</lpage></citation></ref>
<ref id="b7-sensors-09-08593"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>H.</given-names></name><name><surname>Krogh</surname><given-names>B.</given-names></name><name><surname>Moura</surname><given-names>J.M.F.</given-names></name><name><surname>Zhang</surname><given-names>W.</given-names></name></person-group><article-title>Estimation in Virtual Sensor-Actuator Arrays Using Reduced-Order Physical Models</article-title><conf-name>Proceedings of 43rd IEEE Conference on Decision and Control</conf-name><conf-loc>Atlantis, Paradise Island, Bahamas</conf-loc><conf-date>December 14-17, 2004</conf-date><fpage>3792</fpage><lpage>3797</lpage></citation></ref>
<ref id="b8-sensors-09-08593"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Li</surname><given-names>S.</given-names></name></person-group><article-title>Wireless Sensor Actuator Network for Light Monitoring and Control Application</article-title><conf-name>Proceedings of Consumer Communications and Networking Conference</conf-name><conf-loc>Las Vegas, NV, USA</conf-loc><conf-date>January 8-10, 2006</conf-date><fpage>974</fpage><lpage>978</lpage></citation></ref>
<ref id="b9-sensors-09-08593"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sandhu</surname><given-names>J.S.</given-names></name><name><surname>Agogino</surname><given-names>A.M.</given-names></name><name><surname>Agogino</surname><given-names>A.K.</given-names></name></person-group><article-title>Wireless Sensor Networks for Commercial Lighting Control: Decision Making with Multi-agent Systems</article-title><conf-name>Proceedings of Working Notes of the AAAI-04 Sensor Networks Workshop</conf-name><conf-loc>San Jose, CA, USA</conf-loc><conf-date>July 26, 2004</conf-date><fpage>88</fpage><lpage>92</lpage></citation></ref>
<ref id="b10-sensors-09-08593"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Singhvi</surname><given-names>V.</given-names></name><name><surname>Krause</surname><given-names>A.</given-names></name><name><surname>Guestrin</surname><given-names>C.</given-names></name><name><surname>Garrett</surname><given-names>J.H.</given-names><suffix>Jr.</suffix></name><name><surname>Matthews</surname><given-names>H.S.</given-names></name></person-group><article-title>Intelligent Light Control using Sensor Networks</article-title><conf-name>Proceedings of SenSys'05</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>November 2-4, 2005</conf-date><fpage>218</fpage><lpage>229</lpage></citation></ref>
<ref id="b11-sensors-09-08593"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>Y.</given-names></name><name><surname>Megerian</surname><given-names>S.</given-names></name></person-group><article-title>Low Cost Distributed Actuation in Large-scale Ad Hoc Sensor-actuator Networks</article-title><conf-name>Proceedings of 2005 International Conference on Wireless Networks, Communications and Mobile Computing</conf-name><conf-loc>Maui, HI, USA</conf-loc><year>2005</year><fpage>975</fpage><lpage>980</lpage></citation></ref>
<ref id="b12-sensors-09-08593"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nakamura</surname><given-names>M.</given-names></name><name><surname>Sakurai</surname><given-names>A.</given-names></name><name><surname>Furubo</surname><given-names>S.</given-names></name><name><surname>Ban</surname><given-names>H.</given-names></name></person-group><article-title>Collaborative Processing in Mote-based Sensor/actuator Networks for Environment Control Application</article-title><source>Signal Proc.</source><year>2008</year><volume>88</volume><fpage>1827</fpage><lpage>1838</lpage><pub-id pub-id-type="doi">10.1016/j.sigpro.2008.01.025</pub-id></citation></ref>
<ref id="b13-sensors-09-08593"><label>13.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Bryson</surname><given-names>A.E.</given-names><suffix>Jr.</suffix></name><name><surname>Ho</surname><given-names>Y.-C.</given-names></name></person-group><source>Applied Optimal Control</source><publisher-name>Taylor &amp; Francis</publisher-name><publisher-loc>Levittown, PA, USA</publisher-loc><year>1975</year></citation></ref>
<ref id="b14-sensors-09-08593"><label>14.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Varga</surname><given-names>R.S.</given-names></name></person-group><source>Matrix Iterative Analysis</source><publisher-name>Prentice Hall</publisher-name><publisher-loc>Englewood Cliffs, NJ, USA</publisher-loc><year>1962</year></citation></ref>
<ref id="b15-sensors-09-08593"><label>15.</label><citation citation-type="web"><source>TinyOS</source><comment>Available online: <ext-link xlink:href="http://www.tinyos.net/" ext-link-type="uri">http://www.tinyos.net/</ext-link> (accessed on October 20, 2009)</comment></citation></ref>
<ref id="b16-sensors-09-08593"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saber</surname><given-names>R,O.</given-names></name><name><surname>Fax</surname><given-names>J.A.</given-names></name><name><surname>Murray</surname><given-names>R.M.</given-names></name></person-group><article-title>Consensus and Cooperation in Networked Multi-Agent Systems</article-title><source>Proc. IEEE</source><year>2007</year><volume>95</volume><fpage>215</fpage><lpage>233</lpage><pub-id pub-id-type="doi">10.1109/JPROC.2006.887293</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures</title>
<fig id="f1-sensors-09-08593" position="float">
<label>Figure 1.</label>
<caption>
<p>Decentralized sensor/actuator network system and calculated brightness of each node.</p></caption>
<graphic xlink:href="sensors-09-08593f1.gif"/></fig>
<fig id="f2-sensors-09-08593" position="float">
<label>Figure 2.</label>
<caption>
<p>Two-dimensional schematic diagram of signal propagation for activation.</p></caption>
<graphic xlink:href="sensors-09-08593f2.gif"/></fig>
<fig id="f3-sensors-09-08593" position="float">
<label>Figure 3.</label>
<caption>
<p>Two-dimensional schematic diagram of control signal computation.</p></caption>
<graphic xlink:href="sensors-09-08593f3.gif"/></fig>
<fig id="f4-sensors-09-08593" position="float">
<label>Figure 4.</label>
<caption>
<p>Distributed actuation experiment using Motes.</p></caption>
<graphic xlink:href="sensors-09-08593f4.gif"/></fig>
<fig id="f5-sensors-09-08593" position="float">
<label>Figure 5.</label>
<caption>
<p>Distributed lighting control experiment using Mote testbed.</p></caption>
<graphic xlink:href="sensors-09-08593f5.gif"/></fig>
<fig id="f6-sensors-09-08593" position="float">
<label>Figure 6.</label>
<caption>
<p>Photograph of the distributed lighting experiment.</p></caption>
<graphic xlink:href="sensors-09-08593f6.gif"/></fig>
<fig id="f7-sensors-09-08593" position="float">
<label>Figure 7.</label>
<caption>
<p>Experimental results of distributed actuation using simulations of centralized and decentralized algorithms. The decentralized algorithm is based on the penalty function method.</p></caption>
<graphic xlink:href="sensors-09-08593f7.gif"/></fig>
<fig id="f8-sensors-09-08593" position="float">
<label>Figure 8.</label>
<caption>
<p>Experimental results of distributed actuation using Motes implemented with decentralized algorithm and simulation of centralized algorithm. The decentralized algorithm is based on the penalty function method.</p></caption>
<graphic xlink:href="sensors-09-08593f8.gif"/></fig>
<fig id="f9-sensors-09-08593" position="float">
<label>Figure 9.</label>
<caption>
<p>Experimental distributed actuation results obtained using simulations of centralized and proposed decentralized algorithms.</p></caption>
<graphic xlink:href="sensors-09-08593f9.gif"/></fig>
<fig id="f10-sensors-09-08593" position="float">
<label>Figure 10.</label>
<caption>
<p>Experimental distributed actuation results obtained using Motes implemented with proposed decentralized algorithm and simulation of centralized algorithm.</p></caption>
<graphic xlink:href="sensors-09-08593f10.gif"/></fig>
<fig id="f11-sensors-09-08593" position="float">
<label>Figure 11.</label>
<caption>
<p>Simulation result of packet loss rate vs. RMS error between centralized and decentralized algorithms (circle: proposed algorithm, square: previously proposed algorithm).</p></caption>
<graphic xlink:href="sensors-09-08593f11.gif"/></fig>
<fig id="f12-sensors-09-08593" position="float">
<label>Figure 12.</label>
<caption>
<p>Occupancy pattern and experimental distributed actuation results obtained using Motes implemented with proposed decentralized algorithm and simulation of centralized algorithm.</p></caption>
<graphic xlink:href="sensors-09-08593f12.gif"/></fig>
<fig id="f13-sensors-09-08593" position="float">
<label>Figure 13.</label>
<caption>
<p>Experimental distributed lighting result obtained using Mote testbed for {s1,s2,s3} = {0,1,0}.</p></caption>
<graphic xlink:href="sensors-09-08593f13.gif"/></fig>
<fig id="f14-sensors-09-08593" position="float">
<label>Figure 14.</label>
<caption>
<p>Experimental distributed lighting result obtained using Mote testbed for {s1,s2,s3} = {1,0,0}.</p></caption>
<graphic xlink:href="sensors-09-08593f14.gif"/></fig>
<fig id="f15-sensors-09-08593" position="float">
<label>Figure 15.</label>
<caption>
<p>Experimental distributed lighting result obtained using Mote testbed for {s1,s2,s3} = {1,0,1}.</p></caption>
<graphic xlink:href="sensors-09-08593f15.gif"/></fig>
<fig id="f16-sensors-09-08593" position="float">
<label>Figure 16.</label>
<caption>
<p>Experimental distributed lighting result obtained using Mote testbed for {s1,s2,s3} = {1,1,0}.</p></caption>
<graphic xlink:href="sensors-09-08593f16.gif"/></fig></sec></back></article>
