Closed ignacioDeusto closed 4 months ago
Thanks for reporting this!
As the library version containing the trajectory port has not been synced for melodic, we did not want to change the driver's master branch to require those features, yet. This situation is something we did not have in mind and I apologize for any inconvenience caused. We'll provide a branch addressing this asap, so that can be used as a workaround until the next melodic sync happened (which I expect to happen rather soon, as the last sync was on June, 4th).
See #431 as a workaround.
This should be resolved by now.
Summary
Your issue may already be reported! Please search on the issue track before creating one.
Introduction to the issue
Versions
Impact
What is the impact of the issue. Try to describe it well enough, in order for us to prioritise the issues. Due to a recent change in the Universal Robots Client Library its impossible to launch 2 or more instances of the driver to control multiple robots from a single machine.
Issue details
This part is important in order to clarify the severity of the issue. The trajectory_port (Recently added to the Universal Robots Client Library) is hardcoded to 50003. In earlier versions of the driver the same thing happened with reverse_port and script_sender_port (hardcoded to 50001 and 50002) until they where implemented as parameters and configurable from launchfiles. Until the implementation of the trajectory_port everything worked fine in our setup.
Use Case and Setup
What does the setup look like and what are the objectives? Our setup include two UR3e which are meant to work in simultaneous tasks.
Project status at point of discovered
When did you first observe the issue?
Steps to Reproduce
Make simple example to reproduce the issue. Try to remove dependencies to other hardware and software components, if it is possible. Currently we've a separate launchfile for each robot and a global launchfile to launch both of them at the same time.
robot_1_bringup.launch:
robot_2_bringup.launch:
global_bringup.launch:
When launching each robot separately everything works fine, but when launching both at the same time the following error appears:
Launching a robot separately and checking the ports we got this for both cases:
Expected Behavior
What did you expect and why? Both robots launching from the same machine.
Actual Behavior
What did you observe? If possible please attach relevant information. The fact that there's a socket hard coded makes impossible to launch more than one robot from the same machine.
Workaround Suggestion
If a workaround has been found, you are welcome to share. The only workaround is to launch each robot from a different machine. The suggestion to fix this issue is to include the trajectory_port as a parameter like in the reverse_port and the script_sender_port cases. We believe that this error is also affecting the ROS 2 drivers users as mentioned in: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/issues/134