ridgeback_cartographer_navigation package from ridgeback_cartographer_navigation repo

ridgeback_cartographer_navigation

Package Summary

Tags No category tags.
Version 0.0.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ridgeback/ridgeback_cartographer_navigation.git
VCS Type git
VCS Version melodic-devel
Last Updated 2020-03-02
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Launch files and code for autonomous navigation of the Ridgeback using Google Cartographer

Additional Links

No additional links.

Maintainers

  • Tony Baltovski

Authors

  • Aditya Bhattacharjee

Ridgeback Cartographer Demo

This tutorial shows you how to use move_base with Google Cartographer to perform autonomous planning and movement with simultaneous localization and mapping (SLAM), on a simulated Ridgeback, or a factory-standard Ridgeback with two laser scanners publishing on the /front/scan and /rear/scan topics.

Developed by Google, Cartographer is an open-source library used for real-time simultaneous localization and mapping (SLAM). Using LIDAR data, it generates submaps which are later optimized and scan-matched to provide real-time loop closure. As a result, Cartographer is able to successfully close loops and generate a consistent map each time whereas Gmapping can occasionally fail to do so, resulting in unique maps generated after every iteration [1]. A variety of sensor configurations are supported allowing Cartographer to be used for a broad range of applications. In this demo, Cartographer uses odometry and data from two laser scanners to perform real-time SLAM with the Ridgeback.

To adapt this demo to your own Ridgeback, you may need to clone the ridgeback_cartographer_navigation repository, and modify the relevant parameters. To learn about move_base and the navigation stack, see the Navigation Tutorials. To learn more about Google Cartographer for ROS, see the Cartographer ROS documentation.

Instructions

  1. To get started with 2-D SLAM using Google Cartographer, clone this repository into your working directory:

    git clone http://github.com/ridgeback/ridgeback_cartographer_navigation.git

  2. Install the following ROS packages:

    rosdep install --from-paths src --ignore-src --rosdistro=$ROS_DISTRO -y

  3. Build the workspace and open two new terminal/tabs, source the workspace for each terminal/tab:

    source devel/setup.bash

  - Launch the Gazebo simulation with the *dual_sick_lasers* config:

    `roslaunch ridgeback_gazebo ridgeback_world.launch config:=dual_sick_lasers`

  - Launch the Cartographer node to begin SLAM:

    `roslaunch ridgeback_cartographer_navigation cartographer_demo.launch`

  - Launch Rviz:
    `roslaunch husky_viz view_robot.launch`
  1. In the Rviz visualizer, make sure the visualizers in the Navigation group are enabled.

  2. Use the 2D Nav Goal tool in the top toolbar to select a movement goal in the visualizer. Make sure to select an unoccupied (dark grey) or unexplored (light grey) location.

  3. As the robot moves, you should see the grey static map (map topic) grow. There might be discrete jumps in the map as the Cartographer algorithm attempts to localize the robot.

Ridgeback World Map

  1. To save the generated map, you can run the map_saver utility:

    rosrun map_server map_saver -f <filename>

Tuning Cartographer

To tune Cartographer for low latency SLAM, edit the ridgeback.lua configuration file found in the ridgeback_cartographer_navigation/config directory.

For more information on tuning, click here

[1] T. Coroiu and O. Hinton, "A Platform for Indoor Localisation, Mapping, and Data Collection using an Autonomous Vehicle," M.S. thesis, Lund Univ., Lund, Sweden, 2017.

CHANGELOG

Changelog for package ridgeback_cartographer_navigation

0.0.1 (2020-02-24)

  • Added ridgeback_navigation as run dep.
  • Updated maintainer.
  • Removed rviz to use ridgeback_viz.
  • Merge pull request #3 from ljazzal/master Updated dependencies to use cartographer_ros pkg instead of building from source
  • minor changes to carto params, install instruction
  • changed tracking frame back to imu_link
  • updated cartographer demo to run with cartographer_ros
  • added cartographer_ros as run_depend
  • removed unused file
  • added rviz config to launch
  • config changes
  • Update to use deb release of cartographer_ros
  • Added generated map and brief description of Cartographer
  • Added config and launch files to use Cartographer on the Ridgeback
  • Contributors: Aditya Bhattacharjee, Tony Baltovski, ljazzal

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/cartographer_demo.launch
    • Copyright 2016 The Cartographer Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ridgeback_cartographer_navigation at Robotics Stack Exchange