ROS( Robot Operating System),機(jī)器人操作系統(tǒng)。它的目標(biāo)是為機(jī)器人軟件開發(fā)者提供一個靈活的框架,其中包含一系列的工具、庫和約定。同時,ROS還可以為異質(zhì)計算機(jī)集群,提供了類似操作系統(tǒng)的中間件。
思嵐的自主定位導(dǎo)航方案作為機(jī)器人開發(fā)不可或缺的一部分,一直以來注重和ROS生態(tài)的建設(shè)。之前,思嵐實現(xiàn)了ROS與RPLIDAR 的結(jié)合,詳情可戳:ROS與RPLIDAR結(jié)合使用說明及問題匯總
而原先SLAMWARE一直是一個相對獨立的系統(tǒng),現(xiàn)在我們發(fā)布了ROS驅(qū)動,更進(jìn)一步的擁抱ROS,結(jié)合配套的ROS驅(qū)動,產(chǎn)生的地圖和定位數(shù)據(jù)可無縫集成到ROS環(huán)境中。
今天小嵐將教你如何一步步將SLAMTEC Mapper結(jié)合ROS,獲取建圖雷達(dá)產(chǎn)生的地圖和定位數(shù)據(jù),并將其用于ROS的其他組件中進(jìn)行機(jī)器人開發(fā)和應(yīng)用。
本教程分為四步:環(huán)境準(zhǔn)備、創(chuàng)建ROS工作區(qū)間、啟動SLAMTEC Mapper、運行
下面,就讓我們按照上面的步驟,讓SLAMTEC Mapper在ROS上運行,全面兼容ROS。
1、環(huán)境準(zhǔn)備
開發(fā)環(huán)境 :
基于Ubuntu 16.04操作系統(tǒng),并裝有ROS軟件包。
硬件需求:
為使用ros sdk,您需要一臺SLAMTEC Mapper設(shè)備或者基于 SLAMWARE導(dǎo)航定位系統(tǒng)的移動機(jī)器人,開啟并配置合適的IP地址。slamware_ros_sdk_server_node節(jié)點啟動后將嘗試連接該機(jī)器人。
下載&安裝SDK:
在前序步驟準(zhǔn)備就緒后,請在思嵐科技官方網(wǎng)站【m.khfw.net】的【下載與支持】頁面,下載適合您平臺的ROS SDK并解壓至本地。
下載安裝后,Slamware ROS SDK包含了您開發(fā)過程中可能會用到的資源、代碼,其目錄結(jié)構(gòu)組織如下:
2、ROS工作空間創(chuàng)建
創(chuàng)建ROS工作空間:
將存放源碼的src放入一個空的工作目錄,如:catkin_ws,使用catkin工具初始化工作空間
cd catkin_ws/src
catkin_init_workspace
編譯:
cd ..
catkin_make
配置工作空間系統(tǒng)環(huán)境:
source devel/setup.bash
為了以后不要每次都輸入上面這個source命令,把該命令寫入.bashrc中,這樣每次啟動terminal就會自動source啦。
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
查看下ROS_PACKAGE_PATH環(huán)境變量,看你的工作空間是否正確包含進(jìn)去了。
echo $ROS_PACKAGE_PATH
3、啟動SLAMTEC Mapper
拿到SLAMTEC Mapper后,套件如下,以M1M1為例,安裝步驟如下:
4、運行
SLAMTEC Mapper上電運行之后,在Linux系統(tǒng)下連接SLAMWARE —XXXX的Wifi,然后連接啟動節(jié)點。
XXX具體參照設(shè)備下方的二維碼紙貼條,如35388D
>>> 如果搜索不到SLAMWARE —— XXXX設(shè)備號的話,請稍等片刻,或者嘗試重新連接。
啟動節(jié)點:
若移動機(jī)器人處于AP模式,連接機(jī)器人WIFI,啟動節(jié)點。
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中的建圖效果如何。
得到的這份地圖可以放大、縮小、移動、調(diào)整3D視角,總之,按照你想操作的一切去操作。
關(guān)鍵字:SLAMTEC Mapper