Blicycle - a bicycle for the blind

Blicycle is designed to be ridden in the closed, controlled environment of an outdoor track. It incorporates a number of electronic, software, and mechanical modifications to an existing bicycle to make it accessible to the blind. We use computer vision to localize the bike with respect to the track. We determine a desired steering angle for the blicycle using this information, and communicate turning instructions to the rider using a vibrating handlebar interface. Over the course of the project, we iterated on a number of different design ideas and met with our blind client several times for idea generation and user testing. We were able to complete a working prototype by the end of the semester (though it of course needed much more work!). I worked on this project with a teammate, Emily Obert, who is a mechanical engineer - it was our semester project for 6.S196 - Principles and Practice of Assistive Technology taught by Prof. Seth Teller.

Electronics

We developed a custom vibrating handlebar interface to communicate turning instructions with the user. Each of the two handlebars contains 4 vibration motors (see image at right). When the left vibration motors vibrate, the rider should turn more left - and similar for the right handlebars. In this way, a a control system is developed that encourages the rider to turn to the “sweet spot” where there is no vibration on the left and right sides.

Each motor is individually controllable via PWM, and is connected through a series of amplifiers to a microcontroller. This microcontroller receives control information via USB serial from the main onboard computer (a netbook which does the computer vision and localization), and uses these control signals to actuate the motors. A potentiometer mounted above the handlebars allows the direction of the bicycle’s front wheel to be measured (shown while being machined at left). An onboard battery powers the motors.

Computer Vision

The blicycle uses computer vision to localize itself with respect to the track border. The camera on the bicycle faces 90 degrees to the left and slightly downward to monitor the edge of the grassy interior of the track and the darker pavement. All camera processing is programmed in C using the OpenCV library.

Intermediate steps of the signal processing are shown in the image at left (left to right, top to bottom). Upon receiving a video frame, the main onboard computer converts it to the HSV color space and runs a color classifier on each pixel to identify the grassy region. Next, an edge detection is run to accentuate the border of the track. A probabilistic Hough transform is run on this result in order to identify the geometric position of the this line. Next, this line is mapped into the 3D bicycle’s world frame using an inverse look up from pre-recorded calibration data.

Simulator Software

Blicycle has a software simulator which also generates the control outputs to send to the handlebar microcontroller. Using a simplified model of bicycle kinematics, the simulator predicts the future position of the bicycle based on the current handlebar anglel as measured from the potentiometer.

The control system used is analogous to a “carrot baiting a rabbit.” A goal position is computed on the desired trajectory forward of the bicycle. Next, the bicycle’s position is future-predicted based on the approximate delay time of a human in responding to handlebars. This is used to generate an error signal of how much the handlebars need to be turned, which is in turn used to command the vibrating handlebars.

In addition to being used on the live bicycle, the simulator interface was also used for testing control strategies with our blind client indoors.

Mechanical Modifications

A custom camera mount was designed and 3D printed to mount the camera on front of the bicycle. Additionally, a mount for the potentiometer and electronics was designed and machined out of aluminum.

Paper

For more information, please see my final paper:

paper_thumbnail

Photos

Pictures of the Blicycle project.