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

Should address roslaunch Support Limitations #344

Open
2 tasks
IanTheEngineer opened this issue Apr 18, 2024 · 2 comments
Open
2 tasks

Should address roslaunch Support Limitations #344

IanTheEngineer opened this issue Apr 18, 2024 · 2 comments

Comments

@IanTheEngineer
Copy link
Member

IanTheEngineer commented Apr 18, 2024

Follow on from #298

  • ExecuteNodeAction can be used non-Bazel packages / nodes, but it is unclear what the behavior is for Bazel packages / nodes. Bazel package / node support would potentially require writing a new rule that sets appropriate indexing so that the node can be detected using launch.
  • There needs to be something like Rlocation() in XML. ros2 launch plugin registration requires Python's importlib.metadata, which is unclear how to inject in a temporary fashion via Bazel (but there is likely a way to do this).
@EricCousineau-TRI
Copy link
Collaborator

Thanks!

One missing checkbox is that we don't have something like Rlocation() in XML.
ros2 launch plugin registration requires Python's importlib.metadata, which I'm not sure how to inject in a temporary fashion via Bazel (I'm sure there is a way though).
However, this is lower priority than making ExecuteNodeAction work with our custom nodes.

Can you add this?

ExecuteNodeAction cannot be used for now [...]

It should be able to be used for non-Bazel packages / nodes, but I'm just not sure what the behavior is for Bazel packages / nodes.

This behavior may not be consistent for say Windows [...]

Is it OK if we remove this bullet point? I don't think we will support Windows any time soon given that drake itself does not.

Sort out how to pass cmdline arguments to the launch file. Currently, the roslaunch_util.py script is used that adds one layer of complexity between the CLI and the user.

I fixed this one in the PR - can you remove this checkbox?

Bazel places nodes in directories with the workspace name

I fixed this one as well - can you remove this checkbox?

@EricCousineau-TRI EricCousineau-TRI changed the title Address roslaunch Support Limitations Should address roslaunch Support Limitations Apr 18, 2024
@IanTheEngineer
Copy link
Member Author

One missing checkbox is that we don't have something like Rlocation() in XML. ros2 launch plugin registration requires Python's importlib.metadata, which I'm not sure how to inject in a temporary fashion via Bazel (I'm sure there is a way though). However, this is lower priority than making ExecuteNodeAction work with our custom nodes.

Can you add this?

Done.

ExecuteNodeAction cannot be used for now [...]

It should be able to be used for non-Bazel packages / nodes, but I'm just not sure what the behavior is for Bazel packages / nodes.

This behavior may not be consistent for say Windows [...]

Is it OK if we remove this bullet point? I don't think we will support Windows any time soon given that drake itself does not.

Yep! Removed. My original thought is that the bazel_ros2_rules package could potentially stand alone from drake-ros, and support the larger ROS ecosystems worth of environments, so noting the cross platform issue here is potentially useful for visibility, but not prioritization. With that said, you're right in that we don't intend to support this OS within this repo in the future, and I'd prefer not to introduce confusion by referring to Windows with this item.

Sort out how to pass cmdline arguments to the launch file. Currently, the roslaunch_util.py script is used that adds one layer of complexity between the CLI and the user.

I fixed this one in the PR - can you remove this checkbox?

Done.

Bazel places nodes in directories with the workspace name

I fixed this one as well - can you remove this checkbox?

Done.

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

2 participants