Comments (3)
Hi @lairdm
Glad to know you are using our new Repeater
feature. Every feedback is welcome.
Regarding your issue, I was not able to replicate the error, nor in foxy neither humble. I have checked the QoS and they have not changed for the command you are using. And this should not be a problem, as the DDS Router currently forward all the data (the internal entities use the lowest restriction QoS).
We have recently added a new functionality to EchoParticipant
where you can see the Discovery information (and set a verbose
option). From this PR #264 it is available and it may help you to see if the problem is that messages are not being forwarded correctly, or it is a discovery problem.
Sorry, but this feature is not well documented yet. I am working on it and I would upload it ASAP.
So, in order to help you with your issue, I may need to know if the error occurs in discovery (check that Cloud and Edge2 DDS Routers create the entities regarding the Edge1, and Discover the remote endpoitns) or whether it is a communication problem (EchoParticipant may not show data been forwarded from a router to the other).
from dds-router.
I've solved the issue but I have no idea why it works. I briefly got a Foxy VM working, which confused me. I then rebooted it and it stopped working. Digging through the data: true
and verbose: true
settings for the echo participant, thank you that was very useful, I saw that DDS Router wasn't even seeing the twist commands being sent locally on Foxy.
I found this post talking about disabling the shared memory transport [1]. I tried adding the profile and now the Foxy node works perfectly fine in both directions. And again, this is something I've sort of gotten hints about as I've been learning and evaluating RTI's Routing Service over the last month. I've seen hints that something with QoS or the SHMEM protocol magic number/identifier changed in the DDS standard around the time of Foxy/Galactic. I don't fully understand but I've seen different mentions about Foxy and SHMEM compatibility and changes.
Regardless, I've found a way to make Foxy work consistently. Thank you very much for your assistance.
from dds-router.
Hi @lairdm
I am glad that it works now. We are working to improve our documentation, but indeed the Echo feature is a great advantage.
Regarding the changes in ROS2 that you mention, I am not completely aware of it, but notice this;
- Foxy works (by default) with eProsima Fast DDS. Galactic has Cyclone DDS by default. So this is a major change in middleware, especially regarding default values. But the default QoS should have no change as far as I know. Humbles turns back to Fast DDS.
- Shared Memory Transport is not something standard in DDS, so each implementation has its own (if they have one). In Fast DDS we know that it has been issues when working with dockers, as entities think they are in the same host while they do not have access to the same shared memory segment. This is configurable via CMake options, via code or by xml configuration.
- DDS Router always works with Fast DDS underneath. Thus, it will behave differently with Fast DDS entities than with other DDS vendors entities. However, this differences would be noticed in performance, but should not affect the user experience (except this SHM docker failure).
Please, if this issue has been solved, close this issue and feel free to open it or open a new one if any other problem arises.
from dds-router.
Related Issues (20)
- Configuration example: WAN with dynamic ipaddresses and dyndns (optional SSL/TLS) HOT 4
- colcon build failed HOT 1
- 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
- Not configuration file given, using default file DDS_ROUTER_CONFIGURATION.yaml HOT 5
- 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.