@2102773587 在 ubuntu20.04lts安装ros1 中说:
小鱼:检测当前系统ubuntu22.04:jammy 支持一键安装ROS
@2102773587 在 ubuntu20.04lts安装ros1 中说:
小鱼:检测当前系统ubuntu22.04:jammy 支持一键安装ROS
@sdlcnet @小鱼
共享两个情报
测试了ESP01s,效果不好,在进行数据传输的时候会出现掉线情况,几乎完全不能使用,但在自制的ESP12开发板上可以正常使用。
测试了建图效果,ESP12可以完成建图,数据波动较大,后续想提高精度需要对数据进行二次的时间对齐处理,详细数据对比可以看上面的测试报告。
如果说一键安装是为你准好烹饪的食材,那么一键安装+Docker计划就是帮你把菜肴做好端到你面前。
我是小鱼,最近在因工作变动,发现安装配置环境真是一个麻烦的事情,刚好群里也有问如何在ubuntu18上使用foxy版本ROS,小鱼毫不犹豫推荐他用Docker。
容器化技术至今发展已经非常成熟,在Docker中运行的进程其实和在主机上运行性能上几乎无任何损失,于是就有了今天这个计划。
该计划旨在搭建这种大家开发过程中的容器,并且把Docker的安装和配置压缩成简单的几句话,什么可视化问题,什么开发环境问题,有了容器,请你随便造作~
基础容器:
ROS容器:
ROS2容器:
特殊容器:
完成后会纳入一键安装中,敬请期待。。。
使用过程中遇到问题,欢迎跟帖,如有其他容器需要可以提供安装方法给小鱼。
为爱发电不易,有余(鱼)粮的鱼粉欢迎打赏,打赏链接~
@andrew_liumuran 我在自己电脑上尝试测试下,看看怎么才能虚拟机共享到windows的wifiIP
你好,我是小鱼,上一节我们完成了对雷达板的固件进行烧录、升级和配置,本节我们就可以实现手持雷达建图的效果了。
我们的转接板有三种模式,当配置完后,需要将跳线帽调整到WIFI模式,这样雷达板将会把来自雷达的数据通过wifi转发给tcp服务。
调整完后,跳线帽接法如上图所示。
打开电脑,输入下面的指令,我们使用docker来下载雷达相关的驱动。
国内使用镜像:
xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 registry.cn-hangzhou.aliyuncs.com/fishros/fishbot_laser
国外使用镜像:
xhost + && sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged -v /tmp/.X11-unix:/tmp/.X11-unix --device /dev/snd -e DISPLAY=unix$DISPLAY -p 8889:8888 fishros2/fishbot_laser
下载完成后,你可以看到下面的界面
保持雷达板在通电状态,输入1,回车,我们尝试驱动雷达
看到上述界面,表示驱动成功。
如果没有看到上述界面,请检查是否符合下述现象和问题:
Prepare to Accept connect!
, 表示雷达板并没有链接到电脑,此时确定雷达板是否可以ping通timout count: 1
提示,表示雷达板没有数据发送到的电脑,此时应该检查跳线帽是否在WIFI模式,并确定连接了雷达。驱动成功后,我们可以打开一个新的终端,输入ros2 topic list,查看是否有scan话题。
ros2 topic list
ros2 topic hz /scan
此时打开rviz2,添加LaserScan,并修改fixedframe为laser_frame
修改Qos为Best Effort,接着就能看到雷达的点云数据了
移动雷达,观察点云的变化
使用Crtl+C,打断驱动的运行,接着输入2,建图测试
等待片刻,你应该可以直接看到一张地图出现
你可以将FishBot放到地上,或者用手拿着fishbot,慢慢走一圈,观察地图的变化,也可以直接用键盘控制节点(需要根据上节教程个启动Agent)控制fishbot走一圈,看看能否得到完整的地图。
再秀一下小鱼的大house
我们需要使用一个叫做nav2_map_server
的工具。
sudo 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后缀的是地图的描述文件。
下面的导航过程中我们将要使用到地图文件进行路径的搜索和规划。
本节主要带你一起完成FishBot的建图和导航功能,因为FishBot对网络有所依赖,所以不要离路由太远完成建图。