【Ubuntu20.04安装turtlebot3并运行slam例程仿真】
个人学习记录,参照视频链接:Ubuntu20.04安装turtlebot3并运行slam例程仿真
进行下面操作需要先准备下载好turtlebot3的包
我是在github上下载的,包里面有turtlebot3-master和turtlebot3_simulations


打开终端输入:
mkdir catkin_ws 创建工作空间
cd catkin_ws 进入创建的工作空间
mkdir src 创建src文件(source)
将准备好的两个文件粘贴到src文件下
catkin_make 粘贴完后在编译一下
编译之后工作空间新建了build和devel
报错:好像是缺少 turtlebot3_msgs 功能包

问题解决:(在turtlebot3-master下添加turtlebot3_msgs 功能包)
参考链接:ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
重新编译后结果:

安装turtlebot3仿真的其他功能包:
sudo apt install ros-noetic-gazebo-ros-pkgs
sudo apt install ros-noetic-gazebo-ros-control
sudo apt-get install ros-noetic-rviz
sudo apt-get install ros-noetic-map-server
sudo apt install ros-noetic-gmapping
sudo apt install ros-noetic-navigation
sudo apt install ros-noetic-move-base
远行turtlebot3_world.launch可以打开仿真环境

首先添加模型声明,设置机器人模型的种类
echo "export TURTLEBOT3_MODEL=waffle" >> ~/.bashrc //添加模型申明,设定打开后模型的样子
echo "source ~/工作空间名/devel/setup.bash" >> ~/.bashrc //对环境变量进行设置
启动仿真环境的launch文件:roslaunch turtlebot3_gazebo turtlebot3_world.launch

roslaunch + 功能包名 + launch文件名
启动turtlebot3_world报错:

排查了一推问题后(路径、环境变量等)最后换了个turtlebot3_simulations-master的包就好

另起终端启动键盘控制的lauuch文件turtlebot3_teleop_key.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch


此时使用wasd键可以控制机器人运动,空格停止
然后另起终端启动slam建图功能turtlebot3_slam.launch
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

用键盘控制机器人运动采集完整的环境信息

建好的地图保存
rosrun map_server map_saver -f ~/map //保存地图

保存地图之后在主目录生成了两个地图文件,pgm和yaml后缀的

读取地图,并在地图中导航
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml //读取地图

2D位置修正(2D Pose Estimate),将rviz中机器人的位置放到与gazebo机器人位置一致

2D目标点选取(2D Nav Goal),随便点一个地图上的点,机器人就可以自动导航了

更多推荐


所有评论(0)