Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need more modular roslaunch file hierarchy #56

Open
jack-oquin opened this issue Feb 15, 2018 · 5 comments
Open

Need more modular roslaunch file hierarchy #56

jack-oquin opened this issue Feb 15, 2018 · 5 comments

Comments

@jack-oquin
Copy link
Member

What we have today does work, but it's a rat's nest to modify and maintain.

Proposed approach:

  • create specific packages containing roslaunch scripts and parameters for each major robot component
  • each will have the minimum dependencies, completeness verified by roslaunch-check unit tests
  • each different segbot base or major component will have its own launch package
  • common subsystems will also have them, e.g.:
    • segbot simulation
    • segbot arm(s)
    • navigation
    • gmapping
    • graphical user interface components: rviz, rqt, diagnostics
    • basic features like logging, logical_translator, multi-level maps, KR execution, and virtour

Each of these launch packages can be used as an explicit whitelist parameter for catkin build, to only compile the packages needed on that platform or configuration. As much as possible, each robot should self-discover the components it needs.

This will require much experimentation, which will mostly be done in a separate branch based on our Kinetic software.

We may merge some of the top-level packages into the Kinetic branch early, so it's easier to do partial compilation of the whole system. Right now, compiling bwi_launch compiles everything, which is sometimes useful, but not always convenient.

@justinhart, @nickswalker, @harely22, @warnellg, @rdelfin, @FernandezR:
Comments? Suggestions?

@jack-oquin
Copy link
Member Author

jack-oquin commented Feb 15, 2018

One difficulty will be teasing apart various common subcomponents that are mixed into single packages. Fortunately, that does not have to be done all at once.

@jack-oquin
Copy link
Member Author

I am hoping this work will somehow make use of the ROS capabilities package eventually.

@jack-oquin
Copy link
Member Author

Some common packages have their own launch scripts, such as: bwi_logging, bwi_virtour, bwi_kr_execution, and bwi_logical_translator. That helps minimize the dependencies and the number of launch packages. It's a good approach for low-level common packages.

@jack-oquin
Copy link
Member Author

It looks like the various top-level launch packages for running or simulating segbots should go in the segbot repository, rather than bwi_launch. Effectively, bwi_launch depends on our entire code base, which is not what we usually want for building and testing.

@jack-oquin
Copy link
Member Author

With the completion of this project, I think bwi_launch will be deprecated, and perhaps deleted.

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

No branches or pull requests

1 participant