• No results found

Real Time Target Tracking with Binary Sensor Networks and Parallel Computing

N/A
N/A
Protected

Academic year: 2021

Share "Real Time Target Tracking with Binary Sensor Networks and Parallel Computing"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Abstract — A parallel real time data fusion and target tracking

algorithm for very large binary sensor networks is presented. A binary sensor can give an on or off signal to indicate the presence or absence of targets within its range, but it cannot tell how many targets are present, where the targets are, how fast they are moving, or which direction they are heading. In order to detect and track targets using these sensors, it is necessary to fuse information from more than one sensor. A parallel data fusion process based on simulated annealing is used to identify and locate targets. Processing is performed on a commodity Linux cluster with communication between nodes facilitated by the Message Passing Interface (MPI). The fusion and tracking algorithm is tested with a wide variety of sensor network parameters using target track data from a theater level air combat simulation. It is demonstrated that very accurate target detection and localization are possible even though the binary sensors themselves provide little information and have high error rates. Real time tracking is performed on a network with 2.5 million sensors on a commodity cluster with only 50 processors.

Index Terms—sensor network, binary sensor, data fusion,

simulated annealing, target tracking, real time, parallel computing, cluster

I. INTRODUCTION

ENSOR networks are systems with devices deployed over a geospatial area to monitor objects of interest in both military and civilian applications, such as integrated air defense and intrusion detection. Large networks of primitive sensors are becoming more attractive due to the low cost deployment, small size, low energy consumption and simple operation and data communication of the sensors [1-2]. These networks can continuously monitor a much larger geographic area than would be possible using more expensive sensors. Sensors can be classified according to their capabilities. This research explores methods for tracking targets using very primitive binary sensors. A binary sensor can give an on or off signal to indicate the presence or absence of targets within its range. Binary sensors cannot tell how many targets are present, where the targets are, how fast they are moving, or which direction they are heading. Binary sensors may not be fully reliable, so the sensor model includes both a false positive rate and a false negative rate. Here, a false positive rate is the

This work was supported by the Dept. of Defense under GS-23F-0062P. All authors are with Information Technology and Systems Center, University of Alabama in Huntsville, Huntsville, AL 35899.

probability that the sensor issues an on signal when there is no target around, and a false negative rate is the probability that a sensor issues an off signal when there are targets within its field of view.

Target tracking is a process of state estimation of more than one object over a region of interest during a period of time. Since binary sensors can only provide an on or off signal, the target positions can only be determined through a data fusion process. Simple filtering and search based data fusion [3-4] approaches are common. The input to a data fusion algorithm is a set of noisy sensor observations, and the output is a set of target positions. In a simple filtering approach, the network is divided into small grids and the relative likelihood that a target is in a given grid is computed based on the readings of its surrounding sensors. A simple center-surround filter can be used to detect targets. This approach can be unreliable because the quality of results is sensitive to the grid resolution and the threshold for filtering. Search based data fusion uses an optimization process to find a set of target positions that is consistent with the sensor network observations. In general, the process achieves better quality of results but with high computation cost, especially if the number of sensors is in the order of millions. Increasing computing power and improving data fusion efficiency are crucial in designing a high performance real time tracking algorithm for a binary sensor network.

Clusters composed of commodity processing nodes provide a means for constructing economical, powerful, robust and scalable high-performance computing systems. There are many possible ways to implement a parallel target tracking algorithm on a cluster, such as assigning one track to one processor [5], assigning one sensor to one processor, or using a spatial parallelization approach [6]. Assigning one track to each processing node and processing in parallel has the advantage of load balancing on each node, but it has the disadvantage of significant communication overhead. Assigning each sensor to a processing unit is more suitable to a network with a small number of sophisticated sensors. With a spatial parallelization approach, also called geographic tessellation [6], the area of interest is divided into small regions and each region is assigned to one computing unit.

Kalman filtering [7] and nearest neighbor data association (NNDA) are commonly used in multi-target tracking [8-9]. With NNDA, the tracks are built by connecting the detected targets to their closest tracks if the distance is less than a threshold. A new track is created if no such previous track exists.

Real Time Target Tracking with Binary Sensor

Networks and Parallel Computing

Hong Lin, John Rushing, Sara J. Graves, Steve Tanner, and Evans Criswell

(2)

