Project

# Title Team Members TA Documents Sponsor
6 Interactive Desktop Companion Robot for Stress Relief
Jiajun Gao
Yu-Chen Shih
Zichao Wang
Haocheng Bill Yang design_document1.pdf
final_paper2.pdf
photo1.jpg
photo2.jpg
photo3.jpg
photo4.jpg
presentation1.pdf
proposal1.pdf
video
# Team
- Jiajun Gao (jiajung3)
- Yuchen Shih (ycshih2)
- Zichao Wang (zichao3)
# Problem
Students and office workers often spend extended periods working at desks, leading to mental fatigue, stress, and reduced focus. While mobile applications, videos, or music can provide temporary relief, they often require users to shift attention away from their primary tasks and lack a sense of physical presence. Static desk toys also fail to maintain long-term engagement because they do not adapt to user behavior or provide meaningful interaction.
There is a need for an interactive, physically present system that can provide short, low-effort interactions to help users relax without becoming a major distraction. Such a system should be compact, safe for desk use, and capable of responding naturally to user input.

# Solution
We propose an interactive desktop companion robot designed to reduce stress and boredom through voice interaction, expressive feedback, and simple physical motion. The robot has a compact, box-shaped form factor suitable for desk environments and can move using a tracked or differential-drive base. An ESP32-based controller coordinates audio processing, networking, control logic, and hardware interfaces.
The robot supports voice wake-up, natural language conversation using a cloud-based language model, and speech synthesis for verbal responses. Visual expressions are displayed using a small screen or LED indicators to reflect internal states such as listening, thinking, or speaking. Spoken commands can also trigger physical actions, such as rotating, moving closer, or changing expressions. By combining audio, visual, and physical interaction, the system creates an engaging yet lightweight companion that fits naturally into a desk workflow.
# Solution Components
## Subsystem 1: Voice Interaction and Audio Processing
This subsystem enables natural voice-based interaction between the user and the robot. It performs wake-word detection locally and streams audio data to a remote server for speech recognition and response generation. The subsystem also handles audio playback and interruption control.
Audio data is captured using a digital microphone, encoded, and transmitted over a network connection. Responses from the server are received as audio streams and played through an onboard speaker. Local wake-word detection ensures responsiveness and reduces unnecessary network usage.
Components:

• ESP32-S3 microcontroller with PSRAM
• ESP32-S3 integrated Wi-Fi module
• I2S digital microphone (INMP441 or equivalent)
• I2S audio amplifier (MAX98357A)
• 4Ω or 8Ω speaker
## Subsystem 2: Visual Expression and User Feedback
This subsystem provides visual feedback that represents the robot’s internal state and interaction context. Visual cues improve usability and convey personality.
Different states such as idle, listening, processing, speaking, and error are represented using animations or color patterns.
Components:

• SPI LCD display (ST7789 or equivalent) or
• RGB LEDs (WS2812B or equivalent)

## Subsystem 3: Motion and Actuation
This subsystem enables controlled movement on a desk surface. The robot performs simple motions such as forward movement, rotation, and stopping based on voice commands and sensor feedback.
Motor control runs in a dedicated task to prevent interference with audio and networking functions.
Components:

• Two DC gear motors
• Dual H-bridge motor driver (TB6612FNG or equivalent)
• Optional wheel encoders


## Subsystem 4: Power Management and Safety
This subsystem manages power distribution and ensures safe operation. The robot is battery-powered to allow untethered use on a desk. Hardware and software protections limit speed, current, and movement range.
Components:

• Lithium battery with protection circuit
• Battery charging module
• Voltage regulators (5V and 3.3V)
• Physical power switch

## Subsystem 5: Subsystem 5: Safety Sensing (Desk-Edge Detection + Obstacle Avoidance)

This subsystem prevents the robot from falling off the desk and reduces collisions with nearby objects. It continuously monitors both the surface below the robot and the space in front of the robot. When a desk edge (cliff) or obstacle is detected, this subsystem overrides motion commands and triggers an immediate safe response.

Desk-edge detection (cliff detection):
Two downward-facing distance sensors are mounted near the front-left and front-right corners. They measure the distance from the robot to the desk surface. If either sensor detects a sudden increase in distance beyond a calibrated baseline, the robot immediately stops and performs a short reverse maneuver to move away from the edge.

Obstacle avoidance:
A forward-facing distance sensor detects objects in front of the robot. If an obstacle is within a predefined safety distance, the robot stops. If the obstacle remains, the robot can optionally rotate in place to search for a clear direction before continuing motion.

Control priority:
Safety sensing has the highest priority in the motion stack:

Desk-edge detection (highest priority)

Obstacle avoidance

User/voice motion commands (lowest priority)

Components:

2 × Time-of-Flight distance sensors for downward cliff detection (VL53L0X or equivalent, I2C)

1 × Time-of-Flight distance sensor for forward obstacle detection (VL53L0X or equivalent, I2C)

