ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Judoor 0
    3. Topics
    J
    • Profile
    • Following 0
    • Followers 1
    • Topics 18
    • Posts 65
    • Best 4
    • Controversial 0
    • Groups 0

    Topics created by Judoor 0

    • J

      Issue sending custom odometry to PX4 via MAVROS

      ROS
      • • • Judoor 0
      3
      0
      Votes
      3
      Posts
      159
      Views

      J

      Hi @teddy-zaremba,

      The fusing part was a bit tricky, but it works now.
      Thank you!

    • J

      Getting Range finder information in ROS and more.

      ROS
      • • • Judoor 0
      6
      0
      Votes
      6
      Posts
      210
      Views

      T

      Hi @Judoor-0,

      Cool! Feel free to make a MR or post the link to your code if you want someone to review it.

    • J

      LIO with TOF LiDAR: Seeking Point Intensity & Noise Data from mpa_to_ros

      Ask your questions right here!
      • • • Judoor 0
      6
      0
      Votes
      6
      Posts
      311
      Views

      J

      @teddy-zaremba Thank you
      I think Aaron was maybe talking about the depth image that we can get from the tof sensor.
      I'll check the aligned point cloud but i don't think he has the confidence data (XYZC)
      Julien

    • J

      IMU stream rate fixed at 10Hz (PX4)

      ROS
      • • • Judoor 0
      5
      0
      Votes
      5
      Posts
      345
      Views

      K

      @Eric-Katzfey hoping you can share some more insights here.

      I have edited the HIGHRES_IMU line in /usr/bin/voxl-px4-start to set the rate at 500 but the /imu_mavlink rostopic from voxl-mpa-to-ros shows a publish rate of ~137hz. Collected data with voxl logger shows the timing issue is not related to ROS -- do you know what may be causing the dropped imu messages in the mpa pipe?
      e88acd2d-6cc3-4e96-a944-5ec4e5f28870-image.png

      voxl-version

      ──────────────────────────────────────────────────────────────────────────────── system-image: 1.8.04-M0104-14.1a-perf kernel: #1 SMP PREEMPT Mon Mar 24 21:03:36 UTC 2025 4.19.125 ──────────────────────────────────────────────────────────────────────────────── hw platform: M0104 mach.var: 2.0.2 SKU: MCCA-M0104-C22-T0-M0-X0-E1 ──────────────────────────────────────────────────────────────────────────────── voxl-suite: 1.5.0 ────────────────────────────────────────────────────────────────────────────────

      voxl-px4-start

      #!/bin/sh # PX4 commands need the 'px4-' prefix in bash. # (px4-alias.sh is expected to be in the PATH) . px4-alias.sh echo -e "\n*************************" echo "AIRFRAME: $AIRFRAME" echo "GPS: $GPS" echo "RC: $RC" echo "ESC: $ESC" echo "POWER MANAGER: $POWER_MANAGER" echo "AIRSPEED SENSOR: $AIRSPEED_SENSOR" echo "DISTANCE SENSOR: $DISTANCE_SENSOR" echo "OSD: $OSD" echo "ARTIFACT_MODE: $ARTIFACT_MODE" echo "EXTRA STEPS:" for i in "${EXTRA_STEPS[@]}" do echo -e "\t$i" done echo -e "*************************\n" # In order to just exit after starting the uorb / muorb modules define # the environment variable MINIMAL_PX4. (e.g. export MINIMAL_PX4=1) # This is useful for testing / debug where you may want to start drivers # and modules manually from the px4 command shell if [ ! -z $MINIMAL_PX4 ]; then /bin/echo "Running minimal script" exit 0 fi # Figure out what platform we are running on. PLATFORM=`/usr/bin/voxl-platform 2> /dev/null` RETURNCODE=$? if [ $RETURNCODE -ne 0 ]; then # If we couldn't get the platform from the voxl-platform utility then check # /etc/version to see if there is an M0052 substring in the version string. If so, # then we assume that we are on M0052. VERSIONSTRING=$(</etc/version) M0052SUBSTRING="M0052" if [[ "$VERSIONSTRING" == *"$M0052SUBSTRING"* ]]; then PLATFORM="M0052" fi fi # We can only run on M0052, M0054, or M0104 so exit with error if that is not the case if [ $PLATFORM = "M0052" ]; then /bin/echo "Running on M0052" elif [ $PLATFORM = "M0054" ]; then /bin/echo "Running on M0054" elif [ $PLATFORM = "M0104" ]; then /bin/echo "Running on M0104" else /bin/echo "Error, cannot determine platform!" exit 0 fi # Sleep a little here. A lot happens when the uorb and muorb start # and we need to make sure that it all completes successfully to avoid # any possible race conditions. /bin/sleep 1 param select /data/px4/param/parameters # Load in all of the parameters that have been saved in the file param load # IMU (accelerometer / gyroscope) if [ "$PLATFORM" == "M0104" ]; then /bin/echo "Starting IMU driver with rotation 12" qshell icm42688p start -s -R 12 else /bin/echo "Starting IMU driver with no rotation" qshell icm42688p start -s fi # Start Invensense ICP 101xx barometer built on to VOXL 2 qshell icp101xx start -I -b 5 qshell temperature_compensation start # Auto detect the magnetometer. If one or both of these devices # are not connected it will fail but not cause any harm. # Rotation 10 = ROLL_180_YAW_90 /bin/echo "Looking for qmc5883l magnetometer" qshell qmc5883l start -R 10 -X -b 1 /bin/echo "Looking for ist8310 magnetometer" qshell ist8310 start -R 10 -X -b 1 /bin/echo "Looking for ist8308 magnetometer" # Rotation 12 = PITCH_180 qshell ist8308 start -R 12 -X -b 1 # GPS and magnetometer if [ "$GPS" != "NONE" ]; then # On M0052 the GPS driver runs on the apps processor if [ $PLATFORM = "M0052" ]; then gps start -d /dev/ttyHS2 # On M0054 and M0104 the GPS driver runs on SLPI DSP else qshell gps start fi fi # Auto detect an ncp5623c i2c RGB LED. If one isn't connected this will # fail but not cause any harm. /bin/echo "Looking for ncp5623c RGB LED" qshell rgbled_ncp5623c start -X -b 1 -f 400 -a 56 # We do not change the following parameters but QGC will complain if they aren't # being reported as "used" by px4. "Touching" them accomplishes that. param touch SYS_AUTOCONFIG param touch SDLOG_MODE # ESC driver if [ "$ESC" == "VOXL_ESC" ]; then /bin/echo "Starting VOXL ESC driver" qshell voxl_esc start elif [ "$ESC" == "VOXL2_IO_PWM_ESC" ]; then if [ "$RC" == "M0065_SBUS" ]; then /bin/echo "Starting VOXL IO for PWM ESC with SBUS RC" qshell voxl2_io start else /bin/echo "Starting VOXL IO for PWM ESC without SBUS RC" qshell voxl2_io start -e fi else /bin/echo "No ESC type specified, not starting an ESC driver" fi # RC driver if [ "$RC" == "FAKE_RC_INPUT" ]; then /bin/echo "Starting fake RC driver" qshell rc_controller start elif [ "$RC" == "CRSF_RAW" ]; then /bin/echo "Starting CRSF RC driver" qshell crsf_rc start -d 7 elif [ "$RC" == "CRSF_MAV" ]; then /bin/echo "Starting TBS crossfire RC - MAV Mode" qshell mavlink_rc_in start -m -p 7 -b 115200 elif [ "$RC" == "SPEKTRUM" ]; then /bin/echo "Starting Spektrum RC" # On M0052 the RC driver runs on the apps processor if [ $PLATFORM = "M0052" ]; then rc_input start -d /dev/ttyHS1 # On M0054 and M0104 the RC driver runs on SLPI DSP else qshell spektrum_rc start fi elif [ "$RC" == "GHST" ]; then /bin/echo "Starting GHST RC driver" qshell ghst_rc start -d 7 elif [ "$RC" == "M0065_SBUS" ]; then if [ $PLATFORM = "M0052" ]; then apps_sbus start elif [ "$ESC" != "VOXL2_IO_PWM_ESC" ]; then /bin/echo "Attempting to start M0065 SBUS RC driver for original M0065 FW" qshell dsp_sbus start retVal=$? if [ $retVal -ne 0 ]; then /bin/echo "Starting M0065 SBUS RC driver for original M0065 FW failed" /bin/echo "Attempting to start M0065 SBUS RC driver for new M0065 FW" qshell voxl2_io start -d -p 7 fi else /bin/echo "M0065 SBUS RC driver already started with PWM ESC start" fi fi if [ "$DISTANCE_SENSOR" == "LIGHTWARE_SF000" ]; then # Make sure to set the parameter SENS_EN_SF0X to 8 for sf000/b sensor qshell lightware_laser_serial start -d 7 fi if [ "$POWER_MANAGER" == "VOXLPM" ]; then # APM power monitor qshell voxlpm start -X -b 2 fi if [ "$AIRSPEED_SENSOR" == "MS4525DO" ]; then qshell ms4525do start -X -b 4 fi # Optional distance sensor on spare i2c # qshell vl53l0x start -X -b 4 # qshell vl53l1x start -X -b 4 # Start all of the processing modules on DSP qshell sensors start qshell ekf2 start if [ "$AIRFRAME" == "FIXED_WING" ]; then qshell fw_pos_control start qshell fw_att_control start qshell fw_rate_control start qshell airspeed_selector start qshell fw_autotune_attitude_control start qshell land_detector start fixedwing elif [ $AIRFRAME = "MULTICOPTER" ]; then qshell mc_pos_control start qshell mc_att_control start qshell mc_rate_control start qshell mc_hover_thrust_estimator start qshell mc_autotune_attitude_control start qshell land_detector start multicopter fi qshell manual_control start qshell control_allocator start qshell load_mon start # Only start the rc_update module if an actual RC driver # is publishing input_rc topics. Otherwise for external RC # over Mavlink this isn't needed. if [ "$RC" != "EXTERNAL" ]; then qshell rc_update start fi qshell commander start # This is needed for altitude and position hold modes qshell flight_mode_manager start # Start all of the processing modules on the applications processor dataman start navigator start load_mon start # Start microdds_client for ros2 offboard messages from agent over localhost microdds_client start -t udp -h 127.0.0.1 -p 8888 # On M0052 there is only one IMU. So, PX4 needs to # publish IMU samples externally for VIO to use. if [ $PLATFORM = "M0052" ]; then imu_server start fi # start the onboard fast link to connect to voxl-mavlink-server mavlink start -x -u 14556 -o 14557 -r 100000 -n lo -m onboard # slow down some of the fastest streams mavlink stream -u 14556 -s HIGHRES_IMU -r 500 mavlink stream -u 14556 -s ATTITUDE -r 100 mavlink stream -u 14556 -s ATTITUDE_QUATERNION -r 100 mavlink stream -u 14556 -s GLOBAL_POSITION_INT -r 30 mavlink stream -u 14556 -s SCALED_PRESSURE -r 10 # Increase heartbeat rate so VFC can get faster mode updates mavlink stream -u 14556 -s HEARTBEAT -r 100 # start the slow normal mode for voxl-mavlink-server to forward to GCS mavlink start -x -u 14558 -o 14559 -r 100000 -n lo mavlink boot_complete # Optional MSP OSD driver for DJI or HDZero goggles # This is only supported on M0054 (with M0125 accessory board) if [ "$OSD" == "ENABLE" ] || [ "$OSD" == "DJI" ]; then /bin/echo "Starting DJI OSD driver" msp_osd start -d /dev/ttyHS1 elif [ "$PLATFORM" == "M0054" ] && [ "$OSD" == "HDZERO" ] || [ "$OSD" == "DJI_MSP_DP" ]; then /bin/echo "Starting $OSD OSD driver for $PLATFORM" msp_dp_osd start -d /dev/ttyHS1 elif [ "$PLATFORM" == "M0104" ] && [ "$OSD" == "HDZERO" ] || [ "$OSD" == "DJI_MSP_DP" ] ; then /bin/echo "Starting $OSD OSD driver for $PLATFORM" msp_dp_osd start -d /dev/ttyHS0 fi # Start optional EXTRA_STEPS for i in "${EXTRA_STEPS[@]}" do $i done if [ "$ARTIFACT_MODE" == "ENABLE" ]; then # Do not start the logger module if we are in artifact mode. Logging # produces a log artifact. If there are currently any saved logs make # sure to delete them now. # Also remove the data manager file that may have saved GPS waypoint information # in it. # Use shred to remove all files so that they cannot be recovered. # shred should be effective on the /data partition since it has this configuration: # /dev/sda8 /data ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0 /usr/bin/find /data/px4/log -name "*.ulg" -exec /usr/bin/shred -u -n 7 {} \; /bin/rm -fR /data/px4/log /usr/bin/shred -u -n 7 /data/px4/dataman /bin/echo "Artifact mode has been enabled" else # Start logging and use timestamps for log files when possible. # Add the "-e" option to start logging immediately. Default is # to log only when armed. Caution must be used with the "-e" option # because if power is removed without stopping the logger gracefully then # the log file may be corrupted. # This is done as the last step because any topics marked as optional will only # be logged if they have been advertised when this is started. By starting it last it # makes sure to see those advertisements as the other modules are starting before it. logger start -t fi
    • J

      Instruction to set a Static IP for wlan0 voxl2

      Software Development
      • • • Judoor 0
      3
      1
      Votes
      3
      Posts
      265
      Views

      tomT

      @Judoor-0 Thanks for the contribution, this is very helpful!

    • J

      /tof_depth image conversion problem

      ROS
      • • • Judoor 0
      4
      0
      Votes
      4
      Posts
      302
      Views

      J

      @Alex-Kushleyev thank you alex i'll try that

    • J

      apt upgrade error

      VOXL SDK
      • • • Judoor 0
      3
      0
      Votes
      3
      Posts
      217
      Views

      tomT

      @Judoor-0 I would recommend re-flashing the latest SDK from downloads.modalai.com

      Yes, /home/root gets wiped by default. When flashing a new SDK, /data is retained unless otherwise specified with a flag

    • J

      RAM building up fast

      Starling & Starling 2
      • • • Judoor 0
      5
      0
      Votes
      5
      Posts
      348
      Views

      Alex KushleyevA

      @Judoor-0 , if you can reliably reproduce this, please look at output of top, which will show all the processes and amount of memory they are using, you can also sort them by memory usage, please check usage of the top tool. Hopefully this will allow you to pinpoint which process uses a lot of memory and more importantly increasing amount of memory.

      You can check the memory usage per process and see if there is any process that uses more memory over time. Try to do that without flying first, but running the whole processing stack if possible.

      Alex

    • J

      VIO navigation with QGC wayypoint

      GPS-denied Navigation (VIO)
      • • • Judoor 0
      1
      0
      Votes
      1
      Posts
      117
      Views

      No one has replied

    • J

      Motor stop functionning on starling 2

      Starling & Starling 2
      • • • Judoor 0
      6
      0
      Votes
      6
      Posts
      410
      Views

      J

      @Jeremy-Schmidt Hi,
      It's resolved now, in the mean time I had a response from the support.
      Have a good day
      Julien

    • J

      Problem with TOF sensor on the new Starling 2

      Starling & Starling 2
      • • • Judoor 0
      2
      0
      Votes
      2
      Posts
      194
      Views

      VinnyV

      Hi @Judoor-0
      We have had one other report of something similar where the ToF connector flex comes loose from it's connector located on the M0173 board from high vibe or several hard landings.

      If you can see whether or not the connector from the M0177 ToF flex looks like it is not planar on the mating M0173 board, try to use something rather benign electrically (like plastic tweezers) and see if you can reseat the connector into the M0173 board.
      We have a good description of these connections shown here: https://docs.modalai.com/voxl2-coax-camera-bundles/

      We are going to add in some additional mechanical support here to make sure this issue does not happen long term, despite high vibe/shock scenarios.

      If this does not seem to be your problem, please let us know and I'll have to tag someone from the SW team to help you debug further.
      Thanks!

    • J

      Sensors simulation with Gazebo

      ROS
      • ros gazebo starling2 • • Judoor 0
      1
      0
      Votes
      1
      Posts
      184
      Views

      No one has replied

    • J

      Install libopencv on Starling 2

      VOXL 2
      • starlingv2 ros opencv docker • • Judoor 0
      19
      0
      Votes
      19
      Posts
      1464
      Views

      P

      @Alex-Kushleyev,

      Cool, Thanks a lot!

    • J

      Starling 2 doesn't detect camera after flashing new SDK

      Starling & Starling 2
      • • • Judoor 0
      4
      0
      Votes
      4
      Posts
      330
      Views

      tomT

      @Judoor-0 Yep exactly, if the drone is already in fastboot before running the flashing script it can't identify which board it is (M0054-1, M0054-2, M0104-1) so it has to give you all options. This time since it has ADB access it can be smarter and just ask you the possible options it knows are supported for your hardware

    • J

      Error when launching mpa_to_ros2

      ROS
      • • • Judoor 0
      4
      0
      Votes
      4
      Posts
      353
      Views

      J

      @Zachary-Lowell-0 well it work now!
      I found these lines on another thread of the forum:

      sudo apt-get install voxl-ros2-foxy sudo apt-get install voxl-mpa-to-ros2 voxl-configure-mpa-to-ros2 source /opt/ros/foxy/mpa_to_ros2/install/setup.bash export ROS_HOME=/opt/foxy ros2 run voxl_mpa_to_ros2 voxl_mpa_to_ros2_node

      And everything worked first time ! So please put these line directly on the documentation cause I lost so much time with this install !

    • J

      Unable to locate package libmodal-json in docker with ubuntu 22.04LTS

      Software Development
      • • • Judoor 0
      16
      0
      Votes
      16
      Posts
      1209
      Views

      Alex KushleyevA

      @Judoor-0 , I am sorry, but i cannot help you with the mavsdk issue due to lack of knowledge of the subject. Please follow up in the appropriate thread and someone else should help you out!

      Alex

    • J

      Starling 2 charging while powered on

      Support Request Format for Best Results
      • • • Judoor 0
      6
      0
      Votes
      6
      Posts
      521
      Views

      J

      @Vinny no problem for now I didn't try to charge it while being used it was just a question.
      Julien

    • J

      Camera server keep crashing everytime it is launched

      PX4 Autonomy Developer Kit
      • • • Judoor 0
      25
      0
      Votes
      25
      Posts
      3002
      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