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

Dependency management #1056

Open
PetervDooren opened this issue Dec 12, 2020 · 4 comments
Open

Dependency management #1056

PetervDooren opened this issue Dec 12, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@PetervDooren
Copy link
Contributor

In #1055 we noticed that our curren structure of dependencies in robot_skills means that all installations of robot_skills have dependencies on functionality from AMIGO, SERGIO en HERO, even if the target does not need all this.
Only the dependencies relevant to the target should be installed, and we should be able to change these depending on the robot we are using.

@PetervDooren
Copy link
Contributor Author

@MatthijsBurgh @jlunenburg, You guys had some opinions on this.

@LoyVanBeek
Copy link
Member

LoyVanBeek commented Dec 12, 2020

Th way this is typically done is by separating interface from implementation.
In such a set-up, robot_smach_states depends only on eg. robot_skill_interfaces while eg. HERO implements those interfaces in a separate package (eg. hero_skills), that depends its specific dependencies.
Then at runtime, a HERO-class is instantiated as we do now.

@jlunenburg
Copy link
Contributor

Yup, and as briefly mentioned you'd need some kind of plugin structure to make sure that the application (main challenge file in this case) knows which robots are available, i.e., 'installed' on the system.

@LoyVanBeek
Copy link
Member

For this aspect, we currently specify the robot's name. Using a path to a file with the class or just a module name+class name could do the trick there.

@PetervDooren PetervDooren added the enhancement New feature or request label Jan 27, 2021
@PetervDooren PetervDooren added this to the Generic robot interface milestone Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants