Skip to main content

The xrobo_calibration project provides a robust framework for calibrating robotic systems. It supports tools and methodologies for determining transformations between key components, such as cameras, robotic arms, and mobile base using calibration patterns like chessboards or markers.

Project description

xrobo_calibration

The xrobo_calibration project provides a robust framework for calibrating robotic systems. It supports tools and methodologies for determining transformations between key components, such as cameras, robotic arms, and mobile base using calibration patterns like chessboards or markers.

Features

  • Camera calibration (xrobot_camera_calib)
  • Robotic arm calibration (xrobot_arm_calib)
  • Mobile base calibration (xrobot_mobile_base_calib)

Installation

pip install xrobo_calibration

Usage

from xrobo_calibration import calibrate

calibrate(robot_model, sensor_data)

License

This project is licensed under the MIT License.

Tutorials and Visualizations

The notebooks/ directory contains Jupyter notebooks for tutorials and visualizations. These notebooks demonstrate how to use the package and provide tools to visualize calibration results.

Advanced Tutorials

In addition to the basic package tutorials, the notebooks/detailed_tutorials/ folder contains advanced topics, including:

  • 3D Transformation Basics: Understand the mathematics and visualization of transformations.
  • Kinematics Primer: Learn forward and inverse kinematics for robotic arms.
  • Calibration Algorithms: Dive into advanced calibration techniques like least squares.

Running Tutorials

  1. Install JupyterLab:
    pip install jupyterlab
    
  2. Launch the notebooks
jupyter-lab notebooks/detailed_tutorials/

Benefits

  • Keeps basic tutorials clean and focused on package usage.
  • Provides a dedicated space for users interested in deeper learning or advanced techniques.
  • Offers a foundation for community contributions to advanced topics.

Let me know if you need help creating any specific tutorial content!

Running Notebooks

  1. Install JupyterLab:
    pip install jupyterlab
    
  2. Launch the notebooks:
    jupyter-lab notebooks/
    

Sample Data

The data/ folder contains sample images, point clouds, and configuration files for use with tutorials and visualizations.

Contents

  • images/: Sample images for camera calibration (e.g., chessboard images).
  • point_clouds/: Example .pcd files for 3D object alignment.
  • configs/: Configuration files for cameras, robotic arms, and mobile bases.
  • mobile_base/: Odometry logs and wheel configuration files for mobile base calibration.

Accessing the Data

You can load the data programmatically using helper functions:

from xrobot_calibration.common.data_utils import get_sample_data_path
path = get_sample_data_path() + "/images/chessboard_01.jpg"


## Directory Structure

xrobot_calibration/ ├── xrobot_calibration/ # Main package directory │ ├── camera_calib/ # Submodule for camera calibration │ │ ├── init.py │ │ ├── calibration.py # High-level interfaces │ │ ├── camera_calibrator.py # CameraCalibrator class │ │ ├── intrinsic.py # Intrinsic calibration logic and load/save functions │ │ ├── extrinsic.py # Extrinsic calibration logic and load/save functions │ │ ├── file_io.py # Shared file I/O for saving/loading │ │ ├── utils.py # Camera-specific utilities │ │ ├── pattern_detection.py # Specific file for pattern detectio │ │ └── ... │ ├── arm_calib/ # Submodule for robotic arm calibration │ │ ├── init.py │ │ ├── calibration.py │ │ ├── utils.py # Arm-specific utilities │ │ └── ... │ ├── mobile_base_calib/ # Submodule for mobile base calibration │ │ ├── init.py │ │ ├── calibration.py │ │ ├── utils.py # Mobile-base-specific utilities │ │ └── ... │ ├── init.py # Top-level init for the package │ ├── common/ # Shared utility module │ │ ├── init.py │ │ ├── math_utils.py # Math-related utilities │ │ ├── io_utils.py # I/O-related utilities │ │ ├── transform_utils.py # Transformation-related utilities │ │ └── ... │ └── ... ├── notebooks/ # Jupyter notebooks for tutorials and visualization │ ├── camera_calibration_demo.ipynb │ ├── arm_calibration_demo.ipynb │ ├── mobile_base_calibration_demo.ipynb │ └── visualization_tools.ipynb ├── data/ # Sample data folder │ ├── images/ # Sample images for camera calibration │ │ ├── chessboard_01.jpg │ │ ├── chessboard_02.jpg │ │ └── ... │ ├── point_clouds/ # Example point clouds │ │ ├── object_01.pcd │ │ ├── object_02.pcd │ │ └── ... │ ├── configs/ # Example configuration files │ │ ├── camera_config.json │ │ ├── arm_config.yaml │ │ └── ... │ └── mobile_base/ # Mobile base-specific sample data │ ├── odometry_log.csv │ ├── wheel_config.json │ └── ... ├── tests/ # Test cases for all submodules │ ├── camera_calib/ │ │ └── test_calibration.py │ ├── arm_calib/ │ │ └── test_calibration.py │ ├── mobile_base_calib/ │ │ └── test_calibration.py │ └── ... ├── docs/ # Documentation │ └── index.md ├── examples/ # Examples for usage │ └── example_usage.py ├── setup.py # Setup script for PyPI ├── pyproject.toml # Build system configuration ├── LICENSE # License file ├── README.md # Project description ├── .gitignore # Files to ignore in Git └── requirements.txt # Dependencies

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

xrobo_calibration-0.1.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

xrobo_calibration-0.1.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file xrobo_calibration-0.1.0.tar.gz.

File metadata

  • Download URL: xrobo_calibration-0.1.0.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.10

File hashes

Hashes for xrobo_calibration-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f7a8484d9846f1aa7dc8ca47788b25c5c7e87684f43e76e743a073301538ceed
MD5 08890098d039638b1e501de2e1935d9b
BLAKE2b-256 c4f84b7f493599d18844aa2fc8f74e513dcdc3e17d2d86f8fcbb4fad125fb71a

See more details on using hashes here.

File details

Details for the file xrobo_calibration-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xrobo_calibration-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbe01383a40264152754d1175ed95c28d4b615d720d4a2bf4eb9dc4c9a1492dd
MD5 db2e099798a6c14cc35360f815d672ee
BLAKE2b-256 811687baba2e7296ff9fb3b410bb43c8174bec6956c8464b00f53a0e70080c4e

See more details on using hashes here.

Supported by

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