Closed escortKwon closed 1 year ago
Are you on Galactic or Humble? Have you exported the environment variables to set Cyclone DDS as the RMW and a path to your config file?
<Tracing>
<Verbosity>config</Verbosity>
<OutputFile>stdout</OutputFile>
</Tracing>
Add this configuration to your Cyclone DDS XML under the Domain
tag and it should provide you with a wealth of information on how it has been configured and configured itself, including what interfaces it has chosen to communicate on and why.
N.B That config snippet works with the version of Cyclone DDS that comes with Humble, the syntax might be slightly different if you're on Galactic.
Thank you for you reply.
I have attached the snippet on my cyclonedds_pc.xml
as follows:
Then, I have run a command as follows: ros2 doctor
and the result is as follows:
I might guess the interface is not properly setup between my TB4 and remote PC
I wanna hear your opinion more.
BTW, I'm using Galactic on Remote PC. Thanks!
Looks like your remote PC is picking wlp6s0 as the right interface.
I don't know much about the TB4's architecture, but should be getting my hands on one soon and so could look further then, could run into the same issue!
Then, are there better ideas for troubleshooting? or I have to just wait for TB4 developer to solve this issue. For right now, I cannot come up with better idea to configure connection Remote PC and TB4 (according to reference, for middleware, CycloneDDS is Tier 1 for ROS2 Galactic and Ubuntu 20.04.)
There is always the possibility of capturing the network packets and a Cyclone DDS trace. Somehow I seem to always find some time to look at those when everything else fails 😉
My first assumption would be picking the "wrong" network interface on the PC, but as @ciandonovan says, that seems looks fine. I also assume both are on the same WiFi network and you're not running into any routing problems (which should be really rare anyway for unicast ...)
A packet capture is made using Wireshark, plenty of examples and excellent documentation is available.
Turning on tracing in Cyclone is done by adding:
<Tracing>
<Category>trace</Category>
<OutputFile>cdds.log.${CYCLONEDDS_PID}</OutputFile>
</Tracing>
(or some other output file name, of course!) to the Cyclone configuration XML file.
If you're curious about the contents of that trace file, it is somewhat documented now, but I expect it'll be a bit overwhelming hence my offer to have a look 😄 .
@escortKwon friendly ping to add to issue when you have something that may help moving it forward.
We are also seeing similar issues when using rmw_cyclonedds_cpp
on a corporate Wi-Fi network. We are not able to see any topics with ros2 topic list
between a Laptop and the Turtlebot 4 or even between laptops when running a demo talker node. We have tried the same config as shared above (from https://iroboteducation.github.io/create3_docs/setup/xml-config/) without success.
@jmm-slamcore I am sorry that we haven't been able to make any progress on the issue so far, it is just that I haven't had anything tangible to work with. Your observation that you don't see any topics:
even between laptops when running a demo talker node
gives me some hope, though: that seems like a good starting point. Would you be able to run it again while collecting a pair of trace files from Cyclone and upload them (or emailing them to me)? That should give me a good starting point.
Using FastDDS discovery server, I could access all topics between Remote PC and RPi4 simultaneously. Refer to this thread https://github.com/turtlebot/turtlebot4/issues/98
My issue is much similar to the current opened issue(#1421) Previous Thread
Let me describe more detail, as you asked on previous thread
Describe the troubles I had I had my Turtlebot4 Lite clean-installed. Because I had some connection problems and in troubleshooting progress, therefore I thought overwriting the latest TB4 lite image(ver. 0.1.3) on my TB4 is the best way to solve problems. After overwriting image, I had completed setting connection between Raspberry Pi 4 and 5GHz AP, between iCreate3 and 2.4GHz AP. with "nmap -sP ..." command, I could find IP addresses from both TB4 lite and iCreate3. But there were no what looks like some name or label(Ubuntu or Create-XXXX)
Also, I have checked all topics from ROS2 for both computers The upper one is captured from Remote PC and the other one is from RPi4
BTW, my final CylconeDDS configuration is as follows:
Desired features I hope First of all, I hope to get IP address on my Remote PC by
ros2 topic echo /ip
(If I could get that topic, there could be a chance to configure wireless connection among iCreate3 - Raspberry Pi 4 - Remote PC I wanna see all topics on my Remote PC byros2 topic list
.Previous work I had many tries to troubleshoot. Ros2 topic list does not show the Create3 is publishing topics for turtebot4 lite Request for uploading Dependencies
Thank you for your efforts!