eProsima / Micro-XRCE-DDS-Client

Micro XRCE-DDS Client repository. Looking for commercial support? Contact info@eprosima.com
Apache License 2.0
130 stars 82 forks source link

How to use SHM #366

Closed ge65luz closed 1 year ago

ge65luz commented 1 year ago

Issue template

Steps to reproduce the issue

Hey, i have created a publisher and subscriber chain with micro-ROS nodes in a docker container , to analyze latencies. It works fine when i use the Agent. Now i want to use SHM. Therefore, i added"-DUCLIENT_PROFILE_SHARED_MEMORY=ON" to my colcon.meta. Do i still have to build the agent and the other steps like:

ros2 run micro_ros_setup build_firmware.sh
source install/local_setup.bash
ros2 run micro_ros_setup create_agent_ws.sh
ros2 run micro_ros_setup build_agent.sh
source install/local_setup.bash
ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888 -v6

When i build, the Agent is always is used. But when i am not launching the Agent, the launched nodes fail.

I am not using a microcontroller, does this still work? I want to see how big the latency is with and without the Agent. Furthermore, I am using Cyclone DDS for the Agent, is this maybe the problem?

All nodes are in the same container.

Are there any modifications I forgot to do ?

pablogs9 commented 1 year ago

Move this to a micro-ROS repo, Cyclone DDS is not compatible with eProsima's Micro XRCE-DDS