nix-ros-overlay
nix-ros-overlay copied to clipboard
ros2 node service can't communicate with non services ros2 node
Hi,
I have the talker runs as a service and publish messages via the code:
{ pkgs, ... }:
{
services.ros2 = {
enable = true;
distro = "iron";
domainId = 0;
nodes = {
talker = {
package = "demo_nodes_cpp";
node = "talker";
};
};
}
problem is when i run nix develop .#iron.demo_nodes_cpp and run the listener
ros2 run demo_nodes_cpp listener
the listener does not receive any messages...
the listener will start receiving message when i either run the talker with ros2 run or if i run the listener as a service like i do with the talker above...very strange behavior
This happens because the services are running as the ros user. I think it has something to do with shared memory fallback not working correctly, but it has been a while since I looked into it.
could it be related to this?
https://github.com/ros2/rclcpp/pull/2335 ? the new version of iron has this fix.
if not, any pointers on how to fix it?