ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • Nikos MavrN

      I2C reading of 12S battery

      Support Request Format for Best Results
      • • • Nikos Mavr
      19
      0
      Votes
      19
      Posts
      131
      Views

      Eric KatzfeyE

      @Nikos-Mavr You're welcome! And can you please start a new forum post for this new issue? Thanks!

    • D

      tarling - Path planning (blue line) is erratic and drone moves to wrong locations

      Ask your questions right here!
      • • • DronAlan
      9
      0
      Votes
      9
      Posts
      86
      Views

      D

      @Cliff-Wong

      Hi,

      Thank you for the detailed response and suggestions. I have carefully followed all the steps you mentioned, but unfortunately, the issue persists.

      Here is what I did:

      1. I edited /etc/modalai/voxl-vision-hub.conf to set the reset parameter to false. Here is my current file:

      {
      "config_file_version": 1,
      "en_localhost_mavlink_udp": false,
      "localhost_udp_port_number": 14551,
      "en_vio": true,
      "vio_pipe": "qvio",
      "secondary_vio_pipe": "ov",
      "vfc_vio_pipe": "ov",
      "en_reset_vio_if_initialized_inverted": false,
      "vio_warmup_s": 3,
      "send_odom_while_failed": true,
      "horizon_cal_tolerance": 0.5,
      "en_hitl": false,
      "offboard_mode": "trajectory",
      "follow_tag_id": 0,
      "figure_eight_move_home": true,
      "robot_radius": 0.300000011920929,
      "collision_sampling_dt": 0.1,
      "max_lookahead_distance": 1,
      "backtrack_seconds": 60,
      "backtrack_rc_chan": 8,
      "backtrack_rc_thresh": 1500,
      "wps_move_home": true,
      "wps_stride": 0,
      "wps_timeout": 0,
      "wps_damp": 1,
      "wps_vfc_mission": true,
      "wps_vfc_mission_loop": false,
      "wps_vfc_mission_to_ramp": 25,
      "wps_vfc_mission_to_kp": 0.10000000149011612,
      "wps_vfc_mission_cruise_speed": 1,
      "en_tag_fixed_frame": false,
      "fixed_frame_filter_len": 5,
      "en_transform_mavlink_pos_setpoints_from_fixed_frame": false,
      "vfc_rate": 100,
      "vfc_rc_chan_min": 980,
      "vfc_rc_chan_max": 2020,
      "vfc_thrust_ch": 3,
      "vfc_roll_ch": 1,
      "vfc_pitch_ch": 2,
      "vfc_yaw_ch": 4,
      "vfc_submode_ch": 6,
      "vfc_alt_mode_rc_min": 0,
      "vfc_alt_mode_rc_max": 0,
      "vfc_flow_mode_rc_min": 0,
      "vfc_flow_mode_rc_max": 0,
      "vfc_hybrid_flow_mode_rc_min": 0,
      "vfc_hybrid_flow_mode_rc_max": 0,
      "vfc_position_mode_rc_min": 0,
      "vfc_position_mode_rc_max": 2100,
      "vfc_traj_mode_rc_min": 0,
      "vfc_traj_mode_rc_max": 0,
      "vfc_yaw_deadband": 30,
      "vfc_vxy_deadband": 50,
      "vfc_vz_deadband": 150,
      "vfc_min_thrust": 0,
      "vfc_max_thrust": 0.800000011920929,
      "vfc_tilt_max": 0.43599998950958252,
      "vfc_yaw_rate_max": 3,
      "vfc_thrust_hover": 0.5,
      "vfc_vz_max": 1,
      "vfc_kp_z": 5.2899999618530273,
      "vfc_kd_z": 5.9800000190734863,
      "vfc_vxy_max": 3,
      "vfc_kp_xy": 0.63999998569488525,
      "vfc_kd_xy": 2.559999942779541,
      "vfc_kp_z_vio": 5.2899999618530273,
      "vfc_kd_z_vio": 5.9800000190734863,
      "vfc_kp_xy_vio": 3.2400000095367432,
      "vfc_kd_xy_vio": 3.9600000381469727,
      "vfc_w_filt_xy_vio": 10,
      "vfc_w_filt_xy_flow": 3,
      "vfc_vel_ff_factor_vio": 0.899999976158142,
      "vfc_xy_acc_limit_vio": 2.5,
      "vfc_max_z_delta": 3,
      "vfc_att_transition_time": 0.5,
      "vfc_stick_move_threshold": 30,
      "vfc_flow_transition_time": 1,
      "vfc_q_min": 10,
      "vfc_points_min": 7,
      "vfc_en_submode_announcement": 1,
      "vfc_disable_fallback": false,
      "vfc_traj_csv": "/data/voxl-vision-hub/traj.csv",
      "en_voa": true,
      "voa_upper_bound_m": -0.15000000596046448,
      "voa_lower_bound_m": 0.15000000596046448,
      "voa_voa_memory_s": 1,
      "voa_max_pc_per_fusion": 100,
      "voa_pie_max_dist_m": 20,
      "voa_pie_min_dist_m": 0.25,
      "voa_pie_under_trim_m": 1,
      "voa_pie_threshold": 3,
      "voa_send_rate_hz": 20,
      "voa_pie_slices": 36,
      "voa_pie_bin_depth_m": 0.15000000596046448,
      "voa_inputs": [{
      "enabled": false,
      "type": "point_cloud",
      "input_pipe": "dfs_point_cloud",
      "frame": "stereo_l",
      "max_depth": 8,
      "min_depth": 0.300000011920929,
      "cell_size": 0.079999998211860657,
      "threshold": 4,
      "x_fov_deg": 68,
      "y_fov_deg": 56,
      "conf_cutoff": 0
      }, {
      "enabled": false,
      "type": "point_cloud",
      "input_pipe": "stereo_front_pc",
      "frame": "stereo_front_l",
      "max_depth": 8,
      "min_depth": 0.300000011920929,
      "cell_size": 0.079999998211860657,
      "threshold": 4,
      "x_fov_deg": 68,
      "y_fov_deg": 56,
      "conf_cutoff": 0
      }, {
      "enabled": false,
      "type": "point_cloud",
      "input_pipe": "stereo_rear_pc",
      "frame": "stereo_rear_l",
      "max_depth": 8,
      "min_depth": 0.300000011920929,
      "cell_size": 0.079999998211860657,
      "threshold": 4,
      "x_fov_deg": 68,
      "y_fov_deg": 56,
      "conf_cutoff": 0
      }, {
      "enabled": true,
      "type": "tof",
      "input_pipe": "tof",
      "frame": "tof",
      "max_depth": 6,
      "min_depth": 0.15000000596046448,
      "cell_size": 0.079999998211860657,
      "threshold": 3,
      "x_fov_deg": 106.5,
      "y_fov_deg": 85.0999984741211,
      "conf_cutoff": 125
      }, {
      "enabled": false,
      "type": "rangefinder",
      "input_pipe": "rangefinders",
      "frame": "body",
      "max_depth": 8,
      "min_depth": 0.300000011920929,
      "cell_size": 0.079999998211860657,
      "threshold": 4,
      "x_fov_deg": 68,
      "y_fov_deg": 56,
      "conf_cutoff": 0
      }]
      }

      2. I forced the VIO reset right before takeoff.
      I ran systemctl restart voxl-qvio-server via SSH just as you suggested, keeping the drone perfectly still on the ground.

      3. I verified the extrinsics settings.
      I checked /etc/modalai/extrinsics.conf and confirmed that the body to imu parameter is indeed [0, 0, 0].
      Here is my current extrinsics file:
      {
      "name": "starling_v2_voxl2",
      "extrinsics": [{
      "parent": "imu_apps",
      "child": "tracking",
      "T_child_wrt_parent": [0.0229, 0.006, 0.023],
      "RPY_parent_to_child": [0, 45, 90]
      }, {
      "parent": "body",
      "child": "imu_apps",
      "T_child_wrt_parent": [0.0407, -0.006, -0.0188],
      "RPY_parent_to_child": [0, 0, 0]
      }, {
      "parent": "body",
      "child": "tof",
      "T_child_wrt_parent": [0.068, -0.0116, -0.0168],
      "RPY_parent_to_child": [0, 90, 180]
      }, {
      "parent": "body",
      "child": "lepton0_raw",
      "T_child_wrt_parent": [-0.06, 0, 0.01],
      "RPY_parent_to_child": [0, 0, 90]
      }, {
      "parent": "body",
      "child": "ground",
      "T_child_wrt_parent": [0, 0, 0.0309],
      "RPY_parent_to_child": [0, 0, 0]
      }]
      }

      Despite doing all of this, the 180-degree rotation (mirror effect) is still happening.

      Given that these steps didn't resolve the issue and you mentioned that these anomalies have been corrected in newer versions, would you recommend that my best course of action right now is to flash the drone and upgrade to SDK 1.6.x (or newer) to use the new OpenVINS subsystem?

      I would also appreciate it if you could take a look at the files I sent you in this message to make sure everything is correct.

      One more thing:

      Looking at my SKU (MRB-D0005-4-V2...), is it possible that the tracking camera or the IMU was physically mounted 180° rotated at the factory?

      If this is a known hardware discrepancy for this specific batch, should I manually compensate for it in the extrinsics or will the SDK 1.6.x upgrade fix it automatically?

      Thanks again for your help!

    • Dan JenningsD

      Voxl2 + M0041 RevB Battery Monitor on Arducopter

      Ask your questions right here!
      • • • Dan Jennings
      7
      0
      Votes
      7
      Posts
      69
      Views

      Dan JenningsD

      @Eric-Katzfey
      We will look into updating the sdk, but that's always a fair bit of work.

    • R

      Trigger Hadron camera with DO_SET_CAM_TRIGG_DIST

      VOXL 2
      • • • restore
      6
      0
      Votes
      6
      Posts
      110
      Views

      Eric KatzfeyE

      @restore There are a few examples of code that listens for Mavlink messages in our SDK. For example, in voxl-mpa-tools, take a look at the source code for voxl-inspect-mavlink.c. https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/master/tools/voxl-inspect-mavlink.c?ref_type=heads

      Probably would be a good idea to run voxl-inspect-mavlink on the mavlink_onboard and mavlink_to_gcs pipes to see which one has the desired Mavlink message in it. Then create your own application that listens for the Mavlink message on that pipe.

    • N

      Yaw Error Estimate on PX4v1.15

      Ask your questions right here!
      • yaw flight core v2 • • ndwe
      5
      0
      Votes
      5
      Posts
      71
      Views

      Eric KatzfeyE

      @ndwe Whether you use a VOXL or Jetson as a companion computer shouldn't make any difference unless you want to use the VOXL SDK. The version you run is totally up to you. If our v1.14.0 based version works for you then use it. We do plan to transition to v1.17.x in the near future. I don't think the issues you are seeing are related to something specific in the flight core v2 hardware setup. I would think that if you swapped it out for some other brand you would see the same issue. I would ask on the PX4 forums to see if others have experienced the same issues.

    • W

      M0186 Camera DFOV

      VOXL Accessories
      • • • Windmill
      3
      0
      Votes
      3
      Posts
      31
      Views

      W

      @Alex-Kushleyev Thank you for the hint. We have fixed the issue by changing the resolution to 2704x1540 in the voxl-camera-server.conf. Now, the actual DFOV is 150°.

    • S

      Support for other Thermal Cameras

      Video and Image Sensors
      • • • saegsali
      3
      0
      Votes
      3
      Posts
      49
      Views

      S

      Hi @Vinny

      Thank you for your reply! That's good news:)
      We are looking forward to it!

    • R

      Starling 2 Max Motor Catches

      Starling & Starling 2
      • • • RyanH
      2
      0
      Votes
      2
      Posts
      15
      Views

      Eric KatzfeyE

      @RyanH I'll let another of my associates comment on the purchase of a new motor. But can you also share a px4 log file from such a flight. It would be helpful for us to take a look at it.

    • M

      Unable to Bind VOXL 2 - Starling 2 to Commando 8 (915 v2) radio

      Support Request Format for Best Results
      • • • MikeR
      2
      0
      Votes
      2
      Posts
      18
      Views

      tomT

      @MikeR Does your commando 8 have an orq ghost transmitter module connected to it? If it doesn't then it is likely using ELRS which is not compatible with a ghost receiver.

      You'd need a orqa transmitter like this one: https://shop.orqafpv.com/products/orqa-orqa-fpv-ctrl-radio-controller

      Maybe your other drone had an ELRS receiver on it?

    • A

      TOF sensor flex cable replacement

      Starling & Starling 2
      • • • aheyne
      2
      0
      Votes
      2
      Posts
      17
      Views

      Alex KushleyevA

      @aheyne , please send us a message via contact form. We don't sell this part separately as a product, but will help you with a replacement.

      You will need the M0177 flex cable (as the print states on the cable).

      https://www.modalai.com/pages/contact-us

      Alex

    • S

      VOXL2 Time Sources

      Ask your questions right here!
      • • • shawn_ricardo
      2
      0
      Votes
      2
      Posts
      25
      Views

      Eric KatzfeyE

      @shawn_ricardo A couple of quick points. First of all, PX4 just queries the Linux system time so there's no mechanism to set a separate notion of system time in PX4. If the VOXL 2 is connected to the internet then, yes, it will update the Linux system time with NTP. But VOXL 2 has no battery backed RTC so if it cannot get system time from NTP then it uses the last saved time which is typically the last time there was a connection to an NTP server. Also, in newer versions of our PX4 we get rid of the -t option when starting the logger module so it will not use the system time. Instead it will just create session directories and log files within them in increasing numerical order. So, highest numbered log file in highest numbered session directory is the latest log.

    • J

      Image Stabilization calibration and pipe size clarification

      Ask your questions right here!
      • • • jameskuesel
      2
      0
      Votes
      2
      Posts
      37
      Views

      Alex KushleyevA

      Hi @jameskuesel ,

      When you enable en_raw_preview, which is what we do when MISP is enabled, the preview_width and preview_height basically force the selection of a specific camera mode with those dimensions. This means that the camera will send a bayer image of that size.

      After the image is received by the ISP (which does nothing else in RAW-only mode), then MISP consumes the raw bayer image and performs debayering on the GPU. Then misp_width and misp_height will be used to specify the dimensions of the output image, sampled from the original bayer image.

      If the output dimensions have exactly the same ratio as the input dimensions, then MISP will perform (arbitrary) down-scaling only (no crop = same horizontal and vertical FOV). However, if the output dims have different aspect ratio, the output image will be a cropped (and downscaled) version of the original image, such that the width and height ratio is maintained (features are not stretched). The crop is selected to maximize the fit of the output image within the input image.

      With that in mind, if you select 4040x3040 as preview resolution and select misp resolution such that both width and height are scaled by the same factor (does not have to be integer), you can calibrate the intrinsics using the small image and after the calibration you can upscale the intrinsics:

      multiply the principal point offsets by the same factor multiply the focal length by the same factor keep the same fisheye distortion coefficients (since they are a function of angle, not pixels)

      See another version of this explanation in a different context : https://forum.modalai.com/topic/4900/running-qvio-on-a-hires-camera/12 (look for "intrinsics")

      Input to the EIS algorithm is the full bayer image that is defined by the preview_width and preview_height. the output image size is defined by misp_width and misp_height, just like when EIS is off. The misp resolution can be arbitrary an important parameter is misp_zoom, which defines the relationship between the original image and the output image, in terms of zoom level. if you set zoom = 1.0 with EIS enabled, then the misp output will produce the largest undistorted image that fits within the original bayer image there will be no deformation (stretching). the EIS ROI size will fit within the original bayer image and the zoom level is really controlling how much the FOV is reduced and how much stabilization margin you have. you can enable the ROI display (PIP or side-by-side) to see how the EIS ROI fits within the original full image the actual resolution of the misp output has nothing to do with how the EIS ROI fits within the original bayer image : the zoom value and fisheye undistortion dictate that. The output misp resolution just defines how many pixels the output image will contain, not the field of view (FOV). for output resolution, you can pick whatever you need for your application.

      By the way, you can have multiple EIS outputs on the same camera concurrently (MISP supports up to 4 channels). So you can have one stream that is small resolution (for streaming over wifi) and another one higher resolution (and can be different aspect ratio) for high quality recording. https://docs.modalai.com/camera-video/electronic-image-stabilization/#using-eis-with-misp-channels

      Please note that currently, when you use multiple misp channels from the same camera, the image is processed separately, meaning if you have a large resolution and small resolution misp stream, the small resolution is NOT generated by downsampling the output of the large stream (which could be a nice optimization, in some cases).

      Please let me know if you have any other questions.

      Alex

    • Jon BrookshireJ

      3D step files for Starling Max v3

      3D Models
      • • • Jon Brookshire
      2
      0
      Votes
      2
      Posts
      33
      Views

      Alex KushleyevA

      Hi @Jon-Brookshire ,

      Please see the following post (just updated) : https://forum.modalai.com/topic/5052/starling-2-max-cad

      Alex

    • Adnaan YunusA

      Wifi Card - Intermittent Connection

      VOXL 2
      • • • Adnaan Yunus
      2
      0
      Votes
      2
      Posts
      39
      Views

      Alex KushleyevA

      @Adnaan-Yunus , Thank you for reporting this. We will try to replicate the issue.

      Do you have any more specific information that could help us? For example

      does rebooting VOXL2 allow you to connect from the same wifi client again (perhaps one time until it is cut off again) is there any way that you found to reset the wifi card to allow a new (previously seen) connection? have you tried setting the card to station mode and then back to softap mode? while the first client can no longer connect, can another client connect to the softap? I am wondering if the wifi card is still responsive or it does not accept any clients?

      Thanks!

      Alex

    • A

      Moving functions from J19 legacy or high speed B2B

      VOXL 2
      • • • austin.c
      1
      0
      Votes
      1
      Posts
      2
      Views

      No one has replied

    • Alex KushleyevA

      GNSS EMI Mitigation Guidelines

      Starling & Starling 2
      • • • Alex Kushleyev
      1
      0
      Votes
      1
      Posts
      48
      Views

      No one has replied

    • F

      Ubuntu 20.04

      VOXL SDK
      • • • fhaltmayer
      1
      0
      Votes
      1
      Posts
      34
      Views

      No one has replied