How to connect Microxrc client with agent over wifi

Hello,

I am using a ESP32 to connect my computer to my flight controller over wifi but ran into an issue with the uxrce_dds_client. I have Drone Bridge running on the ESP32.

I am able to connect to the flight controller over wifi and I can see the board on Q Ground control. But I cannot figure out how to get the client running.

I run “MicroXRCEAgent udp4 -p 8888” and try “uxrce_dds_client start -t udp -p 8888 -h 192.168.2.1” and receive the error
“ERROR [uxrce_dds_client] failed to instantiate object”

I feel like its an IP issue, but I’m not sure what I am doing wrong.
If anyone can let me know where I am going wrong that would be much appreciated.

Hi @I_R
Do you mean GitHub - DroneBridge/ESP32: DroneBridge for ESP32. A short range wifi based telemetry link. Support for MAVLink, MSP & LTM (iNAV).?

If so, then PX4 is using serial to communicate with the ESP, not udp.
I don’t know if you can have the client (PX4 side) using serial transport and the agent (PC) using udp transport working together.

Hi Benja,
Thanks for your reply. Yes, I am using drone bridge for ESP32. If that is the case, do you have a recommendation? I couldn’t find anything on this specifically, but I could have missed something.

I don’t, sorry. I can only tell you to try: Agent on UDP transport and client on serial transport. But I strongly doubt that it will work.

Moreover, do you really need to use uXRCE-DDS?
What about MAVROS?

No I dont need uXRCE, I just need ROS topics. I was looking into MAVROS, but I am using ROS 2 and I found most of the commands were for ROS 1, and I couldn’t find good documentation. Would you happen to know a good guide for using MAVROS with ROS2? If not it is alright, I will just have to use a companion computer.

You can use MAVROS with ROS 2:

Actually, the default branch is ros2