David, I’m all sold on real-time. It’s essential for many applications. I hope my comments above are not implying otherwise. Real-time is essential for predictability, which is what I think you’re aiming for.
I’m even more sold on determinism. In fact, I’m usually credited with putting it prominently on the ROS map through a talk at the ROSCon in 2017. That’s not the same as real-time, however.
When I say that those are big efforts, I’m not saying we don’t have to do this. I’m mentioning it because I care about the how.
And in particular, I think that the how depends a lot on the what for. And Dejan didn’t specify that. So, all I’m asking is that people seriously think about the what for before embarking on this journey.
At the very least, these thoughts will give us some requirements and some metrics. And then we can think about how to achieve that in the easiest way.
It will also give us some common ground to speak about.
For me personally, I care about small consumer robots. So, my answers to the stack Dejan posted are:
- We use micro-controllers and they are real-time capable and usually single core, some multi-core, usually homogeneous.
- We use a POSIX RTOS, NuttX
- We chose hardware that’s supported by 2. Still a pain though.
- Not necessary
- We use Micro-XRCE-DDS
6.1) don’t care
6.2) got some ideas, interest to collaborate
6.3) got some ideas, interest to collaborate
6.5) don’t care
6.6) HERE’S THE BIGGIE
6.7) don’t care
6.8) got it
- don’t care
- working on it, using SPA approach
- proposing system modes approach
- don’t care
- we use a HIL approach
Now, if you ask Dejan, I’m pretty sure his answers will be very different. That’s because he has a very different application (autonomous driving). Not sure about what Victor will say, but he’s working on manipulation, which could again be quite different.
So, from my perspective, we’d like to collaborate on some of the points under bullet point 6, and that’s also the core thing for ROS2. For the rest of the things, we are very likely to have a radically different approach.
Therefore, please, before embarking on a “full stack” approach, get your use cases clear and then maybe people will know what they’re getting into and what the goals are.