9.0.6.2雷达驱动与建图测试(无线udp)
-
一、打开配置助手,修改net_mode
跳帽在flash模式下,扫描配置,修改net_mode为udp,针对建图卡顿网络问题优化,udp对网络差的环境有更好的兼容性
二、手动切换模式
配置完成后,将跳线帽调整到WIFI模式
三、启动服务
重新拉取docker镜像并运行:
xhost + && sudo docker run -it --rm -p 8889:8889 -p 8889:8889/udp -v /dev:/dev -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY registry.cn-hangzhou.aliyuncs.com/fishros/fishbot_laser
启动完成后,可以看到如下页面
四、驱动测试
保证雷达板在通电状态
选择1驱动雷达,回车
选择2无线udp,回车,我们尝试驱动雷达等待激光雷达udp连接
如果未连接成功,请检查是否符合下述现象和问题:- 蓝色LED灯长亮,表示此时在配置模式,请将跳线帽调整至运行模式,LED闪烁表示在运行模式
- 出现timout count提示,表示雷达板没有数据发送到的电脑,此时应该检查跳线帽是否在WIFI模式,并确定连接了雷达。
驱动成功后,我们可以打开一个新的终端,输入ros2 topic list,查看是否有/scan话题。
ros2 topic list
此时在终端中打开rviz2,修改fixed frame为laser_frame,左下角点击add---by topic,添加LaserScan,
接着修改Qos为Best Effort,接着就能看到雷达的点云数据了
移动雷达,观察点云的变化五、手动建图测试
使用Crtl+C,打断驱动的运行,回车,
选择4返回上级
选择2建图测试
选择2无线udp等待片刻,你应该可以直接看到一张地图出现
你可以将FishBot放到地上,或者用手拿着fishbot,慢慢走一圈,观察地图的变化,也可以直接用键盘控制节点(需要根据上节教程个启动Agent)控制fishbot走一圈,看看能否得到完整的地图。
六、保存地图
我们需要使用一个叫做nav2_map_server的工具。
安装nav2_map_serversudo apt install ros-$ROS_DISTRO-nav2-map-server
保存地图
ros2 run nav2_map_server map_saver_cli --help
可以看到有下面的用法
Usage: map_saver_cli [arguments] [--ros-args ROS remapping args] Arguments: -h/--help -t <map_topic> -f <mapname> --occ <threshold_occupied> --free <threshold_free> --fmt <image_format> --mode trinary(default)/scale/raw NOTE: --ros-args should be passed at the end of command line
我们的地图话题为map,文件名字我们用fishbot_map,所以有下面这个这样写的命令行。
ros2 run nav2_map_server map_saver_cli -t map -f fishbot_map
接着我们就可以得到下面的两个文件. ├── fishbot_map.pgm └── fishbot_map.yaml 0 directories, 2 files
这两个文件就是对当前地图保存下来的文件,其中.pgm是地图的数据文件,.yaml后缀的是地图的描述文件。
-
小 小鱼 被引用 于这个主题