Joystick control delay
-
Hey @Alex-Kushleyev @Eric-Katzfey
I am using VOXL 2 with Flight core V2 as flight controller along with Doodle labs for communication and control.
While I try to fly the system with joystick through QGC , there is a visible delay in the mode changing as well as arming and disarming. The same time I am also facing delay in controlling the drone, the joystick inputs are delayed sometime, the drone is not taking input and once it takes it continue to roll or pitch or whatever command that was previously provided by me.
It would be great if anyone could help me with solving this issue, is it a parameter issue (PX4, QGC, or Doodle labs), or any other issue. Can the delay be because of the command is passing from Voxl to FC, should I change any parameter in the VOXL servers.
-
@Jetson-Nano There are multiple sources of delay in that control pipeline but I would guess that the Doodle link and the serial link to the FC are probably the 2 biggest sources of delay. Can you run any experiments to help figure that out? Are you able to swap out the Doodle with WiFi to see how that affects the delay? Can you run PX4 directly on VOXL 2?
-
@Eric-Katzfey I tested this out , I observed a strange behaviour, during the system is connected to doodle labs, I am able to see the video stream and the portal. once I am and try to take the data transfer is cut, I am not able to see any data from px4 or voxl 2. At the same time I can see that Doodle labs modules are still connected and they are not losing connection, but the data from voxl 2 is completely lost, QGC also is disconnected which make me lose the control over the drone.
what can cause this kind of behaviour., and this observed when i arm try to take off and throttle is high, Normal arming, even when the command control is slow the drone does not lose connection, high throttle it is different.voxl 2 is not boot looping. just the communication is lost with the voxl 2. I checked the Doodle labs connection with multi meter, i was proper.
It does get connected back through QGC and portal but that delay is risky, drone is flying away.
-
@Jetson-Nano So this is a new issue separate from the delay? When you arm and throttle up to take off the data link to FCv1 is interrupted and you lose connection to QGC and the joystick? If the Doodle connection is still active then perhaps the UART cable is loose and the vibrations make for an inconsistent connection? Or perhaps there is some signal noise that increases with higher motor speed and it is interfering with the UART lines? These are just guesses.
-
@Eric-Katzfey Yes this over the earlier issue of dealy, I highly believe that there is a chance of everything to be related.
The FC data and the portal data, along with the ssh connection is lost in the moment of high throttle which is regained after a time frame of 10 to 30 seconds. the doodle labs to doodle labs module communication remains intact. -
This post is deleted! -
@Jetson-Nano It's possible that there is signal noise causing interference and data loss on the UART lines which can look like delay or complete loss of connection depending on how bad it is. Can you twist the UART lines? Can you shorten the cable? Can you reroute it to try to avoid interference?
-
@Eric-Katzfey Ok I will try all of them, and let you know.
-
@Eric-Katzfey Hey, My build has ESC directly below the Doodle labs module, and the antenna cable is going out below the ESC, there is carbon fibre plate above and below the electronics.
can the cause the issues i am facing be because of EMI. -
@Jetson-Nano Yes, that may cause the issues.
-
@Eric-Katzfey will shielding work, if so what should be shielded?
-
@Jetson-Nano It's best to try to determine what exactly is the cause first. If you determine that it is interference from a cable then the solution may be as simple as rerouting the cable. But you haven't determined for sure that EMI is even causing the issue. A good approach when designing a new vehicle is to first gather all of the electronic components and hook them together on a bench top as spread out from each other as possible and make sure that everything all works before trying to mount them inside the drone.
-
@Jetson-Nano Another thing you can do is attach an oscilloscope to the rx and tx lines of the UART. You may be able to sport obvious signal quality issues with that.
-
Hi @Eric-Katzfey,
Thanks for your feedback.
I have a few additional clarifications that I would like to request, listed below:
In my current setup, I am powering the DoodleLabs Nano module using a 5V, 1.5A BEC, and the data interface is configured through the USB Dev port (Port 1).
With this configuration, the signal/noise readings observed in the DoodleLabs portal are approximately -45 dBm / -85 dBm, respectively.
Could you please share your suggestions or insights based on these RSSI readings?Powering Query
I would also like to confirm whether the Nano module can be powered directly from the VOXL2.
I was unable to find detailed specifications regarding the current rating of the VOXL2 port.
Could you please confirm if the VOXL2 port can supply adequate current to reliably power the DoodleLabs module?
Your confirmation will help finalize our power configuration.Oscilloscope Query
You had earlier suggested checking the signals on an oscilloscope.
Since our communication interface uses USB (not UART), I wanted to confirm if it is practical or meaningful to probe USB signals using an oscilloscope in this context.Looking forward to your feedback and guidance on these points.
-
@Eric-Katzfey As you suggested .I tested the same configuration in another build, where the Doodle labs module is away from ESC . the testing did not show any loss of data.
-
Hi @Jetson-Nano
Here is our info for Doodle Labs support:
https://docs.modalai.com/cable-datasheets/#mcbl-00085
Sorry it's buried in a cable page, but it makes the case clear (we think) how to support Doodle
regarding probing USB signals, unless you had a USB decoder on the scope, I do not think that will prove anything useful. You may be better off running usbview:
Windows:
USBTreeView by Uwe Sieber β uwe-sieber.de/usbtreeview_e.html
It shows enumeration hierarchy, configuration descriptors, endpoints, VID/PID, power requirements, etc.
Linux equivalent:
Use usbview β itβs essentially the same utility (GTK front-end to lsusb).Hope that helps!