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

No access to uROS topics in another terminal

Offen
#81 11 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C
Sterne
101
Forks
35
Ø Merge
4 T. 16 Std.
Gemergte PRs (30 T.)
3

Beschreibung

## 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Dockerfile und devcontainer.json und reproduziere dann das Drei-Terminal-Setup aus dem verlinkten Tutorial first_application_linux. Vergleiche die Einstellungen ROS_LOCALHOST_ONLY und ROS_DOMAIN_ID mit den Befehlen agent und ping_pong und überprüfe das Ergebnis mit ros2 topic list. Erledigt ist es, wenn /microROS/pong im dritten Terminal sichtbar ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, docker, linux
Bereich
devops, distributed-systems, networking, robotics
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.