Hi I am Currently working on a project to implement a self made attitude controller on drone
And I have encountered an issue
What i want to do
I want to connect Pixhawk with Companoin computer to communicate with uXRCE-DDS
and can publish ROS 2 topic
Hardware Specification
Name | SPEC |
---|---|
Companion Computer | Intel NUC |
OS | Ubuntu 22.04.5 LTS |
ROS 2 version | Humble |
Drone | Holybro S500 V2 |
Flight Controller | Pixhawk 6X |
uXRCE-DDS connection | ETH |
QGC connection | USB-C |
Parameters

Command
Terminal Command
cowboy@GCSL-NUC1:~$ ip route
default via 192.168.50.1 dev wlo1 proto dhcp metric 600
169.254.0.0/16 dev wlo1 scope link metric 1000
192.168.50.0/24 dev wlo1 proto kernel scope link src 192.168.50.112 metric 600
cowboy@GCSL-NUC1:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp86s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 48:21:0b:60:55:95 brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 30:f6:ef:44:07:f5 brd ff:ff:ff:ff:ff:ff
altname wlp0s20f3
inet 192.168.50.112/24 brd 192.168.50.255 scope global dynamic noprefixroute wlo1
valid_lft 77626sec preferred_lft 77626sec
inet6 fe80::3b05:fa8:e805:11b1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
cowboy@GCSL-NUC1:~/Micro-XRCE-DDS-Agent/build$ ./MicroXRCEAgent udp4 -p 8888
[1745786655.576429] info | UDPv4AgentLinux.cpp | init | running... | port: 8888
[1745786655.576782] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
QGC MAVLink Console
> netman show
DEVICE=eth0
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.50.2
ROUTER=192.168.50.1
DNS=192.168.50.1
nsh> uxrce_dds_client start -t udp -b 921600 -h 192.168.50.1 -p 8888
INFO [uxrce_dds_client] init UDP agent IP:192.168.50.1, port:8888
nsh> uxrce_dds_client status
INFO [uxrce_dds_client] Running, disconnected
INFO [uxrce_dds_client] Using transport: udp
INFO [uxrce_dds_client] Agent IP: 192.168.50.112
INFO [uxrce_dds_client] Agent port: 8888
INFO [uxrce_dds_client] Custom participant: no
INFO [uxrce_dds_client] Localhost only: no
INFO [uxrce_dds_client] timesync converged: false
uxrce_dds_client: cycle: 0 events, 0us elapsed, 0.00us avg, min 0us max 0us 0.000us rms
uxrce_dds_client: cycle interval: 0 events, 0.00us avg, min 0us max 0us 0.000us rms
nsh> mavlink status
instance #0:
mavlink chan: #0
type: GENERIC LINK OR RADIO
flow control: ON
rates:
tx: 768.0 B/s
txerr: 0.0 B/s
tx rate mult: 0.328
tx rate max: 1200 B/s
rx: 0.0 B/s
rx loss: 0.0%
FTP enabled: YES, TX enabled: YES
mode: Normal
Forwarding: On
MAVLink version: 1
transport protocol: serial (/dev/ttyS6 @57600)
instance #1:
GCS heartbeat valid
mavlink chan: #1
type: USB CDC
flow control: OFF
rates:
tx: 21243.9 B/s
txerr: 0.0 B/s
tx rate mult: 1.000
tx rate max: 100000 B/s
rx: 46.9 B/s
rx loss: 0.0%
Received Messages:
sysid:255, compid:190, Total: 7080 (lost: 240)
FTP enabled: YES, TX enabled: YES
mode: Onboard
Forwarding: On
MAVLink version: 2
transport protocol: serial (/dev/ttyACM0 @2000000)
ping statistics:
last: 0.96 ms
mean: 0.92 ms
max: 6010.56 ms
min: 0.17 ms
dropped packets: 696
Image
I have no idea how to solve this. i am stucked in here for 3 weeks…