# JdeRobot RoboticsAcademy: a ROS-based exercise platform for learning robotics

> RoboticsAcademy is an open source, GPL-3.0 collection of ROS exercises that run against Gazebo and Rviz, installed with a single curl script. It suits people who want to write robot behaviour code, not read about it, and it assumes you can live inside ROS tooling.

**JdeRobot/RoboticsAcademy** — Learn Robotics with JdeRobot

- Repository: https://github.com/JdeRobot/RoboticsAcademy
- Website: https://jderobot.github.io/RoboticsAcademy
- Stars: 500 · Forks: 367
- Language: Python
- License: GPL-3.0
- Published: 2026-09-17 · Updated: 2026-09-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/jderobot-roboticsacademy

## What RoboticsAcademy actually is, and who it is for

RoboticsAcademy is a platform that packages robotics exercises rather than a library you import. The README describes it as an open source platform providing a collection of exercises for learning robotics in a practical way, and states that it is completely ROS-based, including standard tools such as Gazebo and Rviz. The exercise content lives under exercises/ in the repository, the web-facing layer under react_frontend/ and academy/, and shared infrastructure under RoboticsInfrastructure/ and common/.

The intended user is someone who wants to write robot behaviour and see it run. Each exercise gives you a simulated world and expects you to produce the code that drives it, which is a different shape from a course that hands you a finished notebook. That also sets the prerequisite: because the platform is built on ROS and on Gazebo, a reader who has never touched a ROS workspace will spend the first hours on tooling rather than on robotics. The repository is not archived, and the last push was on 2026-09-11, so the codebase is being changed; the releases list shows v6.1.11 on 2026-09-04, v6.1.10 on 2026-09-02 and v6.1.9 on 2026-07-15, which is a fairly tight cadence for a teaching project.

One structural detail worth noting before you plan anything around it: the default branch is humble-devel, named after the ROS 2 Humble distribution. The install command in the README pulls a script from that branch specifically, so the branch name is not cosmetic, it is part of the install path.

## How the exercise stack is put together

The mechanism is a simulated robot plus a program you supply. Gazebo provides the physics and the world, Rviz provides visualisation of robot state, and the exercise is the gap in between where your code runs. The README points contributors at a document called Humble RADI structure, and the scripts directory contains a RADI folder with its own README. RADI is the repository's term for the unit that packages an exercise with its world, its configuration and its scaffolding, and there is separate documentation for generating a RADI and for publishing one, plus a RADI performance monitor document.

That packaging is the interesting design decision. Instead of a monolithic simulator configuration, each exercise is a self-contained artefact that can be generated, published and monitored. It makes contributions tractable: a new exercise is a new RADI rather than a patch to a shared world file. The cost is that the exercise format has its own vocabulary and its own documents, and the README flags one of them, the client side architecture document, as obsolete. Anyone reading the docs in order will hit that dead end and should treat the RADI documents as the current description instead.

The repository also carries a database/ directory, a manage.py at the top level and a pytest.ini, so there is a Python service layer and a test suite around the exercise front end. The front end itself is a React application in react_frontend/. In other words this is not just a set of Gazebo worlds with a README: there is a web application, a database, and CI, and a contributor will meet all three.

## Installing RoboticsAcademy and running a first exercise

The README gives exactly one install command, and it is meant to be run as root because it pipes a remote script into a shell. It fetches the script from the humble-devel branch:

```bash
curl -s https://raw.githubusercontent.com/JdeRobot/RoboticsAcademy/humble-devel/scripts/run_academy.sh | sudo bash
```

Running that should set up the Academy on your machine. Because the script is fetched over the network and executed with sudo, read scripts/run_academy.sh in the repository before you run it, and note that the README does not document an uninstall or rollback path, so plan for a machine you are willing to reconfigure.

For development work rather than a plain install, the README points to docs/InstructionsForDevelopers.md, and there is a separate document, docs/InstructionsForDevelopers_podman.md, for using Podman instead of Docker. That second path matters if your environment restricts the Docker daemon.

Once the platform is up, the exercise catalogue is what you interact with. The README does not list the individual exercises; it says the current set, the installation recipes and illustrative videos are on the project webpage at jderobot.github.io/RoboticsAcademy. Start there rather than in the repository, and check docs/exercise-status.md before picking one, since an exercise listed there as not working will waste your time. Contributors who want to test the Academy web page locally are told to install Jekyll, because the site uses GitHub Pages with the MinimalMistakes theme; that is only relevant if you are editing the site, not the exercises.

## Where RoboticsAcademy gets in your way

