Skip to content

Development Drones

642 Topics 3.3k Posts

Starling 2, Starling 2 Max, Sentinel, Seeker, m500, RB5, the PX4 Autonomy Developer Kit and Stinger FPV: flying, tuning, repairs and spare parts.

  • Starling2 live streaming and video recording

    Unsolved starling
    2
    0 Votes
    2 Posts
    741 Views
    Alex KushleyevA
    Hi @muhammad-kazim-0 , For saving h264 / h265 you can use voxl-streamer tool to serve the video via RTSP from VOXL2 and then on your host PC use ffmpeg or ffplay (or similar tools) to view / save the video. For simple playback of rtsp video, you can run a command on your linux PC : ffplay rtsp://<voxl-ip>:<rtsp-port>/live -- the IP of voxl2 you can get using ifconfig, the rtsp port will be printed out by voxl-streamer when it strarts up. You can run multiple instances of voxl-streamer on different ports, please check help for this command-line tool. I would not recommend streaming uncompressed images for the purpose of recording the video. Just to clarify, any camera stream that is not named *_encoded is going to be uncompressed RAW8 or YUV format and when you view it using voxl-portal, what happens is the back-end of voxl-portal (running on voxl2) will take the original image from the requested stream and it will use JPG compression before sending the JPG to your voxl-portal in the browser for viewing. Jpeg is a lot less efficient than h264/5, so you will need a lot more bandwidth. You can still use the jpeg approach if you really want to. For example, you can use ffplay to play the jpeg stream (this is kind of an undocumented feature): ffplay -f mjpeg -framerate 30 -probesize 32 -analyzeduration 0 -fflags -nobuffer -flags low_delay -i http://<voxl-ip>/video_raw/<camera-stream-name> Please note if you use these streams (which are generated by voxl-portal backend), if you also concurrently actually use voxl-portal in browser, the streams might interfere / stop. You should also be able to figure out how to use ffplay / ffmpeg to how save the file to disk. If you have too many jpeg streams (especially high resolution camera), VOXL2 may not be able to keep up. Specifically for hires streams, you should definitely make use of the encoded streams. You can always use the tool top on voxl2 to check the cpu usage of individual processes, specifically voxl-portal to make sure it is not overloading the system. if the streams that you are getting are not the FPS that you are expecting, then it probably means that voxl2 cannot keep up with sending the streams (either encoding to jpg or limited network bandwidth). Please try this out and let me know if you have any questions. Alex
  • voxl-px4 build error

    Unsolved px4-dev-kit
    4
    0 Votes
    4 Posts
    2k Views
    R
    Hi @Eric-Katzfey yes, i can see lrwxrwxrwx 1 1000 1000 7 Feb 11 16:00 hexagon-link -> ld.qcld and also -rw-rw-rw- 1 1000 1000 46687200 Feb 11 16:00 ld.qcld So it seems " ld.qcld'" is not executable. then I made it executable using. "chmod +x /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/ld.qcld" Then, it seems the voxl-PX4 build is working. Thank you for the help. root@798402fd070f:/usr/local/workspace# ./build.sh *** Starting build *** Setting up the Hexagon SDK environment locally HEXAGON_SDK_ROOT is : /home/4.1.0.4 Setting up the QAIC binary for the platform make: Entering directory '/home/4.1.0.4/ipc/fastrpc/qaic' make: 'bin/qaic' is up to date. make: Leaving directory '/home/4.1.0.4/ipc/fastrpc/qaic' Could not find Androd ndk at /home/4.1.0.4/tools/android-ndk-r19c Please refer to /home/4.1.0.4/docs/tools/setup.html for installing the missed components *** Starting dependencies build *** -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 9.4.0 -- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /usr/local/workspace/px4-firmware/boards/modalai/voxl2/libfc-sensor-api/build Scanning dependencies of target fc_sensor [ 50%] Building C object CMakeFiles/fc_sensor.dir/src/fc_sensor_stub.c.o [100%] Linking C shared library libfc_sensor.so [100%] Built target fc_sensor *** End of dependencies build *** *** Starting apps processor build *** -- PX4 version: v1.14.0-2.0.94-dev (1.14.0) -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3") -- PX4 config file: /usr/local/workspace/px4-firmware/boards/modalai/voxl2/default.px4board -- PLATFORM posix -- LINUX_TARGET y -- TOOLCHAIN aarch64-linux-gnu -- ROMFSROOT px4fmu_common -- ROOTFSDIR /data/px4 -- PX4 config: modalai_voxl2_default -- PX4 platform: posix -- PX4 lockstep: disabled -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- The ASM compiler identification is GNU -- Found assembler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- Check for working CXX compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++ -- Check for working CXX compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- cmake build type: RelWithDebInfo -- ccache enabled (export CCACHE_DISABLE=1 to disable) -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/linux_pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pca9685_pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_hil.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_sim.yaml for VOXL2 -- ROMFS: ROMFS/px4fmu_common Architecture: amd64 ==> CPACK_INSTALL_PREFIX = @DEB_INSTALL_PREFIX@ -- Configuring done -- Generating done -- Build files have been written to: /usr/local/workspace/px4-firmware/build/modalai_voxl2_default [0/562] git submodule src/modules/microdds_client/Micro-XRCE-DDS-Client [2/562] git submodule src/drivers/gps/devices [6/562] git submodule src/modules/mavlink/mavlink [64/562] Performing configure step for 'libmicroxrceddsclient_project' -- libmicroxrceddsclient_project configure command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-configure-*.log [555/562] Performing build step for 'libmicroxrceddsclient_project' -- libmicroxrceddsclient_project build command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-build-*.log [556/562] Performing install step for 'libmicroxrceddsclient_project' -- libmicroxrceddsclient_project install command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-install-*.log [562/562] Linking CXX executable bin/px4 /* Auto Magically Generated file */ /* Do not edit! */ #pragma once #define PX4_GIT_VERSION_STR "5e6a8c257371b6c45e55662daac5fe9fbd08040b" #define PX4_GIT_VERSION_BINARY 0x5e6a8c257371b6c4 #define PX4_GIT_TAG_STR "v1.14.0-2.0.94-dev-dirty" #define PX4_GIT_BRANCH_NAME "" #define PX4_GIT_OEM_VERSION_STR "" #define PX4_GIT_TAG_OR_BRANCH_NAME "v1.14.0-2.0.94-dev-dirty" // special variable: git tag, release or master branch #define MAVLINK_LIB_GIT_VERSION_STR "3ee5382d0c96134b0e1c250d8c2d54bfed0166fa" #define MAVLINK_LIB_GIT_VERSION_BINARY 0x3ee5382d0c96134b #define NUTTX_GIT_VERSION_STR "3f77354c0dc88793a47ff3b57595195ab45f7ba9" #define NUTTX_GIT_VERSION_BINARY 0x3f77354c0dc88793 #define NUTTX_GIT_TAG_STR "v11.0.0" *** End of apps processor build *** *** Starting qurt slpi build *** -- PX4 version: v1.14.0-2.0.94-dev (1.14.0) -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3") -- PX4 config file: /usr/local/workspace/px4-firmware/boards/modalai/voxl2-slpi/default.px4board -- PLATFORM qurt -- TOOLCHAIN qurt -- ROMFSROOT px4fmu_common -- PX4 config: modalai_voxl2-slpi_default -- PX4 platform: qurt -- The CXX compiler identification is Clang 10.0.0 -- The C compiler identification is Clang 10.0.0 -- The ASM compiler identification is unknown -- Found assembler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang -- Check for working CXX compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++ -- Check for working CXX compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - failed -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang -- Check for working C compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Detecting C compile features -- Detecting C compile features - done -- Warning: Did not find file Compiler/-ASM -- cmake build type: RelWithDebInfo -- ccache enabled (export CCACHE_DISABLE=1 to disable) -- Mavlink include directory: /usr/local/workspace/px4-firmware/../build/modalai_voxl2_default/mavlink/standard -- Mavlink include directory: /usr/local/workspace/px4-firmware/../build/modalai_voxl2_default/mavlink/common -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/linux_pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pca9685_pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pwm_out/module.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_hil.yaml for VOXL2 -- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_sim.yaml for VOXL2 Architecture: amd64 ==> CPACK_INSTALL_PREFIX = @DEB_INSTALL_PREFIX@ -- Configuring done -- Generating done -- Build files have been written to: /usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default [0/724] git submodule src/drivers/gps/devices [724/724] Linking CXX shared library platforms/qurt/libpx4.so /* Auto Magically Generated file */ /* Do not edit! */ #pragma once #define PX4_GIT_VERSION_STR "5e6a8c257371b6c45e55662daac5fe9fbd08040b" #define PX4_GIT_VERSION_BINARY 0x5e6a8c257371b6c4 #define PX4_GIT_TAG_STR "v1.14.0-2.0.94-dev-dirty" #define PX4_GIT_BRANCH_NAME "" #define PX4_GIT_OEM_VERSION_STR "" #define PX4_GIT_TAG_OR_BRANCH_NAME "v1.14.0-2.0.94-dev-dirty" // special variable: git tag, release or master branch #define MAVLINK_LIB_GIT_VERSION_STR "3ee5382d0c96134b0e1c250d8c2d54bfed0166fa" #define MAVLINK_LIB_GIT_VERSION_BINARY 0x3ee5382d0c96134b #define NUTTX_GIT_VERSION_STR "3f77354c0dc88793a47ff3b57595195ab45f7ba9" #define NUTTX_GIT_VERSION_BINARY 0x3f77354c0dc88793 #define NUTTX_GIT_TAG_STR "v11.0.0" *** End of qurt slpi build *** /usr/local/workspace User ID is 1000 Group ID is 1000 *** End of build *** root@798402fd070f:/usr/local/workspace# ls
  • PX4 1.16 no local position

    Unsolved starling
    2
    0 Votes
    2 Posts
    728 Views
    T
    @teddy-zaremba EV_CTRL changed from 15 in 1.15 and earlier to 0 in 1.16. Either check this parameter is set to 15 or run "voxl-configure-px4-params -p MRB-D0006" for Starling V1 or "voxl-configure-px4-params -p MRB-D0005-V2" for Starling V2.
  • Questions in order to adapt it to the Japanese Radio Law

    Unsolved starling
    2
    0 Votes
    2 Posts
    460 Views
    Eric KatzfeyE
    @Taka (1) VOXL 2 does not have any RF transmitters. RF could be transmitted by external WiFi, RC, Cellular modem, etc., etc. (2) How are you configuring the WiFi module? Is it in access point mode or station mode? The SDK will set everything up correctly when using the WiFi in "SoftAP" or access point mode.
  • Starling 2 Max V2; SDK 1.4.0; camera-server and VOXL-Portal

    Unsolved starling
    3
    0 Votes
    3 Posts
    837 Views
    J
    @Alex-Kushleyev Hi Alex, Thanks! Yes, that was exactly the problem. I switched to the dev branch using 'voxl-configure-pkg-config', downloaded the latest voxl-portal ('apt get update && apt install voxl-portal'), and then switched back to the 1.4.0 pkg. Voxl-Portal works just fine now.
  • Motor Replacement Instructions Starling 2 Max

    Unsolved starling2 max motors repair starling
    17
    0 Votes
    17 Posts
    5k Views
    Dobry KolaczD
    @griffin Great to hear!! It is possible, depending on what size tip and what kind of soldering iron you were using, that 650F may actually not have been hot enough. After talking about it with my team I realized that we have set our irons up to the 750-800F range. Nonetheless, it is likely the safest option to just splice in the new wires just as you have done
  • PID tune

    Unsolved rb5
    2
    0 Votes
    2 Posts
    1k Views
    tomT
    @Amin-Bassiri You can either fully re-flash the drone or just run voxl-configure-mpa in order to bring the drone back to it's default state based on the SKU
  • RC Transmitter recommendations

    Unsolved rb5
    2
    0 Votes
    2 Posts
    1k Views
    tomT
    @kham https://www.modalai.com/products/m10000045?_pos=1&_sid=0d63c4c00&_ss=r
  • Orin additional computer

    Unsolved starling
    1
    0 Votes
    1 Posts
    259 Views
    No one has replied
  • Obstacle Avoidance for RB5

    Unsolved rb5
    1
    0 Votes
    1 Posts
    737 Views
    No one has replied
  • Sentinel segmentation fault after running voxl-uvc-server -v [camera id] -d

    Unsolved sentinel
    30
    0 Votes
    30 Posts
    9k Views
    Alex KushleyevA
    @AndriiHlyvko, I just ran into the same issue while testing Boson (in my case I was testing the 16-bit Boson streaming mode). The libuvc issue caused a crash, since i did not use a fixed version of libuvc. However, what actually caused the buffer overflow was the fact that Boson was reporting smaller buffer requirements for RAW16 during query (it was reporting width * height * 1.5 , just like for YUV, but actual frame size was width * height * 2, so uvc pipeline allocated smaller buffer and overflow happened with the full frame came in. Was this the same issue with your Boson tests or did you experience something else? Thanks! Alex
  • Flir Lepton on Starling 2 is supported by SDK 1.4?

    Unsolved starling
    1
    0 Votes
    1 Posts
    320 Views
    No one has replied
  • Run the SLAM

    Unsolved rb5
    1
    0 Votes
    1 Posts
    792 Views
    No one has replied
  • GPS not connecting

    Unsolved starling
    5
    0 Votes
    5 Posts
    1k Views
    Meytal LempelM
    Hi @tom , here is my /etc/modalai/voxl-px4.conf: #!/bin/bash # # voxl-px4 Configuration File # # GPS: # Tell PX4 which GPS to use. If there is no GPS unit use NONE. Otherwise # choose AUTODETECT and the startup script will attempt to automatically # configure the GPS, magnetometer, and status LED # Options include: [NONE, AUTODETECT] # # RC: # Tell PX4 which RC transmitter to use. # Use EXTERNAL when getting RC control from external Mavlink messages (e.g Via QGC) # Options include: [SPEKTRUM, CRSF_MAV, CRSF_RAW, M0065_SBUS, EXTERNAL, FAKE_RC_INPUT] # # ESC: # Tell PX4 which type of ESC to use. # Options include: [VOXL_ESC, VOXL2_IO_PWM_ESC] # # POWER_MANAGER: # Tell PX4 which power manager to use. # Use NONE for ModalAI Mini-ESC since the ESC driver handles PM. # Use EXTERNAL when not using the ModalAI APM power manager to power the board # This also just disables the voxlpm driver, same as the NONE option # Options include: [VOXLPM, EXTERNAL, NONE] # # DISTANCE_SENSOR: # Tell PX4 which distance sensor peripheral to use. # Note: The sensor will be started on the RC port so it is only # really possible to use it when using external RC. # Options include: [NONE, LIGHTWARE_SF000] # # OSD: # Tell PX4 whether to enable OSD (on-screen display). # Options include: [ENABLE, DISABLE] # # DAEMON_MODE: # Tell PX4 whether to enable daemon mode. # Options include: [ENABLE, DISABLE] # # SENSOR_CAL: # Tell PX4 where to source sensor calibration information. # Options include: [ACTUAL, FAKE] # # ARTIFACT_MODE: # Do not allow artifacts to be saved to disk. Will not start the logging # module, will delete any current log files, and will delete the data manager file. # Options include: [ENABLE, DISABLE] # # EXTRA_STEPS: # Optional field that allows a user to define custom commands to be run by PX4 on boot. # Must be a valid bash array as seen below # Example: EXTRA_STEPS=( "qshell gps start" "qshell commander mode manual" ) # # GPS=AUTODETECT RC=GHST ESC=VOXL_ESC POWER_MANAGER=VOXLPM DISTANCE_SENSOR=NONE OSD=DISABLE DAEMON_MODE=ENABLE SENSOR_CAL=ACTUAL ARTIFACT_MODE=DISABLE EXTRA_STEPS=()
  • Overheating of VOXL2 in Idal situation without any CPU ussage

    Unsolved starling
    9
    0 Votes
    9 Posts
    2k Views
    Alex KushleyevA
    @Jainik-Mehta , Due to the high resolution of the hires camera (4056x3040), the voxl-portal has a hard time encoding these images to jpegs (using a software jpeg encoder turbojpeg), so that they can be sent out to your browser. This is expected behavior. In order to avoid this, please choose a lower resolution stream, something closer to 1280x720, or what you already have as an option 1024x768 hires_small_color (instead of hires_large_color). Voxl-portal is a tool that should be used for debugging / testing and is not optimized for efficient video transmission. For most efficient video transmission, you should use the encoded stream and you could make it available via rtsp protocol using voxl-streamer tool. Then camera server will use hw video encoder to generate the video, send it to voxl-streamer and the streamer can forward the video to you rtsp player (vlc, ffmpeg, mplayer, etc, etc) If you need more guidance, please let us know what you are trying to achieve. Alex
  • Problem acquiring GPS satellites (possible voxl2 board EMI?)

    Unsolved starling
    5
    3
    0 Votes
    5 Posts
    3k Views
    Alex KushleyevA
    @nuallaino , we are continuing to investigate the GPS signal issues and found that sometimes the wifi module (Alpha networks), located right under the GPS receiver, can create interference with the GPS unit. Please try a workaround by disconnecting the wifi dongle from the M0141 usb adapter board and use a usb extension cable to move the wifi dongle from under the gps receiver. You don't have to mount the cable to the drone just for this test. Also, you can do a quick test by disabling USB power (which will turn off the wifi dongle) using the following command on VOXL2. You will need an ADB connection to check the GPS status if wifi is disabled. pin GPIO_157 controls VBUS, which is USB power on VOXL2 to disable, run voxl-gpio write 157 0 to enable, run voxl-gpio write 157 1 Please let us know if these tests show positive results. Alex
  • This topic is deleted!

    1
    1
    0 Votes
    1 Posts
    1 Views
    No one has replied
  • Starling 2 Max : Read and update ESC Parameters

    Unsolved starling
    2
    0 Votes
    2 Posts
    516 Views
    tomT
    @Kessie D0012 is Starling 2 Max, voxl-esc setup_D0012 will load the correct firmware for your board as well as the correct params for your drone
  • Starling2: Flight mode falls to AltitudeHold when switched to PositionHold

    Unsolved starling
    8
    0 Votes
    8 Posts
    2k Views
    N
    Thank you for your help guys. I eventually reflashed the VOXL2 and it is working fine!
  • Increasing the number of radio channels

    Unsolved sentinel
    2
    0 Votes
    2 Posts
    1k Views
    Zachary Lowell 0Z
    @Paul-Carff I believe the way to add channels is via the controller itself - the receiver on the VOXL2 should not require any update in config to take in more channels - from this point its configuring the controller to allow it to use more channels Zach