Project

# Title Team Members TA Documents Sponsor
31 Raspberry Pet Pal
Shuhan Guo
Xiaomin Qiu
Xiaoshan Wu
Yirou Jin
Yiqun Niu design_document1.pdf
final_paper2.pdf
other11.pdf
proposal1.pdf
Gaoang Wang
MEMBERS:
Shuhan Guo [shuhan4]
Yirou Jin [yirouj2]
Xiaomin Qiu [xchou2]
Xiaoshan Wu [xw50]

PROBLEM:
In today's fast-paced and high-pressure world, young people are experiencing both loneliness and poverty. They long for social engagement and relationships, but most social activities are costly and pose a risk of infection during the pandemic. As a result, many young people turn to pets for companionship. However, owning a pet can financially burden those struggling to make ends meet. Furthermore, cute pets can sometimes create chaos in their owners' homes. Thus, an affordable and functional electronic pet seems like a necessary solution. Unfortunately, the current products on the market are either too expensive or fail to match a real pet's abilities, such as voice and behavior interaction. Therefore, lonely and financially strapped young people require an affordable and functional electronic pet.

SOLUTION OVERVIEW:
The new electronic pet is equipped with cutting-edge technology and advanced features for an interactive and engaging experience. This electronic pet is designed to follow its owner's movements through target detection technology while displaying a range of expressions through a high-quality display screen. With its voice recognition and corresponding audio output, this pet can communicate with its owner and respond to commands. Additionally, it can assist in carrying objects through a built-in weighing system, track physical activity through its motion detection capabilities, and navigate its surroundings using obstacle avoidance technology. Furthermore, the pet's limbs are designed for interactive play and detection through infrared technology. With its advanced features, this electronic pet offers unparalleled interactivity and companionship for pet lovers of all ages.

SOLUTION COMPONENTS:
Camera subsystem for object detection: This subsystem will consist of a camera module attached to the Raspberry Pi that detects and follows objects. We can use OpenCV and TensorFlow libraries to perform object detection and tracking.

Display subsystem for showing expressions: This subsystem will consist of a small display screen showing different expressions of the pet. We can use Python libraries like pygame or Tkinter to create a graphical user interface for displaying emotions and expressions.

Speech recognition and synthesis subsystem: This subsystem will consist of a microphone and speaker attached to the Raspberry Pi. We can use Google's Speech Recognition API or CMU Sphinx to perform speech recognition and the pyttsx3 library to synthesize speech.

Weighing subsystem for carrying things: This subsystem will consist of a small weighing scale attached to the pet. We can use an HX711 module to interface with the load cell and obtain weight readings.

Motion sensing subsystem for step tracking: This subsystem will consist of an accelerometer or gyroscope sensor to detect the pet's movement and track its steps. We can use the Adafruit LSM9DS1 library to interface with the sensor.

Obstacle avoidance subsystem: This subsystem will consist of ultrasonic or infrared sensors to detect obstacles and help the pet navigate around them. We can use the RPi.GPIO library to interface with the sensors. Behavior interaction subsystem: This subsystem will consist of an infrared or ultrasonic sensor that detects objects or hands’ proximity, and the pet can react with different motions or
movements. We can use the RPi.GPIO library to interface with the sensors.

CRITERION FOR SUCCESS:
Functionality: The electronic pet should be able to perform all the desired functions reliably and accurately. It should be able to follow objects, display a range of emotions on its screen, recognize and respond to voice commands, carry and weigh objects, count steps, avoid obstacles, and interact with limbs using infrared detection.
User experience: The electronic pet should be easy to use and interact with. Users should be able to easily control and communicate with the pet through its display screen and voice recognition system. The pet should also respond to user interactions in a fun and engaging way.

Durability and stability: The electronic pet should be built using durable and stable components to ensure that it can withstand regular use without breaking down. The car should be stable enough to navigate different terrains and avoid obstacles without getting stuck or tipping over.

Battery life: The electronic pet should have a long-lasting battery life to ensure that it can be used for extended periods without needing to be recharged. This is particularly important if the pet is intended for use by children or in educational settings where it may be used for extended periods.

Customizability: The electronic pet should be customizable to allow users to personalize their pet and add new features or functionality over time. This could include changing the pet's appearance, adding new voice commands, or integrating with other devices or systems.

DISTRIBUTION OF WORK:

ECE STUDENT 1 WU XIAOSHAN:
Develop and implement the target detection algorithm for the pet's ability to follow its owner and avoid obstacles.
Implement and test the motion control system for the pet.

ECE STUDENT 2 QIU XIAOMIN:
Develop and implement the facial expression recognition system for the pet's screen.
Implement and test the speech recognition system for the pet's ability to interact with its owner.

EE STUDENT JIN YIROU:
Develop and implement the weighing system for the pet's ability to carry objects.
Implement and test the step-counting system for the pet.

ME STUDENT GUO SHUHAN:
Design and manufacture the physical structure of the pet, including the casing and the mechanical components required for limb - movement.

Implement and test the infrared detection system for the pet's limb interaction.

Assistive Chessboard

Featured Project

Problem: It can be difficult for a new player to learn chess, especially if they have no one to play with. They would have to resort to online guides which can be distracting when playing with a real board. If they have no one to play with, they would again have to resort to online games which just don't have the same feel as real boards.

Proposal: We plan to create an assistive chess board. The board will have the following features:

-The board will be able to suggest a move by lighting up the square of the move-to space and square under the piece to move.

-The board will light up valid moves when a piece is picked up and flash the placed square if it is invalid.

-We will include a chess clock for timed play with stop buttons for players to signal the end of their turn.

-The player(s) will be able to select different standard time set-ups and preferences for the help displayed by the board.

Implementation Details: The board lights will be an RGB LED under each square of the board. Each chess piece will have a magnetic base which can be detected by a magnetic field sensor under each square. Each piece will have a different strength magnet inside it to ID which piece is what (ie. 6 different magnet sizes for the 6 different types of pieces). Black and white pieces will be distinguished by the polarity of the magnets. The strength and polarity will be read by the same magnetic field sensor under each square. The lights will have different colors for the different piece that it is representing as well as for different signals (ie. An invalid move will flash red).

The chess clock will consist of a 7-segment display in the form of (h:mm:ss) and there will be 2 stop buttons, one for each side, to signal when a player’s turn is over. A third button will be featured near the clock to act as a reset button. The combination of the two stop switches and reset button will be used to select the time mode for the clock. Each side of the board will also have a two toggle-able buttons or switches to control whether move help or suggested moves should be enabled on that side of the board. The state of the decision will be shown by a lit or unlit LED light near the relevant switch.