vortex1024
Posts: 3
Joined: Sun Jun 21, 2015 12:38 pm

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 1:36 pm

Hi,
Very interesting project. I wonder how big is the range of the sonar and where it will be positioned. By what I had read, I figuired that it wont be on the glasses, but wherever the user will put the main unit.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 6:41 pm

Thanks for the info. A few more observations/suggestions:

It looks like the same lack of contact debounce also affects rotation of the wheel, resulting in spurious multiple option announcements and some delay in knowing which option the wheel is at, because any (noisy) contact changes get buffered and handled one per soundscape, it seems. Blocking button responses for 500ms after a detected change should suffice as a software debounce.

One of the biggest remaining issues is the soundscape lag: the soundscape succession rate is fine, and transitions are sufficiently smooth, but changes in visual content take effect only some 3-4 seconds after a change in the camera view. That is too slow for most mobile uses. The soundscape duration of one second is itself already a trade-off between effective visual resolution and the typical rate with which the visual environment is expected to change, and perceiving visual changes only 3 soundscapes later is awkward.

I do most of the testing with a Logitech C270 webcam, but brief tests with my Technaxx TX-25 camera glasses indicate that these work fine too. Any issue with the camera release like encountered under Android did not manifest itself because I suppose there are simply no setting changes that release and reconnect the camera?

BTW, I think it would be nice if the device could remember its latest distance feedback setting (on or off) across sessions, because I suspect that some percentage of users will want it by default off. (Perhaps a few other settings would also be more convenient if made persistent. Is there persistent memory on the device?) In testing, I have to wait until the device has fully booted, then press the wheel 3-4 seconds to turn off the vibrator (which also mutes the soundscapes), and then briefly press it another time to unmute the soundscapes.

Thanks!

Peter

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 6:52 pm

These are all good criticisms.

It would be easy to save a config file on shutdown that remembers settings. At this point though, I am not confident to alter Ares code too much. As such, I could probably have an initial profile for his code that uses command line flags on boot.

I can however easily implement it for the vibration motor, as that is code I made in python. I can also change it so that vibration is off by default. That seems like the right way to go.

Ares indicated a possible fix for the 3-4 second lag by changing a startup option something like --last_frame=7. He said this gets it much closer to seamless with maybe one frame of lag max. I could not get this to work. However, when I used the camera module from the rpi folks I never had the issue. This is a definite problem, but I believe it has a solution.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 7:11 pm

I believe the current behaviour on camera disconnect is a crash of raspivoice.

You can still turn the vibration on or off, and do the soft shutdown.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 7:32 pm

The range of the sonar is 5 meters. The output currently changes vibration frequency at 1 meter intervals

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 7:55 pm

The range of the sonar is 5 meters. The vibration motor changes frequency in 1 meter steps in response.

The sensor is currently located with the computer in a small case that can be worn around the neck with a lanyard.

I have been in contact with the sonar manufacturer regarding remotely locating the sensor such that users could mount them on the glasses or wherever.

They said this would only be possible with shielded cable as the signal would be prone to emf interference such as that encountered when walking under powerlines.

I am reluctant to add this capability as shielded cable, and additional ports add to complexity and cost. I want people to test out the chest height location and give feedback.

If it turns out that remote location is required, it is a redesign away. So probably three to four weeks to implement that kind of design change.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Sun Jun 21, 2015 8:21 pm

mikey11 wrote:I believe the current behaviour on camera disconnect is a crash of raspivoice.
Upon a physical camera disconnect while video is still streaming, a crash is to be expected on all platforms. However, on Android and only with these TX-25 glasses, even quitting the app after properly closing the camera connection in software and then restarting the app makes that the camera is no longer recognized. I'm not sure if with the Raspberry Pi prototype I can stop and restart the raspivoice app without also turning off power. Since UVC cameras on Android tap into the Linux layer underneath, and Raspberry Pi is Linux-based, I would expect the same problem to crop up with the TX-25 and Raspberry Pi. However, this is not particularly relevant if a camera release only occurs when turning off the device (and the user does not unplug the camera's USB cable while raspivoice is still processing video). With The vOICe for Android one does not normally turn off the smartphone's power upon quitting the app, because a smartphone is meant to be an always-on device.

Peter

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 12:18 am

Hello all,

After fighting with my 3D printer for the last 5 days (It is worse than herding cats), I was able to get a new case model finished with the larger audio hole, and only 35mm in height now, compared to the 45mm of the first two prototypes.

I have changed the vibration motor to be off by default on bootup. It can be started by holding the pushbutton in for 3 seconds. 7 seconds performs a soft shutdown.

I can't currently use a low battery signal for a forced shutdown yet. I am looking into this. It may be as simple as another capacitor being added to the PCB. What is happening right now to prevent this is that when the glasses are plugged in, they want to charge through USB. This creates more power draw than they would by just using the power required to operate. In turn, this causes the internal battery to falsely indicate low power.

As for button debounce issues, I think the pushbutton portion of the debounce is already working. Or it seems to be for me anyways. debounce on the clockwise and counterclockwise rotation is a real problem that I don't know how to solve. I would lean towards a different encoder that has stiffer pressure required to rotate.

and finally:

The issue with lag was resolved by adding '--read_frames=7' to the execution.

Peter: If you want to see the change with this, it would be a matter of editing the /etc/rc.local file on your device and adding this to the raspivoice execution line prior to the & symbol at the end of the line.

To disable the vibration on startup, you would have to edit the file /home/pi/rangefinder2.py
there is a line that says vibration=1, this should be changed to vibration=-1

Alternatively, I have been considering something that is rapidly becoming necessary; An online sharing space for the image file for the file system. The drawback is the file will be 4GB, and while it can likely be compressed somewhat with zip, it will still be large.

It seems a good way to give people updates who aren't linux nerds.

You would simply pull the SD card from the pi, format it, and then reimage it with something like win32 disk imager.

for storage, I would consider dropbox or a similar service (I found dropbox was a little bit expensive last time I thought about it)

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 2:33 am

I've just placed an order for what looks like the next version of the tx-25's through this ebay link:

http://www.ebay.com/itm/251766688534

It has the exact same case, and design profile as the tx-25's. I had ordered another set through a link posted in this forum, but it is overdue by a few weeks, so I'm losing hope for it.

This time, the total damage was ~$70 US. Still much less than the 95 EUR I paid for my first pair from Germany.

I also inquired as to volume pricing to see if I can start sparking interest on larger shipments.

I have also been working on the website for the "After Sight" Not for Profit corporation I have to incorporate in Canada to pursue fundraising.

I meet with my first prospective board member on Wednesday morning.

Things move more than they stay still.

I am investigating a dropbox equivalent at the moment, and when one has been determined I will PM access to it. This way those who don't fancy performing command line functions can just image a new SD card to reap the benefits of configuration changes/software updates.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 7:06 pm

mikey11 wrote:Peter: If you want to see the change with this, it would be a matter of editing the /etc/rc.local file on your device and adding this to the raspivoice execution line prior to the & symbol at the end of the line.

To disable the vibration on startup, you would have to edit the file /home/pi/rangefinder2.py
there is a line that says vibration=1, this should be changed to vibration=-1
Thanks mikey11, I had never worked with a Raspberry Pi device before and naively assumed I would be accessing the device's file system via a USB cable like one accesses a smartphone. Anyway, I just managed to use PuTTY and pscp to connect to the device (having it wired to my router via an ethernet cable) and copy the rangefinder2.py and rc.local files back and forth to my PC for easy editing (I'd probably mess up the files if trying to use vi to edit). The vibration=-1 works fine now, and I'll be looking at the effects of sudo ./raspivoice -A --speak -s2 --verbose --read_frames=7 &

When compiling raspivoice, do you do that on the device itself or on your PC using a cross-compiler? I'm starting to get curious, but am still at a stage that I feel I could inadvertently mess things up all too easily.

Peter
Last edited by seeingwithsound on Tue Jun 23, 2015 10:00 pm, edited 1 time in total.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 7:12 pm

I do all my work on the device via putty.

If you install xming on your pc, and do x11 forwarding with putty, you can get the video output of th pi on your pc. I plan on using this feature to demonstrate the device using the --preview command of raspivoice.

I have never used a cross compiler before. The raspivoice program always took under 15 mins to compile, so I didn't see the need.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 8:34 pm

mikey11 wrote:If you install xming on your pc, and do x11 forwarding with putty, you can get the video output of th pi on your pc. I plan on using this feature to demonstrate the device using the --preview command of raspivoice.
Thanks for the info! I installed Xming and applied further instructions from http://www.codesynthesis.co.uk/tutorial ... sing-xming to see the Raspberry Pi desktop. I throught I could just use the line sudo ./raspivoice -A --speak -s2 --verbose --preview & in rc.local, but that does not seem to work. Has --preview processing not been implemented yet?

Peter

johnf
Posts: 30
Joined: Fri Dec 23, 2011 10:35 pm

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 9:00 pm

Coolcomponents are offering a metal alloy box to fit the Raspi.
The box is stated to function as a large area heat sink.
If an extra layer PCB or control panel were part of the design, maybe an extra-deep lid could be 3D printed to fit the alloy casing.
Heat buildup and passive dissipation should be anticipated as part of the original design brief for a universally wearable system.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 9:01 pm

Preview seems to be incompatible with the sound menu.

So when you startup you can kill raspivoice by doing two things


Sudo pidof raspivoice

Then

Sudo kill 0000

Where the 0's are four digit number returned by the first command

Then restart raspivoice with the flags of your choosing, but not the sound menu at the same time as preview.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 9:06 pm

I like those cases, but they cost far too much.

I have done numerous tests at ambient Temps between 20-30 deg C, and the pi tops out at 50 deg C.

I am lining up an oven to do tests at 35, and 40 deg C ambient.

I will test with heat sinks and without, and will test with case holes for ventilation and without.

The case needs to be less than 5 USD.

Of course, a premium version that uses the aluminum case may be required for very hot climates.

I hope not though.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 10:49 pm

