ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The Solution (TL;DR)

Contact Clearpath customer support or edit the /etc/network/interfaces file as shown below.

The Solution (full explanation)

The Jackal UGV has two physical Ethernet ports, but they are both tied to the same IP address (which defaults to 192.168.1.11). This is done (I assume) so that even if something goes wrong on one port, you can still plug into the other one and access your robot.

However, this also complicates the connection if you want the Jackal to talk to a sensor over Ethernet and talk to it via a separate device (such as a laptop) at the same time. In my setup, as described above, this causes issues because the Velodyne drivers don't know how to deal with this interface, and because the shear amount of data coming from the HDL-32 floods the channel with data, creating latency issues.

To fix this, you need to separate the two ports. Note that this solution works for a 2016 Clearpath Jackal UGV. If you are using another one of Clearpath's robots, or using a Jackal produced more recently, this may not be a problem or the solution may be different. If in doubt, contact Clearpath customer support directly.

To separate the two ports, edit the /etc/network/interfaces file:

sudo nano /etc/network/interfaces

And change it to look like this:

auto lo br0 br0:0 eth0 eth1
iface lo inet loopback

# Bridge together physical ports on machine, assign standard Clearpath Robot IP.
iface br0 inet static
  bridge_ports regex eth0
  address 192.168.1.11
  netmask 255.255.255.0

# Also seek out DHCP IP on those ports, for the sake of easily getting online,
# maintenance, ethernet radio support, etc.
iface br0:0 inet dhcp

iface eth1 inet static
  address <broadcast IP>
  netmask 255.255.255.0

Where <broadcast IP> is the IP that the sensor is broadcasting to. If you are using a Velodyne sensor like I am, this should be 192.168.3.XXX where 'XXX' can be any 2 or 3 digit number you like. You should then be able to plug your sensor into one Ethernet port, plug your laptop into the other, and have the Jackal talk to both just fine.

As a side note, if you are using a Velodyne sensor and these Velodyne drivers, the drivers won't see the data by default. You will also need to add a static route with this command:

route add 192.168.1.201 eth1

(or use eth0 depending on your setup). To make this configuration permanent, add the same command to the /etc/rc.local file.

The Solution (TL;DR)

Contact Clearpath customer support or edit the /etc/network/interfaces file as shown below.

The Solution (full explanation)

The Jackal UGV has two physical Ethernet ports, but they are both tied to the same IP address (which defaults to 192.168.1.11). This is done (I assume) so that even if something goes wrong on one port, you can still plug into the other one and access your robot.

However, this also complicates the connection if you want the Jackal to talk to a sensor over Ethernet and talk to it via a separate device (such as a laptop) at the same time. In my setup, as described above, this causes issues because the Velodyne drivers don't know how to deal with this interface, and because the shear amount of data coming from the HDL-32 floods the channel with data, creating latency issues.

To fix this, you need to separate the two ports. Note that this solution works for a 2016 Clearpath Jackal UGV. If you are using another one of Clearpath's robots, or using a Jackal produced more recently, this may not be a problem or the solution may be different. If in doubt, contact Clearpath customer support directly.

To separate the two ports, edit the /etc/network/interfaces file:

sudo nano /etc/network/interfaces

And change it to look like this:

auto lo br0 br0:0 eth0 eth1
iface lo inet loopback

# Bridge together physical ports on machine, assign standard Clearpath Robot IP.
iface br0 inet static
  bridge_ports regex eth0
  address 192.168.1.11
  netmask 255.255.255.0

# Also seek out DHCP IP on those ports, for the sake of easily getting online,
# maintenance, ethernet radio support, etc.
iface br0:0 inet dhcp

iface eth1 inet static
  address <broadcast IP>
  netmask 255.255.255.0

Where <broadcast IP> is the IP that the sensor is broadcasting to. If you are using a Velodyne sensor like I am, this should be 192.168.3.XXX where 'XXX' can be any 2 or 3 digit number you like. You should then be able to plug your sensor into one Ethernet port, plug your laptop into the other, and have the Jackal talk to both just fine.fine, as per this diagram:

image description

As a side note, if you are using a Velodyne sensor and these Velodyne drivers, the drivers won't see the data by default. You will also need to add a static route with this command:

route add 192.168.1.201 eth1

(or use eth0 depending on your setup). To make this configuration permanent, add the same command to the /etc/rc.local file.

file.

The Solution (TL;DR)

