@tom , what would be the right course of action here? Thanks!
Posts made by Alex Kushleyev
-
RE: Bricked VOXL2 on Starling 2 Maxposted in Starling & Starling 2
-
RE: Coordinate system in AR0144 Tracking Cameraposted in Image Sensors
Hello @Dronodev ,
The other side of the M0166 PCB has a picture of a tiny figure which shows the nominal "up" orientation. You will see the little guy in the image below (coax cables are going up):

So if you flip the camera around to point away from you, then reference frame will be (right-handed):
- X : right
- Y : down
- Z : out of the camera lens
So your first diagram (on the left) is correct.
Here is specifically what
en_rotateflag invoxl-camera-server.confdoes for AR0144 camera:- it sets the camera configuration / register such that the image is read out backwards (rotated 180 degrees) from camera to VOXL2
- no rotation is done in software (
voxl-camera-server)
If you enable the rotation this way, you will need to either re-do the camera calibration or rotate your intrinsics manually, which I guess is trivial.
In terms of extrinsics (in
/etc/modalai/extrinsics.conffile), you will need to update the camera rotation by 180 degrees along the Z-axis, ifen_rotateflag is used (assuming you had it already configured for the non-rotated configuration).Alex
-
RE: Need Camera connector detailsposted in Questions by Product
@Richa , you should find information you need in the links below:
- https://docs.modalai.com/M0186/#module-connector-pinout-for-j1-s-h26-hr-ds-412
- https://docs.modalai.com/micro-coax-user-guide/
Alex
-
RE: VOXL ESC 4 in 1 Fireposted in ESCs
Hello @awagner ,
I am sorry this happened to you. A few questions / comments:
It seems your motor is too large for this mini ESC
-
https://docs.modalai.com/voxl-mini-esc-datasheet/
- "This Mini ESC is designed for aerial vehicles under 750g (under 500g for FPV racing applications). For larger slow flying vehicles up to 1500g, please use the VOXL 4-in-1 ESC. For FPV racers exceeding 500g, please use VOXL 4-in-1 FPV ESC."
-
the kp value is very aggressive (typically i would recommend starting at 0 kp and ki (proportional and integral gains) and ramp those up to increase responsiveness.
-
the spin-up type should be set to 1 (sinusoidal), since it is much more reliable. Which parameters did you start with when you calibrated your ESC? i suspect that improper spin-up caused the ESC to get out of sync and fail due to excessive current.
I know it can be difficult to get started with using new hardware. Aside from the need for updated esc parameters, the issue here is that the mini ESC is not suitable for your motors / propellers. I strongly recommend upgrading to our FPV ESC , which is build to handle a lot of power and stress:
Once you get the FPV ESC, I can help with the tuning (let me know, i can provide updated params before you test gain).
Please submit an RMA request, https://www.modalai.com/pages/rma . I would recommend at least a discount on the new ESC. We will try to improve documentation to avoid this in the future.
Alex
-
-
RE: Camera Calibration issuesposted in Support Request Format for Best Results
Hello @taiwohazeez ,
Thank you for sending updated images.
Just for sanity checking, please double check that the other tracking camera on your drone is in focus and does not have this issue.. (i assume that is true).
To me, it definitely looks likes either
- damaged or dirty lens on the external lens surface
- damaged or dirty lens on the internal lens surface (the back surface of the lens)
- dirty surface of the camera sensor itself (inside the camera module)
If you are comfortable with unscrewing the lens completely and wiping it (front and back) with a new microfiber cloth (preferably long strand) and screw it back again to check if there is any improvement. Also, once you remove the lens, you can take a look at the sensor itself, any dirt or smudges should be very easy to detect because the surface of the camera sensor is very reflective and should be perfectly clean. I can't recommend cleaning the sensor itself on your own, since that would involve inserting something inside the camera module, which could lead to damage. Please dont keep the lens out of the lens holder for a long time (hours) as dust or dirt may get inside on the surface of the sensor (do not perform this procedure in a dusty environment).
Please reach out to https://www.modalai.com/pages/rma if you need further help to get this fixed / replaced.
Alex
-
RE: Python MPA imageposted in Modal Pipe Architecture (MPA)
@l05 , when in doubt, you can add a print statement in your app as a sanity check to make sure you are running the correct version of the application. Then check your print statement at run time.
If you are modifying an existing app in
voxl-mpa-tools, you just need to use the voxl-cross docker image to- build the source code
- build the package (deb)
- deploy the package (either manually pushing and
dpkg -i <package.deb>on target) or using a convenience scriptdeploy_to_voxl.shwhich is typically present in most voxl projects -- this script will push the deb to voxl2 and install the deb. - run your new application on voxl and confirm functionality
If you are adding a new app to
voxl-mpa-toolsproject, you will need to modify the CMakeLists.txt file in thetoolsfolder, it should be self explanatory how to add a simple app. Once you build and deploy, your new app will be installed into/usr/binon voxl2.If you have any other questions, let me know.
Alex
-
RE: Request for Detailed Datasheet and Power Consumption – MSU-M0186-1-109posted in Ask your questions right here!
Hello @shalini-kumari ,
The M0186 camera uses the Sony IMX664 sensor. You can find high level information for the M0186 module here https://docs.modalai.com/M0186/ (as well as a link to the basic documentation from Sony).
The camera sensor itself (within M0186 module) requires three primary voltages, 3.3V, 1.8V and 1.1V. The maximum power consumption is 0.6-0.7W (theoretical), although we have not explicitly measured it.This is for a worst case, full frame resolution 120FPS. VOXL2 and the M0186 module provide the appropriate voltages for the IMX664 sensor to function properly.
Note that the power consumption of the whole system will not only depend on the camera resolution, fps, it will also depend on what you are doing with the images in VOXL2 (since VOXL2 will also consume power processing the images).
Hopefully this helps.
Alex
-
RE: VOXL Mini 4 in 1 ESC queryposted in ESCs
Hi @Aaky ,
I looked at the log using our customized version of flight-review (https://github.com/modalai/px4-flight-review), which you can run locally on your linux machine (the custom version of flight-review provides additional plots related to ESC and some other fields).
The RPM tracking looks good - tight tracking and not a lot of noise in commands (meaning IMU is well isolated, there are no significant vibrations or esc-induced oscillations).


ESC temps are ok (although this is a pretty short test!)

Power

The total battery current seems to be around 35A, meaning 8-9A per motor, which is still a very comfortable load for this ESC, as long as you can keep the ESC temperature not exceeding 100C (it should still run OK at 125C and higher, but that's definitely not recommended, and if you have to do that for short bursts, it may be ok). Unless you are trying to push the performance to the limit somehow, stay below 90-100C for the ESC temps. You can also significantly help with ESC cooling by adding a heat spreader to significantly increase the thermal mass of the ESC (which is very low, since the board is so tiny). Adding a heat spreader will make the cooling more efficient.
You should double check your PX4 params for min and max rpm to match what you have in the ESC params, since at the end it seems that PX4 is sending a low RPM that is not achievable by the ESC:

Since we are talking about ESC temps, you can actually set up a parameter to send a warning or critical message (which you should see in QGC) for different ESC temperature thresholds : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/actuators/voxl_esc/voxl_esc_params.c#L249. Just for full disclosure, we don't test this PX4 feature frequently, but my understanding is that if you hit the warning threshold, QGC should show a warning and CRITICAL limit may actually cause a behavior change in PX4, I am not sure. The ESC driver in PX4 just sends out a warning message, but how it is handled is up to PX4.
Honestly I don't really see any issues with this setup, even though it is heavier than I would recommend for this ESC. I would suggest that you slowly build up confidence in this setup and start flying a bit more aggressively and checking the log for the metrics i mentioned in this post and checking ESC temps.
Alex
-
RE: Starling2 :One motor fails when changing power from AC/DC adapter to batteryposted in Starling & Starling 2
Hello, @HsinSWT ,
I am assuming your are using a 12V AC/DC adapter, which is higher voltage than the 2S battery used with Starling 2. Using 12V bench testing is OK, so that should not be an issue.
The ESC should already have the correct parameters loaded for the Starling 2 Motors and the correct battery voltage (2S). Inability to start at the nominal voltage, but success when using 12V is likely a symptom of a motor damage. Even though the ESC does have voltage compensation, it is limited (on purpose, for safety) and if you apply higher voltage, like 12V instead of 7-8V, the ESC will actually output higher power during the spin-up phase.
Also please make sure you are using the latest ESC firmware, there are a lot of tips here : https://docs.modalai.com/voxl-escs/faq/
Once you start using
voxl-esctools, you can also spin one motor at a time (or all 4 at a time) and get real-time RPM feedback. You could use your 12V supply and spin the motors at 10% power and see what RPMs they actually spin at. A faulty motor would spin slower. Please be careful while testing, since the drone could fly up if you send a wrong command, you could also test without propellers, the motor issue should be observable in unloaded motor RPMs as well.Another typical issue with motors not spinning up is damage of motor windings due to mounting screws going into the windings (which could happen if the landing gear is removed, but the same screws are used to attach the motors). I am not saying this is the case here, but worth inspecting the motor windings on the under side, right where the motor mounting screws could make contact with the windings if the screws were too long.
If you do have a milli-ohm meter accessible to you, you could actually measure the motor winding resistance (while the drone is powered off, but motors can remain soldered to the ESC). You can compare the milli-ohm readings from working motors vs non-working (check all phases pair-wise).
The rust on the inductor is only cosmetic. We are aware of this "issue", but it's really not an issue (rust on a iron case of an inductor - the case does not really affect the inductor itself).
Hopefully this helps!
Alex
-
RE: fully factory reset my Starling V1posted in Starling & Starling 2
@colombe-ai , when you flash a voxl2 SDK, there should be an option to set it up from scratch. did you try it?
https://docs.modalai.com/voxl-suite/
Alex
-
RE: CANT ACCESS CAMERAposted in FPV Drones
Please try the following after a fresh reboot:
voxl-inspect-cam tracking_down tracking_front tracking_rear tof_ir hires_small_colorRunning
voxl-inspect-cam -acan break the camera server because there are too many output streams to process. This used to be a good option in the past for a quick test, but with 5 cameras and ~25 streams this is becoming too heavy. In normal use cases, only one stream is used from each camera.If you are just getting started, I would suggest updating your drone to at least SDK 1.5 or even 1.6, however you should still be able to get camera streams displayed in voxl-portal or using the limited
voxl-inspect-camcommand.If you still cannot get this to work, please do the following to stop the background service for
voxl-camera-serverand run in in the foreground and past the output:#stop the background service (it will restart after reboot) systemctl stop voxl-camera-server #run camera server in foreground voxl-camera-serverAlex
-
RE: Camera Calibrationposted in FPV Drones
Hello @taiwohazeez,
it seems your calibration pattern is significantly warped. It needs to be as straight as possible.
I personally like to perform calibration by displaying a pattern on an LCD screen (flat), which more or less guarantees it being straight. For a monocular calibration, the size of the box does not make any difference (no scale is recovered from the calibration). If you use that approach, then you actually have to move the camera as opposed to moving the pattern, unless you want to move the screen, which actually would be possible on a laptop. Watch out for reflections from screen and also sometimes setting manual exposure also helps (i won't go into detail how to do that here).
You could take your calibration sheet and glue it to a rigid flat surface, but even that can be tricky, since paper glue can cause wrinkles on paper, but those should not be as bad as the deformation seen in your screen shot.
Alex
-
RE: Minimizing voxl-camera-server CPU usage in SDK1.6posted in Video and Image Sensors
@Rowan-Dempster , we will go ahead and integrate the limited 32-bit ION buffer support into
libmodal-pipe. Did you make any changes to my latest branch from a few days ago? If so, I can take whatever changes you have and do the final integration. If you have not made any changes (and don't have any suggestions), I can just finish it up from here.Thanks again for your help!
Alex
-
RE: VOXL Mini 4 in 1 ESC queryposted in ESCs
Hi @Aaky ,
The documentation for the mini ESC states that we recommend using this ESC for drones 750g or less. It seems your UAV weight is around 1800g.
https://docs.modalai.com/voxl-mini-esc-datasheet/
I am concerned that the ESC may overheat (even though sustained current capacity may still be ok). Also, for larger motor like 2206, you may need to add a bypass capacitor to the ESC power ensure stable performance.
Have you performed tests of sustained hover thrust to see what the ESC temperature is like after several minutes of continuous "hover" thrust?
Alex
-
RE: External INS integration on SLPI proc QUP6posted in Ask your questions right here!
In order to debug the PX4 modules that run on the DSP side of VOXL, you should run
voxl-px4in interactive mode, such as:- stop voxl-px4 service :
systemctl stop voxl-px4 - run voxl-px4 in foreground with daemon mode disabled :
voxl-px4 -d
Then you should be able to run
qshell vectornav ...command and see its output. If you just runpx4-qshellfrom command line, the prints from the dsp do not propagate back to the user.Another alternative is to use
(sudo) mini-dm(on your linux host that is connected to VOXL2 via ADB) which allows you to see low level messages from the dsp (mini-dmis a tool that is available in Hexagon SDK).Now, regarding integration of a new driver with the DSP, I am assuming you were able to enable the module to build for the DSP, but it's running correctly because the device is not recognized. This is because in order to use the DSP uart in PX4, you need to call voxl-specific functions to open, read, write on the DSP port. Please take a look how this integration is done in the gps driver : https://github.com/modalai/px4-firmware/blob/voxl-dev/src/drivers/gps/gps.cpp , specifically looking at
#ifdef __PX4_QURTand similar conditionals.Alex
- stop voxl-px4 service :
-
RE: Minimizing voxl-camera-server CPU usage in SDK1.6posted in Video and Image Sensors
@Rowan-Dempster , sure, that would be helpful. I don't see any issues with merging that in, since if we do it right, it will not affect 64 bit build at all and will only add limited support for 32 bit -- limited, meaning, for clients only, cannot allocate new buffers.
i will check with the team today to make sure we are all good, so perhaps you should wait for that.
Alex
-
RE: Minimizing voxl-camera-server CPU usage in SDK1.6posted in Video and Image Sensors
@Rowan-Dempster , nice! I am glad it worked.
i think the issue here is that we have changed the struct definition (of the ion buffer type), which should not be changed for the 64-bit library. So until we hopefully mainline this, you can just manually copy the 32-bit libmodal-pipe.so into /usr/lib/ (while the original 64-bit version will remain in /usr/lib64). Did you try that?
For mainlining this, i think we will need to do a #ifdef 32 bit and insert the allignment dummy bytes as well as bypassing the ion allocation functions, which require
libgbm.so.. You could try that change as well, just need to figure out how to detect 64 vs 32 bit in the few source files that we changed.Alex
-
RE: M0187 and M0188 3D Modelsposted in 3D Models
@leandro , documentation for M0187 has been updated to include the 3D CAD file :
https://docs.modalai.com/M0187/#3d-drawings
Alex
-
RE: IMX664 Cameraposted in Ask your questions right here!
Hi @rpowerscat ,
You may be looking for these?
- https://docs.modalai.com/vtx-air-unit-datasheet/
- https://docs.modalai.com/vrx-ground-unit-datasheet/
Will check availability and get back to you..
Alex
-
RE: VOXL2 IMX664 supportposted in Image Sensors
Hello @namanthaker,
We typically do not provide the register configurations for the cameras because the camera drivers may contain confidential information from other sources.
However, the IMX664 camera is integrated with VOXL2, which can be used for testing and experimentation.
By the way, the camera drivers for VOXL2 are not contained in kernel modules, but in
sensormodulebinaries, which are loaded by the camera pipeline (just FYI). I am not aware of any way of extracting the register settings from those binaries.Alex