Reachy now runs ROS!

Simon Le Goff
Nov 17, 2020 · 5 min read

We released the first version of Reachy at last year’s CES. Remember? That was before most of us even knew COVID existed. If you don’t know who Reachy is, it’s an open-source robot we designed for interacting with people and manipulating objects. To illustrate this, we made it play tic-tac-toe at CES and it was quite a success. But that’s actually not what we will talk about in this post.

Reachy comes with its own SDK written in Python. It is designed with one goal in mind: to let you quickly get started. It enables our users to make the robot move in less than five minutes with just a few lines of code. That works great for simple applications or learning Robotics and AI. But, when ones want to create more advanced applications with 3D visualisation, path planning, advanced objects manipulation, navigation and so on, it usually requires to use a more complex architecture.

So we decided to make Reachy run ROS.

No, not him…

If you are reading this, you probably already know what ROS is. But just in case, here is how they describe it on their webpage:

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it’s all open source.

You can find many other resources online if you want to get more information. For instance, you can check ROS website or this great post.

Why ROS?

  • Developing complex robotics applications often requires to tackle many hard problems (eg. navigation, manipulation, sensor fusion, security, etc.). No-one, except maybe the GAFAM, can afford rebuilding everything from scratch. ROS is decentralized and provides ways to help you re-use some of their existing services, so you can focus on what is most important for your app. Standardisation is a key for robotics development. As roboticists, we all know how much time and effort is lost reinventing the wheel or trying to make it compile. ROS offers a common ground.
  • Many researchers, teachers and developers have already developed part of their code using ROS. We wanted to provide a simple and clean way for them to integrate and test their app on Reachy.
  • Last but not least, ROS is open source at ❤️. So is Reachy, both software and hardware. And we think that this is critical to rely and build upon open-source, if we want to not only develop a robot, but the robotics field as a whole. Open-source and dev tools-style products are creating a bottom-up adoption pattern with developers being at the center. Almost all important frameworks for AI are now open source, so is most of the network server, etc. We truly believe it should go the same way for robotics.

Of course, ROS also has drawbacks. I mean, who doesn’t?

For some applications, ROS is clearly an overkill. A simpler framework would work and be easier to setup. For some others, it will be too heavy to run on low-cost hardware or too CPU intensive to allow for real-time control, etc. At Pollen Robotics, we truly believe that there is not a single tool/framework that suits every need. We provide a set of tools so each user can choose what works best for him.

How?

So, in more details, what do we provide?

Reachy description package

We also provide inertial and mass values. The collision model is defined with simpler shapes as cylinders, so you can achieve accurate and fast simulation Of course, 3D models of the robot’s parts are also present.

Reachy moveit package

Within this package, you will find all the configuration files needed to start using MoveIt with Reachy and plan complex trajectories. A xacro file has also been written to define which groups are used depending on the version of reachy you use: Advanced, Expressive or Basic.

Complex trajectory planning via MoveIt.

It’s already available!

Just follow the steps on our GitHub and get started!

https://github.com/pollen-robotics/reachy_moveit_config

As of now we use the Noetic version of ROS1 but don’t worry, ROS2 compatibility is in progress 😎.

That’s all folks!

P.S. Special thanks to Yoan who helped us develop all of this.

About me

About Pollen Robotics

For new technology to have a positive impact, transparency and cooperation matter. Back in 2013, we started with Poppy, the first 3D printed open-source humanoid robot and since then, we have been dedicated to creating open-source, open science and open data products. We work with scientists, artists and innovators to explore usages and make the robotics revolution an opportunity for everyone.

Website: https://www.pollen-robotics.com/
Github: https://github.com/pollen-robotics/
Youtube channel: https://www.youtube.com/c/pollenrobotics

pollen-robotics

We are building open source robots for the real world

pollen-robotics

For new technology to have a positive impact, transparency and cooperation matter. We work with scientists, artists and innovators to explore usages and make the robotic revolution an opportunity for everyone.

Simon Le Goff

Written by

pollen-robotics

For new technology to have a positive impact, transparency and cooperation matter. We work with scientists, artists and innovators to explore usages and make the robotic revolution an opportunity for everyone.