Contact Clearpath customer support or edit the /etc/network/interfaces file as shown below.

The Solution (full explanation)

The Jackal UGV has two physical Ethernet ports, but they are both tied to the same IP address (which defaults to 192.168.1.11). This is done (I assume) so that even if something goes wrong on one port, you can still plug into the other one and access your robot.

However, this also complicates the connection if you want the Jackal to talk to a sensor over Ethernet and talk to it via a separate device (such as a laptop) at the same time. In my setup, as described above, this causes issues because the Velodyne drivers don't know how to deal with this interface, and because the shear amount of data coming from the HDL-32 floods the channel with data, creating latency issues.

To fix this, you need to separate the two ports. Note that this solution works for a 2016 Clearpath Jackal UGV. If you are using another one of Clearpath's robots, or using a Jackal produced more recently, this may not be a problem or the solution may be different. If in doubt, contact Clearpath customer support directly.

To separate the two ports, edit the /etc/network/interfaces file:

sudo nano /etc/network/interfaces

And change it to look like this:

auto lo br0 br0:0 eth0 eth1
iface lo inet loopback

# Bridge together physical ports on machine, assign standard Clearpath Robot IP.
iface br0 inet static
  bridge_ports regex eth0
  address 192.168.1.11
  netmask 255.255.255.0

# Also seek out DHCP IP on those ports, for the sake of easily getting online,
# maintenance, ethernet radio support, etc.
iface br0:0 inet dhcp

iface eth1 inet static
  address <broadcast IP>
  netmask 255.255.255.0

Where <broadcast IP> is the IP that the sensor is broadcasting to. If you are using a Velodyne sensor like I am, this should be 192.168.3.XXX where 'XXX' can be any 2 or 3 digit number you like. You should then be able to plug your sensor into one Ethernet port, plug your laptop into the other, and have the Jackal talk to both just fine, as per this diagram:

image descriptionimage description

As a side note, if you are using a Velodyne sensor and these Velodyne drivers, the drivers won't see the data by default. You will also need to add a static route with this command:

route add 192.168.1.201 eth1

(or use eth0 depending on your setup). To make this configuration permanent, add the same command to the /etc/rc.local file.

The Solution (TL;DR)

Contact Clearpath customer support or edit the /etc/network/interfaces file as shown below.

The Solution (full explanation)

The Jackal UGV has two physical Ethernet ports, but they are both tied to the same IP address (which defaults to 192.168.1.11). This is done (I assume) so that even if something goes wrong on one port, you can still plug into the other one and access your robot.

However, this also complicates the connection if you want the Jackal to talk to a sensor over Ethernet and talk to it via a separate device (such as a laptop) at the same time. In my setup, as described above, this causes issues because the Velodyne drivers don't know how to deal with this interface, and because the shear amount of data coming from the HDL-32 floods the channel with data, creating latency issues.

To fix this, you need to separate the two ports. Note that this solution works for a 2016 Clearpath Jackal UGV. If you are using another one of Clearpath's robots, or using a Jackal produced more recently, this may not be a problem or the solution may be different. If in doubt, contact Clearpath customer support directly.

To separate the two ports, edit the /etc/network/interfaces file:

sudo nano /etc/network/interfaces

And change it to look like this:

auto lo br0 br0:0 eth0 eth1
iface lo inet loopback

# Bridge together physical ports on machine, assign standard Clearpath Robot IP.
iface br0 inet static
  bridge_ports regex eth0
  address 192.168.1.11
  netmask 255.255.255.0

# Also seek out DHCP IP on those ports, for the sake of easily getting online,
# maintenance, ethernet radio support, etc.
iface br0:0 inet dhcp

iface eth1 inet static
  address <broadcast IP>
  netmask 255.255.255.0

Where <broadcast IP> is the IP that the sensor is broadcasting to. If you are using a Velodyne sensor like I am, this should be 192.168.3.XXX where 'XXX' can be any 2 or 3 digit number you like. You should then be able to plug your sensor into one Ethernet port, plug your laptop into the other, and have the Jackal talk to both just fine, as per this diagram:

image descriptionimage description

As a side note, if you are using a Velodyne sensor and these Velodyne drivers, the drivers won't see the data by default. You will also need to add a static route with this command:

route add 192.168.1.201 eth1

(or use eth0 depending on your setup). To make this configuration permanent, add the same command to the /etc/rc.local file.