去年7月,思岚科技推出了业内首款激光建图雷达SLAMTEC Mapper,赢得了市场的高度肯定,它与传统的激光雷达有所不同,其内置了SLAM实时地图构建和定位功能,在手持情况下,可直接对外输出高品质地图数据及定位坐标信息,不仅适用于机器人的导航定位,在环境测绘及手持测量等多个领域都能使用。

作为一款激光建图雷达,建图能力必定是其最大的亮点之一,经实测,SLAMTEC Mapper激光建图雷达能在复杂场景中完成十万平方米的高品质建图,不论是在家用、商用、还是轻工业等场景中,均可轻松实现地图的构建。

说的再多,不如实例演示,以下是在一个134m*111m的地下停车场的建图效果展示:

在手持模式下,SLAMTEC Mapper完全不受人工走动带来的颠簸及轻微晃动,同样能实现高品质的建图效果。

基于ROS的激光雷达建图及定位数据获取步骤_ROS激光雷达建图

SLAMTEC Mapper在手持状态下建图

基于ROS的激光雷达建图及定位数据获取步骤_激光雷达建图_02

最终建好的地图展示

当然,SLAMTEC Mapper的高品质建图,不仅体现在室内,在室外强光直射的环境中,其建图能力依旧稳定,以下是室外建图效果展示:

基于ROS的激光雷达建图及定位数据获取步骤_激光雷达_03

室外建图展示

基于ROS的激光雷达建图及定位数据获取步骤_ROS激光雷达建图_04

室外最终建图效果

SLAMTEC Mapper的高品质建图主要是基于思岚科技自主研发的第三代SLAM算法,在长走廊、环路较多、相似等场景下,它能及时清除局部区域的累计误差,做到地图修正及主动探测闭环。

了解完这款高品质建图雷达后,我们再来看看,SLAMTEC Mapper激光建图雷达结合ROS又该如何获取地图及定位数据,并将其用于ROS的其他组件中进行机器人开发和应用。以下主要分为环境准备、创建ROS工作区间、启动SLAMTEC Mapper、运行这四个步骤:

1、环境准备

开发环境 :

基于Ubuntu 16.04操作系统,并装有ROS软件包。

硬件需求:

为使用ros sdk,您需要一台SLAMTEC Mapper设备或者基于 SLAMWARE导航定位系统的移动机器人,开启并配置合适的IP地址。slamware_ros_sdk_server_node节点启动后将尝试连接该机器人。

slamware_ros_sdk_server_node节点启动后将尝试连接该机器人

下载&安装SDK:

在前序步骤准备就绪后,请在思岚科技官方网站【www.slamtec.com】的【下载与支持】页面,下载适合您平台的ROS SDK并解压至本地。

下载安装后,Slamware ROS SDK包含了您开发过程中可能会用到的资源、代码,其目录结构组织如下:

基于ROS的激光雷达建图及定位数据获取步骤_激光雷达_05

2、ROS工作空间创建

创建ROS工作空间:

将存放源码的src放入一个空的工作目录,如:catkin_ws,使用catkin工具初始化工作空间

cd catkin_ws/src

catkin_init_workspace

编译:

cd ..

catkin_make

配置工作空间系统环境:

source devel/setup.bash

为了以后不要每次都输入上面这个source命令,把该命令写入.bashrc中,这样每次启动terminal就会自动source啦。

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

查看下ROS_PACKAGE_PATH环境变量,看你的工作空间是否正确包含进去了。

echo $ROS_PACKAGE_PATH

 

3、启动SLAMTEC Mapper

拿到SLAMTEC Mapper后,套件如下,以M1M1为例,安装步骤如下:

基于ROS的激光雷达建图及定位数据获取步骤_ROS激光雷达建图_06

4、运行

SLAMTEC Mapper上电运行之后,在Linux系统下连接SLAMWARE —XXXX的Wifi,然后连接启动节点。

基于ROS的激光雷达建图及定位数据获取步骤_ROS激光雷达建图_07

XXX具体参照设备下方的二维码纸贴条,如35388D

>>> 如果搜索不到SLAMWARE —— XXXX设备号的话,请稍等片刻,或者尝试重新连接。

启动节点:

若移动机器人处于AP模式,连接机器人WIFI,启动节点。

 

roslaunch slamware_ros_sdk slamware_ros_sdk_server_node.launch ip_address:=192.168.11.1

如果正常的话,即可通过RViz界面查看到正常画面。

通过RViz查看:

roslaunch slamware_ros_sdk view_slamware_ros_sdk_server_node.launch

基于ROS的激光雷达建图及定位数据获取步骤_激光雷达_08

最后,我们看下SLAMTEC Mapper在RViz中的建图效果,该地图还可进行放大、缩小、移动等操作。