-
Notifications
You must be signed in to change notification settings - Fork 219
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 on JSC and JTC missing? #103
Comments
Technically, the responsibility to bring in those packages falls onto the users of Realistically though, most users will want to use Alternatively we could consider adding launch and config files to the robot support packages that provide an initial setup and tie the hw interface, We do run into point 1 of ros-industrial/ros_industrial_issues#49 then though: RSI is not the only way to interface with these robots, and the packages can be used without any driver whatsoever as well, which would make hardcoding the dependency a bit unfortunate. |
I still really like your suggestions in ros-industrial/ros_industrial_issues#49 and therefore would vote against putting the dependencies in the support packages. I am also leaning towards them not being included in |
We could introduce a separate That package should have dependencies on JSC and JTC. As to the rest: I also don't want to add the dependencies to the support packages, but I only see two other options:
Ad 1: we can document all we want, but in my experience we won't avoid users not following instructions and posting support requests about 'crashing' launch files because of missing packages. Ad 2: these could be packages like: With the support pkgs we currently have, that would mean 6 additional packages. That is assuming fully specialised convenience launch files which are specifically created for one specific variant. Alternatively we could parameterise just about everything and create a single |
👍 to a So to clarify, assuming we add the rsi test package with ros-controller dependencies there, the remaining issue then is how to handle the adoption of ros-industrial/ros_industrial_issues#49 and how to manage different driver-robot combinations? |
I'm not too worried about ros-industrial/ros_industrial_issues#49, I've split up a nr of repositories already. Using
well .. that was the reason I opened this issue ;) I currently have a slight preference for option 2, but with the 'single package with series & variant launch file parameter' approach. That would mean one additional package, which allows to use the xacros from the robot support packages with the RSI hw iface. And that pkg should then have the dependencies (I never intended for the new test pkg to have the responsibility of bringing those in: users could opt not to install it, and we'd be back where we started). |
Gotcha!
Agreed 👍 This is my favorite as well. |
I've worked on this a bit, and so far have concluded (for myself) that a separate
Without a The 'option 2' pkg is worth looking into more I feel, but I'm running into some things that need decisions and I can't really make up my mind. I'd like us to be able to release the 'option 2' pkg, which means that we have to come up with some sort of reusable infrastructure (ie: launch and config files) that don't need editing to be useful, at least in the common case / initially (editing will be impossible, as they will be in non world-writable locations). My goal would be to make the introduced infrastructure as re-usable as possible, unless you have a really complex setup. A standard, 6-axes robot should be able to launch an instance of the hw iface with a single command, only providing the bare minimum of information (ip address, port, urdf). If we make the user responsible for loading a urdf, a base launch file for
For 1 and 2, we could either put everything in (a) yaml file(s) or use Launch files with arguments are parameterisable, which increases their reusability, especially when they are read-only. Having everything in the launch file ( Yaml files are static, so not reusable (unless you happen to need the exact same content). A user with a different setup will need to copy the file to some writable location, update it and then somehow get the base launch file to load the copied file, not the original (could use an I've prototyped the "everything in a single launch file"-approach before, see kr6r900sixx_moveit_rsi_convenience (ignore the issue with the With the new setup though, instead of creating something like that for all variants, we could add a single instance to the 'option 2' pkg and add |
As confirmed in #101 (comment), none of the packages in
kuka_experimental
have a dependency onjoint_state_controller
orjoint_trajectory_controller
.This can lead to users - with a minimal ROS install (ie: no
ros_control
packages installed yet - running into "Could not load controller X" errors while trying to start the launch file(s) mentioned in the readmes.It's unclear whether - and where - these dependencies should be added: the hw interface can be used without those two controllers and, apart from the launch and config files in
test
(which should probably not be there),kuka_rsi_hw_interface
does not use those packages itself.Only if users of
kuka_rsi_hw_interface
configure their systems to load those controllers is a dependency created.The text was updated successfully, but these errors were encountered: