Skip to main content

A toolkit for Google-Cartographer tuning.

Project description

Cartographer Tuner

Helper package for Cartographer tuning.

Installation

pip install cartographer-tuner

System Requirements

This package requires the following external tools to be installed (for some functionality):

  • cartographer - Google Cartographer SLAM library
  • cartographer_ros - ROS 2 integration for Cartographer
  • rviz - ROS2 integration for RViz

Dependecy installation:

sudo apt-get install \
    ros-${ROS_DISTRO}-cartographer-ros \
    ros-${ROS_DISTRO}-cartographer \
    ros-${ROS_DISTRO}-cartographer-rviz

PGM Map metrics

The tool implements metrics presented in 2D SLAM Quality Evaluation Methods.

Example

  • pgm-corner-count /path/tp/map.pgm
  • pgm-occupied-proportion /path/to/map.pgm
  • pgm-enclosed-areas /path/to/map.pgm

Map building

The tool may build 2D map out of rosbag file via cartographer.

Note: rosbag file must contain topics named according to cartographer requirements: /imu, /scan, etc

Example:

lua-to-pgm \
    --bag_filename=/data/bags/2011-01-28-06-37-23 \
    --configuration_directory=/opt/ros/humble/share/cartographer_ros/configuration_files \
    --configuration_basenames=mit_stata.lua \
    --map_filestem=/data/maps/2011-01-28-06-37-23_test 

Configuration evaluation

One can combine map building and evaluation in one step.

Example:

lua-pgm-metrics \
    --bag_filename=/data/bags/2011-01-28-06-37-23 \
    --config_dir=/opt/ros/humble/share/cartographer_ros/configuration_files \
    --config_basename=mit_stata.lua

Configuration optimization

One can optimize their configuration using metrics described above and one of available optimizators:

  • Grid Search:
    config-grid-search \
        --bag_filename=/data/bags/2011-01-28-06-37-23 \
        --config_dir=/opt/ros/humble/share/cartographer_ros/configuration_files \
        --config_basename=mit_stata.lua \
        --grid '{"map_builder.pose_graph.constraint_builder.ceres_scan_matcher_3d.translation_weight": [0.1, 1, 10, 100], "map_builder.pose_graph.constraint_builder.ceres_scan_matcher_3d.rotation_weight": [0.1, 1, 10, 100]}' \
        --metrics corner_count,enclosed_areas_count,occupied_proportion \
        --output=/data/ceres_weights_metrics.csv
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cartographer_tuner-0.1.2.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cartographer_tuner-0.1.2-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file cartographer_tuner-0.1.2.tar.gz.

File metadata

  • Download URL: cartographer_tuner-0.1.2.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.7 Linux/6.1.119-1-MANJARO

File hashes

Hashes for cartographer_tuner-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fbedd17f76b814c96e6227144b1fb8afdf2da03fecf6f35c095d998c80739295
MD5 c111f73641602a22b9a6a7a4b8241696
BLAKE2b-256 2a5660267c1bc6a33df26d31f00cb1bbb48dd62b9c193af69559a6ab7866e08b

See more details on using hashes here.

File details

Details for the file cartographer_tuner-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: cartographer_tuner-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.7 Linux/6.1.119-1-MANJARO

File hashes

Hashes for cartographer_tuner-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 752c3cebc70e7f3698a1da85b3a45ae5eb94945ebc8fb0feaeae6f769a43ae7a
MD5 efdd3556cebf9b268c824b631e935f4e
BLAKE2b-256 5f3bcf5e7024331a7f0a4557ca24fe2fd0d7e89bd15b997d7797f6bd83ac7f57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page