ofnav_src

所属分类:matlab编程
开发工具:matlab
文件大小:214KB
下载次数:27
上传日期:2014-06-04 15:33:18
上 传 者南航飞鹰
说明:  源代码是基于光流法的小车躲避障碍物的实现,通过matlab和VC混合编程,实现可视化效果。
(Source code is based on the car to avoid obstacles optical flow method to achieve through matlab and VC mixed programming, visualization effect.)

文件列表:
src\_floor.jpg (42885, 2014-02-12)
src\_water.jpg (97755, 2014-02-12)
src\box.jpg (25296, 2014-02-12)
src\bricks.jpg (17729, 2014-02-12)
src\floor.jpg (23608, 2014-02-12)
src\foe.m (665, 2014-02-12)
src\obstacles.wrl (7362, 2014-02-12)
src\ofnav.m (8549, 2014-02-12)
src\OpticalFlowMatlab.cpp (6273, 2014-02-12)
src\vrcloseaction.m (338, 2014-02-12)
src\vrfigcapture.m (488, 2014-02-12)
src\water.jpg (18445, 2014-02-12)
license.txt (1512, 2014-02-12)

Optical flow based robot obstacle avoidance with Matlab This example project shows: 1. How to create a virtual environment for a virtual robot and display the robot’s camera view 2. Capture the robot’s camera view for analysing 3. Compute the optical flow field of the camera view 4. Estimate Focus of expansion (FOE) and Time-to-contact (TTC) 5. Detect obstacles and make a balance decision (turn robot right/turn left) Matlab’s Virtual Reality toolbox makes it possible to not only visualize a virtual world, but also capture it into an image from a specified position, orientation and rotation. The virtual world was created in VRML with a plain text editor and it can be viewed in your internet browser if you have installed a VRML viewer. For calculating the optical view field of two successive camera images, I used a C optimized version of Horn and Schunk’s optical flow algorithm. Based on this optical flow field, the flow magnitudes of right and left half of each image is calculated. If the sum of the flow magnitudes of the view reaches a certain threshold, it is assumed there is an obstacle in front of the robot. Then the computed flow magnitude of right and left half image is used to formulate a balance strategy: if the right flow is larger than the left flow, the robot turns left - otherwise it turns right. Furhter information can be found here: http://grauonline.de/wordpress/?p=17 Requires Matlab (Windows, Mac or Linux). Note: On Mac or Linux, first the Matlab wrapper needs to be compiled into a mex file using Matlab by going to the directory containing the library and running the following command within Matlab: mex OpticalFlowMatlab.cpp Start the robot simulation by typing in Matlab: ofnav ------------------------------------------------------------------------- Copyright 2009 by Alexander Grau (alex@grauonline.de) www.grauonline.de Eschenweg 12, 32609 Huellhorst, Germany ******************************************************************************

近期下载者

相关文件


收藏者