# Criterion For Success
The success of this project will be evaluated using the following high-level criteria:
1. The robot connects to a Wi-Fi network and establishes a server connection within 10 seconds of power-on.
2. The system detects a wake word and enters interaction mode within 2 second in a quiet environment.
3. The average end-to-end voice interaction latency is less than 5 seconds under normal network conditions.
4. At least five predefined voice commands trigger the correct robot actions with at least 90% accuracy during testing.
5. Visual feedback correctly reflects the system state in all operational modes.
6. The robot operates continuously for at least 30 minutes on battery power during active use.
7. When Wi-Fi is unavailable, the system enters a safe degraded mode without crashing or unsafe motion.
8. During a 10-minute continuous motion demonstration on a desk, the robot does not fall off the desk.
9. In an obstacle test, the robot is commanded to move forward toward a stationary obstacle (for example, a box or book) from multiple start distances for 20 trials. The robot must stop (or stop and turn) before making contact in at least 18/20 trials.

Electronic Mouse (Cat Toy)

Jack Casey, Chuangy Zhang, Yingyu Zhang

Electronic Mouse (Cat Toy)

Featured Project

# Electronic Mouse (Cat Toy)

# Team Members:

- Yingyu Zhang (yzhan290)

- Chuangy Zhang (czhan30)

- Jack (John) Casey (jpcasey2)

# Problem Components:

Keeping up with the high energy drive of some cats can often be overwhelming for owners who often choose these pets because of their low maintenance compared to other animals. There is an increasing number of cats being used for service and emotional support animals, and with this, there is a need for an interactive cat toy with greater accessibility.

1. Get cats the enrichment they need

1. Get cats to chase the “mouse” around

1. Get cats fascinated by the “mouse”

1. Keep cats busy

1. Fulfill the need for cats’ hunting behaviors

1. Interactive fun between the cat and cat owner

1. Solve the shortcomings of electronic-remote-control-mouses that are out in the market

## Comparison with existing products

- Hexbug Mouse Robotic Cat Toy: Battery endurance is very low; For hard floors only

- GiGwi Interactive Cat Toy Mouse: Does not work on the carpet; Not sensitive to cat touch; Battery endurance is very low; Can't control remotely

# Solution

A remote-controlled cat toy is a solution that allows more cat owners to get interactive playtime with their pets. With our design, there will be no need to get low to the ground to adjust it often as it will go over most floor surfaces and in any direction with help from a strong motor and servos that won’t break from wall or cat impact. To prevent damage to household objects it will have IR sensors and accelerometers for use in self-driving modes. The toy will be run and powered by a Bluetooth microcontroller and a strong rechargeable battery to ensure playtime for hours.

## Subsystem 1 - Infrared(IR) Sensors & Accelerometer sensor

- IR sensors work with radar technology and they both emit and receive Infrared radiation. This kind of sensor has been used widely to detect nearby objects. We will use the IR sensors to detect if the mouse is surrounded by any obstacles.

- An accelerometer sensor measures the acceleration of any object in its rest frame. This kind of sensor has been used widely to capture the intensity of physical activities. We will use this sensor to detect if cats are playing with the mouse.

## Subsystem 2 - Microcontroller(ESP32)

- ESP32 is a dual-core microcontroller with integrated Wi-Fi and Bluetooth. This MCU has 520 KB of SRAM, 34 programmable GPIOs, 802.11 Wi-Fi, Bluetooth v4.2, and much more. This powerful microcontroller enables us to develop more powerful software and hardware and provides a lot of flexibility compared to ATMegaxxx.

Components(TBD):

- Product: [https://www.digikey.com/en/products/detail/espressif-systems/ESP32-WROOM-32/8544298](url)

- Datasheet: [http://esp32.net](url)

## Subsystem 3 - App

- We will develop an App that can remotely control the mouse.

1. Control the mouse to either move forward, backward, left, or right.

1. Turn on / off / flashing the LED eyes of the mouse

1. keep the cat owner informed about the battery level of the mouse

1. Change “modes”: (a). keep running randomly without stopping; (b). the cat activates the mouse; (c). runs in cycles(runs, stops, runs, stops…) intermittently (mouse hesitates to get cat’s curiosity up); (d). Turn OFF (completely)

## Subsystem 4 - Motors and Servo

- To enable maneuverability in all directions, we are planning to use 1 servo and 2 motors to drive the robotic mouse. The servo is used to control the direction of the mouse. Wheels will be directly mounted onto motors via hubs.

Components(TBD):

- Metal Gear Motors: [https://www.adafruit.com/product/3802](url)

- L9110H H-Bridge Motor Driver: [https://www.adafruit.com/product/4489](url)

## Subsystem 5 - Power Management

- We are planning to use a high capacity (5 Ah - 10 Ah), 3.7 volts lithium polymer battery to enable the long-last usage of the robotic mouse. Also, we are using the USB lithium polymer ion charging circuit to charge the battery.

Components(TBD):

- Lithium Polymer Ion Battery: [https://www.adafruit.com/product/5035](url)

- USB Lithium Polymer Ion Charger: [https://www.adafruit.com/product/259](url)

# Criterion for Success

1. Can go on tile, wood, AND carpet and alternate

1. Has a charge that lasts more than 10 min

1. Is maneuverable in all directions(not just forward and backward)

1. Can be controlled via remote (App)

1. Has a “cat-attractor”(feathers, string, ribbon, inner catnip, etc.) either attached to it or drags it behind (attractive appearance for cats)

1. Retains signal for at least 15 ft away

1. Eyes flash

1. Goes dormant when caught/touched by the cats (or when it bumps into something), reactivates (and changes direction) after a certain amount of time

1. all the “modes” worked as intended

Project Videos