Skip to content

No access to uROS topics in another terminal #81

@Jakubach

Description

@Jakubach

Issue template

  • Hardware description: Windows 11, Docker inside VS Code with ROS2
  • OS: Linux
  • Installation type: Installed though first_application_linux
  • Version or commit hash: humble

Steps to reproduce the issue

I followed the tutorial with modified files to make in work on Windows 11.
VS Code configuration:
Dockerfile

FROM osrf/ros:humble-desktop
ARG USERNAME=Jakub
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
    && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
    #
    # [Optional] Add sudo support. Omit if you don't need to install software after connecting.
    && apt-get update \
    && apt-get install -y sudo \
    && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
    && chmod 0440 /etc/sudoers.d/$USERNAME
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y python3-pip
ENV SHELL /bin/bash

# ********************************************************
# * Anything else you want to do like clean up goes here *
# ********************************************************

# [Optional] Set the default user. Omit if you want to keep the default as root.
USER $USERNAME
CMD ["/bin/bash"]

devcontainer.json

{
    "name": "ROS 2 Development Container",
    "privileged": true,
    "remoteUser": "Jakub",
    "build": {
        "dockerfile": "Dockerfile",
        "args": {
            "USERNAME": "Jakub"
        }
    },
    "workspaceFolder": "/home/ws",
    "workspaceMount": "source=${localWorkspaceFolder},target=/home/ws/src,type=bind",
    "customizations": {
        "vscode": {
            "extensions":[
                "ms-vscode.cpptools",
                "ms-vscode.cpptools-themes",
                "twxs.cmake",
                "donjayamanne.python-extension-pack",
                "eamodio.gitlens",
                "ms-iot.vscode-ros"
            ]
        }
    },
    "containerEnv": {
        "ROS_LOCALHOST_ONLY": "1",
        "ROS_DOMAIN_ID": "42"
    },
    "remoteEnv": {
        "DISPLAY": "host.docker.internal:0"
      },
    "runArgs": [
        "-e", "DISPLAY=${env:DISPLAY}",
        "--gpus=all"
    ],
    "mounts": [
        "source=${localWorkspaceFolder}/../cache/ROS_DISTRO/build,target=/home/ws/build,type=bind",
        "source=${localWorkspaceFolder}/../cache/ROS_DISTRO/install,target=/home/ws/install,type=bind",
        "source=${localWorkspaceFolder}/../cache/ROS_DISTRO/log,target=/home/ws/log,type=bind"
    ],
    "postCreateCommand": "sudo rosdep update && sudo rosdep install --from-paths src --ignore-src -y && sudo chown -R Jakub /home/ws/"
}

Then inside the docker I followed the tutorial. I try to run:
First terminal:

source /opt/ros/$ROS_DISTRO/setup.bash
source install/local_setup.bash
ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888

Second terminal:

source /opt/ros/$ROS_DISTRO/setup.bash
source install/local_setup.bash

# Use RMW Micro XRCE-DDS implementation
export RMW_IMPLEMENTATION=rmw_microxrcedds

# Run a micro-ROS node
ros2 run micro_ros_demos_rclc ping_pong

Third terminal:

source /opt/ros/$ROS_DISTRO/setup.bash
source install/local_setup.bash
ros2 topic list

Expected behavior

In the third topic I should be able to see topic named /microROS/pong.

Actual behavior

There are only two topics:

/parameter_events
/rosout

Additional information

When I try to run rviz2 its working correctly, I am able to see topics in every terminal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions