Ralph — AI Guide Dog

awsaf
ayaan
dinesh
richard
📍DeltaHacks 12 @ McMaster University

What is Ralph?

Ralph is a small and autonomous robot car that leverages computer vision and machine learning to assist people with visual impairments in navigating their environment. Ralph achieves this by using a combination of object identification, depth estimation, and path planning to determine a safe path for the robot to follow, in turn guiding its user.

AI Pipeline

Ralph's AI pipeline is designed to be simple and efficient, using a combination of object identification, depth estimation, and path planning to determine a safe path for the robot to follow. The pipeline is as follows:

  1. Divide view into 5 columns
  2. Detect objects in each column
  3. Estimate the distance between the robot and the object
  4. Assess the risks that each object poses to the robot
  5. Attempt to find an open path for the robot to follow
  6. Navigate the robot to the path

Features

  • Object identification
  • Depth estimation
  • Path planning
  • Autonomous navigation
  • Risk assessment
  • Emergency braking

Technical Details

  • YOLOv8 for object detection
  • MiDaS for depth estimation
  • Ralph's code was implemented in Python

Hardware

  • Raspberry Pi 5 w/ a case
  • Battery Pack
  • 4x AA Batteries
  • L298N Motor Driver
  • 2x TT DC Motors
  • 2x Wheels
  • 1 Caster Wheel
  • RC Car Chassis
  • Mini Breadboard
  • Jumper Wires
  • Camera
  • Leash

Other Tools

  • Electrical Tape
  • Multimeter
  • Screwdriver

My Contributions

  • Object detection & pathfinding enhancements
  • Integrated Raspberry Pi 5 with the L298N motor driver and TT DC Motors
  • Wired and tested power delivery circuitry
  • Debugged motor control and power delivery issues using a multimeter
  • Assisted with hardware-software integration and debugging

Gallery

Ralph's final design

Ralph's final design[1]

More of Ralph's final design

More of Ralph's final design[2]

Our team attempting to debug an issue with Ralph's motors

Our team attempting to debug an issue with Ralph's motors[3]

Ralph finally in action

Ralph finally in action[4]

GPIO wiring to control the motors on the Raspberry Pi

GPIO wiring to control the motors on the Raspberry Pi[5]