ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Alex Kushleyev
    3. Posts
    • Profile
    • Following 0
    • Followers 11
    • Topics 0
    • Posts 1684
    • Best 82
    • Controversial 1
    • Groups 1

    Posts made by Alex Kushleyev

    • RE: VOXL FPV Racing 4-in-1 ESC with flight core v2 and voxl2

      @Jetson-Nano , this is likely related to the fact that the FC starts quicker than the ESC bootloader's 1s wait time. We discussed this before.

      So if you are saying that delaying the start of voxl_esc driver in px4 on your FC solves the problem, then the issue is exactly that.

      Please delay the start of the voxl_esc driver in your px4 start-up script, for example you can see it at the bottom of the script here : https://github.com/modalai/px4-firmware/blob/bugfix-fpv-rev0-airframe/boards/modalai/fc-v2/init/rc.board_sensors

      if param greater VOXL_ESC_CONFIG 0
      then
      	usleep 1500000
      	voxl_esc start
      fi
      
      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Poor GPS Fix

      Hello @ROBERT-JUDD and @somalley ,

      Thank you for following up and I appreciate your feedback. I have relayed your comments (again) to the team and will push to get the workaround out.

      For Starling 2 Max, the workaround is to install a mast, so we are working on making those details available. Shielding the GPS receiver in the default location is not as effective. Please refer to the testing done with a mast in the center of the drone in this thread : https://forum.modalai.com/topic/4226/starling-2-max-no-gps-data/38 . However, the workaround is probably going to have the mast in the back of the Starling 2 Max.

      For Starling 2, @somalley , a similar solution should be possible (with a mast). We are targeting the fix for the Starling 2 Max first, however you may be able to use the same approach (elevate the GPS receiver as well as getting it farther from the usb wifi dongle, which is right under the gps receiver, and seems to cause interference sometimes on Starling 2). We have seen improvement on Starling 2 when the wifi dongle is mounted elsewhere, but also elevating the GPS receiver should help as well as putting a small shield at the bottom.

      voxl-portal now supports displaying the GPS SNR, so it should be easier to validate the signal improvements based on SNR directly (as opposed to time to lock, etc).

      Again, sorry for the inconvenience and I will check in a few days regarding the status of the workaround.

      Alex

      posted in PX4 Autonomy Developer Kit
      Alex KushleyevA
      Alex Kushleyev
    • RE: Pinouts for M0188 J10 & J5 connections

      @jared , you potentially have the pin order swapped. Both sides (M0188) and your leopton breakout board should have the pin1 marked, so just make sure pin1 goes to pin1, etc, otherwise it is a straight through cable, but it could be reversed in your case. Well.. it is only straight through if you use our Lepton breakout board 🙂

      I doubt that supplying 2.8 instead of 3.3V to the lepton breakout board would cause VOXL2 to fail to boot. If 2.8V is shorted to GND (which would be the case if the wiring is flipped), then this would cause PMIC on VOXL2 to prevent the board from booting.

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Unresponsive polling from FPV Racing 4-in-1 ESC

      @shawn_ricardo , thank you for the details. i will investigate shortly.

      Also, just wanted to mention, your motor kV is very low, i don't think we have tested anything below ~400. So you should definitely put the ESC through sufficient testing to ensure that there are no de-syncs. For the tests, i definitely recommend running them from your desktop / laptop, as you get more instant feedback (plots) and can iterate much more quickly. If you need more details for the testing, let me know, but obviously the first step is to get a good calibration done. The step tests, etc, are listed in the low kv tuning guide.

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: VOXL2-VOXL2IO-PX4 firmware

      @Indra-Jaganathan ,

      The voxl2_io driver works as a standard PX4 actuator, supporting up to 8 actuator outputs.

      When voxl2_io driver is enabled, you can select which outputs to assign to the 8 pwm outputs using QGC, just like any actuator setup.

      Then during normal operation, the PX4 mixer will send the standard commands (based on your PWM channel assignment) to the voxl2_io module (the commands typically range between 1000-2000, but the range can be changed).

      voxl2_io driver, will take these values and package them into a special packet, which is then sent out via UART to M0065 board.

      M0065 board will receive the pwm control packet and set its pwm values based on the packet contents.

      There is no SBUS involved in this communication (standard UART between VOXL2 and M0065 board).

      Does that clarify the data flow from PX4 to the M0065 board?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: imu to camera delay

      @yardy ,

      looking at mpa to ros code..

      The timestamps for the message headers are assigned here :

      https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros/-/blob/master/catkin_ws/src/src/interfaces/imu_interface.cpp?ref_type=heads#L113

      https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros/-/blob/master/catkin_ws/src/src/interfaces/camera_interface.cpp#L163

      So the timestamps should be correctly converted to ROS time and not susceptible to any delays in the mpa to ros conversion.

      Are you logging the ros messages using rosbag record and analyzing them offline? Make sure that you are not using the bag timestamp for that.

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Voxl2 camera RAW

      @robertociuch , you can use a tool voxl-record-raw-image which is a part of voxl-mpa-tools package, should be installed by default in the VOXL2 SDK. (see help for details for the tool)

      This allows you to save any image (whether it is bayer or yuv) at any time from command line. Would that work for you?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Unresponsive polling from FPV Racing 4-in-1 ESC

      @shawn_ricardo , your issue looks identical to this one : https://forum.modalai.com/topic/4476/esc-calibration-help

      When the values seem to be "stuck" and don't change for seconds, does the actual motor behavior also reflect that? in other words, does the motor RPM also get stuck? You would definitely hear the uneven transitions during the calibration procedure.

      I have not had a chance to look at it, but there must be something up when running this script on VOXL2.

      Can you please try the same calibration script after setting the voxl2 cpu to perf mode? voxl-set-cpu-mode perf. I will also try it.

      Do you have a chance to try the calibration procedure while connecting the ESC to a Linux PC?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: AR0144 RGB output on VOXL2

      @Jordyn-Heil , i have seen this issue before. This is because you are compiling the camera server app against one version of libmodal-pipe library, but a different version is running on voxl2. There was an api change in the header file causing this issue. The solution is to use latest libmodal pipe (from dev) while cross compiling and running on voxl. You dont need to update the whole sdk, just update that lib.

      Alex

      posted in Image Sensors
      Alex KushleyevA
      Alex Kushleyev
    • RE: Pinouts for M0188 J10 & J5 connections

      @jared, yes, all of the Lepton connectors on voxl2 breakout boards are 2.8V. you can try using your pure thermal breakout board with 2.8V input. It is possible that the voltage regulator on your pure thermal breakout board would go in pass-through mode in undervoltage condition with 2.8V input. But obviously we cannot guarantee performance since this would be out of spec for the Pure Thermal board. You could also modify your breakout board to bypass the regulator and feed 2.8 directly to the sensor, but i cannot guarantee any results, you would have to experiment!

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Teledyne FLIR Lepton 3.5 Integration

      @george-kollamkulam , in order to install the updated libmodal-journal package, you just download the file that i linked to VOXL2, lets say you put it in /home/root/.

      Then, using adb you go to /home/root and execute:

      dpkg -i libmodal-journal_0.2.6-202505081055_arm64.deb
      

      Then you just run voxl-camera-server -l and you should see a lot more information being printed.

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: AR0144 RGB output on VOXL2

      @Jordyn-Heil ,

      Please use the sensormodule driver for the specific camera slot (which has been updated to use alternate slave address 0x20 instead of default 0x30 via the resistor change): https://storage.googleapis.com/modalai_public/temp/ar0144/ar0144_drivers_alt_slave_addr_0x20_20250709.zip

      In my test with 4 AR0144, i connected the standard C27 configuration, and added the 4th AR0144 like so:

      • M0173 + 3x AR0144 + 1x IMX412 (C27 config)
      • M0155 + 1x AR0144 plugged into J8

      So the 4th AR0144 camera will have the camera Slot 4,

      If you tell me where exactly you are plugging in all the cameras, i can help with figuring out which slot IDs each camera has.

      Regarding the following error, "Got unsupported format in getUVStartFromFmt, returning nullptr", i think it should be ok. Does the camera server exit in this case? it should not exit. I just tried it (to enable misp venc) and it still provides the color stream (although the h264/h265 stream is does not get published, since this specific processing pipeline is not set up for that).

      For using M0173, did you set up your kernel for 1.0.1 variant? I assume so, otherwise, voxl-configure-cameras would not let you select C27? Please confirm. Do you have the cameras connected in the same way as shown in the C27 diagram? https://docs.modalai.com/voxl2-coax-camera-bundles/#mdk-m0173-1-02 . It is possible that because one of the cameras is missing (not detected) because you swapped the resistor for alternate i2c id, then the camera ID for hires is wrong in the voxl_camera_server.conf.

      Here are all the sensormodules that i have for this setup in /usr/lib/camera/ (assuming the modified AR0144 is connected to J8, so slot 4.

      com.qti.sensormodule.ar0144_combo_0.bin
      com.qti.sensormodule.ar0144_combo_6.bin
      com.qti.sensormodule.ar0144_fsin_0x20_4.bin
      com.qti.sensormodule.ar0144_fsin_2.bin
      com.qti.sensormodule.imx412_fpv_1.bin
      com.qti.sensormodule.irs2975c_3.bin
      

      voxl-camera-server -l shows (four AR0144 visible with sensor ID 0x0356) and the corresponding slot IDs and camera IDs:

      DEBUG:   Cam idx: 0, Cam slot: 0, Slave Address: 0x0030, Sensor Id: 0x0356
      DEBUG:   Cam idx: 1, Cam slot: 1, Slave Address: 0x0034, Sensor Id: 0x0577
      DEBUG:   Cam idx: 2, Cam slot: 2, Slave Address: 0x0030, Sensor Id: 0x0356
      DEBUG:   Cam idx: 3, Cam slot: 3, Slave Address: 0x007A, Sensor Id: 0x2975
      DEBUG:   Cam idx: 4, Cam slot: 4, Slave Address: 0x0020, Sensor Id: 0x0356
      DEBUG:   Cam idx: 5, Cam slot: 6, Slave Address: 0x0030, Sensor Id: 0x0356
      

      The 4th AR0144 will actually be in slot 4, so it will bump the other AR0144 in slot 6 from being cam id 4 to cam id 5. Slot 6 is the AR0144 that is standard in the C27 config.

      Please double check everything step by step and let me know if something is still not working.

      Alex

      posted in Image Sensors
      Alex KushleyevA
      Alex Kushleyev
    • RE: Incorrect battery0 voltage on QGC

      @george-kollamkulam , something seems fishy here.

      The Starling 2 drone has the VOXL Mini ESC, which acts as the APM (measures voltage and total current). The ESC sends this data to PX4 via UART together with regular ESC telelmetry.

      The Battery status packet is an uint16 with 0.001V resolution, so the maximum voltage it could report would be about 65V (2^16 millivolts).

      packet definition:
      https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/actuators/voxl_esc/qc_esc_packet.h#L157

      packet parsing:
      https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/actuators/voxl_esc/voxl_esc.cpp#L577

      I suspect something else is going on. Maybe you need to choose a different Source for the battery monitoring (not Power Module)?

      Is this voltage 267.55V updating or just stuck at that value?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Pinouts for M0188 J10 & J5 connections

      @jared ,

      The lepton breakout board pinout is here : https://docs.modalai.com/M0187/#m0187-voxl-2-lepton-adapter

      It connects to M0173 J6, which should have the same pinout as M0188 for the lepton connectors: https://docs.modalai.com/M0173/#j6---sm08b-srss-tb

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Teledyne FLIR Lepton 3.5 Integration

      @george-kollamkulam ,

      You are using a version of SDK which had a bug that was suppressing most of the prints, so voxl-camera-server -l is not reporting any information.

      To fix this, please use the latest version of libmodal-journal package (you can get it from here : http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64//libmodal-journal_0.2.6-202505081055_arm64.deb

      How many cameras do you actually have on your Starling 2? is it 4? Two tracking, one Hires camera and on TOF?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Flir Boson over m0153 setup

      @Matthew-Wellner , you do not need kernel version 1.0.1, since that is only applicable to M0173.

      If you are connecting Boson to J8 via M0153, then it will have the slot ID 4, so sensormodule with index 4 would need to be placed in /usr/lib/camera. Can you please confirm?

      Also, when you run voxl-camera-server -l, can you please use dmesg -w to grab the output of the kernel from the moment that you run the camera server list command.

      Also, just to double check, are you able to communicate with Boson via USB?

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Voxl2 camera RAW

      @robertociuch , jpg quality of 100 will still result in a lossy / compressed output. What is your goal ?

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: Teledyne FLIR Lepton 3.5 Integration

      @george-kollamkulam , can you please provide output of “voxl-camera-server -l”? This will show us which cameras are detected (excluding lepton). Note that running this command will stop the camera server if it is running in the background.

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: imu to camera delay

      @yardy , i understand. Which timestamps are you looking at after temporal alignment? Are those timestamps of ros packets being received or timestamps within the packets themselves?

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev
    • RE: VOXL2-VOXL2IO-PX4 firmware

      @Indra-Jaganathan ,

      You were looking at an old version of the voxl2)_io driver. The latest version can be found here : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/voxl2_io/voxl2_io.cpp

      Voxl2IO::get_version_info() function will query the hardware and software version of the M0065 board before the voxl2_io px4 module will successfully start up and send out control commands.

      The version check will make your testing slightly more complicated because you'd need to implement the extended version reply on your STM. You should also check whether the actual format of the commands that you implemented is correct (not from the old version).

      If you are able to compile the px4 code, you can just disable the version check in the code and the voxl2_io px4 module should let you send out the actuator commands.

      Let me know if you need more assistance.

      Alex

      posted in Ask your questions right here!
      Alex KushleyevA
      Alex Kushleyev