Could not receive uXRCE_DDS topics with companion computer thorough TELEM2

Hello all,

Forgive me as a new user, so I couldn’t send more than 5 links in a post. I have put my post here.

Here are the images in the post.

Cutecom Test

Basic Information

Parameters setting



I hope someone can help. I am pretty desperate about this. If someone is reading documents with AmovLab devices, they are in Mandarin and I recommend to translate it by web browser.

Wish all the best

Hardware/Software:

Drone: YangDa Sky Fury (link)
Configuration: Standard VTOL
Controller: CubePilot Cube Orange+ (link)
Firmware Version: 1.15.1
Companion Computer: AmovLab Allspark2-Orin NX (a customized version of Jetson Orin NX) (link)
CPU Architecture: ARM
Computer OS: Ubuntu 20.04
ROS Version: ROS2 Foxy

Wire Connection

TELEM2 on Orange+ <—> UART1 on Amov NX

  • According to official document, TELEM2 refers to /dev/ttyS1 on CubePilot Cube Orange+
  • According to official document, UART1 refers to /dev/ttyTHS0 on AmovLab Allspark2-Orin NX.

Autopilot Setup

According to official document

  • Set MAV_1_CONFIG to 0.
  • Set UXRCE_DDS_CFG to 102(TELEM2).
  • Set SER_TEL2_BAUD to 921600.
  • In MAVLink Console run uxrce_dds_client stop then uxrce_dds_client start -t serial -d /dev/ttyS1 -b 921600.
  • Reboot Vehicle in QGroundControl.

Environment Setup on Companion Computer

Problem

On companion computer run sudo MicroXRCEAgent serial --dev /dev/ttyTHS0 -b 921600 and I only got this:

amov@amov-desktop:~$ sudo MicroXRCEAgent serial --dev /dev/ttyTHS0 -b 921600
[1741267380.825678] info | TermiosAgentLinux.cpp | init | running... | fd: 3
[1741267380.826487] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4

and running ros2 topic list I got nothing more than /rosout and /parameter_events.

Some Other Things

Check with serial connection

I ran cutecom to see the incoming data of /dev/ttyTHS0, then I got:

It seems like there are incoming data frames (starts with 7e 01 and ends cf 12) coming in with ~1hz. So I guess the wire connection was right.

Trials with Other Baud Rates

I read this and tried to set Baud rates with TELEM2 to either 57600, 115200 and 1000000. All of them cause same result. The change of baud rate including these steps(115200 for example):

  • Change SER_TEL2_BAUD to 115200.
  • In MAVLink Console run uxrce_dds_client stop then uxrce_dds_client start -t serial -d /dev/ttyS1 -b 115200.
  • Reboot vehicle in QGroundControl.
  • On companion computer run sudo MicroXRCEAgent serial --dev /dev/ttyTHS0 -b 115200.
  • Try with cutecom to see the data coming to /dev/ttyTHS0.

Basic Configuration

Parameters



In case other parameters need to be examined, I saved a .params file here.

The Most Weird Thing

I have used the SAME companion computer to receive the ROS2 topic data with another vehicle. Here is the brief information about it:

  • Model: AmovLab P450 Quadrotor.
  • Controller: Pixhawk6C
  • Firmware Version: 1.15.4
  • Link: here
  • PX4 Params: here
  • Wire Connections: TELEM2 on Pixhawk6C <—> UART1 on Amov NX

So I guess my companion computer was set right.

Summary

Basically, I’ve encounter problems with receiving uXRCE messages from a VTOL with CubePilot Cube Orange+ using a companion computer that has already succeeded with another quadrotor with Pixhawk6C. I have ruled out (in my mind) problems with wire connections and companion computer. I guess it has something to do with settings with CubePilot Cube Orange+.

I hope someone can help. I am pretty desperate about this. If someone is reading documents with AmovLab devices, they are in Mandarin and I recommend to translate it by web browser.

Wish all the best

Hi

Does ROS2 Foxy run with
fastddps as middleware
or uxrce client on px4 .

Hello @sibujacob, thanks for reply!
I am using PX4 1.15 , so according to official document, I should use xURCE-DDS for ROS2 interface with PX4.

yes…that is correct…Installing any older version of ROS 2 may not work…

Thanks for reply, @sibujacob!
Actually, the weird thing is I have already managed to received ROS2 topics from another quadrotor with Pixhawk 6C with exactly the same companion computer. So is the problem really on my ROS2 version?

Hello
Was this flight controller running on ROS1 earlier and then upgraded to ROS2. In this case it might work But if it was a fresh new installation at work, then i dont know what is happening here…!!

Has this been fixed? i never got uxrce to work on my jetson nano running foxy to pixhawk 6c mini