碧波液压网 欢迎你,游客。 登录 注册

基于Matlab和VC++混合编程的障碍检测系统设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  

  0 引言

  在智能移动机器人自主导航的研究中,应用视觉来进行实时障碍检测,一直是研究的热点问题。目前,许多研究工作者已将视觉导航应用到移动机器人的移动控制中,但由于其图像处理数据量大、算法较复杂,因此在具体应用中存在实时性较差、道路区域检测的算法不够鲁棒、只能适合算法特定的道路模型等缺点。为了提高移动机器人检测障碍物的实时性,文中提出了一种基于Matlab和VC混合编程的障碍物检测系统软件实现方法,可以大大提高编程的效率,缩短软件的开发周期,且可以快速准确地检测到障碍物。

  1 VC++与Matlab混合编程方法

  Matlab是由美国MatlaWorks公司推出的用于算法开发、数据分析以及数值计算的高级技术计算语言和交互式环境,在矩阵运算、数值计算和图形显示等方面,具有强大的功能,非常直观、简洁。它为各工程计算领域提供了相应的工具箱,在控制界、生物医学工程、语音处理、数字信号处理、雷达工程、信号分析、计算机技术等各行各业中都得到了广泛的应用。但是和其它高级编程语言相比,它的程序执行速度较慢,其源代码的公开不利于算法和数据的保密。

  VisualC++是Microsoft公司推出的面向对象可视化编程的高级程序设计语言,它集成了功能强大的编译器、连接器、调试器、AppWizard等多种多样的可视化编程工具。它采用编译方式运行,运行速度快,特别是编写界面的能力很强。但它在数字处理分析、算法工具、编程效率和准确方便的绘制数据图像方面远低于Matlab语言。

  Matlab与VC++常用的结合方法有5种:

  ①Matlab引擎。

  ②用Matcom将Matlab的M文件编译成C语言文件并嵌入VC++。

  ③使用Matlab提供的函数库或C++接口函数库直接在VC中编程。

  ④利用Matlab提供的MCC命令生成与Matlab文件对应的基于C语言或C++语言的包裹文件,再嵌入VC中。

  ⑤应用组建技术实现Matlab与VC混合编程。

  本研究针对5种方法进行了研究和试验。后4种方法对于Matlab的图像处理工具箱只有部分支持,而Matlab引擎对Matlab具有全功能调用功能,包括对于数字图像和通信对象处理的支持,故本文选用Matlab引擎来实现基于VC++和Matlab的障碍物检测系统研发平台。

  2 障碍物检测系统的设计与实现

  2.1 Matlab和VC接口编译环境的设置

  在VC的集成环境中,如要实现与Matlab引擎之间的通信,需要对VC的编译环境进行一些设置,例如:为VC工程添加Matlab头文件、添加Matlab库文件等等。

  2.2 VC中调用Matlab引擎的设置及程序实现

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: MATLAB
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论