返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

基于点云切片技术的喷涂机器人自编程关键开发技术

时间:2017-08-17 来源:机器人在线 阅读:7595

 5.2.2关键开发技术

(1) OpenCV图像处理技术OpenCV是一个可以运行在Linux, Windows和Mac操作系统上的跨平台计算机视觉库。OpenCV由四个模块组成:CV、MLL、HighGUI和CXCORE,其中CV包含图像处理和视觉算法,MML是机器学习库,HighGUI主要与界面操作相关,CXCORE则定义了基本的数据结构和算法、XML支持以及绘图函数。此外,OpenCV可以在商业和研究领域中免费使用,目前广泛应用于人机交互、物体识别、图像处理、人脸识别、动作识别、运动跟踪、机器人等领域。
本文需要利用OpecnCV解决的问题主要有:Kinect的彩色摄像头标定、红外深度摄像头的标定、彩色图和红外图的配准、使用Kinect获取场景的深度图并转化为点云数据以及在求解Kinect空间坐标系到机器人坐标系的齐次变换时的图像处理等。
( 2 ) PCL点云处理技术PCL起初是ROS C Robot Operating System)下由来自斯坦福大学Radu博士等人维护和开发的开源项目,目前广泛应用于机器人领域、CAD/CAM、逆向工程、激光遥感测量、虚拟现实、人机交互等领域。
点云库PCL是C++专门针对点云数据处理而封装的库,包含了点云数据处理的相关类和库函数,极大地方便了点云数据的处理,点云技术也因此在逆向工程中得到了快速的发展和应用。本文中利用Kinect获取工件的点云模型,对其点云数据的预处理主要包括点云数据的去噪、平滑、精简和曲面重建。
( 3 ) Visual Studio与Matlab混合编程技术本文采用VS 2013和Matlabr2015b混合编程,利用Matlab在数值计算上的长处,结合VS的灵活通用,实现自编程系统的设计开发。VS 2013和Matlab r201_Sb可以通过Matlab的引擎、函数库以及生成动态链接库DLL的方式实现混合编程,在这三种方法中,通过引擎实现混合编程不能脱离Matlab环境而生成独立运行的程序,只适于算法仿真或C程序算法调试过程中使用,而不适于开发。VS函数中调用的Matlab函数在引擎中仍以解释性执行的,因而执行效率并不能提高,所以调用运算量较大的函数时计算时间仍然很长。应用Matlab数学函数库不能调用图形句柄系统的函数和MATLAB工具箱中的函数,而且MATLAB中的一些方法在C/C++中得不到支持。第三种方法既利用了Matlab友好的界面、易于操作、丰富的库函数等优点,又利用了VS强大的开发环境。该方法对所有需要将Matlab程序嵌入到VS中的工程都通用,而且较为灵活方便。因此,本文通过在Matlab中调用VS 2013的编译器产生动态链接库实现VS与Matlab的混合编程。
 
喷涂机器人 基于点云切片技术的喷涂机器人自编程技术研究 技术干货

好的文章,需要您的鼓励

12

  • 最新资讯
  • 最新问答
推荐