OSGAR
Open Source Garden Autonomous Robot
OSGAR is a long term project which will probably incorporate more than one robotic platform in the future. The project started in 2014 when we decided to modify school garden tractor John Deere X300R into autonomous robot. The project is carried on in cooperation with the Czech University of Life Science Prague. Blog update: 21/06/2026 — OSGAR release 1.1
Content
- 181021 - OSGAR v0.0.1 vydán!
- 230326 - Web refactoring
- 250312 - Základní použití (CS only)
- 250314 - Hello OSGAR! (CS only)
- 250407 - Programování: callbacks vs. sekvence (CS only)
- 260414 - OSGAR release 1.0.0 (powered by AI)
- 260721 - OSGAR release 1.1
21st October, 2018 — OSGAR v0.0.1 released!
The OSGAR package was released today for the first time — see
https://pypi.org/project/osgar/. It contains the basic functionality for
logging of various data sources together with replay feature. This initial
release supports John Deere and Spider3 (both quite uncommon, I am
afraid), but more will come soon, I hope. If you would like to try it on your
robot, please let us know. The step 1 is to describe your inputs and outputs
(both the devices configuration as well as the communication protocol used).
You can give it a try:
python3 -m pip install osgar
26th March, 2023 — Web refactoring
Note, that there was a "minor" web refactoring as OSGAR was further developed
(mainly for DARPA Subterranean Challenge). The original page was split
into 3 and we will track them separately:
April 14, 2026 — OSGAR release 1.0.0 (powered by AI)
The worst thing about this website is that you can clearly see what you haven't touched for "years"! Or now I'm surprised that the last OSGAR update was almost exactly a year ago, when students at CZU
were preparing Matty M02 for the Field Robot Event 2025 competition in Italy … it was not. But what I smiled at last year among the students, "a year later", I myself am fully using — yes, we are talking about programming with "AI flashlights". I confirm that the turning point has already occurred and it is not a waste of time to involve AI in programming.
So what does it look like? First of all, a new OSGAR release 1.0.0 was created! I wouldn't exactly call it a CD (Continuous Deployment), because
there was a 5-year gap. And little motivation, because nowadays it's common to install Python ..packages'' directly from github. Of course, it wasn't without hiccups like, what on earth was my PYPI password?! Yes, I found in my email that I had reset it just five years ago, but it doesn't work anymore. PYPI requires two-factor authentication and verified email. It took
about a month (hit tagged March 16, 2026), but it's there. And on top of that, there are
nice pictures of robots, which somehow didn't work before??
I'm using the same name for the AI as I did in the competition a year ago, i.e. Elena.
News? So far, probably primarily documentation:
Kapathy (v2026Q1) said that today it is necessary to write documentation primarily for AI agents, that humans will no longer read it, but maybe even the machines will appreciate it?
p.s. auto-translated via https://translate.google.com/
July 21, 2026 — OSGAR release 1.1
Yesterday I put pypi OSGAR 1.1.0 on. The primary motivation was the "trauma from the past" when I didn't update OSGAR for 5 years and it was very difficult for me to
log in again and release a new package. However, it's been 3 months and some little things have accumulated during that time. It's worth noting that I've already removed powered by AI from the title or what
isn't it today? And yes, Elena Ai assisted with almost everything.
What's new? I'll take it partly from the automatically generated changelog on GitHub combined with
changelog from Elena … however, this is my own.
- osgar.logger --config … this is such a small thing that now even osgar.logger works with configuration. For osgar.record it is a necessity (specification of what should be recorded), for osgar.replay it is sometimes a useful option to recalculate data and now osgar.logger returns JSON configuration stored in logfile to the config parameter
- osgar.replay --params … for osgar.record it is quite convenient to enter changes directly on the command line without changing the configuration, where the applied changes are also saved to the logfile, e.g. app.max_speed=0.2 for safer slow driving during the first testing. For playback, this makes sense, for example, when generating module outputs for variously set limits
- osgar.replay --draw XXX … this function in the commercial version of OSGAR (RIGIDS) was long ago for quick visualization of various data that are part of the module calculation, e.g. speed, heading, encoders for a given robotic platform
- modifiers :gz :null … now you can change the default setting in the code in the JSON configuration whether the given data stream should be automatically gzipped or discarded (:null). In OSGAR, the default is to save everything and there are a few exceptions (e.g. data from the depth camera), which are packed by default (depth:gz).
- LogReaderEx … it annoyed me how we keep converting the indexes of individual outputs and then deserializing them, when it is always needed except for complete exceptions?! So LogReaderEx solves this and is named differently for backward compatibility.
Cleanup and documentation
Don't take this to heart, but Elena spent some time on it. Deep Dive for OSGAR Developers was created (it was
after the release of OSGAR 1.0.0, but I can see the link there already), I deleted the subt folder, developed more than five years ago for the DARPA Suberranean Challenge (yeah, that
hurt a lot, but I actually just moved it to _deprecated, but I'll really delete it someday).
Drivers and platforms
Probably the biggest improvement is with DepthAI v3 support (tested with 3.6.1) — in addition to newer models, it is the ability to run multiple models simultaneously (e.g. path detection and YOLO object detection),
superblob (precompiled network for different number of cores/shaves) and also support for models for path segmentation.
A small thing is the driver for the small drone Tello — a few years old, just slightly dusted and merged into master.
Also newly added is the Ouster LiDAR SDK driver and a modification of the VanJee driver to return all 4 scans.
And that's about it in a nutshell, for details see the mentioned changelog.
p.s. auto-translated via https://translate.google.com/