30分钟速通ROS联合Webots仿真实战
创始人
2024-12-28 17:37:03
0

写在前面:

本文是ROS联合Webots仿真实战教程,不包含ROS环境安装配置教程,ROS环境安装配置教程可以参考1.2.4 安装 ROS · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
另本文所用版本如下:

ubuntu版本:20.04 webots版本:2021a` ros版本:noetic 

一、 前期准备

1.安装ubuntu,版本:20.04

2.配置ros环境,版本:noetic

二、 创建工作空间

1. 创建工作空间

mkdir -p ~/cankin_ws/src 

之后进入src文件夹下面,将其初始化为ROS工作空间:

cd ~/cankin_ws/src catkin_init_workspace 

2.编译工作空间

编译操作需要在工作空间的根目录下执行,所以我们需要cd到工作空间的根目录下面对其进行编译

cd ..  catkin_make 

如果没有报错的话,就说明安装成功了。之后在我们的src目录下面就会生成两个文件夹build和devel。build文件里面是编译过程当中产生的中间文件;devel里面是编译过程当中产生的一些可执行文件和一些环境变量设置的脚本。

3.设置环境变量

记事本打开配置文件

sudo gedit ~/.bashrc 

在配置文件最末尾加上:

source /opt/ros/noetic/setup.bash source ~/catkin_ws/devel/setup.bash export WEBOTS_HOME=/usr/local/webots export ROS_HOSTNAME=localhost export ROS_MASTER_URI=http://localhost:11311 

然后点击右上角保存,最后退出。使用以下命令使其在当前终端中生效:

source ~/.bashrc 

4.检查环境变量

新打开一个终端,输入以下命令检查环境变量:

echo $ROS_PACKAGE_PATH 

三、ROS联合webots

1. 下载webots2021a(随便找个地方放就好了)

github
webots2021a下载链接

image.png
使用下面命令解压安装软件

dpkg -i webots_2021a_amd64.deb 

2.安装webots_ros

sudo apt install ros-noetic-webots-ros 

安装完后需要再去GitHub下一个案例包webots_ros
这里webots2021a对应的是4.0.1版本。下载链接

image.png
将下载的案例包放到之前创建的工作空间catkin_ws/src
此时的目录结果应该如下图所示:

image.pngimage.png

3. 测试

完成上述步骤后,再工作空间根目录,即catkin_ws下打开一个终端,执行下面命令

catkin_make roslaunch keyboard_teleop.launch 

一切顺利的话,你将看到下面的效果,可以使用键盘↑ ↓ ← →控制小车移动
image.png

注意:上图中,我执行的命令是roslaunch webots_ros keyboard_teleop.launch是因为我的src下有两个目录webots_ros和webots_demo,所以需要指定是哪个目录,webots_demo目录我们后面会讲

四、建图和导航

1. 准备工作

1.1 源神,启动!

建图和导航的源码地址:
https://github.com/JackyMao1999/webots_demo?tab=readme-ov-file

下载解压放到工作空间catkin_ws/src下,此时的目录结果应该如下图所示:

image.pngimage.png

1.2 安装功能包

然后参考文档说明安装相关的功能包即可。

⚠️注意:源码中包含了多种建图算法和导航算法的案例,其中cartographer建图算法相关功能包的安装比较麻烦,本人也没有安装成功。所以建议跳过安装cartographer功能包的步骤,使用其他建图算法,本人使用的是gmapping实时建图算法和teb导航算法。

image.png

1.3 更换webots场景

将自己的webots场景文件替换原来的webots_map.wbt(替换后命名改成webots_map.wbt)。目录见下图。
image.png
完成上面步骤后就可以开始建图和导航了。

2. 建图

使用gmapping算法作为建图算法,teb算法作为导航算法进行导航建图。使用其他算法同理。

新建两个终端分别运行下面命令

roslaunch webots_demo slam_teb_gmapping.launch rosrun webots_demo velocity_keyboard_v2 

使用键盘 ↑ ↓ ← →控制机器人小车移动扫描整个地图,从而建立一张地图。扫描过程比较吃电脑配置,需要耐心一点。这里原理是激光雷达扫描,感兴趣的可以了解一下。

download.png

扫描完毕后运行下面命令保存地图。

rosrun map_server map_saver -f map 

地图文件会保存到根目录下,将其复制粘贴到下图中的目录下。
image.png
完成上面步骤就可以关掉上面两个终端了

3. 导航

在已有地图上导航,使用amcl定位算法,base算法作为导航算法进行已知地图导航。

新建两个终端分别运行下面命令

roslaunch webots_demo amcl_demo.launch rosrun webots_demo demo_2dnav_move 

运行完后可以看到如下场景:
在这里插入图片描述

图片来源:https://blog.csdn.net/xiaokai1999/article/details/112596640

设置目标点,运行结果如下:
在这里插入图片描述

图片来源:https://blog.csdn.net/xiaokai1999/article/details/112596640

参考文献:

[1] ROS联合webots实战案例目录_webots和ros noetic 联合-CSDN博客
[2] ROS联合webots实战案例(五)导航功能包入门2_ros navigation区域限定-CSDN博客
[3] ROS联合webots实战案例(一)安装配置webots_webots python ros-CSDN博客
[4] ROS工作空间搭建和功能包创建与编译_ros工作空间编译-CSDN博客

相关内容

热门资讯

让我来分享经验!花城棋舍辅助,... 让我来分享经验!花城棋舍辅助,淘宝买wepoker透视有用吗,科技教程(有挂规律)-哔哩哔哩;花城棋...
指导大家!hhpoker辅助挂... 指导大家!hhpoker辅助挂,wepoker私人局可以透视,总是有挂(有挂头条)1、下载好脚本下载...
实测教程!上饶辅助设备出租,w... 实测教程!上饶辅助设备出租,wepoker公共底牌,大神讲解(有挂解密)-哔哩哔哩;上饶辅助设备出租...
发现一款!菠萝辅助器免费版的特... 发现一款!菠萝辅助器免费版的特点,wepoker透视有吗,其实是有挂(真实有挂)1、进入游戏-大厅左...
带你了解!麻友圈插件,wpk俱... 【福星临门,好运相随】;带你了解!麻友圈插件,wpk俱乐部怎么作弊,可靠教程(真是有挂)-哔哩哔哩;...
玩家必备教程!德州透视hhpo... 玩家必备教程!德州透视hhpoker,wpk透视是真的假的,一直存在有挂(有挂详情)1、超多福利:超...
热点讨论!广东雀神智能插件安卓... 热点讨论!广东雀神智能插件安卓包,wepoker永久免费脚本,靠谱教程(有挂方针)-哔哩哔哩是一款可...
教程辅助!来玩德州破解器,德州... 教程辅助!来玩德州破解器,德州局透视脚本下载安装最新版本,真是有挂(有挂教学)1)免费钻石:进一步探...
每日必看教程!拱趴辅助,菠萝辅... 每日必看教程!拱趴辅助,菠萝辅助器免费版的功能介绍,技巧教程(有挂猫腻)-哔哩哔哩;每日必看教程!拱...
记者揭秘!xpoker辅助控制... 记者揭秘!xpoker辅助控制,wepoker买脚本靠谱吗,真是真的是有挂(详细教程)1、操作简单,...