Skip to content

Separation artifacts/systems #3

Merged
fmrico merged 6 commits intomainfrom
nadia_sync
Sep 26, 2023
Merged

Separation artifacts/systems #3
fmrico merged 6 commits intomainfrom
nadia_sync

Conversation

@fmrico
Copy link
Copy Markdown
Member

@fmrico fmrico commented Aug 3, 2023

Hi,

This PR contains an update to separate artifacts and systems, as talked with @ipa-nhg .

This PR also contains a proposal for the .rossystem files. Examples:

---
rossdl_simple_test:
  fromGitRepo: "https://github.com/jane-doe/project_example.git:branch"
  systems:
    system_1:
      nodes: [rossdl_simple_test::image_filter, rossdl_simple_test::consumer]
      connections:
        - [/image_filter/image_out, /consumer/image_in]
        - [/image_filter/description_out, /consumer/description_in]
        - [/camera/rgb/image_raw, /image_filter/image_in]
        - [/consumer/image_out, /other_node/image_in]
      parameters:
        - [/image_filter/description_label, 'image raw']
        - [/*/use_sim_time, True]
    system_2:
      nodes: [rossdl_simple_test::image_filter, rossdl_simple_test::consumer]
      connections:
        - [/image_filter/image_out, /consumer/image_in]
        - [/image_filter/description_out, /consumer/description_in]
      parameters:
        - [/image_filter/description_label, 'image compressed']
        - [/*/use_sim_time, False]   
---
system_a:
  fromGitRepo: "https://github.com/jane-doe/project_example.git:branch"
  systems:
    system_a_basic:
      nodes: [system_a::image_filter]
      connections:
        - [/camera/rgb/image_raw, /image_filter/image_in]
      parameters:
        - [/image_filter/description_label, 'image raw']
        - [/*/use_sim_time, False]
---
application_1:
  fromGitRepo: "https://github.com/jane-doe/project_example.git:branch"
  systems:
    app_1_system_1:
      nodes: [system_a::image_filter, system_b::consumer]
      connections:
        - [/image_filter/image_out, /consumer/image_in]
        - [/image_filter/description_out, /consumer/description_in]
        - [/camera/rgb/image_raw, /image_filter/image_in]
        - [/consumer/image_out, /other_node/image_in]
      parameters:
        - [/image_filter/description_label, 'image raw']
        - [/*/use_sim_time, False]
    app_1_system_2:
      nodes: [system_a::image_filter, system_b::consumer]
      connections:
        - [/image_filter/image_out, /consumer/image_in]
        - [/image_filter/description_out, /consumer/description_in]
      parameters:
        - [/image_filter/description_label, 'image compressed']
        - [/*/use_sim_time, False]
---
application_2:
  fromGitRepo: "https://github.com/jane-doe/project_example.git:branch"
  systems:
    app_2_system_1:
      subsystems: [system_a::system_a_basic]
      nodes: [system_b::consumer]
      connections:
        - [/image_filter/image_out, /consumer/image_in]
        - [/image_filter/description_out, /consumer/description_in]
        - [/consumer/image_out, /other_node/image_in]
      parameters:
        - [/*/use_sim_time, False]
---
application_3:
  fromGitRepo: "https://github.com/jane-doe/project_example.git:branch"
  systems:
    app_3_system_1:
      subsystems: [application_2::app_2_system_1]
      nodes: []
      connections: []
      parameters: []

Let's discuss in this PR any modification until haveing an agreement :)

fmrico added 3 commits July 11, 2023 06:51
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
fmrico added 3 commits August 3, 2023 12:46
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
@ipa-nhg
Copy link
Copy Markdown
Member

ipa-nhg commented Sep 7, 2023

Thanks a lot for opening the discussion :)

We made some progress also from our side on the models, The current model looks like this:

system:
  nodes:
    image_filter:
      from: "rossdl_test.image_filter"
      interfaces:
        - image_out: pub-> "image_filter::image_out"
        - description_out: pub-> "image_filter::description_out"
        - camera_info: sc-> "image_filter::camera_info"
        - image_info: sc-> "image_filter::camera_info"
      parameters:
       - description: "image_filter::description_label"
         value: "Label"
    consumer:
      from: "rossdl_test.consumer"
      interfaces:
       - image_in: sub-> "consumer::image_in"
       - description_in: sub->"consumer::description_in"
  processes:
    process1:
      nodes: [ image_filter, consumer ]
      threads: 2
  connections:
    -[image_out,image_in]
    -[description_out, description_in]

The main difference between your suggestion and mine is that I define the nodes in detail, the idea is to be able to rename or change namespaces, do you think this is needed? Ideally, I should modify my models to support both versions.

I am also a bit confused about the namespaces you are using for the node (i.e., system_a::image_filter), the nodes come from a ROS packages ( from the point of view of the models from a .ros2 file), or am I mixing things here?

About the composition of subsystems, I have also an open thread, but I am not yet happy. At IPA these days we are applying the models to a real use case, a UR manipulator with sensors and a gripper. Thanks to this example we are debugging and cleaning up our concept. I will ping you as soon as we have a well-tested version.

@fmrico
Copy link
Copy Markdown
Member Author

fmrico commented Sep 21, 2023

Ok, @ipa-nhg , my idea is adapting to all you consider.

@fmrico fmrico merged commit b65b0fb into main Sep 26, 2023
@fmrico fmrico deleted the nadia_sync branch September 26, 2023 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants