Skip to content

Adding Connector Plugin #1026

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

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

ralphieraccoon
Copy link
Contributor

Description
Integrating the Webots Connector node into webots_ros2.

Affected Packages

  • webots_ros2_driver
  • webots_ros2_msgs

@skpawar1305
Copy link
Contributor

I don't know anything about Webots Connector, please choose someone else as reviewer @ralphieraccoon

@ralphieraccoon ralphieraccoon requested review from angel-ayala and removed request for skpawar1305 January 20, 2025 10:52
@ralphieraccoon ralphieraccoon added the enhancement New feature or request label Jan 27, 2025
@angel-ayala angel-ayala requested a review from ygoumaz February 3, 2025 18:55
Copy link
Member

@lukicdarkoo lukicdarkoo left a comment

Choose a reason for hiding this comment

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

@ralphieraccoon Thank you, this looks quite good.

For wb_connector_lock() I would rather use a service, but this is fine too. We can add a service as well later.

Could you please add a test for this?

@ralphieraccoon
Copy link
Contributor Author

ralphieraccoon commented Feb 17, 2025

No problem! I can write a service if you prefer, I used VacuumGripper as a template. I guess you might want a service for that too?

As for tests, is there a particular robot you'd like to use? I guess I could put a tool changer on a robot arm. Speaking of which, I think VacuumGripper is missing a test too.

@lukicdarkoo
Copy link
Member

@ralphieraccoon

No problem! I can write a service if you prefer, I used VacuumGripper as a template. I guess you might want a service for that too?

This is a good point, let's keep consistent with the vacuum gripper.

As for tests, is there a particular robot you'd like to use? I guess I could put a tool changer on a robot arm. Speaking of which, I think VacuumGripper is missing a test too.

Whatever robot you prefer. Please add a test for connectors only in this PR. If you want, you can open a separate PR for the vacuum gripper.

@ralphieraccoon
Copy link
Contributor Author

OK, what I think I'll do is add a world to the webots_ros2_universal_robot that includes a tool changer that can used to test the Connector node (which I'll write a test for in test_system_universal_robot.py). Then in another PR I'll add a vacuum gripper and add another test in there for that.

@lukicdarkoo
Copy link
Member

If adding a new world please add it in the webots_ros2_tests package and keep it as simple as possible. It can be UR robot or it can be the one we use for driver tests.

@ralphieraccoon
Copy link
Contributor Author

ralphieraccoon commented Apr 16, 2025

I've created a new test in webots_ros2_tests called test_connector_and_vacuum_gripper.py. This uses a new world file connector_and_vacuum_gripper_test.wbt which is a bare bones implementation of both the Connector and VacuumGripper nodes. The test checks the presence topic, the is_locked service and uses GPS nodes to make sure the objects are actually picked up and dropped in the Webots simulation.

I've uploaded a video of the test in action below:

Screencast.from.2025-04-16.10-09-05.webm

It works on my machine, I believe it should work on the testing version here, I don't think it will work on main until the next sync which could be several weeks away.

I'll make a separate PR to add tests for the VaccuumGripper which should be broadly the same.

Hope this works for you, please let me know if there's anything you want changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

3 participants