In the binary sensor networks considered here, the number of targets is far less than the number of sensors. The vast majority of computation time is devoted to data fusion. Therefore, improving data fusion efficiency and in turn reducing latency is the focus of this paper. A parallel simulated annealing algorithm with efficient search strategy is proposed and tested. The rest of this paper is organized as the follows: section II gives an overview of the binary sensor network model. Section III presents the search based data fusion algorithm used in the network simulations. Section IV outlines the strategy for parallel computing. Simulation results with the proposed algorithm are presented in Section V, followed by conclusions in Section VI.

II. SENSOR NETWORK MODEL AND SIMULATION DATA

Real time tracking of aircraft and missiles within a theater of operations is a problem of significant interest. This research considers the possibility of accurately tracking a large number of air targets over a very wide area using very large numbers of primitive sensors. Target tracks for the simulation are generated using Modern Air Power, a theater level air combat simulation used by the USAF Squadron Officers College (SOC) for training. The sensor networks cover an area of 800 miles by 800 miles, and are equally divided into small regions for parallel computing. The binary sensors have identification and position information, and report “on” when there are targets within range. A 10% false positive rate and 10% false negative rate are used for the binary sensors. The set of network parameters in the simulations are as the follows:

• Number of sensors: varied between 250,000 and 2,500,000

• Sensor range: varied from 3 to 10 miles

• Sampling rate: every 10, 5, 3, 2, 1.5, 1 and 0.5 seconds

• Number of divided regions (slave processors): 49, 36, 25, 16, 9, 4 and 1

Because of the limited information provided by each sensor, large numbers of sensors are needed to cover the desired region. This is not impractical considering the low cost of such sensors.

Simulations are performed on a Linux cluster where each node may have more than one processor. The sensor network is divided spatially, and each region is assigned to a processor implementing data fusion for that region. During simulations, the master process reads the target track information and passes it to the slave processes via MPI. Each slave process computes the simulated response of each of the binary sensors in its domain, and then performs Simulated Annealing (SA) based data fusion to identify and locate targets within its region of interest. At end, the slave process passes those target locations back to the master process via MPI. When the master process obtains information from all slave processes, it resolves any possible conflicts in target locations and performs data association and tracking using Nearest Neighbor Data Association (NNDA) and a Kalman filter. The flow chart of simulation model is shown in Fig 1.

High probability of target detection and low false alarm rate are desired for a reliable sensor network. The average distance error of the detected targets and how these errors distribute reflect the accuracy of the detection. Hence, the following parameters are used in evaluating the sensor network performance:

• Probability Of Detection (POD): Percentage of the targets actually detected during the entire simulation, • False Alarm Rate (FAR): Percentage of detects that

are false;

• Average Deviation (AVD): Average position error for the detected targets.

The total number of time steps is determined by the time interval for the 5 minutes simulation. If the total number of time steps is m, POD, FAR and AVD are computed as the following: ∑ ∑ = = = m i m i gets NumTrueTar ts dTrueTarge NumDetecte POD 1 1 ; ∑ ∑ = = = m i m i dTargets NumDetecte ets dFalseTarg NumDetecte FAR 1 1 ;

(

)

