No Telemtry Data in APM Planner with UDP or Serial Connection

1) Image and ArduPilot version.
APM:Copter V3.4.6 (e707341b)
2) Detailed problem description. How does observed behavior differ from the expected one?
I don’t get any telemetry data when making a UDP or serial connection in APM Planner 2.0. I do get telemetry data when making a TCP connection from APM Planner to the RPi/Navio2. Details below.
3) Your step by step actions.
The following setup works:

  • Starting ardupilot using systemctl with -A tcp:0.0.0.0:5678:wait
  • I can make a TCP connection from APM Planner 2.0 to using the IP of my Raspberry Pi and port 5678.
  • I get telemetry data and I can arm the copter using AMP Planner and fly using RC_OVERRIDE and a joystick.

The following setup does not work:

  • Starting ardupilot using systemctl with -A udp:127.0.0.1:14650 -C /dev/ttyAMA0
  • Start roscore
  • Start mavros rosrun mavros mavros_node \ _fcu_url:=udp://:14650@ \ _gcs_url:=udp://:14551@192.168.0.25:14550
  • I see telemetry data in the topics using rostopic
  • In APM Planner I can successfully make a UDP connection to 14550 but I get no telemetry data.
  • In APM Planner I can successfully make a serial connection to my 3DR radio tty.SLAB_USBtoUART but I get no telemetry data.

Try as I might I cannot make a connection and get telemetry data using UDP or Serial connections. Am I missing a step somewhere? I initially spent a lot of time investigation my 3DR radio setup but the fact that I also cannot make a UDP connection leads me to believe I have a more general setup problem.

I should also say that my laptop sees the telemetry radios and in APM Planner’s 3DR setup menu I can load settings and save settings to both radios using the tty.SLAB_USBtoUART serial option. The radio indicator lights are solid green.

Any help would be greatly appreciated.

4) Picture of the setup and connection scheme.


5) If using any additional hardware please provide exact make and model.
I’m using a RCmall Single TTL 3DR Radio Wireless Telemetry Kit

Bump. :slight_smile:

Bump. :expressionless:

Hi @lafranch,

Have you tried to specify IP of your ground station in /etc/default/arducopter just like you did it with a TCP connection?

Is baudrate 57600 on comport for 3dr?

Hi,

Thanks for the reply!

Yes and no I guess. When I try to connect over UDP using mavros I set the value to #TELEM1="-A udp:127.0.0.1:14650" and then start mavros using rosrun mavros mavros_node \ _fcu_url:=udp://:14650@ \ _gcs_url:=udp://:14551@192.168.0.25:14550

When I try to connect directly I set the value to TELEM1="-A udp:192.168.0.25:14550"

In both cases APM planner shows that the connection is made but no telemetry data is shown.

Hi,

Thanks for the reply!

I think so… the radios seem to be communication with each other. See the attached screen shot. Is there anywhere else I should set the baud rate?

Andrew

Remove # sign in front of TELEM1 and relaunch. Or confirm its not there when
sudo nano /etc/default/arduxxxxx

Oops, that was a typo when I copy and pasted. I’ve been commenting and uncommenting input values while trying different configurations. To confirm: it was uncommented when I tested it.

Is TX wire connected to RX and vice versa on the uart cable from 3dr to navio?

I think so. Below is the wiring diagram I followed (I know it’s a NAVIO board but the NAVIO2 UART pins are the same–as best I can tell). I stopped short of swapping them because I’m not able to get telemetry with a UDP connection (it feels like I have a larger issue). I’ll try swapping them tonight and report back.

I confirmed that I am seeing the same behavior (connection with no telemetry data) with both combinations of tx and rx wires between the navio2 and radio.

I guess I have two questions:

  1. Is ROS/mavros setup necessary to make a UDP connection? I don’t think so but I wanted to confirm.
  2. Is there any additional step I need to take to ensure that telemetry data is sent via UART (besides setting -C /dev/ttyAMA0)?

Bump. :slight_smile:

Did you try to use another GCS software?
Qgroundcontrol runs on linux, too.

I have not tried Qgroundcontrol. I’ll give it a shot and report back.

I get the same behavior with UDP connections in Qgroundcontrol: the link status shows as “Connected” but I don’t get an actual connection to the vehicle. Status at the top of Qground control says, “Waiting for Vehicle Connection”.

LED is blinking green which I believe means “Disarmed (ready to arm), GPS lock acquired.”

Is there anything I can do on the RPi to confirm the telemetry data is being sent?

Qgroundcontrol has better logs than APM planner. Looks like I’m getting a permission error on the UART serial link/port when I’m trying to connect using the 3DR radios. Posting here in case anyone has seen something similar. Will keep debugging.

[D] at /Users/travis/build/mavlink/qgroundcontrol/src/QGCMessageBox.h:97 - "QGCMessageBox (unit testing) "Link Error" "Error on link /dev/cu.SLAB_USBtoUART. Error connecting: Could not create port. Permission error while locking the device""
[D] at /Users/travis/build/mavlink/qgroundcontrol/src/comm/SerialLink.cc:234 - "open failed "Resource busy" QSerialPort::SerialPortError(PermissionError) "/dev/tty.SLAB_USBtoUART" true"

So Qgroundcontrol automatically makes a serial connection. I can see it by using lsof

lsof | grep SLAB_USBtoUART
QGroundCo 48165 lafranch   31w      REG                1,4        49 9254232 /private/tmp/LCK..cu.SLAB_USBtoUART
QGroundCo 48165 lafranch   32u      CHR               20,3  0t431921     731 /dev/cu.SLAB_USBtoUART

And on the Raspberry Pi I see the arducopter -C flag has been correctly set:

ps aux | grep ttyAMA0
root       393  0.0  0.6  11248  5556 ?        SLl  05:01   0:00 /home/pi/arducopter-quad -A tcp:0.0.0.0:5678:wait -C /dev/ttyAMA0
root       794  0.0  0.2   3972  1824 ?        Ss+  05:03   0:00 /sbin/agetty --keep-baud 115200,38400,9600 ttyAMA0 vt220
pi         796  0.0  0.0   4344   560 pts/0    S+   05:03   0:00 grep --color=auto ttyAMA0

But I’m still not getting telemetry data in Qgroundcontrol. The green leds on the radios are solid green and I’m getting occasional blinks from the red Tx leds. What am I missing?

I would start with the hardware. Use a multimeter to verify connection from the uart to uart modul.Measure on the solderpoints on the board it self and both navio and radio with the wire connected but with power off.

Second. Try with a different computer if you dont want to troubleshoot you own software on you computer.
Are you able to change any of the radio settings and save it? Like changing th tx power on the rx unit.