Project

# Title Team Members TA Documents Sponsor
9 Laser/Voice Assisted Cat Toy
Paul Jablonski
Rahul Grover
Yutong Gan
Rui Gong design_document1.pdf
proposal1.pdf
# Laser/Voice Assisted Cat Toy

Team Members:
- Paul Jablonski (pjj3)
- Yutong Gan (yutongg9)
- Rahul Grover (rgrover4)

# Problem

Modern cat toys have some systems for automatically moving around, but rarely use any sophisticated sensors. This is commonly seen in commercial toys like balls that roll around in random patterns. However, these widespread and commercial systems could use some serious improvements as problems exist in longevity, noise generation, and a lack of interaction for the cats.

These toys typically bang into walls without any preventative systems in place, causing damage to both the toy and potentially the pet owner's home - on top of being terribly loud. This is significant as owners may need to replace their cat's toys far more than desired. Furthermore, the constant speed and random directional movement of the toy detract from a cat's play experience. With the toys moving at a fixed rate and without much excitement, cats may often stare or fear these toys rather than chase them down as they would a live animal. Given the importance of engaging play for a cat's health, owners are burdened by the current market's lackluster and rudimentary options.

# Solution

We propose that these problems be resolved through a mouse-like toy, which has been seen before, but is now refined with multiple more advanced systems. The sensors will uniquely consist of a distance measuring laser, used for scanning ahead of the toy and triggering stopping or turning events, and a vibrational sensor that can change behavior based on the cat's interactions. The non-rolling shape of a mouse will also allow for more rigid and controllable movement in addition to stabilizing the sensors that will enable reactivity to its environment and less noisy behavior. Furthermore, a moving tail will be used to mimic the more excitatory behaviors of prey like mice and rats, making it more engaging than a typical toy's static tail. This would be accompanied by faster motorized movements and more realistic movement states in comparison to the industry standard for automated cat toys - as will be regulated by our microcontroller.

Our solution will thus consist of several subsystems, which will be contained in a compact and light body such that the toy may move more freely and with more rapid control. They will additionally be powered by re-usable lithium ion batteries for convenience and ease of use. These systems may be more cleanly and broadly divided as such...

1. **Laser Range Sensor** - Time-of-flight module that will accurately measure distance up to a couple meters in order to avoid collisions and change movement.
2. **Vibration Sensor** - Picks up on changes in frequency, will trigger a "caught" state to change the toy's movement behavior.
3. **Separately Motorized Wheels** - Allow for turning and precise movement control, will be accompanied by a caster wheel for stabilizing the body and avoiding scratched floors.
4. **Motorized Tail** - A rapidly moveable tail that will trigger variably during different movement states in order to excite cats more.
5. **Arduino Nano Microcontroller** - Will receive inputs from sensors in order to output the appropriate movement states and power.
6. **Lithium Ion Batteries** - Will supply voltage to the microcontroller and the motors powering the toy's movement.
7. **Custom PCB** - Will integrate all components onto a single board and allow for easier power distribution and part mounting.

# Solution Components

## Laser Range Sensor

The laser range sensor is our most unique component, which enables the toy to detect obstacles and measure distances ahead of the body. It will actively scan the environment ahead of the toy to prevent collisions, adjust speed, or change direction as necessary. The output signals from the sensor will thus be input signals to the Arduino microcontroller and its behavior-adjusting program. Based on how close the nearest obstacle is, the state of the microcontroller will change and the movement of the wheels will also change to either turn or stop.

Components:

* Laser Range Sensor (VL53L1X)

## Vibration Sensor

The vibration sensor adds an interactive element by detecting when the toy is being touched or played with by the cat. When the sensor picks up sharp vibrations that are presumably not due to turning, the toy can change its behavior. This includes entering a "caught" state, slowing down, or performing evasive maneuvers. This sensor generally increases the engagement factor for the cat by making the toy's movements more responsive to physical interaction.

In commercial cat toys, the vibration sensors are practically solely used for turning the toy on after it has shut off from a lack of engagement. Our design thus provides additional functionality that contributes to reactivity during play, rather than simply using vibrations as a "power button".

Components:

* Vibration Sensor (SW-420)

## Separately Motorized Wheels

Two separately motorized wheels placed on the back of the body will allow the toy to move with precise control, enabling it to turn, speed up, slow down, and change direction based on sensor input. A caster ball wheel will be included to stabilize the toy in the front and prevent damage to floors.

The motorized wheels will also need to be controlled by an H-bridge motor driver in order to properly and independently divert power according to the current state of the toy. Thus, the Arduino microcontroller will have to output PWM signals to the motor driver based on the input sensors and predefined movement states.

Components:

* Two DC Motors (N20 Micro Metal Gear Motor)
* Two DC-Fitting Wheels (Pololu 32mm Plastic Wheels)
* H-Bridge Motor Driver (L298N)
* Caster Wheel (Pololu 67mm Ball Caster with Plastic Ball)

## Motorized Tail

