micro-ROS / micro-ROS/micro-ROS-demos

No access to uROS topics in another terminal

Aberta
#81 11 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C
Estrelas
101
Forks
35
Merge médio
4d 16h
PRs com merge (30d)
3

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece com Dockerfile e devcontainer.json e, em seguida, reproduza a configuração de três terminais do tutorial first_application_linux vinculado. Compare as configurações ROS_LOCALHOST_ONLY e ROS_DOMAIN_ID com os comandos agent e ping_pong e verifique o resultado com ros2 topic list. Está concluído quando /microROS/pong estiver visível no terceiro terminal.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
c, docker, linux
Domínio
devops, distributed-systems, networking, robotics
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.