carnegierobotics / multisense_ros

ROS Wrapper for LibMultiSense
Other
7 stars 18 forks source link

Unable to get data while connecting the camera using a network switch #95

Closed poornimajd closed 1 month ago

poornimajd commented 3 months ago

Hi, So here is the scenario: I have a ouster lidar which can be connected over ethernet . I also have a multisense s30 which needs to be connected using the ethernet. I have connected the ethernet from the camera to a network switch and also the ethernet from the ouster to the network switch. Another ethernet cable from the network switch goes into the jetson (main compute). I have set the following: For the camera: sudo ifconfig eth0:0 10.66.171.100 netmask 255.255.255.0 up (as an alias of eth0)

For the ouster: sudo ifconfig eth0:1 169.254.55.100 netmask 255.255.255.0 up (as an alias of eth0)

Now I am able to run the lidar, and get the data, and I am able to ping the camera using the command: ping -s 8992 10.66.171.21 (as mtu is set to 9000)

Output of ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8966
        inet 10.66.171.200  netmask 255.255.255.0  broadcast 10.66.171.255
        inet6 fe80::c545:2575:b730:52df  prefixlen 64  scopeid 0x20<link>
        ether 48:b0:2d:90:2f:e2  txqueuelen 1000  (Ethernet)
        RX packets 20937836  bytes 32092874218 (32.0 GB)
        RX errors 0  dropped 10162  overruns 0  frame 0
        TX packets 4835  bytes 774671 (774.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8966
        inet 10.66.171.100  netmask 255.255.255.0  broadcast 10.66.171.255
        ether 48:b0:2d:90:2f:e2  txqueuelen 1000  (Ethernet)

eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8966
        inet 169.254.55.100  netmask 255.255.255.0  broadcast 169.254.55.255
        ether 48:b0:2d:90:2f:e2  txqueuelen 1000  (Ethernet)

I am able to launch the camera using

roslaunch multisense_bringup multisense.launch ip_address:="10.66.171.21" mtu:="9000" But I am not able to receive any image, and when I do rostopic echo /multisense/left/image_rectnothing is displayed.

Any suggestion would be appreciated. Thank you

mattalvarado commented 3 months ago

Can you try running the MultiSense ROS driver at a lower MTU of 1500?

Are you able to run any of the other multisense_lib tools like the VersionInfoUtility or the SaveImageUtility?

poornimajd commented 3 months ago

Can you try running the MultiSense ROS driver at a lower MTU of 1500?

I set mtu to 1500, and it works! But will setting the mtu to a lower value, effect the latency or efficiency of data transmission?

Thank you!

mattalvarado commented 3 months ago

There will be a very minor performance hit, and it may affect the total bandwidth you can send from the camera, but you would only see those limitations if you were streaming both rectified and unrectified image sources along with the disparity image source at 30fps.

Out of curiosity, does a larger MTU of 7200 also work?