ipa320 / RosTooling

Apache License 2.0
33 stars 13 forks source link

Should not generate system package when using stacks in ros2 #173

Closed ipa-rwu closed 2 years ago

ipa-rwu commented 2 years ago

When I create a system with stacks, the tooling creates a whole system package which includes stack packages.

It can create a meta-package but stack packages should not be inside this folder.

image

For stack package, the "init.py" should be in a folder. image

ipa-nhg commented 2 years ago

Good point, I never consider this issue. I will try to fix it! Thanks for reporting 😄

ipa-nhg commented 2 years ago

I can't reproduce your filesystem structure. For this exmaple model:

RosSystem { Name 'demo_with_stacks'  
    RosComponentStacks (
        ComponentStack { name base
            RosComponents (
                 ComponentInterface { name jackal_node FromRosNode "jackal_base.jackal_node.jackal_node" },
                 ComponentInterface { name nmea_topic_driver NameSpace navsat FromRosNode "nmea_navsat_driver.nmea_topic_driver.nmea_topic_driver" } ,
                 ComponentInterface { name  controller_spawner FromRosNode "controller_manager.spawner.controller_spawner" })},
        ComponentStack { name teleop 
            RosComponents (
                 ComponentInterface { name twist_mux FromRosNode "twist_mux.twist_mux.twist_mux" },
                 ComponentInterface { name joy_node NameSpace bluetooth_teleop FromRosNode "joy.joy_node.joy_node" },
                 ComponentInterface { name teleop_twist_joy NameSpace bluetooth_teleop FromRosNode "teleop_twist_joy.teleop_node.teleop_node" } , 
                 ComponentInterface { name twist_marker_server FromRosNode "interactive_marker_twist_server.marker_server.twist_marker_server"})},
        ComponentStack { name others 
            RosComponents (
                 ComponentInterface { name  imu_filter FromRosNode "imu_filter_madgwick.imu_filter_node.imu_filter_node" } ,
                 ComponentInterface { name  ekf_localization FromRosNode "robot_localization.ekf_localization_node.ekf_localization_node" })}
)}

I get the following structure:

image

ipa-rwu commented 2 years ago

Sorry, it is my bad. I forget remove src-gen first. So it was mixed.