Ruizhi Hong



Research



Interests areas:


Computer Vision; Computer Graphics; CUDA programming; Mobile Robot Navigation


Previous work:



3D reconstruction based on Multi-view Stereo and SIFT Algorithm.

This project was cooperated together with Lam, Dao. We used SIFT algorithm to find feature points in order to compute transformation between virtual cameras. Then we used these virtual cameras as multi-view cameras to reconstruct 3D models.





Current work:



CUDA Implementation for mobile robot path plan.

Motivation:
We present an efficient path planner for smart wheelchairs based on harmonic potential fields. While the use of harmonic fields can always guarantee finding an existing path, they are extremely computational intensive and a sufficiently detailed map of the environment may lead to an unfeasible solution for the path. Also, since our target application is for the navigation of a smart wheelchair, for people with severe disabilities, the path provided by the harmonic field is frequently too sharp and needs to be smoothened. In order to address the first problem, we propose a parallel algorithm implemented using Graphics Processor Units (GPUs) on the NVIDIA CUDA platform. And for the second problem, we developed a rubber band model that provides extra forces to be added to the attracting forces of the harmonic fields. This model assumes that the path is an elastic line, a rubber band, connecting the source and destination points. This rubber band simulates the internal tension forces trying to tighten the line. As the result section demonstrates, both the original path from the harmonic field alone and the path smoothened by the rubber band model have approximate the same length, but the first path contains many bumps, sharp angles, and zig-zags, while the second one provides a much more comfortable ride for the passenger of the wheelchair. Either one is executed in real-time, allowing the proposed method to be used for real navigation of smart wheelchairs.
Simulation:
As shown in the figure, the whole field is harmonic field and white means higher potential energy and black means lower, so the path goes from higher position to lower position until reach the exit. Red color marked obstacles in the way which have highest potential energy.
The harmonic field created original path which marked in blue. And the optimization algorithm change the path to the green one, which more efficiently for navigation.
All these algorithms runs about 2 to 10 times faster on CUDA than a typical C program(how fast exactly also depends on which GPU and CPU we are comparing).





Experiment on Real Robot
Currently we are doing test on real robot. The idea is use a simple vision algorithm to locate the robot in real time. And let the robot go along the path for a short step. Then locate the position again and adjust the path based on the real position. Then repeat the process make the robot move on next step.







This is the mark pattern detection using ARToolkit. The program detects multiple pre-defined pattern. Then we can use these pattern setup a field and locate the robot by vision in a simple way.