ROS环境搭建及turtlebot3仿真

安装gazebo

1、获取安装脚本并安装

gazebosim处下载脚本
在这里插入图片描述
将脚本上传到ubuntu的~/Downloads目录后输入以下命令:

chmod +x ~/Downloads/gazebo.sh

输入以下命令安装:

gnome-terminal --working-directory="~" -e "./Downloads/gazebo.sh"

然后会弹出安装页面:
请添加图片描述安装完成后窗口会自动关闭

2、测试

在终端内输入gazebo命令,如果正常将会启动仿真界面
在这里插入图片描述

安装ros

添加ros源

在命令行内输入

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加密钥

在命令行内输入

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

输出以下信息表示添加成功
在这里插入图片描述
然后sudo apt-get update刷新软件源
在这里插入图片描述
可以看到ros源被成功添加

安装ROS Melodic

输入sudo apt-get install ros-melodic-desktop-full 安装(如果报错请看常见问题与解决方法)

初始化 rosdep

sudo rosdep init(如果报错请看常见问题与解决方法)
正常的话就会输出
在这里插入图片描述
然后输入rosdep update
在这里插入图片描述

设置环境

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

检验

输入roscore
正常的话会有以下输出
在这里插入图片描述

安装与测试turtlebot3

安装turtlebot3

sudo apt-get install ros-melodic-turtlebot3-*

//安装gmapping建图算法依赖

sudo apt-get install ros-melodic-gmapping 

//安装dwa局部路径规划算法

sudo apt-get install ros-melodic-dwa-local-planner

测试turtlebot3仿真

首先在gazebo仿真环境中启动turtlebot3小车

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

在这里插入图片描述
可以看到小车成功在仿真环境里出现,然后新建终端,输入如下命令安装键盘控制依赖

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-teleop-twist-keyboard

安装完毕后运行键盘控制节点,根据输出提示控制小车

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

在这里插入图片描述
请在该命令行窗口内输入移动指令,否则小车不会移动!!

SLAM构建地图

先关闭刚刚的键盘控制终端和仿真终端(保留运行roscore的命令行)

开启仿真环境

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_house.launch

开启后界面如图,是个带房子的仿真场景
在这里插入图片描述

2、开启SLAM功能,建图算法选择gmapping

此处需要新建一个终端后再输入以下命令

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

输入完毕执行后会出现如下界面:
在这里插入图片描述

启动键盘控制节点,控制小车在环境内转一圈,尽可能扫出完整封闭的地图

新建终端输入以下命令:

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

注意!!!所有的移动控制都要在该终端输入才有效!!
在这里插入图片描述
请按该提示输入键盘指令控制机器人移动
扫描完成图片如下:
在这里插入图片描述

保存地图

新建终端输入以下命令

rosrun map_server map_saver -f ~/map

提示如下
在这里插入图片描述

自主导航

关闭刚刚打开的所有命令行及仿真(保留运行roscore的命令行)

先加载保存好的地图

使用以下命令加载刚刚保存的地图

rosrun map_server map_server map.yaml

打开仿真环境,用可视化工具rviz显示出来

新建终端,输入以下命令:

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_house.launch

打开自主导航功能

新建终端,输入以下命令:

export TURTLEBOT3_MODEL=waffle_pi

roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/anima/map.yaml

PS:上面那句代码最后的路径要改成/home/{你的用户名}/map.yaml
打开后会发现仿真和扫描出来的地图中的小车位置不同:
在这里插入图片描述
在这里插入图片描述
此时需要使用2D Pose Estimate设定好小车起始地点和朝向
在这里插入图片描述
在这里插入图片描述
校准完成后可以使用2D Nav Goal设定小车目标地点,小车会规划好路径,自动运行到目标位置,实现自主导航功能。
在这里插入图片描述
在这里插入图片描述

常见问题与解决方案

问题:在vm的ubuntu里输入gazebo有可能会闪退
在这里插入图片描述
解决方案:
先安装openssh-server,然后在windows主机里安装MobaXterm并使用ssh连接ubuntu,然后在ssh里输入gazebo命令就能正常启动了。
在这里插入图片描述
问题:输入sudo apt-get install ros-melodic-desktop-full后报
The following packages have unmet dependencies:
ros-melodic-desktop-full : Depends: ros-melodic-simulators but it is not going to be installed
Depends: ros-melodic-urdf-sim-tutorial but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
在这里插入图片描述
解决办法

sudo apt install aptitude
sudo aptitude install ros-melodic-desktop-full

就能顺利安装了

问题:sudo rosdep 找不到命令
解决办法sudo apt-get install python-rosdep

致谢

https://blog.csdn.net/m0_51759289/article/details/123865295
https://www.guyuehome.com/10082
https://mp.weixin.qq.com/s/okwwmD_gVVdObSHfruI2VA

  • 9
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值