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

    【FishBot四驱v2】9.0.7. FishBot-Nav2导航测试

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

      9.0.7. FishBot-Nav2导航测试

      你好,我是小鱼。本节是FishBot上手的最后一节,真机的导航测试。
      在开始之前你需要完成前面几章的内容,确保雷达以及里程计等信息的正确。如未完成请返回:https://fishros.org.cn/forum/topic/3466

      小鱼测试导航所用到的软硬件信息如下:

      • FishBot基础版*1台
      • 装有Ubuntu22.04和ROS2的Linux笔记本或台式机

      一、下载与编译导航代码

      打开终端,输入下面的指令。

      git clone https://github.com/fishros/fishbot_nav.git --depth=1
      cd fishbot_nav
      sudo apt install ros-$ROS_DISTRO-nav2-bringup ros-$ROS_DISTRO-joint-state-publisher ros-$ROS_DISTRO-robot-state-publisher
      colcon build
      

      二、配置地图

      在正式开始之前你需要将你之前建立好的地图导入进来,毕竟小鱼家的环境和你当前环境不同。

      将地图文件复制到fishbot_nav/src/fishbot_navigation2/maps文件夹下。
      接着修改launch文件fishbot_nav/src/fishbot_navigation2/launch/navigation2.launch.py

      import os
      ...
      
      def generate_launch_description():
          fishbot_navigation2_dir = get_package_share_directory('fishbot_navigation2')
          nav2_bringup_dir = get_package_share_directory('nav2_bringup')
      
          use_sim_time = LaunchConfiguration('use_sim_time', default='false')
          map_yaml_path = LaunchConfiguration('map',default=os.path.join(fishbot_navigation2_dir,'maps','你的地图名称.yaml'))
      ...
      

      修改好后,再次编译

      colcon build
      

      三、启动雷达驱动与底盘驱动和里程计转TF模块

      开两个终端,分别输入(后续该部分将集成至launch中则无需输入)

      MicroROS

      sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host registry.cn-hangzhou.aliyuncs.com/fishros/micro-ros-agent:humble udp4 --port 8888 -v4
      

      雷达驱动,运行后选2

      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
      

      bringup节点目前主要将odom话题转成tf并,并发布机器本体的tf广播

      cd fishbot_nav
      source install/setup.bash
      ros2 launch fishbot_bringup bringup_quick.launch.py
      

      五、导航测试

      接着我们就可以启动导航了

      source install/setup.bash
      ros2 launch fishbot_navigation2 navigation2.launch.py use_sim_time:=False
      

      cd974c01-2a03-4ffd-b020-9b89c4d52e2c-image.png

      启动后如上图所示,地图被正常加载出来了

      接着我们需要告诉nav2当前机器人在地图的哪个位置,点击Rviz2工具栏——2D Pose Estimate,然后在地图上点个目标点并选择方向

      接着你将看到全局代价地图以及被地代价地图以及激光在地图上都标记出来了

      786b085e-ba40-4199-b503-d784fdd176b9-image.png

      此时你可以使用rviz2的工具栏中的Nav2 Goal发送一个目标点,然后观察机器人运动即可。

      57bf4b02-cc2f-4908-93c0-51c52d6403e1-image.png

      六、总结

      本节是简单的介绍了如何使用FishBot进行导航,本节的结束意味着我们的开发教程的正式开始,接下来小鱼将从最基础的电路图讲起,带你一起从头实现机器人的导航。

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

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