System Architecture Overview

Is there an overview available of all the components that need to be running on the embedded computer in order for Reachy to work?

I was thinking about updating all the software in our Reachy from time to time and immediately realized that I’m not even completely sure what I’d have to do. I’m guessing some of the most important components would be “reachy_controllers”, “reachy_pyluos_hal” and “reachy-sdk-api”, but I’m not sure if I’m missing anything. An overview of how the system operates would be really appreciated, maybe even a simple diagram showing how the components interact (doesn’t have to be anything fancy, could even be a photo of a quick hand-drawing for all I care).

Also, do I have to keep any version constraints in mind? I’m guessing if I only update some components and not others then the system will probably break, right?

Best regards
Pascal

Just realized that such an overview would also be useful for normal operation:

Whenever something is not working, it might be useful to know how the different components depend on each other so that the user knows in which order it makes sense to restart the services, or to know where the different responsibilities lie and how to get logs from all the different components so that problems can be debugged.

Hello @gea-ps !

As you said, it is better to update all the components to make sure the robot works. You can find all the repositories that need to be updated on this page:

All the packages can be found on Github Desktop, simply press “Fetch Origin” and pull if needed for the repositories.

It would be a good idea we make a diagram to facilitate the understanding of the interactions between the components! We will definitely work on this.

You can find a little more information on what’s running on Reachy here:

You can find logs in ~/.ros/log to help you debug

We will update the content of these pages, but I hope this can help until we provide a better overview of the interactions between the packages.

Best regards,
Gaëlle

2 Likes

Thank you Gaëlle, this is already very helpful :slight_smile:

Hi @gea-ps,
To complete @Gaelle’s answer, we actually have a simple diagram showing Reachy’s software architecture.

If it can help, you can also check the Notion page that we use to make Reachy’s ISO from scratch. It contains literally everything that we install on Reachy’s computer.

Cheers

3 Likes

Hi Simon, the Notion page is great, thanks! It gives me the confidence to just try some things and if it doesn’t work then I now have a simple way to reset the whole system :slight_smile:

2 Likes