1.安装ROS
wget http://fishros.com/install -O fishros && bash fishros
2. 安装依赖
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
3.安装源码
mkdir ~/catkin_ws
cd ~/catkin_ws
mkdir src
cd src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws && catkin_make
4.安装仿真依赖
sudo apt-get install -y ros-melodic-navigation ros-melodic-teb-local-planner ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-gazebo-ros-control ros-melodic-ackermann-msgs ros-melodic-serial qt4-default ros-melodic-effort-controllers ros-melodic-joint-state-controller ros-melodic-tf2-ros ros-melodic-tf
5.将模型写入.bashrc文件中
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc
roslaunch turtlebot3_gazebo turtlebot3_house.launch
新建新终端并输入(如果想要使用Hector的话就把gampping改为hector)
sudo apt-get install ros-melodic-gmapping
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
注意,如果这里不显示地图而显示空白的话,输入:
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
6.安装Cartographer
wget http://fishros.com/install -O fishros && bash fishros
按照里面一键安装Cartographer教程走
7.启动gazebo和Rviz
首先关闭虚拟机加速3D图形,防止gazebo闪退
gazebo_ros_imu的bug出现报错后,将第二行代码换成第三行,二选一。
roslaunch turtlebot3_gazebo turtlebot3_house.launch
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer configuration_basename:=turtlebot3_lds_2d_gazebo.lua
如果RVIZ显示空白报错(PluginlibFactory: The plugin for class ‘moveit_rviz_plugin/MotionPlanning’ failed to load),输入:
sudo apt-get install ros-melodic-moveit-ros-visualization
打开键盘控制终端,开始建图
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
保存地图,此时根目录会出现两个文件map.pgm和map.yaml。
rosrun map_server map_saver -f ~/map
导航,launch文件里更改map.yaml的路径。最终实现导航。
roslaunch turtlebot3_navigation turtlebot3_navigation.launch