Comments (5)
Hi @magladko,
I believe there is nothing wrong with that trace being printed out. It just means --config-file
is not being provided, thus it attempts to load DDS_ROUTER_CONFIGURATION.yaml
(which succeeds as otherwise the process would terminate with an error trace).
To double check it is well loaded, you may also try the equivalent command:
docker run -it --net=host -v /home/kornel/Programs/dds_router_ws/DDS_ROUTER_CONFIGURATION.yaml:/root/my_config.yaml ubuntu-ddsrouter:v2.0.0 ddsrouter -c /root/my_config.yaml
.
Regarding the no communication between the talker/listener and the router, can you at least observe discovery events in the router or nothing at all? Also, may I ask how are you launching demo nodes? It may be that your talker/listener is in a docker network while your router is not (--net=host
).
from dds-router.
Thank you for your response @juanlofer-eprosima.
- You are right, it seems that it is still using the provided yaml file. Just a quick note here, I don't know any way to pass arguments to router ran on docker, other than help and version, here is a print:
docker run -it --net=host -v /home/kornel/Programs/dds_router_ws/DDS_ROUTER_CONFIGURATION.yaml:/root/DDS_ROUTER_CONFIGURATION.yaml ubuntu-ddsrouter:v2.0.0 -h
-------------------------------------------------------------------
Entrypoint script for DDS Router Docker image
-h|--help|help Shows this help message
-v|--version|version Shows the repositories and versions of all the
installed tools and libraries
An empty argument list will launch the application
Any other argument will be executed on the image
-------------------------------------------------------------------
- My nodes are run outside of the docker image, just plainly on my machine in another terminal. And yes, there is no information about any traffic.
This is all I get even after launching the nodes:
~$ docker run -it --net=host -v /home/kornel/Programs/dds_router_ws/DDS_ROUTER_CONFIGURATION.yaml:/root/DDS_ROUTER_CONFIGURATION.yaml ubuntu-ddsrouter:v2.0.0
Not configuration file given, using default file DDS_ROUTER_CONFIGURATION.yaml.
Starting DDS Router Tool execution.
DDS Router running.
from dds-router.
Hi @magladko,
I tried to recreate your setup and in my case everything works as expected. Regarding your questions:
-
You need to add the name of the executable (
ddsrouter
), note that I edited my previous comment as it was wrong. -
This clearly should not happen. There might be a transport-related issue (summary: trying to use shared memory transport when that's not possible), however if this was the case you should at least see one or two discovery traces. Just in case, try addding
transport: udp
underdomain: 0
(at the same depth level), that should solve the transport issue.
Nonetheless, what version of ROS 2 are you using? You may try with our own distribution, just to make sure that is not the failing point. For example:
docker run --rm -it --net=host --ipc=host --env ROS_DOMAIN_ID=0 eprosima/vulcanexus:iron-desktop ros2 run demo_nodes_cpp talker
(Note: add also --ipc=host
to the DDS-Router docker run command)
from dds-router.
Hi @juanlofer-eprosima,
in fact, it works with the distribution you provided me.
I use ROS2 Humble directly installed on my system (not in docker). Everything is up to date and I use ROS2 built-in fastdds version (did not install it externally).
I tried adding the transport: udp
, but withot luck. I also ensured that I correctly export export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
and export ROS_DOMAIN_ID=0
Not a docker expert, tried also adding ipc argument, but also did not work.
Also just a note, I did not experience any errors while using my installation of ros2, so I am not sure where could I look next.
Still, thanks for your help.
EDIT: Your humble docker distribution still seems to work, but then what could be the reason that the distribution that I installed following the steps of ROS2 tutorial, which works in any other way, is left unfound.
from dds-router.
Well, not a docker expert indeed, not sure what was the issue, but running DDS Router on a local installation resolved my issue. Not sure whether to consider it closed, but I won't be needing any furhter assistance (in this case at least 🙃). Thanks for your time!
from dds-router.
Related Issues (20)
- Configuration example: WAN with dynamic ipaddresses and dyndns (optional SSL/TLS) HOT 4
- colcon build failed HOT 1
- Messages not routing with Foxy HOT 3
- docs: `addresses` key doesn't seem valid in `connection-addresses` HOT 2
- About 'wan communication over TCP' in readdocs HOT 1
- DDS Router Docker image not compatible with arm64 systems
- About WAN configuration and example HOT 2
- run example error HOT 4
- Deadline is set to 0, it may cause DataReaderImpl::deadline_timer_ timeout immediately HOT 2
- Reporting a vulnerability HOT 1
- Repeater using TCP with same domain ids HOT 1
- router stops after some time HOT 7
- Adding ROS 2 introspection as SUPER_CLIENT HOT 1
- DDS Router invalid when the network is bad(or disconnected) HOT 6
- DDS Router not forwarding ros2 messages before the first echo. HOT 2
- DDS Router ignoring connections HOT 1
- DDS Router won't communicate between networks HOT 3
- More QoS options possible?? HOT 1
- Read data from serial port then publish to DDS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dds-router.