The motorized tail is designed to mimic the unpredictable movements of a mouse's tail, enhancing the realism and engagement of the toy. The tail will be triggered by the toy's movement states or cat interaction, and can be used to entice the cat to chase the toy. A small servo motor will control the tail's motion, allowing for more precise movements than what is seen in a DC motor. Meanwhile, an attachable feather or string will be connected to the servo through a custom printed mounting bracket in order to extend the tail more visibly.

Components:

* Servo Motor (SG90 Micro Servo Motor)
* Custom Printed Mounting Bracket and Feather

## Arduino Nano Microcontroller

The Arduino microcontroller is going to intake all inputs from the laser sensor and the vibrational sensor and will be powered by the lithium ion batteries. It will then be programmed to form a state machine with these inputs that consists of multiple different movement types, a "caught" state, and a "rest" state. Based on the current state, the Arduino will then output different signals to the servo-powered tail and DC-powered wheels in order to generate different movements.

The movement types will reflect whether the toy should move ahead in a quickly accelerative manner, or whether it should stop and turn in order to avoid collisions. The latter state should interrupt the prior if signals from the laser sensor indicate a wall is oncoming. Furthermore, different accelerative states may be included to vary the mouse's movement for the cat, this include dashing back and forth, or simply egging on the cat before moving as quick as possible. Each of these states will move the tail in unique ways as well to engage the cat further. If at any point the Arduino receives signals from the vibrational sensor that are far more sharp than expected, it may initiate the "caught" state, where the toy acts dead momentarily before re-initiating with the cat. This healthily mimics real prey behavior, something not seen in other modern cat toys. A "rest" state will also be included if no significant vibration is detected in a while to conserve power.

Components:

* Arduino Nano (ATmega328P)

## Lithium Ion Batteries

The lithium-ion batteries provide the necessary power for all the toy's components, including the motors, sensors, and microcontroller. These batteries are chosen for their high energy density, which allows for a power source that can sustain the toy's functionality for a longer time. The batteries will be rechargeable to ensure convenience and reduce long term costs.

A battery management system will be connected to the battery pack in order to allow for recharging and to prevent issues such as overcharging the batteries. The state of charging will be displayed on the toy through connecting an LED to this battery management system on the status pins. Additionally, the power button for the entire cat toy will be connected to the positive and negative lines from the battery pack in order to turn the toy on and off.

Components:

* Battery Pack (7.4V Lithium-Ion Battery Pack)
* Battery Management System (USB-C TP4056 Module with Protection)
* Mountable Charging Indicator LED (Cree CLV1A-FKB-CW)
* Power Button (ADA1479)

## Custom PCB

The custom-built PCB will integrate all of our electronic components onto a single board, making the connections much easier to form and maintain. This will reduce the hassle of using wired connections and will also make our toy much more compact and physically secure with all of the movement that will occur. We will also need mounting brackets for parts such as the laser, which will need to be positioned perpendicularly to the board.

Components:

* Custom Built and Printed PCB
* VL53L1X Mounting Bracket

# Criterion For Success

With the various systems we have decided upon for our project, we have a few key goals in mind. Some of these pertain to the subsystems individually - such as battery functionality and rechargeability. Meanwhile, others pertain to solving the problems we have set out for, such as noisiness, longevity, engagement, and realism. The following are some key testable goals:

1. **Obstacle Detection and Avoidance** - The toy must be able to stop and turn if a wall or object is detected ahead of it. It must then move in another direction that avoids obstacles while also maintaining playfulness. Easily testable through placing the toy in a large room with various smaller objects and wall-like obstacles and observing if collisions occur.
2. **Noise Reduction** - The toy must be quieter than the common commercially automated cat toy. This is partially testable by it avoiding colliding into walls, but also through direct comparison to another actual toy. Sound can be directly recorded from each toy on the same recording device to compare volume levels.
3. **Interactivity** - The toy must include multiple movement styles, which must vary significantly from the constant speeds seen in commercial toys. Furthermore, the tail must be capable of moving during these movement states. This can be tested through going through each of the microcontroller states and observing the wheel speeds changing variably, or through simply observing the toy's behavior in comparison to a standard cat toy. May also be tested through presenting the toy to a cat and measuring time of engagement compared to another automated toy.
4. **Ease of Use For Owners** - The toy must be overall more convenient for the owner, meaning that maintenance should be minimal and parallel goals such as noise reduction are fulfilled. This is directly testable through ensuring that the charging functionality of the device works through the LED or a direct measurement. The power button functionality should also be tested to make sure the device does not function while powered off.

Bone Conduction Lock

Alexander Lee, Brandon Powers, Ramon Zarate

Featured Project

A lock that is unlocked using vibrations conducted through the bones in the user’s hand. The user wears a wristband containing a haptic motor. The haptic motor generates a vibration signal that acts as the "key" to the lock. When the user touches their finger to the lock, the signal is transmitted through the user’s hand and is received at the lock. If the lock receives the correct "key", then it unlocks.

Project Videos