-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Summary
Currently, all robots live under the code package folder directory and are imported to the project as follows:
from armctl import * # for all robots
from armctl import UR5 # One robotI want to revise (and split) the project directory structure to support grippers separate from robots. See example structure below:
armctl
├── grippers
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ └── e
└── robots
├── a
├── b
├── c
├── d
└── e
I'd imagine they'd be potentially imported as so:
from armctl.grippers import *
from armctl.grippers import OnRobot
from armctl.robots import *
from armctl.robots import UR5As of right now, I am unsure if I will still allow for wildcard (*) imports from root package dir:
from armctl import *Logger and other metadata will remain in the top-level package
Rationale
This will allow me to un-embed grippers from robot sub-structure folders. I can likely now create a templated system for gripper control, separate from the robotic arms. Additionally, I can now likely clean up the template and utils system to their own folder substructure now, too. Something like this
├── grippers
│ ├── __init__.py
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ └── e
├── robots
│ ├── __init__.py
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ └── e
├── templates
│ ├── __init__.py
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ └── e
└── utils
├── __init__.py
├── a
├── b
├── c
├── d
└── e
With this said, templated systems could also be in robots and grippers folders if they are unique to those systems. This plan may be subject to change before implementation.