Thanks again.

The --read_frames=7 indeed works well, and greatly improves lag. I'll probably be using it in combination with --sample_freq_Hz=16000 to reduce load.
mikey11 wrote:Then restart raspivoice with the flags of your choosing, but not the sound menu at the same time as preview.
The Raspberry Pi desktop shows up fine, but the --preview option, when leaving out --speak, currently still gives me

PuTTY X11 proxy: wrong authentication protocol attempted
(RaspiVoice Preview:3549): Gtk-WARNING **: cannot open display: localhost:10.0

Peter

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Tue Jun 23, 2015 11:03 pm

I recall that error, and will look into my settings that can fix it and let you know.

PranavLal
Posts: 124
Joined: Fri Jun 28, 2013 4:49 pm

Re: Sight for the Blind for <100$

Wed Jun 24, 2015 12:36 am

Hi Mikey11,

I have a Google apps account. I believe I have 30GB of storage on that so will be happy to host the file. Alternatively, look at amazon aws. Some of their stuff is free.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Wed Jun 24, 2015 1:13 am

the x11 forwarding settings I used:

Image

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Wed Jun 24, 2015 10:38 pm

Thanks, I had already tried those settings but unfortunately they did not work for me. As of today, things are worse, as I consistently get "Network error: Connection refused" when trying to connect to the Raspberry Pi via PuTTY, despite the fact that its local IP address and device name are visible to my router and can be pinged without problems. Telnet also fails on port 22. Tried all sorts of reboots to no avail. The device works fine in sounding live camera images, but can no longer be reached from my PC and I cannot explain why. I finally found that I can mount the Raspberry Pi SD card in my PC and edit configuration files using Paragon ExtFS for Windows if the need arises, but that's about it.

Peter

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Thu Jun 25, 2015 1:09 am

Understood.

That means it's overdue to host the image files for the filesystem somewhere.

I will create an image tonight which has vibration off, and the lag issue solved.

If flashing the new image on the card does not work, you may have a hardware problem of some kind.

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Thu Jun 25, 2015 1:52 am

good news and bad news.

The good first: The image file compresses using zip down to about 1.1GB

The bad news is that the image was taken from a 16GB card, so the image size is 16GB no matter what I do. You may not have a 16GB card in your system.

In order to use the image file (file uploading currently, link to be provided after), you will need a 16GB or larger card, and you will need to install win32 disk imager.

Here is a link on sourceforge:

http://sourceforge.net/projects/win32diskimager/

Beware:Sourceforge recently started adding spyware/crapware to items they host WITHOUT the authors consent. Some notable projects that left SF as a result are notepad++ (a darling program for coding), VLC, and the GIMP 2.

I couldn't find another host though, so...

User avatar
rpdom
Posts: 15208
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Sight for the Blind for <100$

Thu Jun 25, 2015 8:39 am

mikey11 wrote:Beware:Sourceforge recently started adding spyware/crapware to items they host WITHOUT the authors consent. Some notable projects that left SF as a result are notepad++ (a darling program for coding), VLC, and the GIMP 2.

I couldn't find another host though, so...
TBH I am slightly surprised that the Foundation haven't commissioned a Windows Pi Image installer program of their own. I know they have put a lot of effort into NOOBS, and that is great and all, and most people who want to use images will have the resources to do it (like me), but I'm sure it can't be too hard to put together an official app that will: fetch an image file if needed; unzip the image (or advise that unzip software is required); write image to card (ignoring current formatting), while doing certain checks and giving appropriate warnings.

User avatar
seeingwithsound
Posts: 165
Joined: Sun Aug 28, 2011 6:07 am
Contact: Website

Re: Sight for the Blind for <100$

Thu Jun 25, 2015 9:23 am

mikey11 wrote:If flashing the new image on the card does not work, you may have a hardware problem of some kind.
Maybe. I got tired of each time walking to my router to which the Pi was connected via an ethernet cable, so I used that same cable to connect the Pi directly to my PC. That gave me the "Network error: Connection refused" no matter what PuTTY, local DHCP server and ethernet adapter settings I tried to get the communication going, so I finally gave up and moved the Pi back to the router and stopped the PC's DHCP server, but the "Connection refused" problem did not disappear. From what I read, the Pi is supposed to automatically deal with not using a crossover cable http://stackoverflow.com/questions/1604 ... out-router but I'm wondering now if some automatic configuration change got "stuck" in the Pi after making the direct PC connection.

Anyway, I'll try your new image and see if that clears things up.

I was also thinking of connecting the Pi to a keyboard and HDMI monitor, but the PCB stack seems firmly glued to the case. Is there a safe way to lift the electronics from the case such that I can reach the Pi's HDMI connector?

Thanks!

Peter

mikey11
Posts: 355
Joined: Tue Jun 25, 2013 6:18 am
Location: canada
Contact: Website

Re: Sight for the Blind for <100$

Thu Jun 25, 2015 2:05 pm

I did glue the pi in using an epoxy. I recommend melting a hole through the case for those connectors.

Return to “Assistive technology and accessibility”