修图软件:kolourpaint
sudo apt install kolourpaint
Cartographer建的地图往往是不能直接用的,需要自己修图清除噪声点和干扰点。除此之外,还需要限定一些机器人不能到达的区域。这时候就需要修图,采用这种插件的形式的优势是,不改变Carto建立地原始图像,直接将修改的图以话题的形式发布出去给导航用。
当然,直接用修图软件也可以修改,但是这样会改变原始图,可能对定位有一定的影响。这种用插件的形式,不改变原始图,使用原始图像定位较准确。
插件修图的形式步骤如下:
1、新建一个catkin_ws
工作空间
2、拷贝rviz_map_tool
到catkin_ws/src/
文件夹下。看一下rviz_map_tool下都有哪些文件?
map:手动存放cartographer建的地图及转化文件(floor_1.pbstream floor_1.pgm floor_1.yaml
)
data:csv文件,保存对原始图像做修改的坐标值。比如在地图中画了一个矩形框,会生成一个csv文件,保存矩形框的坐标值。
src:插件的源码
include:插件的头文件
launch:插件的启动文件
重点关注一下launch文件
<launch>
<!--csv文件的保存路径,修改成自己的-->
<param name="map_directory" value="/home/lyp/zhankun/SLAM/lp_robot_test/catkin_ws/src/rviz_map_tool/data/"/>
<!--cartographer新建地图的原始文件,修改成自己的路径-->
<node name="map_server" pkg="map_server" type="map_server" args="/home/lyp/zhankun/SLAM/lp_robot_test/catkin_ws/src/rviz_map_tool/map/floor_1.yaml" />
<!--启动rviz,可以暂不修改,启动是默认的default.rviz-->
<node name="rviz" pkg="rviz" type="rviz" required="true" args="-d /opt/ros/melodic/share/rviz/rviz_map.rviz" />
</launch>
3、启动rviz_map.launch
文件
可能会报错,缺少配置文件,按要求下载就好。
sudo apt-get install ros-melodic-jsk-recognition-msgs
sudo apt-get install ros-melodic-jsk-rviz-plugins
4、启动完之后,会打开Rviz
(1)依次选择Panels
—>Add New Panel
—>RvizMapTool
(2)选择Add
,再添加Map
(3)选择Add
—>SegmentArry
,然后修改topic为``roadedge`,可以自己选择配置修图的线颜色和粗细。
(4)选择TopDownOrtho (rviz)
,调整地图,便于修图。选择2D Nav Goal
点击地图,即可画线。(注意,第一次点击地图只是一个点,第二次点击地图时,会连接这两个点,形成一条直线;再次点击时,会与前一个点形成一条直线)如果有点击错误,或者画得不好的线,可以选择clear all
或者clear last
清除画的线。最后点击save to file
,即可保存坐标到./data/roadedge.csv
文件中。
源码下载链接:https://download.csdn.net/download/qq_41821678/21043271