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

Support ROS Iron #8

Merged
merged 7 commits into from
Aug 31, 2023
Merged

Support ROS Iron #8

merged 7 commits into from
Aug 31, 2023

Conversation

sloretz
Copy link
Collaborator

@sloretz sloretz commented Aug 24, 2023

This migrates the nexus packages to ROS iron.

It requires Yadunund/abb_ros2#2

There is an issue in upstream moveit2 that still requires nexus/thirdparty.repos to get the nexus_integration_tests tests to pass. The fix has already been backported (moveit/moveit2#2300), so it will be resolved when Moveit makes a new release into Iron (moveit/moveit2#2327).

I bumped the version of zenoh_bridge_dds to 0.7.2-rc and used the new ament_vendor() macro to vendor it. Previously nexus was using pre-built binaries from a fork. This PR now builds it from source.

I removed the call to ros2 run in zenoh_bridge.launch.py. I was seeing a lot of ros2 run and zenoh_bridge_dds processes running from failed test runs, and I thought getting rid of the intermediate process would fix it. I'm not sure if it did, but it's at least one less process running. I'm not sure this change is strictly necessary for Iron so I'd be happy to move it to another PR.

@sloretz sloretz self-assigned this Aug 24, 2023
@Yadunund Yadunund mentioned this pull request Aug 28, 2023
Copy link
Member

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor change requested.

I've switched the kinematic plugin to regular kdl in the moveit_config pkg for irb1300 so hoping CI passes now. The cached version can be configured on a deployment basis while ensuring moveit is built from source as you have documented.

nexus_zenoh_bridge_dds_vendor/CMakeLists.txt Outdated Show resolved Hide resolved
sloretz and others added 4 commits August 30, 2023 20:49
Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
Signed-off-by: Yadunund <yadunund@openrobotics.org>
sloretz and others added 3 commits August 30, 2023 22:10
Signed-off-by: Shane Loretz <sloretz@openrobotics.org>
* Use regular abb control launch

Signed-off-by: Yadunund <yadunund@openrobotics.org>

* Interpolate instead of plan

Signed-off-by: Yadunund <yadunund@openrobotics.org>

* Increase timeout

Signed-off-by: Yadunund <yadunund@openrobotics.org>

---------

Signed-off-by: Yadunund <yadunund@openrobotics.org>
Signed-off-by: Yadunund <yadunund@openrobotics.org>
Copy link
Member

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we are good to merge! Thanks for identifying all these changes.

Turns out CI kept getting killed midway due to the 30min timeout configured in the yaml. This would lead to termination during build or midway during testing. After increasing the timeout, I observed that occasionally CI fails as one of the workcells fails to register itself with the system orchestrator. I could reproduce this locally and I observed that zenoh processes from previous tests were still lingering. I added some explicit commands to terminate these processes in the test files and CI passes more deterministically.

@Yadunund Yadunund merged commit ccf2970 into main Aug 31, 2023
2 checks passed
@Yadunund Yadunund deleted the sloretz__iron branch August 31, 2023 10:48


class ParallelWoTest(NexusTestCase):
@RosTestCase.timeout(60)
async def asyncSetUp(self):
# todo(YV): Find a better fix to the problem below.
# zenoh-bridge was bumped to 0.72 as part of the upgrade to
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the same behavior with the previous zenoh version too. It's why I made the zenoh launch file launch the bridge directly instead of ros2 run - I thought the leftover processes might have been from ros2 run leaving them open.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I see. Sounds like the bridge may not be handling termination signals correctly?

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

Successfully merging this pull request may close these issues.

2 participants