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

No access to uROS topics in another terminal

Ouverte
#81 11 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C
Étoiles
101
Forks
35
Merge moyen
4 j 16 h
PR mergées (30 j)
3

Description

## Issue template

- Hardware description: Windows 11, Docker inside VS Code with ROS2
- OS: Linux
- Installation type: Installed though [first_application_linux](https://micro.ros.org/docs/tutorials/core/first_application_linux/)
- Version or commit hash: humble

#### Steps to reproduce the issue

I followed the [tutorial](https://docs.ros.org/en/humble/How-To-Guides/Setup-ROS-2-with-VSCode-and-Docker-Container.html) 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](https://micro.ros.org/docs/tutorials/core/first_application_linux/). 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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par Dockerfile et devcontainer.json, puis reproduisez la configuration à trois terminaux du tutoriel first_application_linux lié. Comparez les paramètres ROS_LOCALHOST_ONLY et ROS_DOMAIN_ID avec les commandes agent et ping_pong, et vérifiez le résultat avec ros2 topic list. C’est terminé lorsque /microROS/pong est visible depuis le troisième terminal.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c, docker, linux
Domaine
devops, distributed-systems, networking, robotics
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.