∑ ∑ ∑ = = = − + − = m i i m i n k dk tk dk tk n y y x x AVD i 1 1 1 2 , , 2 , , ) ( ) ( .

Here, TrueTargets refers to the targets from input track data, and ni refers to the number of true targets at time step i.

III. DATA FUSION WITH SIMULATED ANNEALING ALGORITHM

A data fusion process is used to combine information from individual binary sensors to identify and locate targets. The input to a data fusion algorithm is a set of noisy sensor observations, and the output is a set of target positions. In this paper, a search based data fusion approach with simulated annealing algorithm was used.

The Simulated Annealing (SA) algorithm proposed by Kirkpatrick [10] exploits an analogy between the way in which a metal cools and freezes into a minimum energy crystalline structure (the annealing process) and the search for a minimum in a more general system. SA has an advantage over greedy search methods because it is less likely to become trapped at a local minimum. In target tracking, the constraint for the optimization is the highest consistency of network sensor

Fig. 1. Flow chart of target tracking simulation

Read Tracks Resolve Conflicts at Boundaries Kalman Filter and NNDA Output Tracks

Next Time Step Input Master Processor Master Processor Slave Processors Net1 Net2 Netn-1 Netn

(3)

readings. Here, a consistent reading refers to a sensor which is on when the target is within its detection range and off otherwise.

In standard SA approach, the algorithm begins with a particular solution and applies a series of transforms to it. After each transform, a fitness function is used to evaluate the new solution, and a decision is made whether to accept the new solution or retain the previous one. In a real time application, the process is repeated for as many iterations as possible given the time constraints. The transform will always be accepted if it results in an improvement to the objective function. Transforms are sometimes accepted even if they do not yield improvement. This is done in an attempt to avoid local minima in the search space. The decision to accept a new solution is based on the current annealing temperature. If the temperature is high, simulated annealing accepts nearly any transform and essentially behaves like a random walk. If the temperature is low, solutions are accepted only if they result in improvement. In the implementation, a random number r between 0 and 1 is generated and compared with a probability p determined by the improvement and the temperature at that time. The transform will be accepted if r ≤ p. The probability p is computed as the following:

) / exp( f T

p= −δ .

Here δf is the change to the objective function between the current and new solutions, and T is the current temperature. The temperature T is controlled by the algorithm parameters Tmax and Tmin. The temperature starts at Tmax on the first

iteration, and ends at Tmin on the final iteration.

For the target location application, the SA search begins with an empty target set and applies a series of transforms until the target set achieves maximum consistency with the sensor observations. The SA search applies three types of transforms to the target set:

• Add Target: add a target to the set • Delete Target: delete a target from the set • Move Target: change position of a target

Any target currently in the set is a candidate for the delete or move transform. Candidates for add transforms are selected by finding sensors with “on” readings that do not have a target from the set in their range. Appropriate values of Tmax and Tmin

were determined experimentally for the application. It was found that an initial temperature of 1e-7 and final temperature of zero yielded the best results. The SA algorithm for target identification is shown in Fig. 2.

As the simulation proceeds, aircraft enter and leave the area of interest, take off and land (or crash), and move within the area of interest. At each step in the simulation, a simulated annealing search is performed to identify and locate the targets based on current sensor readings. Target locations from the previous step in the simulation are used to seed the search in the current step.

IV. REAL TIME SIMULATION

For the application described above, the number of targets is typically much smaller than the number of sensors. Since the time complexity of the tracking and association steps depend only on the number of targets, and the time complexity of the data fusion process depends primarily on the number of sensors, the fusion step consumes the majority of computation time. This is illustrated in Fig. 3. Latency is defined as the time delay between the data being received at the input and the results being available. For a real time tracking application, the latency must be less than or equal to the period between data samples. Parallel computing together with a smart search strategy are used to reduce latency.

A. Parallel Computing

Parallel computing is used to distribute computation to many processors, reduce latency, and increase throughput. Computing clusters are widely used in high performance computing applications. A computer cluster with Red Hat Enterprise Linux AS Release 3 and lam-oscar-7.0.6-1 is used for the sensor network simulation. The cluster has total of 25 nodes, and each node has two SMP CPUs of 2.6 GHz. The Open Source Cluster Application Resources (OSCAR) package is a fully integrated software bundle designed for high performance cluster computing. OSCAR provides the standard Message Passing Interface (MPI) for the communications between the parallel computing processes.

A spatial decomposition technique is used to parallelize the data fusion process. The sensor network is divided into small regions and each region is assigned to one processor of the cluster. Data fusion is performed on these small networks by each process in parallel. Spatial decomposition has been widely used in computational fluid dynamics (CFD) research as well as in other sensor network studies. This approach is referred to as tessellation sensor data fusion (TSDF) [6]. At the end of data fusion step, the slave processors send their list of

Perform Data Fusion at Child Processors in Parallel Transmit Target Information to Child Processors Using MPI Collect Results from Child Processors Using MPI Resolve Conflicts Data Association Tracking

Simulation Time Interval

Fig. 3. Computation time illustration at each time step

Fig. 2. Simulated annealing algorithm

Begin with an empty target set For each time step

Set temperature T to Tmax

Calculate cooling rate R based on Tmax, Tmin, NumTransforms For count = 1 to NumTransforms

Choose a transform at random (Add,Move,Delete) Apply the transform to the model

Compute consistency for the resulting transform Accept the transform if it results in

improvement OR if it is close enough to the current solution quality based on T Reduce temperature T by cooling rate R End For

(4)

identified targets to the master processor, which merges the observations to get the overall set of target locations. Since only the observed target information is sent to the master processor through MPI, this overhead is relatively small.

A potential problem arises if there are targets close to the border of a region. Some sensors that could see those targets may actually be in another region. To handle this boundary problem, the sensor networks are divided into regions with slight overlap. It is therefore possible that two neighboring regions may report some of the same targets. This internal boundary conflict is handled by the master process after it receives the target location information from all the slave process.

B. Smart Search with Update Windows

In search based data fusion, a set of target locations that maximizes consistency with sensor network simulations is sought. The search process involves testing many possible sets of target locations. Improving the efficiency in computing the model sensor consistency and incrementally re-computing it after each transform are crucial in reducing the latency.

For the types of networks under consideration here, namely networks of primitive short range sensors, the effects of a particular transform are local to the area where the transform occurs. There is no reason to check every sensor within the entire network, but only those close by. These considerations dictate the level of granularity at which the consistency computation should be performed. Hence, we further divide the network using regular grids. Each sensor is assigned to a particular grid location, and the consistency counts are maintained for each grid. When a transform is made, only the grids within sensor range need to be updated. Fig. 4 illustrates the relation of whole network, sub region and update windows.

Since there may be single moves that span more than one window, and since sensors in one window may see into neighboring windows, it is necessary to make sure that each processor sees the windows surrounding its area of interest. This means that the processor sees areas that overlap by one update window. The update window size is chosen such that it is not possible for a single sensor’s range to be less than the size of the window and is set to 10 miles in the simulations.

Since the number of sensors in each region is approximately the same, and the data fusion time primarily depends on the

number of sensors, a spatial division of the processing does a reasonably good job of balancing the load between processors. In other applications where the number of targets is close to the number of sensors, a different parallelization approach such as distributing one target to one processor might be a better approach.

In order to make the simulation as close to real time as possible, the allowable data fusion time is adjusted at each time step based on processing time on the master processor, which includes data communication overhead, tracking and I/O. The allowable data fusion time is the difference of the time interval and the time used on the master processor at the last time step. Data fusion will stop when the allowable fusion time is reached and the best network state at that moment will be returned. The algorithm for real time sensor network simulation is outlined in Fig. 5.

V. NETWORK PERFORMANCE ANALYSIS

The performance of a binary sensor network depends on several factors, including the number of sensors, the range of the sensors, the sampling rate, and the number of regions into which the network is divided. The effects of these parameters are investigated through a series of simulations with different network settings.

A. Number of Regions

The number of regions a network needs to be divided into depends on many factors, such as simulation time step, the number of sensors and the available processors of the computing cluster. Normally, high sampling frequency leads to better target tracking as the changes of target state are smaller within shorter periods of time. However, the time interval has to be long enough so that the SA search process can find a good solution.

Table I shows the simulation results of a network with 2.5 million binary sensors each with a range of 3 miles, with the network divided into 4 regions. One can see that even with time interval of 10 seconds, the network only has about 94% target detection rate (POD). This indicates that the optimal solution could not be reached within the time constraint. The network performance gets worse when the time interval is reduced further.

If the network is divided equally into 9 regions, the performance improves significantly as the results in Table II show. Even with time interval of 0.5 seconds, the network can

Begin with an empty target set For each time step

Get latest target locations

Send latest target locations to slave processors (MPI)

On each slave processor (in parallel) Identify targets with SA algorithm Transmit fusion results to the master End of this processor

Resolve network boundary conflicts Perform data association and tracking End For

Fig. 5. Real time simulation algorithm

Fig. 4. Sensor network configuration illustration: the network is divided into 16 sub regions with overlap for parallel computing, each region is further divided into small windows to expedite data fusion.

Sub-Region Boundary Update Window Overlapped Window

(5)

still have up to 96% of target detection rate and less than 1% false alarm rate.

TABLE I

Performance Metrics of Sensor Network with 2,500,000 Binary Sensors Divided into 4 Regions Time Interval

(seconds) POD FAR

AVD (miles) 10 94.38% 0.08% 0.189 5 95.63% 0.15% 0.244 3 93.55% 0.29% 0.312 2 91.93% 0.83% 0.367 1 70.24% 6.78% 0.582 0.5 5.51% 44.15% 0.840 TABLE II

Performance Metrics of Sensor Network with 2,500,000 Binary Sensors Divided into 9 Regions Time Interval

(seconds)

POD FAR AVD (miles) 10 99.45% 0.11% 0.172 5 99.32% 0.22% 0.179 3 99.23% 0.00% 0.183 2 98.79% 0.01% 0.195 1 98.56% 0.06% 0.227 0.5 96.31% 0.63% 0.344

In both Table I and Table II, one can see that the average distance error (AVD) increases with the decrease of time interval. This is also an indication of non-optimal data fusion results due to the lack of fusion time.

TABLE III

Performance Metrics of Sensor Network with 2,500,000 Binary Sensors Divided into 49 Regions Time Interval

(seconds)

POD FAR AVD (miles) 10 99.78% 0.33% 0.122 5 99.78% 0.36% 0.120 3 99.76% 0.12% 0.118 2 99.77% 0.02% 0.121 1 99.69% 0.03% 0.126 0.5 99.67% 0.02% 0.126

By further dividing the network into more regions, the data fusion time for each region will reduce more due to the smaller number of sensors. Table III shows the simulation results when the network was divided into 49 regions. The average distance errors are only around 0.12 miles for all the different time intervals with almost 100% POD and less than 0.4% FAR. This indicates that optimal solutions are reached even for a time interval of 0.5 seconds. In general, one should choose the minimum number of regions such that the search converges, since each region requires its own processor.

B. Number of Sensors

Since binary sensors normally have short sensing range, the coverage of sensors in the network affects the target detection rate. The better the sensor network coverage, the higher the target detection rate of the network. For a sensor range of 3

miles, the simulation results show that 750,000+ sensors are needed for the area of 800 miles by 800 miles in order to have a higher than 99% POD and lower than 1% FAR. Table IV shows the results of a network with different number of binary sensors and a time interval of 5 seconds. The network is divided into 49 small regions. The high FAR in network with 250,000 sensors is due to the fact that there are many areas that are covered by only one or two sensors, and the sensors have a high false positive rate. It takes a higher sensor density to reliably eliminate the noise.

TABLE IV

Performance Comparison of Networks with Different Number of Sensors, Time Interval 5 Seconds, Sensor Range 3miles, 49 Sub Regions

Number of Sensors

POD FAR AVD (miles) 250,000 96.00% 69.32% 0.535 500,000 99.40% 13.17% 0.299 750,000 99.69% 2.4% 0.220 1,000,000 99.71% 0.62% 0.176 1,250,000 99.73% 0.24% 0.154 1,500,000 99.78% 0.09% 0.142 1,750,000 99.80% 0.02% 0.135 2,000,000 99.78% 0.05% 0.127 2,500,000 99.80% 0.09% 0.119

Fig. 6 shows the average distance errors (AVD) of networks with different numbers of sensors and different time intervals. There is little effect on AVD with the variation of time interval, an indication that data fusion is finished at every time step during simulations. Once 1 million sensors are present (a density of 1.56 sensors per square mile), a point of diminishing returns is reached in terms of target localization.

Fig. 7 illustrates how the distance errors are distributed. Distance errors for the simulations with a time interval of 5 seconds are discretized using a 0.05 mile increment up to 2 miles, and the density functions of distance errors are plotted for varying number of sensors. One can see that for networks with 1,000,000+ sensors, more than 95% of the detected targets are within the range of 0.4 miles.

C. Sensor Range

In general, decreasing sensor range will improve localization

Fig.6. Average distance error of tracking with networks of different numbers of sensors and different time intervals

(6)

accuracy, provided there are enough sensors to cover the area of interest. This is illustrated in Fig. 8, which shows simulation results for a network of 2,000,000 sensors in an 800 x 800 mile area. Decreasing sensor range results in higher detection and lower false alarm rates.

Fig. 9 shows simulation results for a network of 250,000 sensors in the same area. In this case results improve until the sensor range reaches 5 miles. Below that point, there is

insufficient density to cover the area.

VI. CONCLUSIONS

A parallel real time data fusion and target tracking algorithm for very large binary sensor networks is presented. The parallel data fusion algorithm proposed in this paper is efficient and highly scalable. More processing units can be added as network size increases with no significant increase of communication overhead. There is no communication between slave processors, and the number of targets in the simulation determines the communication overhead between the master and slave processors. The algorithm is tested with a wide variety of sensor network parameters using simulation data from a theater level air combat simulation. It is demonstrated that very accurate target detection and localization are possible even though the binary sensors themselves provide little information and have high error rates. Real time tracking is performed on a network with 2.5 million sensors using a time interval of 0.5 seconds on a commodity cluster with only 50 processors. Tracking accuracy improves as the range of the binary sensors decreases, provided there is sufficient density to eliminate the noise. Performance is improved by using a fine level of granularity to perform sensor consistency updates after each transform.

REFERENCES

[1] L. Doherty, B.A. Warneke, B.E. Boser, and K.S.J. Pister, “Energy and performance considerations for smart dust, “International J. of Parallel and Distributed Systems and Networks, Vol. 4, pp. 121-133, 2001. [2] S. Sandeep Pradhan, Julius Kusuma, and Kannan Ramchandran,

“Distributed compression in a dense microsensor network,” IEEE Signal Processing Magazine, pp. 51-60, March 2002.

[3] Javed Aslam, Zack Butler, Florin Constantin, Valentino Crespi, George Cybenko, Daniela Rus, “Tracking a moving object with a binary sensor network,” in Proc. Of ACM SenSys. ACM Press, Nov. 2003.

[4] Volkan Isler, Sanjeev Khanna, John Spletzer, Camillo J. Taylor, “Target tracking with distributed sensors: The focus of attention problem,” Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2003.

[5] Charles Pedersen, “Architecture and performance of a parallel pata-fusion multi-target tracking code for real-time applications,” Software Tech News, Vol. 4, No. 1, High Performance Computing. Available:

http://www.softwaretechnews.com/stn4-1/datafusion.html [6] Patrick P.A. Storms, J. Bernard van Veelen, and Erik Boasson, “A

process distribution approach for multisensor data fusion systems based on geographical data space partitioning,” IEEE Transactions on Parallel and Distributed Systems, Vol. 16, No. 1, January 2005. [7] Donald B. Reid, “An algorithm for tracking multiple targets,” IEEE

Transactions on Automatic Control, Vol. AC-24, No. 6, Dec. 1979. [8] Chee-Yee Chong, David Garren, and Timothy P. Grayson, “Ground

target tracking- a historical perspective,” Aerospace Conference Proceedings, 2000 IEEE, March, vol.3.

[9] Michael K. Kalandros, Lidija Trailovic, Lucy Y. Pao, and Yaakov Bar-Shalom, “Tutorial on multisensor management and fusion algorithms for target tracking,” Proceeding of the 2004 American Control Conference, Boston, Massachusetts, June 30 – July 2, 2004. [10] S. Kirkpatrick, C.D. Gelatt, and M.P. Vecchi, “Optimization by

simulated annealing,” Science, Vol. 220, pp. 671-680, 1983. Fig. 9. Simulation results of networks of 250,000 sensors with

different sensor ranges.

Fig. 8. Simulation results of networks of 2,000,000 sensors with different sensor ranges.

Fig. 7. Density functions of the distance errors for networks of different numbers of sensors.

References

Related documents

In tracking application, the location of the target can be estimated by using trilateration technique based on the known sensor nodes location and parameter measurement such as

A low latency communication protocol for target tracking in wireless sensor networks Ngo Quynh et al EURASIP Journal on Wireless Communications and Networking (2016) 2016 33 DOI

This paper develops a novel augmented filtering framework based on information weighted consensus fusion, to achieve the simultaneous localization and tracking (SLAT) via

Keywords: Multi-Target Detection and Tracking; Multi-copter Drone; Aerial Imagery, Image Sensor, Deep Learning, GPU-based Embedded Module, Neural Computing Stick;

Multilateration is accepted as the most appropriate way to determine the location of a sensor node based on locations of beacons [6]. The procedure attempts to estimate

Keywords: Sensor Networks, Cloud Computing, Internet of Things, Big Data, Smart Phones, Real Time Border Monitoring System, Critical Infrastructure, Intrusion

Real-time Control of Robot Arm Based on Hand Tracking Using Leap Motion Sensor Technology Connor Whittier Bolton.. Worcester Polytechnic Institute Maria Cristina Cantos