0
$\begingroup$

When running demo_nodes_cpp talker on the Dev computer and demo_nodes_cpp listener on my Raspberry Pi, the listener does not pick up the the message as it does when both nodes are running on the same device. "ros2 node list" only outputs the node that is running on that machine and does not show the node running on the other.

I have ROS2 Humble installed on both the dev computer and the Raspberry Pi. Both machines are running on the same network. I followed the Articulated Robotics tutorial on setting up the netplan configuration files(although my Raspberry Pi does not stick to the static IP address I entered on the "addresses" line for some reason). The machines can ping one another. I can access the Pi from the Dev computer using SSH. I have set both of the ROS_DOMAIN_ID's to 101. Talker and Listener work when they are both running on the same device. I did see some other questions asking about Multicast being enabled; I believe multicast is enabled on both devices based on ipaddr resulting in:

On dev computer: 3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

On the pi: 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

netplan config files:

Dev Computer: network: version: 2 renderer: NetworkManager

wifis: wlo1:
dhcp4: false dhcp6: false addresses: [192.168.86.249/24] routes: - to: default via: 192.168.86.1
nameservers: addresses: [192.168.86.1]

  access-points:
    "------":  # 
      password: "-------"

Raspberry Pi:

network: version: 2 renderer: NetworkManager

wifis: wlan0: dhcp4: false dhcp6: false addresses: [192.168.86.250/24] routes: - to: default via: 192.168.86.1 nameservers: addresses: [192.168.86.1]

  access-points:
    "------":
     password: "-------"

Any advice appreciated! Happy to provide more information upon request!

$\endgroup$

1 Answer 1

1
$\begingroup$

Solved this issue but I'm not sure how I messed it up to begin with. After running "printenv | grep -i ROS" on each machine, I noticed that ROS_LOCALHOST_ONLY was set to 1 on the Dev computer and 0 on the Raspberry Pi. I changed the value of this variable to be 0 on the Computer as well and now my communications are working properly.

$\endgroup$
1
  • $\begingroup$ Welcome at RSE. Please mark your answer as solving your question (the green tick left of your answer). $\endgroup$ Nov 14, 2023 at 13:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.