• ROS机器人应用(6)—— 激光雷达建图和导航


    一、激光雷达建图

    1. 小车开机,连接WIFI,密码:dongguan。
    2. 启动激光建图(服务端)
    ssh -Y wheeltec@192.168.0.100
    roslaunch turn_on_wheeltec_robot mapping.launch 
    
    • 1
    • 2

    在这里插入图片描述

    1. 查看建图效果(客户端)
    rviz
    
    • 1

    可以使用键盘控制、APP遥控、PS2遥控、航模遥控进行控制小车运动。
    在这里插入图片描述

    在这里插入图片描述

    1. 建图完成,保存地图 (服务端)
      保存方法1:
    # 一键保存
    roslaunch turn_on_wheeltec_robot map_saver.launch 
    
    • 1
    • 2

    在这里插入图片描述

    保存方法2:

    # 打开地图路径
    cd /home/wheeltec/wheeltec_robot/src/turn_on_wheeltec_robot/map
    # 保存地图
    rosrun map_server map_saver -f 地图名
    
    • 1
    • 2
    • 3
    • 4
    1. 文件挂载,查看地图
    # 文件挂载
    sudo mount -t nfs 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt
    
    • 1
    • 2

    在这里插入图片描述

    注:地图文件可以使用PhotoShop进行编辑

    建图
    mapping.launch
    小车初始化节点:turn_on_wheeltec_robot.launch
    雷达节点:rplidar.launch
    gmapping建图节点:algorithm_gmapping.launch

    二、建图算法切换及其优缺点

    • 连接小车wifi

    • 文件挂载后,建图算法的切换

    sudo mount -t nfs 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt
    
    • 1

    mapping.launch 修改mapping_model 的default值
    在这里插入图片描述

    • 并进行SSH登录, 并启动建图算法。
    ssh -Y wheeltec@192.168.0.100
    
    • 1
    • gmapping
      目前比较常用的建图算法。构建大地图时所需内存和计算量都会增加,因此
      不适合构建大场景地图。因为没有回环检测,所以在回环闭合时可能会造成地图错位。
      在这里插入图片描述
    • hector
      不需要里程计,人抱着小车走也可以建图。效果不如gmapping,适合因条
      件限制没有里程计的机器人。
      在这里插入图片描述

    建图时转向速度尽量缓慢,建议0.1rad/s 以下。

    • cartographer
      直接订阅odom,不需要robot_pose_ekf。其tf 发布频率200HZ 大于
      robot_pose_ekf 的20HZ,robot_pose_ekf 发布的tf 会被覆盖。
      在这里插入图片描述
    • karto
      与gmapping 差不多,更适合用于创建大地图,同时其地图刷新比较慢。
      在这里插入图片描述

    三、自主导航

    1.小车开机,连接WIFI,密码:dongguan

    2.SSH远程登录:ssh wheeltec@192.168.0.100,密码:dongguan

    3.把小车放置在地图起点/rviz手动设置起点

    4.运行导航(服务端):
    roslaunch turn_on_wheeltec_robot navigation.launch

    5.运行rviz(客户端):
    rviz

    6.使用rviz的2DNavGoal功能

    小车不运动同时没有路径规划显示:检查.bashrc文件ip地址()


    额外补充和launch文件讲解

    1.地图文件

    2.手动发布目标点
    rostopic pub /move_base_simple/goal
    四元数
    x = ax * sin(theta/2)
    y = ay * sin(theta/2)
    z = 1* sin(180°/2) =1
    w = cos(180°/2) =0

    3.navigation.launch


    整体导航工作原理与参数配置讲解
    navigation_stack

    四、多点导航

    1.小车开机,连接WIFI,密码:dongguan

    2.SSH远程登录:ssh wheeltec@192.168.0.100,密码:dongguan

    3.把小车放置在地图起点或者rviz手动设置起点

    4.运行导航(服务端):
    roslaunch turn_on_wheeltec_robot navigation.launch

    5.运行rviz(客户端):
    rviz

    6.rviz添加path_ponit(MarkerArray数据格式)话题订阅,进行可视化

    7.使用rviz的Publish Point功能

  • 相关阅读:
    c++ SQLite 特别好用的库使用实例-创建数据库(1)
    linux查看进程对应的线程(数)
    sleep() 方法和 wait() 方法对比
    Mac清理电脑垃圾工具CleanMyMac X4.15中文免费版下载
    python django 小程序图书借阅源码
    CAD进阶练习(二)
    如何做到安全上网
    计算机毕业设计Java京津冀地区产学研项目管理信息系统2021(源码+系统+mysql数据库+lw文档)
    儿童护眼灯什么光源好?LED光源的儿童护眼灯品牌推荐
    Linux内存管理(十):备选区域初始化
  • 原文地址:https://blog.csdn.net/zyw2002/article/details/127343308