I cannot really reproduce the problem. Could you please tell us a bit more about your network setup? Your docker host is windows or linux? what is the IP of your host, what is the IP of your container? Did you setup any port forwarding for your container?
To answer your question, yes, this is the follow-up of my question at UR3e does not respond to ROS.
I also calibrated the robot and still it does not work (For this, bear in mind that there is no ur_calibration in the Foxy branch)
I attach the terminal outputs for the two launch files. terminal.zip (9.0 KB)
My network setup is:
UR3e (192.168.0.4) > router > PC (Ubuntu (Dual boot) with IP 192.168.0.5 and another network for docker with IP 172.17.0.1) > docker (IP 172.17.0.2) > ROS2 Foxy.
I set up port forwarding in docker with -p 50001-50003
It looks like the reverse_ip parameter is not yet supported by the ROS2 driver. Hence, the URScript code generated by the driver contains the wrong IP address from your docker machine.
I’ve added an issue in the driver, but until this is being addressed, you can use a workaround and replace the {{SERVER_IP_REPLACE}} with the actual IP of your docker host (192.168.0.5 in your case). This should get you running, as then the port forwarding will do the rest.
Thank you for your reply.
Could you please explain exactly which files should have changed?
I see that the SERVER_IP_REPLACE variable is instantiated in ur_driver.cpp, external_control.urscript and ros_control.urscript. But the external_control.urscript is part of the externalcontrol-1.0.5.urcap that is installed on the real UR. So shall I change the installation urcap? or will the ur_driver.cpp be enough?