Project in progress

The MuttMentor

This smart dog collar offers an immediate reward marker to reinforce correctly obeying the trainer's commands.

  • 5,479 views
  • 10 comments
  • 39 respects

Components and supplies

Apps and online services

About this project

Stay updated: muttmentor.com

Follow on instagram!: @mutt.mentor

From the Primordial PoochPak

Our first project on Hackster was also our first to run machine learning models on resource limited devices like the Raspberry Pi. We called the project: PoochPak.

At the time, simply setting up TensorFlow on a Pi was part of the challenge. But now it's possible to deploy models trained in TensorFlow on devices like an Arduino!

In this project, we come full circle to teach an old hack a new trick.

Specifically, we use the PoochPak information gathering platform to collect and annotate data for our new smart dog collar: the Mutt Mentor.

What's Up with Mutt Mentor?

The idea behind the the Mutt Mentor is simple: it's an automatic dog clicker.

Practically speaking, this smart dog collar identifies when your pooch performs a trick you want to teach, then it emits a reinforcing marker tone.

Training Our Dog AND a Neural Network

We use TensorFlow to train a small neural network to identify an action based on a small time window of accelerometer data while our dog performs a trick.

Using the Arduino Nano 33 BLE Sense, we can bring this model into a featherweight form factor.

Since the board comes equipped with an accelerometer and LEDs, we only need to wire up a buzzer to emit a tone for feedback.

Since we are also training a machine learning model, we will need a source of labeled training data.

We need to gather data in realistic settings, including on the go, so we use PoochPak to gather accelerometer data.

By connecting a PS3 six-axis controller to the raspberry pi via bluetooth, we can annotate these datapoint in real time.

Check out our updated PoochPak data collection prototype:

With sufficiently many training examples, we proceed to train the model and make the necessary reductions to deploy on the Arduino.

With just a few sessions worth of data, we reached ~82% accuracy categorizing three movements - jump, sit, and roll over. This will improve as we collect more samples.

Designing the Mutt Mentor

After reaching satisfactory model performance and deploying to the device, we perform some qualitative evaluation before finalizing our design and testing the Arduino-based prototype.

In our application, moves like sit, jump, and rollover are indicated with different lights and buzzer tones for feedback.

Through consistent feedback with a custom marker tone (piezo buzzer tune) corresponding to each activity we seek to reinforce, we can automatically assist dog training with the context of our dog Sweetpea's physical response.

Check out our video:

Spotting Voice Commands

Next, we introduce the additional context of speech recognition to condition the reward marker tone based on whether a command keyword like: sit, jump, or rollover was spoken.

Building an App

With an app to accompany our wearable, we plan to support personalized pet management and training.

Future Directions

Join our newsletter or follow our instagram to stay up to the minute with MuttMentor!

Comments

Similar projects you might like

Person Detection with TensorFlow and Arduino

Project in progress by Team little_lookout

  • 16,203 views
  • 9 comments
  • 100 respects

J.A.R.V.I.S. : A Virtual Home Assistant

Project tutorial by Team Blitzkrieg

  • 63,079 views
  • 17 comments
  • 268 respects

Farmaid: Plant Disease Detection Robot

by Teamato

  • 22,354 views
  • 14 comments
  • 86 respects

Octopod: Smart IoT Home/Industry Automation Project

Project tutorial by Saksham Bhutani

  • 13,414 views
  • 11 comments
  • 44 respects

A Sudoku Solver's Robot

Project tutorial by msana

  • 7,808 views
  • 7 comments
  • 29 respects

LUMOS: Smart Lamp for Better Sleep

Project tutorial by Jonty

  • 7,472 views
  • 1 comment
  • 32 respects
Add projectSign up / Login