This Instructable teaches you how to build a system to track indoor positioning of cats. The purpose of this project is to get insight into pet positioning and see their interactions.

The system incorporates RSSI (Received Signal Strength Indicator) to estimate cat position. A bluetooth device is put on the cat, and other bluetooth devices are used as device scanners ("beacons"). These beacons scan the area for the Bluetooth device attached on the cat. The scanning process results in a RSSI for the discovered device. The stronger the RSSI, the closer the cat is to the beacon. In order for the localization to work, we collected "fingerprints" of the RSSIs to multiple beacons to be used as training data for a classifier to predict the location of the cat. After collecting fingerprint data, we ran the live system with the cats to collect test data. We used Machine Learning on the actual test data to predict the location of the cats using the fingerprint data.

The system is based on http://www.kptang.com/pubs/gsmlocalization-hotmob...

List of Materials

  • One or more cat to track.
  • An apartment or space for cats (preferably a natural environment the cats are comfortable in)
  • At least three Bluetooth-enabled devices to use as beacons. We used Android phones with an RSSI reporting app (explained in steps 3-5)
  • Any Bluetooth-enabled device to attach to the cat. We used Samsung Galaxy Gear.
  • Tape
  • A web server with a database (explained in step 1)
  • A visualization for the data (explained in step 9)


This instructable was made as part of the CS graduate course "Tangible Interactive Computing" at the University of Maryland, College Park taught by Professor Jon Froehlich. Please see http://cmsc838f-s14.wikispaces.com/ for more details. This project was done by Hitesh Maidasani and Sana Malik.

Step 1: Set Up a Web Server to Collect Data

The server should be able to accept and store data in a database. The code for the server is available at https://github.com/sana-malik/CatGear.

The server receives and stores training fingerprint data. The process for collecting the fingerprint data is explained in Steps 3-4.

The server also receives and stores the actual testing data once the whole system is live. This process is explained in Steps 5-7.

The server can be hosted on a local machine or on any cloud service such as Heroku. We used a node.js server hosted on Heroku in order to avoid running a local server for the entire experiment which was run for over 36 hours.

The database and tables should be setup. Attached is a dump of the PostgreSQL database with sample data (b012.dump). The dump also consists of the schemas of the tables.

<p>LOVED IT</p>
<p>Which version of Android are used ? Please reply ASAP</p>
<p>ASAP.</p><p>(Protip: demanding quick answers is one of the main reasons why questions dont get answered.)</p>
<p>Hey cool project.</p><p>I'm wondering what's the accuracy you are getting?</p><p>Check out this arduino shield called pozyx for indoor positioning with an accuracy of 10cm. You can use it for tracking, or in your case, you can use it to quickly build a RSSI database without manually having to measure all the points. By just walking around and measuring the RSSI with a BLE shield and the position with the pozyx shield you have a database in no time! Check it out: www.pozyx.io</p>
<p>can you use anything that transmits Bluetooth to stand in for the watch? Does this work for multiple floors? </p>
<p>Is there a pre-compiled apk for the rssi reporter?</p>
<p>Can i have the procedure and method to teach me how to make it? i need it for my fyp. need it asap!thx so much</p>
<p>what android version did you use ? reply asap.</p>
<p>Hi, I do really appreciate it if you can explain the fingerprint process, and also how can be connecting to database </p>
There are 11 'apps' at the website...<br>not sure which one.
<p>Awesome project. Will build it as soon as I can convince my girlfriend to have a cat :)</p>
<p>or sneakily put on the girlfriend ;)</p>
<p>LOL :) NSA is doing that for all of us, no need to buy gadgets :)</p>
<p>LOL :) NSA is doing that for all of us, no need to buy gadgets :)</p>
<p>very neat!!!! what is the cover range of a bluetooth device or it varies</p>
<p>The phones we used could scan devices that were 10-15 feet away. I assume it does vary from device to device.</p>
<p>thanx. I ask cause i have 2 cats and they hidding in my house which is quite big.....and sometimes (hardly if they are hungry) i seek all house places and its annoing. </p>
<p>Yeah, you can definitely make this a real time application that tells you where your cats are.</p>
<p>neat idea, would make it much easier to find the collar when my cat takes it off:)</p>
<p>Can't find the app.</p>
<p>Which app are you referring to? Did you not find it here: https://github.com/sana-malik/CatGear?</p>
Cool data! Why not do this on yourself to see where you spend the most time while your at the apartment or house?
<p>Something worth trying in the future.</p>
<p>Really neat concept! Typo correction, I believe you meant to say &quot;<strong>These cats were&quot; </strong>... not ... <strong>&quot;harmed </strong><strong>or distressed by wearing this collar.&quot;</strong></p>
<p>Fixed. Thanks.</p>

About This Instructable




More by hmaidasani:Cat Tracking using Bluetooth Indoor Positioning 
Add instructable to: