BlindFly: Obstacle Avoidance for the Visually Impaired

Always Something There to Remind Me

Ya know, sometimes i end up over indulging myself to the point where i kinda lose sight of why i got into technology in the first place. which is to enhance a persons present potential and to help remedy any malfunction that their body may have endured. But sometimes i do get a reminder.

My buddy Pete is the best drummer i ever had and he’s blind. You’d be surprised at what he can do without any sight. I decided to put my brain to some use and see what he’d be able to pull off with a little help. So this is for him (and anyone else who would find this useful). I call this one: BlindFly.

Basic Gear

Alright! the fun part! So you’ll need:

-The Raspberry Pi 4(3B+)- your general purpose open sourced computer of course.

-The Grovepi(+)- your expansion board built to use Grove sensors, a simple plug n’ play means of using a wide array of sensors to give your machine..err “senses” to better interpret the world around it.

Grovepi+ from Dexter Industries

Compatible with more than a hundred sensors, this device is my mainstay when it comes to computing with the environment around you.

(or the full on Grovepi starter kit if you plan on doing plenty of sensor work in the future. Includes a whole bunch of sensors for a decent price which will faithfully serve you for the many, many projects to come.)

Alternatively, if you want your project to be as small as possible in exchange for noticeably less processing power/speed, I’d go with:

-The Raspberry Pi Zero(with pre soldered headers)

basically your more portable kid brother to the pi3-4.

Grove Base Hat for the Raspberry Pi Zero

Grove Base Hat for the Raspberry Pi Zero from SeeedStudio

Compatible with about 60 sensors. Can be a little less expansive than its bigger counterpart due to less plugs and sensor comparability. But it’s got the bare essential plugs with a bonus of a smaller frame. Perfect for more specific and compact ideas.

*And yes! you CAN mix and match your gear depending on available options and goals.

Next, you’ll need:

-A Grove Ultrasonic Ranger:

A small sonar module that judges distance based on the timing of the sent signal that gets reflected back to it much like a dolphin or bat. Great for obstacle avoidance.

– A TNTOR Ultra Thin Power Bank(or pretty much any usb power bank)

Portable, flat (about 3 Metro Cards thick),virtually weightless and non-invasive to most design plans WITH a built in wire and optional USB-C adaptor if your going with the Pi4. My flavor of the week.

– A Wireless Touchpad Keyboard of some kind:

The ultimate in portable input. Mouse and keyboard in one pocket sized, responsive Package with killer battery life.

-And finally, any USB or Bluetooth Speaker for sound effects. Bluetooth gives you more modularity though a directly connected USB speaker tends to yield better responses. Having one with flashy lights may aid your subject at night depending on what you’re looking for.

Optional but recommended Gear

-A Raspberry Pi Screen would liberate your device from a TV screen as well as give you the ability to adjust your code on-the-fly while field testing it.

-An actual power switch can be very useful for cutting power to your Pi without having to unplug it which will save battery as well as wear n’ tear on your pis power socket.

Longer Grove Wires– depending on your overall design plan, you may want to look into alternate grove wire sizes.

I went for the smaller options for my main configuration. About the size of a wallet with an attached strap for convenience:

BlindFly2.0

Installation

Now as usual, whenever you do anything new with your pi, you’ll want to go into the terminal and run:

Sudo apt-get update

Sudo apt-get upgrade

-Then Follow these instructions to install the Grovepi. And these instructions to bring its firmware up to date.

-Use these instructions if your using the Grove Base hat for the Pi Zero.

Code

Alright! the other fun part! When your done installing and testing your unit, you’re ready to code.

I tried to make a simple, straight to the point, customizable script with enough foresight involved to make expanding your gadget’s functionality as easy as putting together Legos. Code for both systems are included.

BlindFly Code in Python

Note that i turn off the device by covering the sensor itself. My subject shouldn’t have to be fiddling around for buttons.

And with this, we have our bare boned, human obstacle avoidance system to be tweaked and modded to our hearts desire. Hell yea!

Next Steps

When your code and construction is pretty much up to spec with your purposes, it’s time to get your machine to function as independently as possible. Completely self contained and portable without being a slave to the wire…for this you can look into:

RealVNC: a lovely interface that allows you to control your electronics with your cell phone.

-And our true end all: Starting up your program automatically when your Pi boots up.

Both of which I’ll go over as i update this post. Till then, stay tuned 😉

As usual, comment if you have any questions and feel free to like, share and Contribute if you think my cause is worthy or if you just like what i do.

Cheers!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.