The install story is the first real limitation. A single curl-to-sudo command is convenient when it works and opaque when it does not. There is no documented package, no supported apt source, and no rollback described in the README. If the script fails halfway you are debugging a shell script you did not read, on a machine that has already been modified. The troubleshooting document exists for exactly this reason, and its existence is a signal about how often the install path goes sideways.

The second limitation is the ROS dependency. The README states plainly that the platform is completely ROS-based. That is fine for the target audience and disqualifying for everyone else. A teacher who wants a browser-only simulation for a class of beginners will find the setup burden lands on the students, and a student on a locked-down laptop may not be able to run a privileged container install at all.

The third is documentation drift. The README itself marks the client side architecture document as obsolete while still linking it under development resources. When a project's own index labels one of its architecture documents dead, you should assume other documents are at varying distances from the code. The RADI documents and the exercise status page are the ones the README presents as current.

Finally, there is no account system, grading or progress tracking described in the README. This is a platform of exercises, not a course with an instructor dashboard.

## RoboticsAcademy compared with Gazebo tutorials and ROS courseware

The obvious alternative is going straight to the Gazebo and ROS documentation and building your own worlds. The difference is where the work sits. With raw Gazebo you author the world, the robot model and the launch files before you write a line of behaviour code, and you learn the simulator's file formats in the process. RoboticsAcademy inverts that: the world and the scaffolding are already packaged as a RADI, and your effort goes into the exercise logic. You learn less about simulation authoring and more about robot behaviour, faster.

The second alternative is a structured online course. Those typically give you a fixed syllabus and, often, a hosted environment, which removes the install problem entirely. RoboticsAcademy gives you neither a syllabus nor hosting; it gives you a repository you run yourself, under GPL-3.0, with a contribution path and a release cadence. If you need a certificate or a graded sequence, a course is the better fit. If you want to read, modify and extend the exercises, and possibly publish your own RADI, the repository is the point.

A third comparison is worth making for contributors rather than learners: the Podman instructions. If your site standardises on Podman, the README points to a separate document for that route, which is more than many teaching projects offer. It is a small thing, but it tells you the maintainers care about environments where Docker is not available.

## Licence, maintenance and what an upgrade costs you

RoboticsAcademy is licensed under GPL-3.0, and the LICENSE file sits at the top level of the repository. For classroom or personal use that is unremarkable. For anyone embedding the platform in a product, the copyleft terms are the thing to read before you build on it, and if that matters to you, take the licence text to someone qualified rather than relying on a summary. The exercises themselves are part of the same repository, so the same licence covers them unless a file says otherwise.

On maintenance, the evidence is concrete rather than promotional: the last push was on 2026-09-11, and three releases landed between 2026-07-15 and 2026-09-04. The repository is not archived. That is a project in motion, which cuts both ways for an adopter. You get fixes, and you also get churn: the default branch is humble-devel, not a stable tag, and the install command pulls from that branch. If you want reproducibility, pin to a release such as v6.1.11 rather than tracking the branch, and expect to re-run the install when you move between releases. The README does not describe an upgrade procedure, so treat an upgrade as a fresh install until you have verified otherwise.

## Conclusion

Adopt RoboticsAcademy if you already have some ROS footing and want exercises where you write the control logic yourself, and if a full container install on your own machine is acceptable. Skip it if you need a hosted classroom with accounts and grading, or if you want to learn robotics without touching ROS at all, because the whole stack is ROS-based. Before committing, check the exercises status document to see which exercises are currently listed as working, and read the troubleshooting page, since the single curl install is the only setup path the README documents.

## FAQ

### What is JdeRobot RoboticsAcademy?

It is an open source platform from JdeRobot that provides a collection of exercises for learning robotics in a practical way. The README states that it is completely ROS-based and includes standard robotics tools such as Gazebo and Rviz.

### How do I install JdeRobot RoboticsAcademy?

The README gives one command, which fetches scripts/run_academy.sh from the humble-devel branch and pipes it into sudo bash. There is also a separate document for developers using Podman instead of Docker.

### Is a degree in robotics worth it?

The repository does not address qualifications or careers, so it cannot answer this. What it does offer is a set of ROS-based exercises you run yourself, which is a way to find out whether the practical work interests you before committing to a programme.

## Sources

- [JdeRobot/RoboticsAcademy on GitHub](https://github.com/JdeRobot/RoboticsAcademy)
- [License: GPL-3.0](https://github.com/JdeRobot/RoboticsAcademy/blob/humble-devel/LICENSE)
- [Project website](https://jderobot.github.io/RoboticsAcademy)
- [README](https://github.com/JdeRobot/RoboticsAcademy/blob/humble-devel/README.md)
- [Releases](https://github.com/JdeRobot/RoboticsAcademy/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jderobot-roboticsacademy
