鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    [FishBot教程] 9.0.6. 雷达驱动及建图测试

    已定时 已固定 已锁定 已移动
    FishBot二驱机器人
    fishbot 建图
    51
    202
    55.3k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小鱼小
      小鱼 技术大佬
      最后由 小鱼 编辑

      9.0.6. 雷达驱动及建图测试

      你好,我是小鱼,上一节我们完成了对雷达板进行烧录固件和配置WIFI等信息,本节我们就可以实现手持雷达建图的效果了。

      一、手动切换模式

      我们的转接板有三种模式,当配置完后,需要将跳线帽调整到WIFI模式,这样雷达板将会把来自雷达的数据通过wifi转发给tcp服务。

      5c2059ab-3dbc-410c-91b9-0f1e82601e24-cgi-bin_mmwebwx-bin_webwxgetmsgimg_&MsgID=4363356762744434523&skey=@crypt_d03924ac_617b051763b5996ca572271c87d9dbcb&mmweb_appid=wx_webfilehelper.jpeg

      调整完后,跳线帽接法如上图所示。

      二、启动服务

      打开电脑,输入下面的指令,我们使用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
      

      下载完成后,你可以看到下面的界面
      9d9044b3-8442-4d07-bda6-f4db2648c920-图片.png

      三、驱动测试

      保持雷达板在通电状态,输入1,回车,我们尝试驱动雷达

      1f4a3fb8-89dc-4e2c-b316-26d88a07cf1b-图片.png

      看到上述界面,表示驱动成功。

      如果没有看到上述界面,请检查是否符合下述现象和问题:

      1. 蓝色LED灯长亮,表示此时在配置模式,请将跳线帽调整至运行模式,LED闪烁表示在运行模式
      2. 出现timout count提示,表示雷达板没有数据发送到的电脑,此时应该检查跳线帽是否在WIFI模式,并确定连接了雷达。

      驱动成功后,我们可以打开一个新的终端,输入ros2 topic list,查看是否有scan话题。

      ros2 topic list
      

      bee5e2ae-7e04-4c2c-916f-51a802665b3a-图片.png

      ros2 topic hz /scan
      

      fb03ca7f-2216-425d-801e-dc4cb1c0d502-图片.png

      在RVIZ2中可视化点云数据

      此时打开rviz2,添加LaserScan,并修改fixedframe为laser_frame

      0bcc34e4-2f70-4305-92fd-de41ff5f5962-image.png

      修改Qos为Best Effort,接着就能看到雷达的点云数据了

      5fcda7c1-5c1d-4b2c-9e5e-a675512b0d75-image.png

      移动雷达,观察点云的变化

      四、手动建图测试

      使用Crtl+C,打断驱动的运行,接着输入2,建图测试
      cf891eb7-bd77-47a9-b575-7e1f9b85b393-图片.png

      等待片刻,你应该可以直接看到一张地图出现

      bfb9ce7b-9a65-4d32-9727-66e623d4a8d8-image.png

      你可以将FishBot放到地上,或者用手拿着fishbot,慢慢走一圈,观察地图的变化,也可以直接用键盘控制节点(需要根据上节教程个启动Agent)控制fishbot走一圈,看看能否得到完整的地图。
      2bc155ce-aa69-4187-b80d-02b2dc98479a-image.png

      再秀一下小鱼的大house

      8c480b0a-f162-4b2a-9870-6a5a8a2c56a3-image.png

      五、保存地图

      我们需要使用一个叫做nav2_map_server的工具。

      安装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对网络有所依赖,所以不要离路由太远完成建图。/home/fishros/下载/cgi-bin_mmwebwx-bin_webwxgetmsgimg_&MsgID=4363356762744434523&skey=@crypt_d03924ac_617b051763b5996ca572271c87d9dbcb&mmweb_appid=wx_webfilehelper.jpeg/home/fishros/下载/cgi-bin_mmwebwx-bin_webwxgetmsgimg_&MsgID=4363356762744434523&skey=@crypt_d03924ac_617b051763b5996ca572271c87d9dbcb&mmweb_appid=wx_webfilehelper.jpeg

      新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

      14613070791 4476226634 3 G 1 5 条回复 最后回复 回复 引用 2
      • 小鱼小 小鱼 在 中 引用了 这个主题
      • 14613070791
        哈哈哈 @小鱼
        最后由 编辑

        @小鱼 在 [FishBot教程] 6. 雷达驱动及建图测试 中说:

        如果没有看到上述界面,请检查是否符合下述现象和问题:

        蓝色LED灯长亮,表示此时在配置模式,请双击BOOT切换到运行模式,LED闪烁表示在配置模式
        一直停留在Prepare to Accept connect!, 表示雷达板并没有链接到电脑,此时确定雷达板是否可以ping通
        出现timout count: 1提示,表示雷达板没有数据发送到的电脑,此时应该检查跳线帽是否在WIFI模式,并确定连接了雷达。!!

        led 在闪烁,可以ping通 一直停留在 Prepare to Accept connect!是什么原因

        14613070791 1 条回复 最后回复 回复 引用 0
        • 14613070791
          哈哈哈 @1461307079
          最后由 编辑

          @1461307079 已解决,原因是使用虚拟机nat模式,改成桥接模式就可以。

          28267785952 1 条回复 最后回复 回复 引用 0
          • 24583480572
            乡愁
            最后由 编辑

            @小鱼 大佬,. 雷达固件烧录及配置正常,WIFI连的是手机热点,但是一直ping不通,是怎么回事啊
            d8bfc935-6642-4100-b7be-28512707aaa0-image.png
            8f5271c3-6430-48bc-8f4a-f25e6d29ffe0-image.png

            24583480572 1 条回复 最后回复 回复 引用 0
            • 24583480572
              乡愁 @2458348057
              最后由 编辑

              @2458348057 该问题已解决

              17623635511 1 条回复 最后回复 回复 引用 0
              • 14368936331
                DuskRain
                最后由 1436893633 编辑

                鱼哥,这个是什么情况,在使用雷达驱动的时候报错
                docker: Error response from daemon: driver failed programming external connectivity on endpoint inspiring_fermi (116f5be039d5e41f87f532271b1754d6a9d32fcfe46f4394461d29bc8404f753): Bind for 0.0.0.0:8889 failed: port is already allocated.

                小鱼小 1 条回复 最后回复 回复 引用 2
                • 小鱼小
                  小鱼 技术大佬 @1436893633
                  最后由 编辑

                  @1436893633 右上角直接搜

                  https://www.fishros.org.cn/forum/topic/1075/常见错误-bind-for-0-0-0-0-8889-failed-port-is-already-allocated

                  新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                  1 条回复 最后回复 回复 引用 0
                  • 17623635511
                    木桶饭团 @2458348057
                    最后由 编辑

                    @2458348057 怎么解决的啊,求教!

                    1 条回复 最后回复 回复 引用 0
                    • 26898764972
                      2689876497
                      最后由 编辑

                      @小鱼 在 [FishBot教程] 6. 雷达驱动及建图测试 中说:

                      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

                      鱼哥,我配置最新的固件,ping也是通的,但就是没有收到回复
                      09abe6ab-268d-4912-905a-465d7f753800-image.png
                      Ubuntu是22.04,装的也是ros22EE8AB6B4572E02C6F4DC33FC1938A2E.jpg

                      小鱼小 1 条回复 最后回复 回复 引用 2
                      • 小鱼小
                        小鱼 技术大佬 @2689876497
                        最后由 编辑

                        @2689876497 雷达转吗,是否插反了

                        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                        1 条回复 最后回复 回复 引用 0
                        • 小鱼小 小鱼 在 中 引用了 这个主题
                        • 9138696989
                          木阿
                          最后由 编辑

                          1c8033627474db71eebb2c7dc8ea9d3.png
                          能够ping通雷达,而且雷达也在旋转,蓝灯处于闪烁状态。但是一直没有雷达数据传输。e573df6b79f588798730ebd072812ea.jpg

                          小鱼小 1 条回复 最后回复 回复 引用 0
                          • 小鱼小
                            小鱼 技术大佬 @913869698
                            最后由 编辑

                            @913869698 什么网络环境,左边窗口是 ping 的吗

                            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                            9138696989 1 条回复 最后回复 回复 引用 0
                            • 9138696989
                              木阿 @小鱼
                              最后由 编辑

                              @小鱼 左边是ping的,有时候正常有时候就比较奇怪。但是都是一直在跳的。网络是主机(笔记本)Wi-Fi连接,虚拟机桥接。

                              小鱼小 1 条回复 最后回复 回复 引用 0
                              • 小鱼小
                                小鱼 技术大佬 @913869698
                                最后由 编辑

                                @913869698 有没有其他路由器换个试试

                                新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                                1 条回复 最后回复 回复 引用 0
                                • 12168985231
                                  Changer
                                  最后由 编辑

                                  5397c641-8587-4b6c-809d-285174196a35-img_v2_21646ccd-fcde-47f2-82d1-61db26a8b9dg.jpg
                                  使用镜像时提示这里错误

                                  ros2@ros2:~$ 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
                                  access control disabled, clients can connect from any host
                                  [sudo] ros2 的密码: 
                                  docker: Error response from daemon: driver failed programming external connectivity on endpoint hardcore_cartwright (f64473343a47c101fc1174e9c2cf93dd74a6c012c47ff7d5e1fd0221f2120738): Error starting userland proxy: listen tcp4 0.0.0.0:8889: bind: address already in use.
                                  
                                  小鱼小 Y 2 条回复 最后回复 回复 引用 0
                                  • 小鱼小
                                    小鱼 技术大佬 @1216898523
                                    最后由 编辑

                                    @1216898523 在 [FishBot教程] 6. 雷达驱动及建图测试 中说:

                                    isten tcp4 0.0.0.0:8889: bind: address already in use

                                    常见的端口占用,是不是开了多个

                                    新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                                    1 条回复 最后回复 回复 引用 1
                                    • 深海深
                                      深海
                                      最后由 编辑

                                      鱼哥,我的rviz里fixed_frame选项里没有laser_frame是为什么呀,之前的omed也没有,只有一个map![替代文字]2023-10-15 19-57-09屏幕截图.png

                                      小鱼小 1 条回复 最后回复 回复 引用 0
                                      • 小鱼小
                                        小鱼 技术大佬 @深海
                                        最后由 编辑

                                        @深海 没得选直接输入也行

                                        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                                        深海深 1 2 条回复 最后回复 回复 引用 0
                                        • 深海深
                                          深海 @小鱼
                                          最后由 编辑

                                          @小鱼 但是rviz里没有东西2023-10-15 20-37-36屏幕截图.png

                                          深海深 1 条回复 最后回复 回复 引用 0
                                          • 深海深
                                            深海 @深海
                                            最后由 编辑

                                            @深海 终端里会报这个
                                            2023-10-15 20-40-56屏幕截图.png

                                            小鱼小 1 条回复 最后回复 回复 引用 0
                                            • 第一个帖子
                                              最后一个帖子
                                            皖ICP备16016415号-7
                                            Powered by NodeBB | 鱼香ROS