ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. jonathankampia
    3. Posts
    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 30
    • Posts 61
    • Best 6
    • Controversial 0
    • Groups 0

    Posts made by jonathankampia

    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @Vinny Powering the drive externally didn't change anything, seems like it's a data rate issue.

      I am having super weird IO problems with the ssd, like sometimes the partition doesn't show up when running 'lsblk' so I can't mount it. Data rate tests using dd are not consistent at all, and sometimes mid write the drive will become read only and dd will hang infinitely, following which I have to reformat the drive. I had the same partition issues trying a microsd card in the ethernet hub addon microsd slot - the sdcard showed up as mmcblk0 with no partitions available to mount.

      I've had much more consistent performance using a microsd + reader over usb3. This post was helpful for setting some standards: https://forum.modalai.com/topic/3855/question-about-the-usb3-uart-add-on-versus-the-voxl-2-ethernet-and-usb-hub-add-on/2. With my setup (UHS-1 microssd + reader) I'm getting about 50MBps write to ext4 and ~75MBps write to exFAT formatted microsd card.

      However, those tests with dd seem to be really unreliable and not representative of the rate I'll get using voxl-logger. I'm guessing I need a benchmark data rate of much higher than what we actually need (93MBps) in order to consistently write frames.

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @Vinny We have the M0204, good to know that the usb3 SS lines are fixed. As I am just doing bench testing, the only other device I have plugged in is the IMX214 hires camera (which I am trying to log frames of).

      Spec wise I have been testing with a Samsung T7 shield connected over USBC, their docs weren't super clear but it seems like it consumes maximum 7.5W at 5V, so that could be the issue. With USB3.2 connection they claim it can reach 1GBps writespeed, and we are under 1/10th of that in requirement (we require about 93MBps).

      I could splice in auxiliary 5V power to see if that helps.

      IMG_4798_1080x1440.jpg

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @jonathankampia Another strange issue! On a standard VOXL2 with the USB3 expansion board, same SDK version (1.5.0), the VOXL is unable to detect the external SSD's partitions so I can't even mount it. Same SSD plugs into a VOXL2 mini and partitions are detected.

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      @jonathankampia Oh yeah, also, we tried modding the cable like the documentation I linked said to. All we had on hand were some tiny 220nF caps, not the caps linked in the docs. The modded cable wouldn't even allow the USB slave device to show up on lsusb.

      posted in Ask your questions right here!
      J
      jonathankampia
    • VOXL2 mini J3 connector (USB3) not working well with external storage for data logging

      I am trying to log camera data to an external SSD using the voxl-logger utility, with the SSD hooked up to the J3 port of the VOXL2 mini. According to voxl-inspect-cam, the frames I'm trying to save are ~3.11MB, so at 30FPS would require around 93MBps write speed. The external ssd we have hooked up (temporarily) is a 2TB samsung T7 shield, which has an advertised write speed of up to 1000MBps, well over what we need.

      The main problem is voxl-logger's output:

      voxl-logger -c hires_small_color -d /mnt/ssd
      Welcome to voxl-logger
      1906214 MB left in /mnt/ssd/
      starting new log: /mnt/ssd/log0001/
      
      connected to ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      
      ERROR: invalid metadata, magic number=-2055633543, expected 1448040524
      most likely client fell behind and pipe overflowed
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      flushing backed up pipe ch 0 /run/mpa/hires_small_color/
      

      It works for a while, then eventually something backs up and the logger prints this debug message infinitely. It becomes unresponsive and I can't kill it with Ctrl+C. It seems like there's some bottleneck preventing the client (voxl-logger?) from receiving frames at the correct rate from the mpa pipe.

      I am aware of the potential issues with the superspeed lines of the connector, but I get this output when taking the diagnostic steps that page details:

      voxl2:/$ lsusb -t
      /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 10000M
          |__ Port 1: Dev 23, If 0, Class=Mass Storage, Driver=usb-storage, 10000M
      /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
      

      So I don't think datarates on the port/cable are the issue, and unless samsung is lying on their documentation by over 10x, I dont know how the ssd itself could be the issue either.

      I was also able to test the data rate to this SSD with dd (linux utility) and saw some weird stuff. When trying to push lumps of data ~2GB, it would push the first 80% extremely fast (like 900MBps) and then lock up on the remaining data and take over 40s to transfer the rest. Seeing that made me think it could also be browning out.

      Is there anything I am doing wrong / falsely expecting the VOXL2 to be able to perform? I can try a regular VOXL2 with the USB3 expansion and see if that works better for now, but in the end we need to use the mini anyway so I would like to get this issue figured out.

      Thank you!

      posted in Ask your questions right here!
      J
      jonathankampia
    • M0201 gimbal passthrough pinout

      Hi, what is the order of the pins for the i2c passthrough on the M0201 board? Assuming something like 5V - SCL - SDA - X - X - GND, but would just like to ask to make sure. I don't believe it's documented anywhere either

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: Flir Boson+ Issues on VOXL2 Mini

      @Alex-Kushleyev Just gonna bump this

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: Flir Boson+ Issues on VOXL2 Mini

      @Alex-Kushleyev Hey, thanks for the response! It fixed the crashing issue, and I can see frames being processed by running 'voxl-inspect-cam -a', but viewing the boson feed on the web portal shows a blank (black) video feed. I copied the config snippet into my file (swapping out the camera for the correct one). Something interesting to note is that even though I configured the camera for 30fps in FLIR software and on VOXL end, it seems to only be streaming about 11-12 fps. Maybe something is wrong on the camera side?

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: Flir Boson+ Issues on VOXL2 Mini

      Just to update with some extra information, this is the exact camera: https://www.oemcameras.com/product/22640a032-htm/

      posted in Ask your questions right here!
      J
      jonathankampia
    • Flir Boson+ Issues on VOXL2 Mini

      Set up is as follows: FLIR Boson+ with M0201 adapter board (red) connected to J1 port M0181 board plugged into J7 port of VOXL2 mini.

      Steps taken:

      1. Set up Boson+ camera using FLIR software, followed all steps detailed here: https://docs.modalai.com/M0153/

      2. Was not able to run voxl-configure-cameras 51 or voxl-configure-cameras 52 as the documentation suggested, so instead added 'boson-fpv' to the J7_LOWER field of the custom config file located at /data/modalai/custom_camera_config.txt
        Then ran voxl-configure-cameras and picked the 'C' option, which generated this camera config file:
        (I also have an imx412 hooked up to the J6 connector on the mini)

      	"version":	0.1,
      	"fsync_en":	false,
      	"fsync_gpio":	109,
      	"cameras":	[{
      			"type":	"imx412",
      			"name":	"hires",
      			"enabled":	true,
      			"camera_id":	0,
      			"fps":	30,
      			"en_preview":	false,
      			"preview_width":	640,
      			"preview_height":	480,
      			"en_raw_preview":	false,
      			"en_small_video":	true,
      			"small_video_width":	1024,
      			"small_video_height":	768,
      			"small_venc_mode":	"h264",
      			"small_venc_br_ctrl":	"cqp",
      			"small_venc_Qfixed":	30,
      			"small_venc_Qmin":	15,
      			"small_venc_Qmax":	40,
      			"small_venc_nPframes":	9,
      			"small_venc_mbps":	2,
      			"small_venc_osd":	false,
      			"en_large_video":	true,
      			"large_video_width":	4056,
      			"large_video_height":	3040,
      			"large_venc_mode":	"h264",
      			"large_venc_br_ctrl":	"cqp",
      			"large_venc_Qfixed":	40,
      			"large_venc_Qmin":	15,
      			"large_venc_Qmax":	50,
      			"large_venc_nPframes":	29,
      			"large_venc_mbps":	40,
      			"large_venc_osd":	false,
      			"en_snapshot":	true,
      			"en_snapshot_width":	4056,
      			"en_snapshot_height":	3040,
      			"exif_focal_length":	3.0999999046325684,
      			"exif_focal_length_in_35mm_format":	17,
      			"exif_fnumber":	1.2400000095367432,
      			"snapshot_jpeg_quality":	75,
      			"ae_mode":	"isp",
      			"gain_min":	54,
      			"gain_max":	8000
      		}, {
      			"type":	"boson-fpv",
      			"name":	"boson",
      			"enabled":	true,
      			"camera_id":	1,
      			"fps":	30,
      			"en_rotate":	false,
      			"en_preview":	true,
      			"preview_width":	640,
      			"preview_height":	512,
      			"en_raw_preview":	true,
      			"en_small_video":	true,
      			"small_video_width":	640,
      			"small_video_height":	512,
      			"small_venc_mode":	"h265",
      			"small_venc_br_ctrl":	"cbr",
      			"small_venc_Qfixed":	38,
      			"small_venc_Qmin":	15,
      			"small_venc_Qmax":	50,
      			"small_venc_nPframes":	29,
      			"small_venc_mbps":	2,
      			"small_venc_osd":	false,
      			"ae_mode":	"lme_msv",
      			"gain_min":	54,
      			"gain_max":	8000,
      			"ae_desired_msv":	60,
      			"exposure_min_us":	20,
      			"exposure_max_us":	33000,
      			"exposure_soft_min_us":	5000,
      			"ae_filter_alpha":	0.600000023841858,
      			"ae_ignore_fraction":	0.20000000298023224,
      			"ae_slope":	0.05000000074505806,
      			"ae_exposure_period":	1,
      			"ae_gain_period":	1
      		}]
      }
      
      1. Restarted camera server & drone etc.

      I am able to see the camera listed when running voxl-camera-server -l. However, when I try to view the stream via either voxl-inspect-cam -a or the portal, the VOXL just crashes. I don't know how to get any more verbose debug info, and I believe everything is set up correctly with regards to the camera & the software running on the VOXL.

      posted in Ask your questions right here!
      J
      jonathankampia
    • Flir Boson+ & IMX412 camera hookup on a VOXL 2 mini

      Looking at the documentation it seems to not be possible (both would have to occupy the j7 camera group but the Boson+ adapter steals the entire thing). I was wondering if you guys could provide any ideas for a workaround (or if it's actually possible to connect the imx412 hires camera to the j6 group).

      Thank you!

      posted in Ask your questions right here!
      J
      jonathankampia
    • Interacting with apps proc i2c (j7) with camera also plugged in

      We need access to an apps proc i2c on the voxl 2 mini, which I can see are exposed on camera group J7. We also need to have a flir boson+ hooked up, which reading the documentation appears to only connect to group J7. Due to the nature of i2c (expandable as long as devices don't share an address) would it be possible to just make a custom interposer board that breaks out one of the i2c bus with the camera simultaneously hooked up?

      posted in Ask your questions right here!
      J
      jonathankampia
    • External INS & airspeed sensor hookup - VOXL 2 mini

      We are looking to hook up a VectorNAV VN300 external INS and an MS5525DSO airspeed sensor to a VOXL 2 mini. The INS data needs to be sent to the FCU. Both sensors have drivers in px4 - however, I don't think the VectorNAV driver will function on the SLPI proc, so it can't be as simple as hooking it up to the GNSS uart & mag i2c pins in J19 (correct me if I'm wrong?).

      I just wanted to ask if this configuration is at all possible, and what might need to be done on the apps proc to get it working. I understand there's an exposed uart port in J10 that I can probably use, but I'm worried about potential latency issues & not sure how the data should be piped over to the FCU.

      Thank you!

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: voxl-microdds-agent topic list

      @Beniamino-Pozzan I am still not 100% sure, it's more likely I will be commanding attitude / body rate which are already available. I just wanted to get a clear overview of what the information dds client / agent can give me access to in the modalai version of px4.

      How do you know what types of control / input & output data are not directly supported in px4 voxl version, as you said?

      Thanks for the help!

      posted in Ask your questions right here!
      J
      jonathankampia
    • voxl-microdds-agent topic list

      I have a question about the custom version of the microdds client running within voxl-px4. When I run px4's Micro-XRCE agent to connect to a client running in mainline px4, I get a long list of topics & telemetry info:

      /fmu/in/actuator_servos
      /fmu/in/arming_check_reply
      /fmu/in/aux_global_position
      /fmu/in/config_control_setpoints
      /fmu/in/config_overrides_request
      /fmu/in/distance_sensor
      /fmu/in/goto_setpoint
      /fmu/in/manual_control_input
      /fmu/in/message_format_request
      /fmu/in/mode_completed
      /fmu/in/obstacle_distance
      /fmu/in/offboard_control_mode
      /fmu/in/onboard_computer_status
      /fmu/in/register_ext_component_request
      /fmu/in/sensor_optical_flow
      /fmu/in/telemetry_status
      /fmu/in/trajectory_setpoint
      /fmu/in/unregister_ext_component
      /fmu/in/vehicle_attitude_setpoint
      /fmu/in/vehicle_command
      /fmu/in/vehicle_command_mode_executor
      /fmu/in/vehicle_mocap_odometry
      /fmu/in/vehicle_rates_setpoint
      /fmu/in/vehicle_thrust_setpoint
      /fmu/in/vehicle_torque_setpoint
      /fmu/in/vehicle_visual_odometry
      /fmu/out/battery_status
      /fmu/out/estimator_status_flags
      /fmu/out/failsafe_flags
      /fmu/out/manual_control_setpoint
      /fmu/out/position_setpoint_triplet
      /fmu/out/sensor_combined
      /fmu/out/timesync_status
      /fmu/out/vehicle_attitude
      /fmu/out/vehicle_control_mode
      /fmu/out/vehicle_global_position
      /fmu/out/vehicle_gps_position
      /fmu/out/vehicle_land_detected
      /fmu/out/vehicle_local_position
      /fmu/out/vehicle_odometry
      /fmu/out/vehicle_status_v1
      

      However, a lot of those topics seem to be omitted when you run voxl-microdds-agent on an actual VOXL2. I know you can configure which topics are shown by editing a json? file in the voxl-px4 package & recompiling it, but I remember reading somewhere on this forum that the custom branched px4 firmware version may not support/provide some of the data. Is this true?

      I am working on a project that will involve a VOXL 2 and may need to do direct actuator control (a topic that is made available by the client in mainline PX4 but not modalai's custom branch), and am debating between using MAVROS and the DDS bridge. I may need access to other topics that are also not provided but I'm not sure yet. There seem to be a lot of advantages to going with the latter, but if it's going to be a major pain / impossible to modify in the way I need, I would like to know.

      Thank you!

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: [Starling2Max] Unable to take off due to no valid local position estimate

      @Yoshimaru-Tanaka Hey idk if this will solve your problem but to setup my starling I used the parameters from (I believe) the indoor_vio.params file here. You just go to the parameters section of QGroundControl and click upload from file, then select that file - it will show you exactly which parameters are going to change. They are also helpful if you are flip flopping between flying indoors and outside.

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: Adding ll40ls driver to px4 build

      @Eric-Katzfey Thank you! I'm assuming I just follow the build instructions here, right?

      posted in Ask your questions right here!
      J
      jonathankampia
    • Adding ll40ls driver to px4 build

      Hi, we need to use a garmin lidar-lite v3 with a VOXL 2 and need to add that driver into the build. The driver itself is included in the modalai branch, I guess it's just not built with the rest of the firmware? How do I add it to the build?

      Thanks!

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: voxl 2 external rangefinder compatibility

      @Gary-Holmgren Haha your way is a little more robust than mine. I just manually added the qshell start command to the extra commands section of the voxl-px4.conf file.

      posted in Ask your questions right here!
      J
      jonathankampia
    • RE: voxl 2 external rangefinder compatibility

      @jonathankampia Just to respond to my own post here in case anyone else has the same question: It does work! We hooked up a VL53L0X rangefinder to the QUP3 i2c ports in the J19 connector and were able to start the driver with no issues by adding the start command to the voxl-px4.conf file. Interestingly, you have to modify both the EKF2_HGT_REF parameter and a specific rangefinder priority parameter that controls whether rangefinder sensor fusion is enabled at all times or just conditionally. If it's just enabled conditionally, the rangefinder data does not fuse into the EKF2 local position estimator.

      posted in Ask your questions right here!
      J
      jonathankampia