micro-ROS-Agent
micro-ROS-Agent copied to clipboard
Micro-ros-Agent and esp32 ( WSL2 setup )
Issue template
- Hardware description: Dell Inspiron 15 (Ubuntu 20.04 wsl2)
- RTOS: ESP32 Node MCU
- Installation type: micro_ros_setup
- Version or commit hash: foxy
Steps to reproduce the issue
- Set the micro-ros credentials through the command "idf.py menuconfig";
- Compile and flash the INT32_SUB_PUB example on esp32;
In the Ubuntu 20.04 wsl2 Host machine:
- Windows 11 side:
- Open the windows power shell as admin user and type: "netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=<wsl2_ip_address>"
- Go to the firewall and create a new inbound rule for port 8888 ;
- Ubuntu 20.04 wsl2 side:
- install the micro-ROS package and dependencies following this tutorial: https://micro.ros.org/docs/tutorials/core/first_application_linux/
- run the micro_ros_agent: "ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888"
Expected behavior
I was expecting the same behavior when use a native linux machine: the esp32 finding the ros agent and publishing messages over ros2.
Actual behavior
Esp32 tries to connect to the ros agent but it is not finding it and eventually i get this message on the esp32 monitor: "Failed status on line 57: 1. Aborting".
Additional information
Currently netsh portproxy doesn't support UDP which is used for microROS agent communication. This is an active issue in the WSL repo: https://github.com/microsoft/WSL/issues/4150
My current workaround is to have the agent running in a separate Linux VM (VirtualBox) using a bridged network adapter