ubuntu版本为20.04
一、操作方法:
1、安装更新好ROS Noetic
参考文章:Ubuntu20.04安装ROS Noetic (一篇博客走遍天)_瑞雪大侠的博客-CSDN博客
2、安装依赖
sudo apt-get -y install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noeticrgbd-launch ros-noetic-depthimage-to-laserscan ros-noeticrosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserialserver ros-noetic-rosserial-client ros-noetic-rosserial-msgs rosnoetic-amcl ros-noetic-map-server ros-noetic-move-base rosnoetic-urdf ros-noetic-xacro ros-noetic-compressed-imagetransport ros-noetic-rqt-image-view ros-noetic-gmapping rosnoetic-navigation ros-noetic-interactive-markers
3、创建工作空间
mkdir -p ./turtlebot_sim/src
4、进入src目录中,加入功能包
进入以下三个网站,下载压缩包
GitHub - ROBOTIS-GIT/turtlebot3_msgs: ROS msgs package for TurtleBot3
GitHub - ROBOTIS-GIT/turtlebot3: ROS packages for Turtlebot3
GitHub - ROBOTIS-GIT/turtlebot3_simulations: Simulations for TurtleBot3
在移到虚拟机该目录下,解压得到三个文件
5、返回上一级目录,进行编译
catkin_make
6、编译成功后,开启乌龟世界
(1)开启roscore
roscore
(2)先进行初始化操作
source ./devel/setup.bash
export TURTLEBOT3_MODEL=burger
(3) 紧接着启动world
roslaunch turtlebot3_gazebo turtlebot3_world.launch
7、在该目录下再开一个终端,开启rviz
(1)初始化操作
source ./devel/setup.bash
export TURTLEBOT3_MODEL=burger
(2)打开rviz,根据gmapping算法
roslaunch turtlebot3_slam turtlebot3_slam.launch+空格+slam_methods:=gmapping
8、在该目录下再开一个终端,开启键盘
(1)初始化
source ./devel/setup.bash
export TURTLEBOT3_MODEL=burger
(2)打开键盘
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
9、跑完地图后保存地图
(1)保存地图,并记住路径
rosrun map_server map_saver -f ~/map
在此先说一下我遇到的问题:
①找不到这个功能包
解决办法:下载对应的软件包
(接着遇到第二个问题)
②无法定位软件包状态
解决办法:这里其实有两个问题,第一个是我的ubuntu版本是20.04,对应的ros版本应该是noetic
第二个问题是添加ros package源
echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ros-latest.list
添加完后
sudo apt update
(接着遇到第三个问题)
③文件尺寸不符(582230 != 793628)。您使用的镜像正在同步中? [IP: 172.31.247.35 8081]
解决办法:更改为中科大的下载源,并且网络更改为手机热点可以下载。之后进行后续操作
上述问题解决完后,得到建好的地图
记住路径为
/home/roslin/map.yaml
(2)关闭键盘节点,打开保存的地图
注意的是/home/roslin/map.yaml是上述的地图路径
roslaunch turtlebot3_navigation turtlebot3_navigation.launch+空格+map_file:=/home/roslin/map.yaml
(如果这里出现问题,可以把之前错误的地图删掉,再重新操作得到地图)
10、在rviz上控制乌龟
(1)然后点击rviz界面上面的 绿色箭头 [2d pose estimate] 将它放在当前机器人在地图中的真实位置并指向其前方,不需要很精准
(2)再点击rviz界面上面 红色箭头 [2D Nav Goal] 放在你想让机器人运动到的地方,之后机器人就会自己规划路线跑了
屏幕录制 2023-10-22 133306
二、遇到的问题
1、打开rviz时出现报错
可能是Noetic下载的版本出现问题,可以重新下载一遍Noetic。这里参考的是别的博主的文章:Ubuntu20.04安装ROS Noetic (一篇博客走遍天)_瑞雪大侠的博客-CSDN博客