With the aforementioned goal to minimally instrument a user, the phone is the ideal central processing unit, as it is the other item that the VI always carry with them. Smartphones are also perfect for BLE processing as protocols such as iBeacon and Eddystone are designed to work with iOS and Android. The stock software running the SensorTag are intended for a smartphone app.
Unfortunately at this prototyping stage, we need low level of wired connectivity such as I2C, SPI, and hardware PWM while the end system is only "real time" at the human scale. So we decided to use an embedded platform capable of running Linux for ease of development. BeagleBone Black and Raspberry Pi are both well supported in the embedded community. We were initially leaning towards the BeagleBone Black for its openness and had Raspberry Pi as a backup alternative. During implementation, Raspberry Pi showed better performance and remained final PU.
As a side note, all the add-on components for realizing the smart cane are not power hungry. They can be first connected to a BLE module, all powered by power banks in the cane, to facilitate the use of a smartphone as the PU
Advantages:
Disadvantages:
Cost: $55
Advantages:
Disadvantages:
Cost: $40 (Pi 3 Model B)
Usage in this project: integrate both sensing and intervention component for a complete functional system
Bluetooth Low Energy (BLE) signals from installed beacons are an emerging indoor location technology. They are inexpensive, small, and extremely low power. The PU detects the signal from the beacon and can calculate roughly the distance to the beacon and hence estimate the location or it can be proximity based inference about the location depending upon the information obtained from the beacon. Such distance inference is usually done through processing received signal strength indicator
Bluetooth beacons differs from some other location-based technologies as the broadcasting device is only an one-way transmitter to the receiving smartphone or receiving device.
PROXIMITY VS LOCATION: Beacons are a game-changing addition to the proximity marketing conversation. Not to devalue its predecessors, but beacons add a level of granularity that Wi-Fi and GPS targeting could never reach. Where LOCATION refers to where someone is at that moment, PROXIMITY is determined by how near/far you are in relation to a set beacon - thus giving them two different uses and benefits. While GPS targeting is the most esteemed location based opportunity at the moment, it isn’t very accurate indoors. With Bluetooth LE, precision down to the inch makes this nascent space so special. Customized messaging can be based on how long you dwell in an area, your trajectory to or from the beacon, and even distance.
Component name: Texas Instrument CC2650 STK (SensorTag Kit)
Description: The SensorTag operates as a BLE peripheral slave device based on CC2650 multi-standard wireless MCU (ARM Cortex M3 based) platform including five peripheral sensors with a complete software solution for sensor drivers interfaced to a GATT server
Cost: $29 per kit + $15 debug DevPack for wired reprogrammability
Features:
Usage in our project:
The most important characteristic of UWB is its large bandwidth in comparison with prevalent narrow-band systems. One result of the large bandwidth of UWB is that due to the inverse relationship of time and frequency, the lifetime of UWB signals is very short. Consequently, the time resolution of UWB signals is high, whic makes it a good candidate for positioning systems. Another useful property of UWB is that it is permitted to occupy low carrier frequencies, where signals can more easily pass through obstacles. Principally there are two forms for UWB implementation, one is Impulse Radio (IR) wherein a time hopping sequence is used and the other is multi-carrier signal. The radio used in the project uses the UWB radio in the IR form. The papers that were studied to understand UWB system in positioning are listed in the references.
Component Name: Decawave DWM1000 Module
Description: The DWM1000 module is an IEEE 802.15.4-2011 UWB implementation with antenna and Decawave DW1000 UWB transceiver residing on a single module. DWM1000 enables cost effective and reduced complexity integration of UWB communications and ranging features, greatly accelerating design implementation.
Features:
This way, the Master can remove D from its own time measurement (Δt=T3-T0–D), to get a much more realistic measurement of the actual time the signals spent traveling.
Cost: $25 + $10 + $10 (+ uC + board)
Usage in our project: We rely on its precise ranging for measuring distance from the user to the entrance boundary. Alignment is done by comparing the distances to the two sides of the entrance. Ranging function is realized through auxiliary micro-controller
Even with zero prior experience working IMU, we knew from various research papers that turning the raw sensor data from accelerometer, gyroscope and magnetometer is not trivial. Rather than delving into these fusion algorithms, we chose to use the BNO055 - a smart 9-DOF sensor that does the sensor fusion all on its own. The sensor, made by Bosch, integrates a high speed ARM Cortex-M0 based processor to process the sensor data in real time. The outputs in turn becomes easily understandable:
Outputs:
Cost: $35
Usage in this project: A study is carried out to find the best signature for detecting an accelerated forward motion of the cane, used as the gesture for requesting guidance. The heading information is used to determine the direction the user is facing.
Different from the little RC servo motors we usually think of, servo is a general term for a closed loop control system using negative feedback. The position of the output shaft is measured and fed back to the internal control circuit which adjusts current to the motor to maintain position. The position of the servo is set by the length of a pulse. For example, if the servo expects to receive a pulse roughly every 20 milliseconds and a pulse is high for 1 millisecond or less, the servo angle will be zero, if the pulse is 1.5 milliseconds, then it will be at its center position and if it is 2 milliseconds or more it will be at 180 degrees. The analog feedback part is the result of Adafruit customization that takes the internal potentiometer line out of the servo control circuit so that it can be read directly by the PU. The PU then has a direct hardware way to know the position of the shaft rather than handling the memorization in software. This feedback function is considered nice-to-have as our system do integrates multiple sensing threads. By using this hardware feedback, software burden must be alleviated
Cost: $15
Usage in this project: the pointer should always align with the tip of the cane, the turning of the shaft (left or right in degrees) should corresponds to the impending direction the user would take
In order to go beyond simple vibration or the simple-still on-off-keying message, we chose a fancy little haptic controller to drive a mini vibrating motor disk. The haptic controller is capable of translating audio to haptic codes. We carefully selected a set of effects that corresponds to different instructions and different phases of the navigation, which is detailed in the implementation section.
Component Name: Adafruit DRV2605L Haptic Controller + Vibrating Mini Motor Disc
Cost: $10
Usage in this project: enhance user experience by supplementing directional instructions and also signaling different phases of navigation