Gmapping 安装
ros 的相关支持
sudo apt install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control
gmapping 包(用于构建地图)
sudo apt install ros-noetic-gmapping
安装地图服务包(用于保存和读取地图)
sudo apt install ros-noetic-map-server
安装navigation包(用于定位以及路径规划)
sudo apt install ros-noetic-navigation
turtlebot3 仿真
安装依赖
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan ros-noetic-rosserial-arduino ros-noetic-rosserial-python ros-noetic-rosserial-server ros-noetic-rosserial-client ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro ros-noetic-compressed-image-transport ros-noetic-rqt-image-view ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers rviz
创建项目
mkdir catkin_turtlebot3
cd catkin_turtlebot3
mkdir src
cd src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ..
编译
catkin_make
环境变量设置
echo "source ~/catkin_turtlebot3/devel/setup.bash" >> ~/.bashrc
// 注意:这里需要根据你的环境设置放入变量
可以检查一下
echo $ROS_PACKAGE_PATH
建图
gazebo
roslaunch turtlebot3_gazebo turtlebot3_world.launch
slam 建图 + rviz
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
键盘控制 (w a s d x)
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
保存地图
rosrun map_server map_saver -f ~/map
// 注意:-f
后面的位置参数可自定义
// 注意:地图信息包含 map.pgn:地图图片
;map.yaml:地图信
导航
Gazabo
roslaunch turtlebot3_gazebo turtlebot3_world.launch
读图 + 导航(2D Nav Goal)