Introducing the XEL Network : Modular H/W ecosystem over ROS2

Hi!

I have brought new project news related to ROS2.
The name of this project is XEL Network

"XEL" is a word derived from the robot actuator “DYNAMIXEL” and uses the characteristics of DYNAMIXEL communication.

concept

The main concept of this project is to standardize it so that robot hardware can be configured more easily using the features of DDS used in ROS2.

The GOALS of this project are as follows.

  • Generalization of Software Mechanism in Robot Development with Embedded Technology.
  • Complete open source hardware.
  • Simpler and easier robot development through the above goals.

The main FEATURES of this are as follows.

  • Support ROS2(DDS using microRTPS)
  • Plug And Play
  • Daisy chain connection

And our ROADMAP is as follows.

  • Support ROS2 (Publisher and subscriber are implemented)
  • Plug And Play (Implemented using the DYNAMIXEL protocol. Additional supplement needed.)
  • More sophisticated real-time performance.
  • Supports various message types.
  • Support GUI program (XEL Manager)
  • Support IDE likes Arduino for user customizing.
  • Support multi topics on one device. (Currently, only one topic per one is possible.)

diagram

What has been developed so far is only a simple function, and it requires a lot of function addition, stabilization and optimization.

But, as one of our goals is a complete open source hardware, we would like to develop it with anyone interested in this project. So I post this here that this project is there and it has progressed to this extent.

Here are the GitHub repositories that are currently open.

For more information on this project, please refer to the following wiki document.

We specially thanks to ROS2 developers and ROS community and eProsima developers.

https://youtu.be/qITZ_mDqWgY

6 Likes

This is very cool, thanks for sharing @Kei. Good to see some additional effort in hardware modularity within the ROS ecosystem. Specially one powered by microcontrollers. I encourage you guys to look at HRIM. We are working with a variety of partners to facilitate hardware interoperability and your contributions will be more than welcome.

Also, this is extremely aligned to the OFERA EU project and I’m looking forward to see further collaborations between your group and ours.

1 Like

Sounds nice! In order to connect to a broad range of more high-level robotics components you might also have a look at RobMoSys. They even have an open call opening this February that could fund efforts to integrate your components in the ecosystem.

3 Likes

Hi, @vmayoral,
I was also very interested in micro-ROS.
Personally, just like ROS has set the standard for robot development, I hope that a standard will be created for embedded. So, I hope that projects like XEL Network and micro-ROS will contribute positively in this respect.

Hi, @Bouke,
Sounds nice! Thank you for your sharing!

1 Like

Great work :smile:

How dependent is this on the dynamixel protocol? Of course the hardware is, but do the message also contain specifics? btw, which messages are you using?

Apropos, @vmayoral already mentioned HRIM, which is their proposal on meta-data describing hardware (at least that’s how I understood it :slight_smile:). I’ve also seen other work which uses a big YAML file with meta-data. Interoperability and pluggability would greatly benefit if the community could agree on this. How about a meeting on this at the ROSCon?

2 Likes

Hi, @iluetkeb.

We chose TTL, RS485 communication to use relatively inexpensive hardware. And since DYNAMIXEL, one of the actuators, uses serial interface and protocol is open, we applied it.
But finally, we plan to make other communications available through the abstraction layer.
We are planning Modbus as the second protocol to be implemented.
The current messages only support some standard messages, and there is a need to worry about adding and customizing messages.

It is still in its infancy, so there is room for improvement. :slight_smile:

In addition, we are using ROS2 in TB3. The ROS2 related code (including microRTPS) used in TB3 is the same as XEL Network.
We want to contribute to bare-metal support.
Specifically, we plan to implement a library that can be used in Arduino(like rosserial_arduino).
The project name is ros2arduino(tentative).
Currently, the target board is MEGA2560 (8bit) and ZERO (32bit).

Of course! It would be nice if we had time to talk together.

Thanks for the info on the protocol. btw, I do like the dynamixel protocol and think it’s a great first choice. Just wondering about extensibility.

Specifically, we plan to implement a library that can be used in Arduino(like rosserial_arduino).
The project name is ros2arduino (tentative).
Currently, the target board is MEGA2560 (8bit) and ZERO (32bit).

I know :slight_smile: You may remember I contacted you about that a few weeks ago, but I’ve been on a long holiday in the meantime.

Anyway, micro-ROS intends to produce both a ROS2 port, and a bare-metal/RTOS implementation. For bare-metal, we are using the rosserial blueprint, like you did.

In fact, I think your work would be a great base for the bare-metal implementation. I’ve had a look over the code in the OpenCR repository already, and since you’re also using micro-RTPS, it would transfer nicely. We have a few different choices to also support RTOSes (optionally) and other transports, but otherwise, it’s very close.
That’s mainly what I wanted to discuss at ROSCon, but if you like, we can start earlier.

1 Like

Of course, I remember you :slight_smile: Our country was a traditional holiday until today.

OpenCR uses serial only because of hardware limitation, but XEL Network also uses Ethernet and use FreeRTOS. Anyway, it’s very close.
Tomorrow we will go out, so it would be nice to talk at ROScon. However, if you mail us your opinion, we will be able to communicate more smoothly.