Connecting a UR arm to ROS via ethernet

Hello,

I’m a newbie with ROS and UR.
For one of my project i need to connect an Hololens with a UR5 in order to control it handfree.
To do so, I use ROS Kinetic installed on Ubuntu v16 which is emulated via Oracle virtual box.
The first step of my project is to get connected with the UR5.
By pinging the IP adress of my robot on windows i have a response from the UR5, however nothing when i do the same via ROS…

I tried to search but so far i found nothing about connection setting on ubuntu, because i think the main problem is that emulated ubuntu doesn’t communicate with my ethernet card of my PC.

Does anybody have an idea of how to proceed ?

best regards.

A couple of comments:

  1. ROS kinetic is not supported officially anymore and there have been problems compiling / installing the driver. If possible in any way, I would suggest to use ROS melodic or noetic.
  2. Running the driver in a virtual machine will most certainly introduce problems due to the realtime requirements of the driver. If the virtual machine is not deterministic / fast enough to send commands each control cycle, the robot might stop its motion at all. A native Linux+ROS machine would be much more appropriate.
  3. Connecting the virtual machine to your robot is a matter of configuring your virtual machine network. See the network manual on how to configure your virtualbox machine. If the robot is connected to your host computer’s network port, you will probably want to use a bridged networking device. With this your virtual machine will act like a separate machine connected to the same network as your host machine, with an own IP address and so on. Therefore, you will need to configure it the same way, as you configured your host network device (DHCP / manual IP address (in which case you’ll have to remember to give it an unused IP address)). Remember to use the IP of your VM in that case, when you setup the external_control on the robot.