Skip to main content

OSGAR

Open Source Garden/Generic Autonomous Robot (Python library)

OSGAR is a lightweight, multi-platform library for recording and replaying data from multiple nodes (modules such as sensors, robots, and applications) logged into a single file. It is designed to be minimalistic, modular, and robust, capable of running on everything from high-end workstations to low-end devices like the Raspberry Pi Zero.

OSGAR was originally developed by robotika.cz and has been successfully deployed in several international robotics challenges.

Key Features

  • Robust Logging: All port data is logged with microsecond-resolution timestamps into a single .log file.
  • Deterministic Replay: Replaying recorded data produces identical outputs, enabling reliable debugging of complex sensor interactions and algorithms in a controlled environment.
  • Modular Architecture: Robots are built as a set of independent modules connected via a communication "bus," defined in a simple JSON configuration.
  • Minimalistic & Multi-platform: Written in Python, with minimal dependencies, ensuring it runs on various operating systems and hardware.

Applications & Robots

OSGAR has been the core software framework for a variety of robotic platforms and prestigious competitions. See OSGAR Platforms for more details.

John Deere X300R

DARPA Subterranean Challenge (SubT)

Team Robotika used OSGAR to coordinate a heterogeneous fleet of robots (wheeled, tracked, and flying) to map and search complex underground environments.

DARPA SubT

DARPA Triage Challenge (DTC)

OSGAR powers a fleet of Matty robots (M01-M05) equipped with non-contact sensors to detect physiological signs in casualties during mass-casualty incidents.

Matty robots for DTC

Field Robot Event

OSGAR-based robots, including the "Matty twins," have successfully competed in the Field Robot Event, an international competition for autonomous robots in agriculture.

Field Robot Event

Documentation

For more detailed information, please refer to:

Architecture

Robot is set of modules. Every module has input and output ports, described together with the connections in the config file. All ports are logged with timestamp (microsecond resolution). The module is typically an instance of a driver, whose init arguments are also in config file.

Notes regarding GitHub repository

The current development code is under osgar directory. If you are using OSGAR directly from sources please make sure that you setup PYTHONPATH to the root of this project.

The example configurations are stored in config folder. JSON files are used.

Examples

Collect data from sensor(s)

There is a osgar/record.py to run data collection based on given configuration file. If you would like to collect GPS data available on serial port use modified version of test-windows-gps.json for Windows or test-gps-imu.json for Linux.

python -m osgar.record config/test-windows-gps.json

To replay existing log use:

python -m osgar.replay --module <module name> <log file name>

Metadata

Release files for osgar 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for osgar 1.1.0
File Size Uploaded Provenance
osgar-1.1.0.tar.gz 166.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for osgar 1.1.0
File Interpreter ABI Platform
osgar-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 380.4 kB

Release files / osgar-1.1.0.tar.gz

Download URL osgar-1.1.0.tar.gz
Size 166.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b21ebf1a0a16289a8046f6ea20a3b5a7030171cbe5f481709a8bf74729f3b107
BLAKE2b-256 checksum
How to use checksums
1eac9eab4eb86632584deefcc54242be0fdcd72680be5de7f36ef903853f30de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / osgar-1.1.0-py3-none-any.whl

Download URL osgar-1.1.0-py3-none-any.whl
Size 213.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
abbefcce623f9daa10b4125ddb0e27ceb31469780712f6ffad2863804115fe1e
BLAKE2b-256 checksum
How to use checksums
eb182dc22bfa3d9beff3367bd0f0d4f434d1bfbb28ef443ec461b23c898a889e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for osgar 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page