Skip to content

ESCs, Sensors and Accessories

413 Topics 2.4k Posts

ESCs, image sensors, ToF and tracking cameras, Microhard and cellular modems, power modules, GPS and other add-on boards.

  • What is the maximum number of hires cameras can be connect?

    Unsolved image-sensor
    5
    0 Votes
    5 Posts
    872 Views
    Alex KushleyevA
    Hi @Leon-Vaidman , We offer several high resolution cameras: IMX214 (4208x3120) : 13Mpix IMX412 (4056x3040) : 12Mpix IMX678 (3840x2160) : 8Mpix We are looking into supporting a 64Mpix camera, but it is not yet available. There is no problem getting RAW10 frames at 30fps from 2 cameras. I believe the limitation will come from saving the frames to VOXL2 storage (which may not be an issue if your target FPS is very low). Each 4056x3040 frame is 4056 * 3040 * 1.2= 14.8MB, so 30FPS would be around 440MB/s. I have set up a test where i connected two IMX214 cameras and two IMX412 cameras and configured for maximum resolution and the system is able to grab 30fps from each camera using voxl-inspect-cam, however streaming all this data to the inspect tool puts too much stress on the system and is only possible for a short period of time. | Pipe Name | bytes | wide | hgt |exp(ms)| gain | frame id |latency(ms)| fps | mbps | format | hires0_bayer |18534400 | 4056 | 3040 | 14.34 | 1330 | 73 | 70.6 | 30.1 | 4462.2 | RAW10 | hires1_bayer |19722240 | 4208 | 3120 | 33.00 | 800 | 74 | 104.8 | 30.3 | 4781.1 | RAW10 | hires2_bayer |18534400 | 4056 | 3040 | 17.20 | 1442 | 74 | 76.5 | 30.1 | 4466.4 | RAW10 | hires3_bayer |19722240 | 4208 | 3120 | 33.00 | 800 | 73 | 130.5 | 30.3 | 4780.8 | RAW10 Interacting with RAW frames of this resolution at high rate is not practical because even sending them from one process to another takes substantial cpu time. It seems that in your case the FPS will be very low, so that should not be an issue. if you wanted to save a few FPS RAW10 data from 2 cameras. I have described, more or less, the current limit of VOXL2 capabilities in terms of getting RAW images. Please keep in mind if you wanted processed images (YUV or video), you can currently only get that for two cameras. With this in mind, let me know please let me know what else you need to know or if you are ready to start testing, i can help you set this up. For low enough FPS, you may be able to use voxl-logger or voxl-record-raw-image tools or may need to modify them depending on your needs (I can help you with that). Alex
  • Bad Tunning

    Unsolved esc
    12
    1
    0 Votes
    12 Posts
    2k Views
    Alex KushleyevA
    Hi @Stefan-Amundarain , Thank you for uploading the video with the detailed demonstration. What I see from the video is that the initial "sinusoidal" spin-up works (almost) every time, but the ESC fails to transition to regular non-sinusoidal control mode. There are typically two reasons for this: a bad motor / wiring / connection or one of the ESC Mosfets is not working properly. In some failures, the sinusoidal spin-up is still able to rotate the motor, but during the transition to normal operating mode, there are some checks to ensure proper motor behavior and if those checks fail, the ESC stops (and then restarts since you are commanding it to spin). The behavior i am seeing is very similar to this. sometimes if you have spin-up time too fast (and spin-up power too low), the ESC will lose sync with the motor during sinusoidal spin-up. I would suggest trying to (you can do both changes at once): increase the spin-up time (double it from what you have now) increase the spin-up power by 20% (if it is 100 (which is 10% power), set it to 120, so it will be 12% power). also double check that the motor kV is set correctly, because it is used during sinusoidal spin-up for back-emf compensation. I would also suggest swapping out the motor for an identical new motor, so you can eliminate the motor being an issue. You can also check the motor winding resistance to make sure all 3 possible pair-wise resistance measurements have the same resistance. Finally, if all of these steps fail, please try to use another ESC channel to see if it is a dead ESC channel (which should be unlikely). Please try these out and let me know what you find! Alex
  • Using a raspberry pi pivpn to tunnel for communication

    Unsolved cellular
    5
    1 Votes
    5 Posts
    2k Views
    P
    @David-Smyth Would you be willing to share the .service files you created?
  • VOXL ESC Mini Integration with px4 on pixhawk6x and KakuteH7

    Unsolved esc
    2
    0 Votes
    2 Posts
    489 Views
    Alex KushleyevA
    @MChehadeh , the PX4 ESC driver in v1.14.3 should be functional, but outdated. The latest version lives here : https://github.com/modalai/px4-firmware/tree/voxl-dev/src/drivers/actuators/voxl_esc, it would be best if you are able to build that for your board. If you want to stick with the current version, please double check: uart port that you are using to connect to the ESC. In that version of the ESC driver, you specify the port with -d param when you spawn the task : https://github.com/PX4/PX4-Autopilot/blob/v1.14.3/src/drivers/actuators/modal_io/modal_io.cpp#L237 double check the baud rate that the ESC is running at, you should know it from running the voxl-esc tools, which are working for you.'' If you switch to the latest version of the ESC driver in PX4, you should have the following debug information that is very helpful to diagnose any issues: #run px4 in foreground and grep for VOXL_ESC: voxl-px4 -d | grep VOXL_ESC INFO [muorb] SLPI: VOXL_ESC: Starting VOXL ESC driver INFO [muorb] SLPI: VOXL_ESC: Opening UART ESC device 2, baud rate 2000000 INFO [muorb] SLPI: VOXL_ESC: Successfully opened UART ESC device INFO [muorb] SLPI: VOXL_ESC: Detecting ESCs... INFO [muorb] SLPI: VOXL_ESC: ESC ID : 0 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900480024 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 1646us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 1 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D004D INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 621us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 2 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900500042 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 1120us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 3 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D0050 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 617us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: Use extened rpm packet : 1 INFO [muorb] SLPI: VOXL_ESC: All ESCs successfully detected No Changes are needed on the hardware side. If the UART-based communication does not work for you and you want to use traditional PWM-based (1-2ms) output from the STM board, the ESC mini supports PWM input, just make sure to use the latest ESC firmware. https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/master/voxl-esc-tools/firmware https://docs.modalai.com/voxl-mini-esc-datasheet/#pwm-inputs--outputs be very careful soldering and using the test points to make sure not to pull the wires to prevent pulling off the board pads this method is not recommended because you will not receive any feedback about ESC state and closed loop RPM control is not used. We use this for bench testing, for example when using a dyno or something like that (which controls the ESC with standard pwm signal) if you wanted to try PWM input, it is easier using M0134 ESC because it has a JST GH connector : https://docs.modalai.com/modal-esc-datasheet/#pwm-inputs--outputs
  • MAVLink not connecting on 5G

    Unsolved cellular
    3
    0 Votes
    3 Posts
    1k Views
    P
    @pthomason Anyone have thoughts on correcting IP bindings, or the list of services that need to be restarted to notice a new 5G connection?
  • Camera not recognised

    Unsolved image-sensor
    2
    1
    0 Votes
    2 Posts
    484 Views
    Alex KushleyevA
    @TomP , if you look at C19 configuration (https://docs.modalai.com/voxl2-camera-configs/#c-17-tof-tracking-stereo0v9782-and-hiresimx412) , the IMX412 camera is connected to the other camera port on the dual camera flex. You have it connected to the connector that goes straight out (7JU), C19 shows IMX412 connected to the port going off to the side (7JL). If you want to keep IMX412 connected as shown in your picture, please copy the following file, which will tell the camera pipeline to try to detect the IMX412 camera on 7JU: cp /usr/share/modalai/chi-cdk/imx412/com.qti.sensormodule.imx412_3.bin /usr/lib/camera/ Please double check this
  • Vision sensors not detected in VOXL2

    Unsolved image-sensor
    17
    1
    0 Votes
    17 Posts
    3k Views
    Alex KushleyevA
    @Jetson-Nano , the ToF V1 calibration file is downloaded from the sensor itself via i2c . No internet connection is required.
  • What wavelength does ir-cut filter cover on the imx577/412 camera w/ filter?

    Unsolved image-sensor
    1
    0 Votes
    1 Posts
    368 Views
    No one has replied
  • M0062 Ethernet not discovered

    Unsolved
    10
    0 Votes
    10 Posts
    3k Views
    Alex KushleyevA
    @ksl , if the issue is only with the debug build, could you just use a regular perf build of the Kernel?
  • MSU-M0107 IMX412 I2C address selection

    Unsolved image-sensor
    4
    1
    0 Votes
    4 Posts
    1k Views
    Alex KushleyevA
    @linus777 , the instructions you referenced were made for VOXL1, which had all cameras connected to the same i2c bus and slave address conflicts were not allowed. On VOXL2, each camera port has its own i2c bus and there is no possibility of a conflict when using several cameras with the same i2c slave addresses. Is your question related to usage on VOXL1 or VOXL2? Alex
  • Doodle Add-on board for VOXL2

    Unsolved
    6
    0 Votes
    6 Posts
    2k Views
    dleeD
    @Vinny Thanks a lot.
  • Maximum rate of rpm, current and voltage measurements of VOXL ESCs

    Unsolved esc
    2
    0 Votes
    2 Posts
    604 Views
    Alex KushleyevA
    @MChehadeh , If you need the maximum throughput of the ESC feedback data, you should use the uart-to-serial connection to a linux PC, which you have already done. Additionally, the voxl-esc test scripts already provide an option to specify the command rate (--cmd-rate). Please see the checklist below for best performance: make sure the ESC baud rate is set to 2Mbit (first make sure your usb-to-serial adapter can support it). here is an example esc param file showing the baud rate set to 2Mbit. It may already be set to 2Mbit for your esc, you can verify using voxl-esc-scan.py some USB to serial adapters may add some delay, sometimes it helps to experiment with a few. Any particular adapter you have in mind for testing? maximum command rate that has been tested is 4000hz, but it has not been tested extensively, i suggest starting with 2000hz. keep in mind that in order to achieve the maximum rate of esc feedback, you should only test / request feedback from one ESC at a time. The voxl-esc-spin.py test script will request feedback from a single ESC if you only spin one motor (using --id 0, for example), and will automatically request feedback from all ESC at 1/4 of the rate if you spin all motors (using --id 255). So if your cmd-rate is set to 2000 and you spin 4 motors, each ESC will send feedback at 500hz, but if you only spin one motor, the ESC that is spinning will send feedback at the cmd-rate. here is an example of the most basic command that will set the cmd-rate to 2000, spin motor for for 5 seconds and plot the results (including rpm, power %, voltage, current). ./voxl-esc-spin.py --id 0 --cmd-rate 2000 --power 10 --timeout 5 --enable-plot 1 please note that M0129 only measures total battery current that is flowing thru it (not individual), and only ID3 has the current sensor, so you need to test ID3 if you want the total current reported (it will print as BOARD CURRENT in your test script). M0134 ESC has individual current sensing for each ESC channel. if you need the data logged to a file, you can use --enable-logging 1 flag, and the ASCII log will be saved to logs folder inside voxl-esc-tools directory, where you are running the test. The log format is a s follows: PACKET_TYPE LINUX_TIMESTAMP_MS ESC_ID ESC_POWER (RESERVED) ACTUAL_RPM VOLTAGE CURRENT ESC_TEMPERATURE ESC_RCVD_COMMAND_COUNTER RESERVED RESERVED RESERVED here is what a typical log entry looks like: 128 1722869479610 3 10 0 980 11.989 0.024 38.500 20 0 0 0 the standard feedback packet type is 128, in this case the ID 3 is sending feedback, it is spun at power 10%, 980RPM, voltage is 11.989, current is 0.024A (no load spin), ESC temperature is 38.5 deg C if you use M0129, there will be additional packets in the log, with just voltage and current please note that if you use the logging option, the timestamp is saved in milliseconds, so if the feedback is coming back at a higher rate than 1khz, you could not tell the timestamps apart. I will fix this.. one more tip, it helps to run the linux PC in performance mode in order to minimize the cpu delays / sleeps. The ESC feedback packets (currently) do not have the timestamp from the ESC itself, so the accuracy / jitter of the timestamp depends on how quickly the PC can wake up and send/receive the data. you can also modify the spin script to save the data in the format you need, but the log file is probably more reliable to make sure no data is missed. Regarding PX4, on VOXL2, the ESC driver runs at 800hz (which is the update rate of the flight loop), each ESC sends feedback at 200hz. ESC status is published at that rate, but it may not logged at full rate to px4 log file, i would need to double check. Here is the code reference : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/actuators/voxl_esc/voxl_esc.cpp#L1342 I know this is quite a lot of information, please let me know if you need any other clarification. Alex
  • Overvoltage Damage

    Unsolved microhard
    3
    0 Votes
    3 Posts
    1k Views
    Chad ZuluC
    @Vinny Yep, that's what I figured. Thanks for the info!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    11 Views
    No one has replied
  • Can someone tell me which camera is used in this video?

    Unsolved image-sensor
    3
    0 Votes
    3 Posts
    544 Views
    H
    @tom said in Can someone tell me which camera is used in this video?: Flir Boson connected over USB Thank you!
  • Haze over ov7251 Tracking Camera.

    Unsolved image-sensor
    2
    1
    0 Votes
    2 Posts
    471 Views
    Alex KushleyevA
    @Jetson-Nano , Can you please double check your /etc/modalai/voxl-camera-server.conf to make sure that the tracking camera has "en_raw_preview" set to true? It is hard to tell whether there is haze in the image (the tracking camera has 640x480 resolution and if you zoom in, it may appear that the details are blurry). If you have another tracking camera to compare to, please try. Also please try looking at the image from voxl-portal (original tracking image and overlay image). Alex
  • Is pMDDL1621 compatible with Microhard pDDL Carrier USB Dongle MDK-M0048-2-01?

    Unsolved microhard
    4
    0 Votes
    4 Posts
    2k Views
    VinnyV
    Hi @Serhii I'm surprised anyone knows about that design. In any case, it is not in active production, and to the best of my knowledge, not supported nor do we have any plans to support it. M0048 is our primary focus for MH radios.
  • Thermal Camera to VOXL2

    Unsolved image-sensor
    3
    0 Votes
    3 Posts
    704 Views
    H
    @Moderator said in Thermal Camera to VOXL2: @H-AL first you need to determine if the sensor's electrical interface is compatible. What interface exists on the sensor? Can you find an appropriate electrical connection on VOXL 2? Then, you need to find if there is software compatibility, does the driver current exist in ModalAI's reference code? Or, is there an implementation you can leverage for your work? What thermal camera do you recommend using?
  • Purchase Power Module Identical to Starling 1

    Unsolved power-module
    2
    0 Votes
    2 Posts
    1k Views
    ModeratorM
    @Mihir-Bala The APM PCB is identical, you are likely referring to the PCBs If you want the lights solution possible, you should use the Mini 4-in-1 ESC which has a 5V regulator built in to power VOXL 2
  • Firmware Update 5G Sierra and AT Command Interface

    Unsolved cellular
    3
    0 Votes
    3 Posts
    2k Views
    T
    @tom That's really excellent news that you are working on the AT Command issue. I'm really looking forward to the update. The thermal pad seems to be self-adhesive. When you loosen the screw it is held in place by the thermal pad. I suspect that the thermal pad will need to be replaced if you force it off. Do you have a type designation for the thermal pad? Then I can buy a replacement somewhere. Quectel modems are updated by plugging them into a USB adapter, connecting it to a Windows PC and installing the firmware update using proprietary Quectel software. With Sierra it probably works in a similar way.