JackyMao1999 / webots_demo

ROS联合webots实战案例
59 stars 9 forks source link

中文说明

必须注意: Webots版本为R2021a Ubuntu版本为20.04

中文教程地址ROS联合webots实战案例目录

各文件功能介绍

launch文件 功能
amcl_demo.launch 使用amcl定位算法,base算法作为导航算法进行已知地图导航
slam_base_cartographer.launch cartographer算法作为实时建图算法,base算法作为导航算法进行导航建图
slam_base_gmapping.launch gmapping算法作为实时建图算法,base算法作为导航算法进行导航建图
slam_teb_cartographer.launch cartographer算法作为实时建图算法,teb算法作为导航算法进行导航建图
slam_teb_gmapping.launch gmapping算法作为实时建图算法,teb算法作为导航算法进行导航建图
slam_with_gmapping.launch gmapping算法作为实时建图算法,通过键盘控制机器人行走建立地图
webots.launch 启动webots仿真软件
src文件 功能
demo_2dnav_move.cpp 用于导航的底层控制代码
robot_broadcaster_cartographer.cpp 机器人在cartographer建图算法下专用启动程序
robot_broadcaster_gmapping.cpp 机器人在gmapping建图算法下专用启动程序
robot_set_goals.cpp 机器人通过程序设定目标点
velocity_joy.cpp 通过手柄控制机器人移动
velocity_keyboard_v2.cpp 通过webots控制机器人移动
velocity_keyboard_v3.cpp 通过webots控制机器人移动,将demo_2dnav_move.cpp合成进来从而实现导航的底层控制代码

操作方法

  1. 安装必备功能包
    • 安装gmapping功能包
      $ sudo apt install ros-noetic-gmapping
    • 安装amcl定位功能包
      $ sudo apt-get install ros-noetic-amcl

参照这篇文章中的cartographer安装方法:Ubuntu 18.04 安装cartographer

  1. 命令行进入catkin_ws/src
    • 注意:这边会优先下载Noetic-Webots-R2021a版本
      $ cd catkin_ws/src
      $ git clone https://github.com/JackyMao1999/webots_demo.git
  2. 编译
    $ catkin_make
  3. 运行
    $ roslaunch webots_demo amcl_demo.launch
    $ rosrun  webots_demo demo_2dnav_move

    效果

    1

结语 本文也是基于笔者的学习和使用经验总结的,主观性较强,如果有哪些不对的地方或者不明白的地方,欢迎评论区留言交流~ 这个教程能手把手带领大家解决webots和ROS联合仿真的问题,我也是摸爬滚打完成的,希望能帮助到大家。

✌Bye