ROS学习12-NVIDIA JETSON TX2 使用turtlebot3 gazebo模拟仿真机器人

ROS学习12-NVIDIA JETSON TX2 使用turtlebot3 gazebo模拟仿真机器人

这一节我们要使用turtlebot3搭建一个仿真的机器人及环境,这里是基于ROS1中的melodic版本
首先安装turtlebot3系列包

sudo apt install ros-melodic-turtlebot3*

slam(这里使用gmapping)

sudo apt install ros-melodic-gmapping

navigation

sudo apt install ros-melodic-navigation

安装成功后开始仿真
turtlrbot3 自主定位建图及局部规划
打开一个终端启动ros master

roscore

注意:打开新终端,运行turtlebot3相关包时,终端都需指定bot类型:即打开终端需执行:
export TURTLEBOT3_MODEL=burger

即每次打开一个终端输入以下命令,当然嫌麻烦的话可以写在~/.bashrc文件中

export TURTLEBOT3_MODEL=burger

启动turtlebot3 gazebo仿真环境
再打开一个终端输入roslaunch turtlebot3_gazebo后双击tab不全发现有一堆gazebo模型运行文件,随便选择一个测试

roslaunch turtlebot3_gazebo turtlebot3_world.launch

在这里插入图片描述
gazebo中显示turtlebot3及仿真环境
上面命令会启动gazebo的模型和一个小机器人,这个机器人是九个白点下面的那个黑色小车
在这里插入图片描述
启动rviz显示雷达数据
以下方式二选一,嫌麻烦选1,想了解rviz使用选2
1)直接打开写好的rviz配置文件:

roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch

2)自己配置rviz

  1. 终端输入rviz打开rviz界面
  2. 将global option 下的fixed frame改成odom,因为当前map坐标没有被创建,在执行slam的时候map坐标才会被创建
  3. 点击下方add,添加laserscan ,将topic 设定为scan此时会在界面中显示雷达点云,默认点云比较小,可以将size值改大一些,如0.05,点云数据会变大清晰。
  4. 点击add,添加tf,则显示出多个坐标系,点击frame,去掉除base_link与odom其余的坐标系

在这里插入图片描述
可以看到微弱的雷达点云
在这里插入图片描述
打开turtlebot3的键盘控制

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

按waxd等按键,观察rviz中base_link的移动是否一致
会发现gazebo中的小机器人位置会发生变化
在这里插入图片描述
运行gmapping

rosrun gmapping slam_gmapping

rviz下add map,topic选择/map,rviz显示slam创建地图
在这里插入图片描述
这个时候用前面打开的turtlebot3的键盘控制就可以看到地图慢慢被渲染出来了
在这里插入图片描述
在打开的按键控制终端下,按waxds按键,观察slam的创建地图的变换
关闭turtlebot3的键盘控制
打开move_base

roslaunch turtlebot3_navigation move_base.launch

rviz中add path,topic选择 global path
点击2d nav_goal,在rviz显示的地图上,用鼠标点击选择一个目标点,机器人自行规划路径运行至目标点
最后可以把新配置的rviz保存,这样下次不用再挨个add topic
在这里插入图片描述
保存创建的地图见下面参考的博客
参考链接:
https://blog.csdn.net/weixin_41469272/article/details/106139306

猜你喜欢

转载自blog.csdn.net/qq_40695642/article/details/108114467