基于ubuntu18.04和ros melodic的Turtlebot3 仿真

一、TurtleBot3 简介

        TurtleBot3 是一个小型,低成本,完全可编程,基于 ROS 的移动机器人。它旨在用于教育,研究,产品原型和爱好应用的目的。TurtleBot3 的目标是大幅降低平台的尺寸和价格,而不会牺牲性能,功能和质量。由于提供了其他选项,如底盘,计算机和传感器,TurtleBot3 可以通过各种方式进行定制。TurtleBot3 应用 了SBC(单板计算机),深度传感器和 3D 打印的最新技术进步等技术。

二、安装 TurtleBot3 仿真

 1.安装依赖

sudo apt-get install ros-melodic-joy ros-melodic-teleop-twist-joy ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan ros-melodic-rosserial-arduino ros-melodic-rosserial-python ros-melodic-rosserial-server ros-melodic-rosserial-client ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro  ros-melodic-compressed-image-transport ros-melodic-rqt-image-view ros-melodic-gmapping ros-melodic-navigation  ros-melodic-interactive-markers rviz

2.下载资源包

mkdir -p ~/turtlebot3_ws/src/
cd ~/turtlebot3_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git

turtlebot3.ziphttps://download.csdn.net/download/m0_56451176/86400766
turtlebot3_simulations.ziphttps://download.csdn.net/download/m0_56451176/86400770turtlebot3_msgs.ziphttps://download.csdn.net/download/m0_56451176/86400768

注: 此次可能会出现:

fatal: unable to access 'https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git/': Could not resolve host: github.com

这是网络问题,可以切换成手机热点试试,可以多切换几次,多试试。

3.编译

cd ~/turtlebot3_ws
catkin_make

三、启动 TurtleBot3 仿真

1.先将 TurtleBot3 导入,再启动仿真环境(rviz)

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_fake turtlebot3_fake.launch

2.控制TurtleBot3移动

TurtleBot3 仿真节点不依赖实体机器人,也可以在 rviz 里通过 teleop 节点进行控制。

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

3.加载模型(gazebo )

第一次使用 gazebo 需要比较长的时间加载模型,也可以手动加载模型,第一次使用 Turtlebot3 的 gazebo 仿真,需要把 Turtlebot3 的模型文件,复制到 gazebo 的模型目录里。

mkdir -p ~/.gazebo/models/
cp -r ~/turtlebot3_simulations路径/turtlebot3_simulations/turtlebot3_gazebo/worlds ~/.gazebo/models/

例如我的

mkdir -p ~/.gazebo/models/
cp -r ~/turtlebot3_ws/scr/turtlebot3_simulations/turtlebot3_gazebo/worlds ~/.gazebo/models/

4.设置模型参数

设置模型参数,指定使用那种机器人型号: burger 或者 waffle

export TURTLEBOT3_MODEL=burger

 5.启动世界地图

启动世界地图,默认的空白地图环境中加载 Turtlebot3 机器人

source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

注:如果是虚拟机装的ubuntu,可能会报错:VMware: vmw_ioctl_command error 无效的参数

解决方法:关闭虚拟机的加速3D

 

  注:该方法虽然解决了gazebo启动闪退问题,但是如果我们在虚拟机中需要使用GPU图形加速功能,别忘了重新打开该处设置。

四、TurtleBot3 仿真: 复杂地图

1. (1)启动更复杂些的地图

source turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_world.launch

1.(2)或者房间地图

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_house.launch

2.用键盘控制 turtlebot3

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

3. 启动仿真

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch

4. 启动 RVIZ 可视化

export TURTLEBOT3_MODEL=burger
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

五、TurtleBot3 仿真:SLAM

1. 安装 turtlebot3 相关的 ROS 包

sudo apt-get install ros-melodic-turtlebot*

或者:

sudo apt-get install ros-melodic-turtlebot3 ros-melodic-turtlebot3-description
ros-melodic-turtlebot3-gazebo ros-melodic-turtlebot3-msgs
ros-melodic-turtlebot3-slam ros-melodic-turtlebot3-teleop

2. 目前激光 SLAM 的建图方法有很多中,turtlebot3 支持 gmapping、cartographer、hector、 karto、frontier_exploration,ROS Melodic 版本官方的软件源里只有 karto。用户可以根据 需要安装。

sudo apt-get install ros-melodic-slam-karto

3. 建图

(1)每个新终端都要设置环境变量,也可以是burger,waffle,waffle_pi

export TURTLEBOT3_MODEL=burger 

(2)加载环境

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_world.launch

也可选择其他环境,或自己搭环境 

(3) 建图时要切换到这个终端,用键盘控制turtlebot运动

source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

 (4)创建栅格地图 

source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=karto

  

4. 保存地图:地图建完以后将地图保存下来:

mkdir -p ~/housemap
rosrun map_server map_saver -f ~/housemap/housemap

5. 导航。利用刚才构建的地图进行 turtlebot 的自主导航仿真实验:

source turtlebot3_ws/devel/setup.bash 
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_house.launch
source turtlebot3_ws/devel/setup.bash 
roslaunch turtlebot3_navigation turtlebot3_navigation.launch
map_file:=/home/zhang/housemap/housemap.yaml

鼠标选择工具栏中的“2D Nav Goal”,在地图上任意设置一个目标,turtlebot3会自动规划路径移动到目标位置

### 安装准备 对于Ubuntu 18.04而言,适合安装的ROS版本为Melodic Morenia[^2]。为了确保顺利安装,在开始之前确认操作系统已经更新至最新状态。 ### 配置Ubuntu软件库 为了让系统能够识别并下载来自packages.ros.org服务器上的文件,需设置源列表。打开终端执行如下命令: ```bash sudo sh -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 接着添加密钥以便验证所下载的数据完整性: ```bash sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` 如果遇到连接问题可以尝试备用方案来获取密钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv F42ED6FBAB17C654 ``` 以上操作完成后应刷新本地索引使更改生效: ```bash sudo apt update ``` ### 开始安装ROS Melodic 推荐安装`desktop-full`版本,它包含了几乎所有的功能模块以及工具集,非常适合初学者使用开发环境搭建[^4]。 ```bash sudo apt install ros-melodic-desktop-full ``` 此过程可能耗时较长取决于网络状况个人电脑性能,请耐心等待直至完成。 ### 初始化 `rosdep` 用于简化依赖项管理,首次使用前需要初始化: ```bash sudo rosdep init rosdep update ``` ### 设置环境变量 每次新开终端都需要重新加载这些配置才能正常使用ROS命令,建议将其加入到`.bashrc`文件中实现自动加载: ```bash echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` ### 测试安装成果 通过运行一个小海龟模拟器实例检验是否成功安装[^1]: ```bash # 启动gazebo仿真环境中的turtlesim节点 roscore & sleep 2 rosrun turtlesim turtlesim_node ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dtge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值