ROS( Robot Operating System),机器人操作系统。它的目标是为机器人软件开发者提供一个灵活的框架,其中包含一系列的工具、库和约定。同时,ROS还可以为异质计算机集群,提供了类似操作系统的中间件。
思岚的自主定位导航方案作为机器人开发不可或缺的一部分,一直以来注重和ROS生态的建设。之前,思岚实现了ROS与RPLIDAR 的结合,详情可戳:ROS与RPLIDAR结合使用说明及问题汇总
而原先SLAMWARE一直是一个相对独立的系统,现在我们发布了ROS驱动,更进一步的拥抱ROS,结合配套的ROS驱动,产生的地图和定位数据可无缝集成到ROS环境中。
今天小岚将教你如何一步步将SLAMTEC Mapper结合ROS,获取建图雷达产生的地图和定位数据,并将其用于ROS的其他组件中进行机器人开发和应用。
本教程分为四步:环境准备、创建ROS工作区间、启动SLAMTEC Mapper、运行
下面,就让我们按照上面的步骤,让SLAMTEC Mapper在ROS上运行,全面兼容ROS。
1、环境准备
开发环境 :
基于Ubuntu 16.04操作系统,并装有ROS软件包。
硬件需求:
为使用ros sdk,您需要一台SLAMTEC Mapper设备或者基于 SLAMWARE导航定位系统的移动机器人,开启并配置合适的IP地址。slamware_ros_sdk_server_node节点启动后将尝试连接该机器人。
下载&安装SDK:
在前序步骤准备就绪后,请在思岚科技官方网站【www.slamtec.com】的【下载与支持】页面,下载适合您平台的ROS SDK并解压至本地。
下载安装后,Slamware ROS SDK包含了您开发过程中可能会用到的资源、代码,其目录结构组织如下:
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为例,安装步骤如下:
4、运行
SLAMTEC Mapper上电运行之后,在Linux系统下连接SLAMWARE —XXXX的Wifi,然后连接启动节点。
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
最后,我们看下SLAMTEC Mapper在RViz中的建图效果如何。
得到的这份地图可以放大、缩小、移动、调整3D视角,总之,按照你想操作的一切去操作。
网友评论