摘要:本文介绍了一种读取位图,将位图进行分块并进行扫描将扫描处理结果填入到数据库的方法,并提供了部分实现代码。
关键词:栅格表示法数据库位图扫描
一、问题提出
在多移动机器人协作系统项目中有一个很重要的环节就是协作系统环境地图数据库的建立。目前移动机器人工作环境地图表示方式有三种:拓扑图、特征图和栅格图。栅格表示法是目前最常用的环境建模方法,特别适合于将来自于不同类型的传感器(如超声波、红外、视觉等)的数据进行统一描述,且对于超声波这样易产生不精确测量数据的传感器具有较强的适应力,所以本文中涉及的系统采用的是栅格地图表示方式。
栅格表示法(gridmap)就是在世界坐标下,将机器人的作业空间分成若干个栅格,利用传感器测得的信息,确定障碍物位置并映射到相应的栅格上。每个栅格具有一个可信度值(CertaintyValue),用于表示在该区域内障碍物分布状况[1]。
多移动机器人系统中包括了水陆两栖机器人、野外移动机器人和城市机器人,工作环境复杂多变,为了演示多移动机器人协作系统的协作功能,我们选定了北京航空航天大学的求是广场,该广场内有树木、草地和石凳等,可以保证所有的机器人都能在其中运动。
整个移动机器人系统采用分层控制结构,有一台服务器用于所有机器人的全局路径规划,然后每个机器人对应的控制计算机用于局部路径规划和导航控制,这种控制结构降低了全局路径规划的难度,保证了机器人系统即使在全局地图比较粗糙的情况下仍然能够很好地工作。基于以上的设计,决定采用人工实测的地图作为全局路径规划的地图。
人工测量的场地大小为130米长、88米宽,采用AutoCAD绘制整个地图。由于AutoCAD绘制的图纸是矢量图,提供的是地图中物体的形状信息,而协作系统软件需要的栅格地图提供的是障碍物的位置信息,不能直接使用AutoCAD工程图作为地图,所以需要进行地图格式转换。
一般情况下将整个位图进行整体扫描,获取每个像素是否对应障碍物的信息,然后再对扫描后获得的信息进行整合处理,分配给每一个栅格。而本文介绍了一种首先对位图进行分块然后再扫描提取地图数据并填充到SQLServer的解决方案,并利用VisualC++6.0开发工具编程进行了实现。
二、解决方案
步骤1:在AutoCAD中执行export命令,选择输出格式为位图(*.bmp),然后在视图中选择要输出的区域,则选择区域部分将转化为Windows位图文件。由于位图文件是以像素来记录信息的,位图的像素数越大,所记录的信息就越多,所以尽量将图像放大将增加获取的信息。我们将130×88米的地图放大到了接近于屏幕大小,最终输出的位图像素大小为905×614。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