Skip to content

PX4 Autonomy Developer Kit

21 Topics 140 Posts

Product related questions and answers

  • Poor GPS Fix

    22
    0 Votes
    22 Posts
    7k Views
    Alex KushleyevA
    we just posted an update on this topic, please see https://forum.modalai.com/topic/5116/gnss-emi-mitigation-guidelines .
  • voxl-mapper alternative

    1
    0 Votes
    1 Posts
    560 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    15 Views
    No one has replied
  • Alternative batteries

    1
    0 Votes
    1 Posts
    515 Views
    No one has replied
  • Zenoh on voxl-2

    3
    0 Votes
    3 Posts
    1k Views
    voxl-phoenixV
    @Beniamino-Pozzan Thank you so much for the info, I wanted to try it and realised foxy has no support and with Ubuntu 18.04 on voxl-2 it is not possible to use any other ROS-2 installations easily. I will use ros2 plugin by keeping microdds as default middleware. I hope newer ROS versions will be available for VOXL-2.
  • voxl-px4 build error

    4
    0 Votes
    4 Posts
    1k 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
  • GPS and VL53L1 not working

    3
    0 Votes
    3 Posts
    863 Views
    Eric KatzfeyE
    @jefersonsilva If you let it sit for a long time does it eventually find satellites and get a fix?
  • Spectrum SPM9545 binding

    3
    0 Votes
    3 Posts
    707 Views
    J
    @Eric-Katzfey Worked! Thanks a lot
  • Tips on how to control using Python?

    1
    0 Votes
    1 Posts
    510 Views
    No one has replied
  • SLAM and PX4 Autonomy Development Drone

    1
    0 Votes
    1 Posts
    644 Views
    No one has replied
  • voxl_esc tone bug and question

    8
    0 Votes
    8 Posts
    2k Views
    TjarkT
    @Alex-Kushleyev I tested it and it works nice (I didn't test the 255 but I expect that should work). I already figured that the frequencies are now multiples of 10Hz with some minimum value (I don't know which one but at least below -p 10 I don't hear the frequency drop anymore). So it ranges up to 2550Hz. And I think you also adjusted the duration to be multiples of 10ms to match with the format of the ESC parameters? Regarding the usage change, I understand if you don't want to create a breaking change. But I think it would be good when the print_usage matches with the actual use. It took me some trial and error to get it working. Maybe also an idea to use -f for the frequency because -p refers to period which is not correct anymore and it is now already changing the functionality of the tone generation (you could even let -p in it to keep it backwards compatible but that maybe makes it unnecessarily complicated). And also good to allow the ESC mapping to go up to 15. For us it is sufficient to use the startup tone. But I played around a little bit with the tone generation and if you use it using the qshell commands you need to wait the duration of the tone to send a new tone (as the qshell command immediately returns and it doesn't accept a command while the sound is still playing) which makes it difficult to get the timing right in playing a tune. I don't know what the end goal should be of this but if it is playing custom tunes using the commands this is something to keep in mind I think. I had some fun trying to play the Imperial March on the ESCs which kind of works but not as smooth as the startup sound can play.
  • Camera server keep crashing everytime it is launched

    25
    0 Votes
    25 Posts
    7k Views
    Alex KushleyevA
    @Jetson-Nano , OK it seems we have two parallel threads going. please see my reply to the other thread https://forum.modalai.com/topic/3688/vision-sensors-not-detected-in-voxl2 and test it step by step as I suggested (reducing fps of imx214 camera first, then disabling sensors one by one) Alex
  • Native Barometer and GPS height estimation bad

    5
    0 Votes
    5 Posts
    1k Views
    VinnyV
    HI @Jeffrey-Mao Another consideration for baro is active airflow. We typically provide a "cap" on our baros in our drones or flight-decks to ensure it is not exposed to sunlight (as Eric stated) but also active airflow which can show up like air pressure noise. Our 3D models repository has a 3D file of this cap, in this case for FlightCore to give you an example: https://storage.googleapis.com/modalai_public/modal_drawings/Flight_Core_Barometer_Cap.STEP Hope this helps.
  • lockstep HITL

    3
    0 Votes
    3 Posts
    916 Views
    W
    @Eric-Katzfey Thank you for such a quick response! Saved me a few hours down the wrong rabbit hole.
  • 0 Votes
    19 Posts
    5k Views
    ModeratorM
    @Stefan-Amundarain what do the flight logs tell you?
  • Starling gone rogue (uncontrollable) in Position flight mode

    8
    1 Votes
    8 Posts
    4k Views
    M
    @Eric-Katzfey Hi, The first change of flight mode to "Altitude" was because of the loss of control of pilot (see it from the "Manual Control Output") on the drone. This wasn't happened first time, I experienced the same before this flight too. The steps you provided aren't suitable, I can't do the flights like "Manual" and then verify everything everytime, this is a random behavior, even if I try in the manual mode and get a good flight, I can still experience the bad flight afterwards. When I get the bad VIO data, I get the message of "invalid setpoints" in the log and over the QGC too and the drone goes into the "altitude" mode. But, the problem I shared here is the loss of control over the drone, drone kept going upwards and even pulling the throttle to "0" isn't bring the drone to ground. You can clearly see, even in the altitude flight mode (2nd time), the drone still kept going upwards at "0" throttle. Please get us a fix for this.
  • Failure on build customized px4 firmware repo

    5
    0 Votes
    5 Posts
    1k Views
    Alex KushleyevA
    @enrico-bandera-0 Awesome! I am glad you figured it out.
  • Landing Sensor on PX4 Autonomy Developer Kit

    4
    0 Votes
    4 Posts
    1k Views
    James StrawsonJ
    @frafrat Hi. The sensor is integrated into the VOXL SDK and raw data can be viewed through ADB or SSH with the voxl-inspect-rangefinders command line tool. All PX4 Autonomy Dev kids have this sensor. That data is sent from qrb5165-rangefinder-server to PX4 via voxl-mavlink-server. To enable in PX4 set the PX4 EKF2_RNG_CTRL param to 1. You will likely need to fiddle with PX4's other rangefinder params to achieve the behavior you want. Best, James
  • 0 Votes
    13 Posts
    3k Views
    E
    @Eric-Katzfey thanks, I completed all steps successfully and also built the px4 image for voxl2 Thanks a lot for your help Enrico
  • Custom px4-firmware build on StarlingV2

    microdds client voxl-px4 px4-firmware ros2
    8
    0 Votes
    8 Posts
    3k Views
    Zachary Lowell 0Z
    @smilon said in Custom px4-firmware build on StarlingV2: I ran into an issue while installing the newly built voxl-px4 which states it depends on libfc-sensor(>=1.0.5) and I only have (1.0.4) on my system. @Eric-Katzfey I saw you authored some commits on libfc-sensor-api, do you have any clue how I can update? 1 Reply Last reply about 3 hours ago Reply @smilon I would recommend using ros2 wrapper around mavsdk instead of mavros, that is what we have done in the past as mavros and ros1 are both depricated and not supported anymore. Anyways, goodluck with the project!