Ubuntu20.04下ros的gmapping仿真实验

前言:

最近因为实验室的项目,要开始学习gmapping,用这个来进行机器人建图。

现在先用turtlebot仿真机器人跑一个仿真实验。

找到一个教程:https://edu.youkuaiyun.com/course/play/19217/248755

配套博客:https://blog.youkuaiyun.com/lingchen2348/article/details/79503970

按这个博客来学习操作时,发现因为版本不同的问题,发现很多包的命名不同,导致仿真程序一直运行不起来,于是我写了这篇博客记录下异同,希望能有所帮助。

我的开发环境版本:

  • Ubuntu 20.04
  • ros-noetic

教程的开发环境版本:

  • Ubuntu 16.04
  • ros-kinetic

一、安装准备

1.首先,确定自己的ros版本,安装对应的包

运行roscore,从打印的信息找到版本信息:

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.9

 可以看到我的ros版本是noetic,那么就安装noetic版本的包:

sudo apt install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control
sudo apt-get install ros-noetic-turtlebot-*
sudo apt install ros-noetic-gmapping

二、仿真实验

1、启动Gazebo并加载机器人、环境模型

export TURTLEBOT3_MODEL=burger # 每次新打开这个终端,都需要运行一次
roslaunch turtlebot3_gazebo turtlebot3_world.launch

(参考博客

2、启动键盘遥控节点

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch --screen

此时,选中该命令窗口,按照提示,使用键盘上的a、w等键就可以看见机器人的Gazebo窗口中运动。

3、运行gmapping

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_slam turtlebot3_gmapping.launch 

4、开启rviz观察建图过程

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_navigation turtlebot3_navigation.launch

附录:

在按照网上博客跑roslaunch例程时,经常遇到这样的报错:

RLException: [....launch] is neither a launch file in package [....] nor is [....] a launch file name

很多时候是因为版本不同的问题,相关包的名字不一样,导致roslaunch找不到包而报错。

我的解决办法是通过关键词找到对应包的名称:

比如运行这一条时,找不到包:

roslaunch turtlebot_teleop keyboard_teleop.launch --screen

先找『turtlebot_teleop』对应的包,用关键词turtlebot进行搜索:

rospack list | grep turtlebot

在打印信息中找到最相近的一项:

turtlebot3_teleop /opt/ros/noetic/share/turtlebot3_teleop

 便可以得知用『turtlebot3_teleop』替换『turtlebot_teleop』。

然后找『keyboard_teleop.launch』对应的launch文件,用关键词teleop进行搜索:

find /opt/ros/noetic/  | grep teleop*.launch

在打印信息中找到最相近的一项:

/opt/ros/noetic/share/turtlebot3_teleop/launch/turtlebot3_teleop_key.launch

便可以得知用『turtlebot3_teleop_key.launch』替换『keyboard_teleop.launch』。

这里还能得到一个信息,launch文件所在的文件目录,会包含其对应包的名称:turtlebot3_teleop_key.launch -> turtlebot3_teleop

最终得到正确的运行指令:

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch --screen

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值