During ROSCon 2022 Kyoto, it appeared that some people are interested in using ROS with Kubernetes container orchestration.
We were trying to have in-person meetup during ROSCon 2022 Kyoto but we did not really have enough time for the discussion.
So let’s do that online as we talked, I will get back here with schedule and agenda for 1st sync
I am not planing to make this meeting weekly or monthly at this moment, but happy to share information and experience, and open for discussion and problems.
The followings are our experience to share in advance,
This is very interesting. We have been using a mixed ROS1 / ROS2-based system packaged as Docker containers and orchestrated using docker-compose in an automotive environment.
I think Kubernetes orchestration would be a game changer for ROS systems, especially with a container-based OS like Flatpak Linux to allow easy upgrades and maintenance.
One important question is the communication / ROS2 backend. Here Zenoh could be a good alternative to DDS-based implementations because it provides a very efficient and routable network protocol with the potential to use shared memory transport between PODs scheduled on the same system.
We have been using Zenoh for Mobile Gateways to ROS systems with promising results.
I am not sure if it has been tried already, but in my opinion, Zenoh has the potential to replace traditional service mesh setups in Kubernetes environments and could be used as a single communication middleware/backend both in the edge cluster and in the cloud.
First of all thanks a lot for bringing up this awesome topic.
We are developing robolaunch which is Cloud Robotics Platform, totally based on Kubernetes and ofcourse all parts are open source
Mainly consisting of two parts:
1-Kubernetes Distribution which is designed solely for robotic usecases like builtin vpn for hybrid robot (cloud powered robot), isolated subnets and multitenancy for different tenants etc…
2-Kubernetes Robot Operator for managing lifecycle of ROS 2 based robots and enables defining, deploying and distributing robots declaratively. And all this operations is being handled as a kubernetes objects like “kubectl get robots”
We would like to share our experience at the meeting and happy to hear from ROS community.
I believe we had more questions to discuss, unfortunately it just ran out of time.
As we talked, probably we can have another meeting to share more experience and use cases, that I will set up.
In the meantime, if you have anything to share in container orchestration or fleet management perspective, please reach out to us
First of all, thank you very much @tomoyafujita for the opportunity to present DDS Router at yesterday’s session. It was very interesting to see your use case and have a discussion with the community that I hope will be continued soon.
As I presented yesterday, the DDS Router is a solution to enable Edge-Cloud communications in ROS 2 in a simple way and with a quick deployment. Here I also presented the DDS Router integrated in K8s to enable the communication of edge ROS 2 devices and a K8s cluster deployed in the cloud.
If you want to test DDS Router easily, you have available the Vulcanexus Humble Docker container that comes with ROS 2 Humble, the latest version of Fast DDS, and the latest version of DDS Router already installed and ready to use.