implement Cartographer ROS for TurtleBots

时间:2024-04-14 11:03:41

github source: https://github.com/googlecartographer/cartographer_turtlebot

1. Building & Installation

Installation has been tested on Ubuntu 14.04 (Trusty) with ROS Indigo, but may also work on Ubuntu 16.04 (Xenial) with ROS Kinetic. We recommend using wstool and rosdep. For faster builds, we also recommend using Ninja.

# Install wstool and rosdep.
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build # Create a new workspace in 'catkin_ws'.
mkdir catkin_ws
cd catkin_ws
wstool init src # Merge the cartographer_turtlebot.rosinstall file and fetch code for dependencies.
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_turtlebot/master/cartographer_turtlebot.rosinstall
wstool update -t src # Install deb dependencies.
rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y # Build and install.
catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash

2. Running the demo

Now that Cartographer, Cartographer ROS, and Cartographer ROS’s TurtleBot integration are installed, download the example bag to a known location, in this case ~/Downloads, and use roslaunch to bring up the demo:

# Download the example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/turtlebot/cartographer_turtlebot_demo.bag # Launch the 2D LIDAR demo.
roslaunch cartographer_turtlebot demo_lidar_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag # Launch the 2D depth camera demo.
roslaunch cartographer_turtlebot demo_depth_camera_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag # Launch the 3D depth camera demo.
roslaunch cartographer_turtlebot demo_depth_camera_3d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag

The launch files will bring up roscore and rviz automatically.

Reference:

Cartographer ROS with TurtleBots at the Read the Docs site