Skip to main content

Open Source Garden/Generic Autonomous Robot / Python library

Project description

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>

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

osgar-1.0.0.tar.gz (261.3 kB view details)

Uploaded Source

Built Distribution

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

osgar-1.0.0-py3-none-any.whl (330.3 kB view details)

Uploaded Python 3

File details

Details for the file osgar-1.0.0.tar.gz.

File metadata

  • Download URL: osgar-1.0.0.tar.gz
  • Upload date:
  • Size: 261.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for osgar-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d8d50fca674956caadb37d4e7bef459ad5baf39869a174220a3a1ceb2f53bc0c
MD5 1880f4df62638c5fbb855d8b91da389b
BLAKE2b-256 958411c2fcf34faf6c59d3286d11eb0b7f91d9c302432900441b93d5115cf286

See more details on using hashes here.

File details

Details for the file osgar-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: osgar-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 330.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for osgar-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9bb78ccff21672dce8595dcbb0a54d0f71ca4d9a03c33ba28f82bc6c38472395
MD5 20c453b21e9998d2c710868b5b252b4d
BLAKE2b-256 0f3212504d3847e0d2f0fd2df9512644ccde2449501b410d910e061aed06a8b7

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