ROS2 Real-time Working Group Online Meeting 3 - Oct 2, 2019, 7AM PDT (UTC-7)

All (12 participants), thanks for attending.

Participants

  1. Joe Speed, Erik
  2. Ralph, Jan
  3. Dejan
  4. Andrei
  5. Carlos
  6. Martin

Meeting recordings:

Old link: https://zoom.us/recording/share/vzHk-F-qLfaGY9-CmIf0DH4e81Y7THjrgYR6ZgOAkduwIumekTziMw

New link: https://zoom.us/recording/share/DY2qaOx4qqzUyJaIxsgdLEhfIdLdl4nPc0forr7e2S-wIumekTziMw

Action items:

  1. Check out zhe rmw implementation - all

    1. https://github.com/atolab/zhe
    2. https://github.com/atolab/rmw_zhe
  2. Looking for 1-2 candidates to join Erik and his team in creating rmw on top of https://github.com/eclipse-cyclonedds/cyclonedds - @Dejan_Pangercic

  3. Create a system for documentation sharing (GDrive, Github project, …) - @razr is this something that you could maybe do?

  4. Get the presentation from Martin - @MartinCornelis could you paste it here?

  5. Present the mini buildfarm with resource guarantees at Apex.AI - @Dejan_Pangercic

  6. Carlos has been working on the demo that shows some of the real-time characteristics. - @carlossv can you share the demo with us?

  7. Dejan to take content and conclusions of this meeting to OSRF and TSC- @Dejan_Pangercic

    1. @wjwwood - would you be able to join the meetings for this group?
  8. PRs for the static executor - all have a look and comment

    1. https://github.com/ros2/design/pull/256
    2. https://github.com/micro-ROS/rcl_executor
  9. ROS 2 Real-time WG to meet every 2 weeks (Wednesdays 7AM PST)

2 Likes

Yes, I’m happy to join any meeting you think I could help with, please ping me directly for each meeting you’d like me to attend. If you need me on a regular basis I can do that too, though selfishly I’m trying to stay out of the way as much as possible.

Is it at all possible to shift this? It clashes perfectly with AWF board meetings.

Hey everyone,

Discourse won’t let me upload the presentation as a powerpoint and the presentation in pdf format is not really usable (the transition of images on a single slide is how I show the working of the executors). Instead I will share some links here, while I look for a way to share the powerpoint.

rclcpp Dashing this link contains a README where the executors are explained with flowcharts. The flowcharts + explanations get the ideas across of each executor.

rclcpp Master fork This is the fork we use for the pull request that is up to date with master (slightly behind by now probably).

rclcpp Master fork with intra_process we also made a version that we merged with @alsora PR for improved intra_process communication.

For the people that are not aware of why we worked on this static executor here is a very short history. There is more links in the links pointing to more links if you feel like going on an adventure.
Original ROS answers post
ROS discourse discussion on STE
ROS discourse discussion on participant mapping (related, but less interesting)

Hopefully this gets everyone what they are looking for. If you want more information or help with the code or understanding the STE or static executor, don’t hesitate to send me a message.

4 Likes

Your flow chart for your static executor is missing some labels on the decision branches.

I do not have a lot of experience making flowcharts, nor do I know the exact rules to making them. I hope that despite the inaccuracies they are still readable. Sorry for the possible inconvenience.

Any diamond is a decision. Each arrow going out of the diamond needs a label to say what the condition is for that branch being taken.

I added the powerpoint that I used during the meeting for my presentation to rclcpp Dashing in the presentation folder. Please let me know if it works by downloading it and looking at it in presentation view (to cycle through the images).

Sidenote: The dashing version now uses the nodes’ guard_conditions as event trigger to rebuild the executable list and the wait-set. Making the use of the static executor less restrictive (semi-dynamic, rebuild only when necessary). We will continue work on a master (eloquent) version and look into a multi-threaded version.

@MartinCornelis

thanks, your ppt works fine by me and looks good enough!

I am also curious about the Improvement for Priority and RT Safe from Bosch, i remember i did see some documents somewhere. could you point me these documents as well? seems like they are making approach for Real-Time aspect with technology not engineering. i am really interested in that too.

I believe @Ingo_Lutkebohle is working on this. I am not really sure about the current state of the work. We aligned with Ingo, Tobias, Jan and Ralph to determine who would focus on what part of the executor (to prevent doing double work). Maybe Ingo can point you to a repository, or maybe he can give you an update when they have something ready. One thing you could check out is the real-time executor , which has a repository here rcl_executor github. This is an RCL implementation of an executor that Jan worked on for Micro-ROS.

1 Like

@Dejan_Pangercic
It seems the link to the meeting recordings doesn’t work now. Could you please check the URL is correct?

@akihikotsukuda I apologize, the recordings got auto deleted in our Zoom account.

I have now recovered them and updated the comment above: ROS2 Real-time Working Group Online Meeting 3 - Oct 2, 2019, 7AM PDT (UTC-7)

@gbiggs AWF meeting is at 8AM PST, so we should be good.

D.

@razr did you by chance have time to look into this:

Thank you. The new link to the recording works well.

I’d like to know what demo is being done, we may want to collaborate depending on what it is.

The mentioned demo it’s a rework of the inverted pendulum demo in ros2/demos (demo, tutorial). The idea is to create a more complete project like the demo shown in the last Roscon (confbot_robot) but focused on control and real-time analysis.

To add some details these are some of the new features that were added or we would like to add:

  • The simulation of the pendulun has been improved. Now it’s compound by a cart and a pole and it actually works. (See this repo to test the simulation https://gitlab.com/carlossvg/inverted_pendulum_sim/tree/master).
  • Nodes are now composable and managed.
  • Topics use deadline QoS.
  • The implementation of the controller and simulation use some abstractions so it’s possible to implement new kind of controllers or to use the code in a real pendulum by creating some drivers.
  • We collects some statistics: topic missed deadlines, timer jitter, memory page faults,…

We would like to upload the project on github before Roscon so everbody can contribute.

4 Likes

Pardon my ignorance, but can anyone join these meetings or is it more of an invite kind of thing?

Anyone can join. Just pop along and start contributing!

@Dejan_Pangercic The URL link seems to be the second meeting, not the third meeting. I hope you will confirm it.

1 Like