No access to uROS topics in another terminal
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- c, docker, linux
- Domain
- devops, distributed-systems, networking, robotics
Research direction
Start with the Dockerfile and devcontainer.json, then reproduce the three-terminal setup from the linked first_application_linux tutorial. Compare the ROS_LOCALHOST_ONLY and ROS_DOMAIN_ID settings with the agent and ping_pong commands, and verify the result with ros2 topic list. Done means /microROS/pong is visible from the third terminal.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- C
- Stars
- 101
- Forks
- 35
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 3
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from micro-ROS/micro-ROS-demos
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
micro-ROS/micro-ROS-demos#97 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
micro-ROS/micro-ROS-demos#83 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
micro-ROS/micro-ROS-demos#79 · 5 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
micro-ROS/micro-ROS-demos#74 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
micro-ROS/micro-ROS-demos#64 ·
All issues in micro-ROS/micro-ROS-demos
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
libsdl-org/SDL#16372 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
corazawaf/coraza-nginx#140 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
BasedHardware/omi#15662 · 1 comment ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
jamesstringer90/appsandbox#160 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100