ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. jaredjohansen
    3. Topics
    J
    • Profile
    • Following 0
    • Followers 1
    • Topics 18
    • Posts 50
    • Best 7
    • Controversial 0
    • Groups 0

    Topics created by jaredjohansen

    • J

      VOXL2 thermal management

      VOXL 2
      • • • jaredjohansen
      2
      1
      Votes
      2
      Posts
      190
      Views

      VinnyV

      Hi @jaredjohansen
      Thanks for reaching out.
      We recently wrote up this page to help:
      https://docs.modalai.com/voxl2-thermal-performance/

      As far as what components require the focus, it is certainly the QRB5165 module on Voxl 2 that will be the predominate power source.
      On one side, we have the LPDDR5 SDRAM, that tends to be the limiting factor. Although not the source of the heat, it sits above the CPUs so it is the most accessible for thermal dissipation. We suggest trying to make sure you have airflow flowing over this portion:
      1ccecfce-462e-4165-ba01-bf424f26f844-image.png
      (Zoom in, the part that pokes through the PCB hole)
      46fad1d0-a6ac-47cd-b0d3-61aafc312f7e-image.png

      The secondary side will also help, but not as much. This side has much of the internal power control ICs, but due to the relative mass, may not feel as warm, but the same mass and volume/area helps provide more area for airflow to work:
      6b0f30f2-c1d7-4b52-a5cf-acb6ffa100e2-image.png

      We made a conscience decision on Voxl2 to place the B2B connectors J3 and J5 on that side exactly because of that concern. The expectation is that any plug-in boards will not impede airflow from being on the LPDDR side, thus leaving only small image sensor flexes to work around for airflow.

      Hope this helps!

    • J

      VOXL coordinate frame NED/FRD -> ENU/FLU

      Ask your questions right here!
      • • • jaredjohansen
      1
      0
      Votes
      1
      Posts
      173
      Views

      No one has replied

    • J

      Setting up micrortps bridge on VOXL2/Sentinel

      VOXL 2
      • • • jaredjohansen
      15
      0
      Votes
      15
      Posts
      849
      Views

      Kyungtaek Oh 0K

      Hi @Eric-Katzfey,
      We had some finds.
      Here's what we've understood so far:

      Two things are needed to make a voxl-px4 package using px4-firmware(voxl-dev) modalai_rb5-flight_default modalai_rb5-flight_qurt And each one needs the following different crsf_parse function modalai_rb5-flight_default needs crsf_parse(6 arguments) modalai_rb5-flight_qrut needs crsf_parse(8 arguments) Each px4-firmware has a different version of crsf_parse Branch: main has crsf_parse(6 arguments) Branch: voxl-dev has crsf_parse(8 arguments)

      Our goal was to build the voxl-px4 included MicroRTPS_bridge in px4-firmware(branch: voxl-dev), so we added the following two functions to crsf.cpp in px4-firmware.

      bool crsf_parse_buffer(uint16_t *values, uint16_t *num_values, uint16_t max_channels) as crsf_parse_buffer_6 bool crsf_parse(const uint64_t now, const uint8_t *frame, unsigned len, uint16_t *values, uint16_t *num_values, uint16_t max_channels) as crsf_parse_6

      Then the build progressed to 89% and stopped with an error below.
      ERROR #1

      [ 89%] Building CXX object src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/pwm.cpp.o /usr/local/workspace/px4-firmware/src/systemcmds/pwm/pwm.cpp: In function 'int pwm_main(int, char**)': /usr/local/workspace/px4-firmware/src/systemcmds/pwm/pwm.cpp:810:3: error: 'qurt_loop' was not declared in this scope 810 | qurt_loop = 320; | ^~~~~~~~~ compilation terminated due to -Wfatal-errors. make[3]: *** [src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/build.make:63: src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/pwm.cpp.o] Error 1 make[3]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default' make[2]: *** [CMakeFiles/Makefile2:12085: src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/all] Error 2 make[2]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default' make[1]: *** [Makefile:152: all] Error 2 make[1]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default' make: *** [Makefile:222: modalai_rb5-flight_default] Error 2

      We changed the int qurt_loop variable's scope to like this.

      Before
      32b86fac-1631-4048-b2ce-a29792ee533b-Untitled.png After
      f6a25f03-3c63-4f66-92e4-b3181adacef6-Untitled (1).png

      After that, an error occurred for the label for jump, and it was resolved by changing it as follows.
      ERROR #2

      [ 89%] Building CXX object src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/pwm.cpp.o /usr/local/workspace/px4-firmware/src/systemcmds/pwm/pwm.cpp: In function 'int pwm_main(int, char**)': /usr/local/workspace/px4-firmware/src/systemcmds/pwm/pwm.cpp:864:1: error: jump to label 'err_out_no_test_2' 864 | err_out_no_test_2: | ^~~~~~~~~~~~~~~~~ compilation terminated due to -Wfatal-errors. make[3]: *** [src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/build.make:63: src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/pwm.cpp.o] Error 1 make[3]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default' make[2]: *** [CMakeFiles/Makefile2:12085: src/systemcmds/pwm/CMakeFiles/systemcmds__pwm.dir/all] Error 2 make[2]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default' make[1]: *** [Makefile:152: all] Error 2 make[1]: Leaving directory '/usr/local/workspace/px4-firmware/build/modalai_rb5-flight_default'

      So we changed the goto command to "return 0" instead of using err_out_no_test_2 label.

      After that, the build.sh worked and the make_packages.sh also worked.(in the voxl-px4)
      However, it did not run with the following error on voxl2.
      ERROR #3

      voxl2:~$ voxl-px4 Found DSP signature file /usr/bin/voxl-px4: line 42: /usr/bin/px4: cannot execute binary file: Exec format error

      Based on the above results, we think the voxl-px4 with microRTPS_bridge can be built by changing modalai_rb5-flight_default and modalai_rb5-flight_qurt to use the same crsf_parse.

      So if you think our thinking is correct, can you give us some guidance?
      If it is not possible in px4-firmware(branch: voxl-dev), can we build voxl-px4(included micrortps_bridge) using another branch?
      Any advice would be appreciated.

    • J

      voxl2-mpa-to-ros2

      VOXL 2
      • • • jaredjohansen
      3
      2
      Votes
      3
      Posts
      594
      Views

      aya omezzineA

      Hi,
      Is there any news about ros2 ?

      Best,
      Aya

    • J

      VOXL2 TOF Support

      VOXL 2
      • • • jaredjohansen
      1
      2
      Votes
      1
      Posts
      255
      Views

      No one has replied

    • J

      Can RB5 drone be setup as hotspot?

      Qualcomm Flight RB5 5G Drone
      • • • jaredjohansen
      2
      0
      Votes
      2
      Posts
      179
      Views

      Chad SweetC

      In theory, yes. It would require setting up the proper routing tables in Linux. Should be standard Linux configurations, though we have not tried it. If you get it to work, please report back here! 🙂

    • J

      TOF Sensor Range

      Ask your questions right here!
      • • • jaredjohansen
      1
      0
      Votes
      1
      Posts
      211
      Views

      No one has replied

    • J

      Timeline for voxl-like services

      Qualcomm Flight RB5 5G Drone
      • • • jaredjohansen
      2
      0
      Votes
      2
      Posts
      209
      Views

      ?

      We are currently working on this, there's no definite timeline but it's one of the main projects we're currently working on. Note that there will be no port of the voxl-docker project since rb5 is an ubuntu platform (so you can install docker normally with the standard ubuntu process)

    • J

      TOF Depth Image Encoding changed from 32FC1 to mono8

      Ask your questions right here!
      • • • jaredjohansen
      3
      0
      Votes
      3
      Posts
      233
      Views

      J

      For anyone who runs into this same issue, I changed my subscriber to listen to /map/tof_pc (which has the PointCloud2 type). My code (to extract the z value) is this:

      # get the depth image dep_frame = np.fromstring(data.data, dtype=np.single) # get numpy array dep_frame = dep_frame.reshape(172, 224, 3)[:,:,2]
    • J

      voxl-emulator won't start

      Ask your questions right here!
      • • • jaredjohansen
      3
      1
      Votes
      3
      Posts
      389
      Views

      J

      Update: I completely removed docker and voxl-docker from my system.

      I rebooted, reinstalled docker, and followed these steps to install voxl-docker.

      Now, I get a different error (same as here) :

      jared@jared-ubuntu:~/voxl-docker$ voxl-docker -i voxl-emulator -e "/bin/bash" launching image: voxl-emulator with the following command: docker run --rm -it --net=host --privileged -w /home/jared --volume=/dev/bus/usb:/dev/bus/usb -e LOCAL_USER_ID=0 -e LOCAL_USER_NAME=root -e LOCAL_GID=0 -v /home/jared/voxl-docker:/home/root:rw -w /home/root voxl-emulator /bin/bash standard_init_linux.go:228: exec user process caused: exec format error

      I followed the instructions at the link. The first two commands ran without any issues. I had to modify the last one to fit my architecture:

      sudo apt-get install qemu binfmt-support qemu-user-static docker run --rm --privileged multiarch/qemu-user-static --reset -p yes jared@jared-ubuntu:~/voxl-docker$ docker run --rm -t amd64/ubuntu uname -m Unable to find image 'amd64/ubuntu:latest' locally latest: Pulling from amd64/ubuntu 7b1a6ab2e44d: Pull complete Digest: sha256:7cc0576c7c0ec2384de5cbf245f41567e922aab1b075f3e8ad565f508032df17 Status: Downloaded newer image for amd64/ubuntu:latest x86_64

      That worked. Now the voxl-emulator appears to work too:

      jared@jared-ubuntu:~/voxl-docker$ voxl-docker -i voxl-emulator -e "/bin/bash" launching image: voxl-emulator with the following command: docker run --rm -it --net=host --privileged -w /home/jared --volume=/dev/bus/usb:/dev/bus/usb -e LOCAL_USER_ID=0 -e LOCAL_USER_NAME=root -e LOCAL_GID=0 -v /home/jared/voxl-docker:/home/root:rw -w /home/root voxl-emulator /bin/bash + USER_ID=0 + USER_NAME=root + GID=0 + getent group 0 root:x:0: + echo 'Starting with UID : 0' Starting with UID : 0 + useradd --shell /bin/bash -u 0 -g 0 -o -c '' -M root useradd: user 'root' already exists + addgroup root users + export HOME=/home/root + HOME=/home/root + ls -ld /home/root drwxrwxr-x 8 james host_group 4096 Nov 1 21:45 /home/root + echo 'root ALL=(ALL) NOPASSWD: ALL' + ls -l /etc/sudoers.d/ total 8 -rw-r--r-- 1 root root 30 Nov 23 2020 james -rw-r--r-- 1 root root 29 Nov 1 22:26 root + cat /etc/sudoers.d/root root ALL=(ALL) NOPASSWD: ALL + chmod 777 /tmp + chmod 711 /usr/bin/sudo + chmod +s /usr/bin/sudo + ls -l /usr/local/bin/su-exec -rwxr-xr-x 1 root root 7660 Aug 14 2018 /usr/local/bin/su-exec + ls -l /bin/bash -rwxrwxrwx 1 root root 959344 Aug 12 2018 /bin/bash + echo 'exec /usr/local/bin/su-exec root /bin/bash' exec /usr/local/bin/su-exec root /bin/bash + exec /usr/local/bin/su-exec root /bin/bash bash-4.3#
    • J

      TOF sensor not working with latest VOXL SW

      Ask your questions right here!
      • • • jaredjohansen
      8
      0
      Votes
      8
      Posts
      582
      Views

      ?

      Yep,

      This was an bug with voxl-utils v0.8.4 sourcing ros files in the wrong order, I just pushed a patch (0.8.5) up that fixes this, should be available in a few minutes.

    • J

      voxl-tflite-server not working on latest SW

      Ask your questions right here!
      • • • jaredjohansen
      7
      0
      Votes
      7
      Posts
      387
      Views

      J

      I already had voxl-utils v0.8.2 installed (see earlier post), so I did not update that.

      I downloaded voxl-tflite-server v0.1.6 from http://voxl-packages.modalai.com/dev/ and adb push'ed it to my voxl. I then installed it (opkg install ipk/voxl-tflite-server_0.1.6_202110292056.ipk) and rebooted my voxl.

      I saw the same behavior as before until I modified /etc/modalai/voxl-tflite-server.conf. Once I set

      "input_pipe": "/run/mpa/hires/"

      and restarted the voxl-tflite-server, it began to work!

      Thanks, @Matt-Turi, for helping me resolve this issue!

    • J

      TOF Sensor placement affects Tracking Camera/qvio

      Ask your questions right here!
      • • • jaredjohansen
      2
      0
      Votes
      2
      Posts
      217
      Views

      ModeratorM

      The flashing from the TOF sensor is normal and should not effect VIO.

      See the documentation troubleshooting VIO, that should help with debugging https://docs.modalai.com/flying-with-vio/#troubleshooting-vio

    • J

      docker fills up /data, prevents code from running

      Ask your questions right here!
      • • • jaredjohansen
      11
      0
      Votes
      11
      Posts
      716
      Views

      J

      Good to know -- thanks, Eric!

    • J

      TOF SLAM

      Ask your questions right here!
      • • • jaredjohansen
      20
      0
      Votes
      20
      Posts
      1407
      Views

      A

      @Matt-Turi thanks so much!

    • J

      Integrating FLIR BOSON as USB-connected camera on VOXL

      Ask your questions right here!
      • • • jaredjohansen
      12
      2
      Votes
      12
      Posts
      1274
      Views

      M

      @Eric-Katzfey no clue i was tagged in the thread, my guess would be to have my attention drawn to another source

    • J

      Intermittent crashing of voxl-camera-server during VOA testing

      Ask your questions right here!
      • • • jaredjohansen
      6
      0
      Votes
      6
      Posts
      469
      Views

      J

      Thanks for printing out those resolutions. Very helpful!

      yocto:~$ voxl-camera-server -d 1 exising instance of voxl-camera-server found, attempting to stop it ------ voxl-camera-server INFO: Port J2 ------ voxl-camera-server: Done configuring hires camera Port : port_J2 Name : hires Enabled : 1 Type : hires Api : hal3 P-W : 640 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : isp ------ voxl-camera-server INFO: Port J3 ------ voxl-camera-server: Done configuring stereo camera Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 100 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server INFO: Port J4 ------ voxl-camera-server: Done configuring tracking camera Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 100 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Writing new configuration to /etc/modalai/voxl-camera-server.conf Created pipe: hires_preview channel: 0 Created pipe: stereo channel: 1 Created pipe: tracking channel: 2 Starting Camera: tracking SUCCESS: Camera module opened ----------- Number of cameras: 3 ------ voxl-camera-server INFO: Client: qvio-server0 connected to channel: 2 ------ voxl-camera-server ERROR: Client connected to invalid channel: 0 ------ voxl-camera-server ERROR: Client connected to invalid channel: 1 ----------- HiRes camera id: 0 ----------- Stereo camera id: 2 ----------- Mono camera id: 1 ------ voxl-camera-server INFO: Client: voxl-streamer0 connected to channel: 2 Available resolutions for camera: tracking: 640 x 480 320 x 240 Resolution: 640 x 480 Found! ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: tracking 2 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Port : port_J4 Name : tracking Enabled : 1 Type : tracking Api : hal3 P-W : 640 P-H : 480 P-Fmt : raw8 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 100 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= Starting Camera: hires Available resolutions for camera: hires: 4160 x 3120 4056 x 3040 4000 x 3000 3040 x 3040 3016 x 3016 3840 x 2160 3648 x 2736 3264 x 2448 3200 x 2400 2976 x 2976 3044 x 1720 2704 x 2028 2704 x 1520 2592 x 1944 2688 x 1512 2028 x 1144 2160 x 2160 1920 x 2160 1920 x 1920 1880 x 1880 2048 x 1536 1920 x 1440 1920 x 1080 1600 x 1600 1600 x 1200 1520 x 1520 1440 x 1080 1080 x 1080 1280 x 960 1340 x 760 1280 x 768 1280 x 720 1200 x 1200 1280 x 640 1280 x 480 1040 x 780 1024 x 768 960 x 960 720 x 720 800 x 600 960 x 720 848 x 480 858 x 480 864 x 480 800 x 480 720 x 480 640 x 480 640 x 240 640 x 360 480 x 640 480 x 480 480 x 360 480 x 320 432 x 240 352 x 288 320 x 240 Resolution: 640 x 480 Found! ------ voxl-camera-server: Preview buffer allocations Port : port_J2 Name : hires Enabled : 1 Type : hires Api : hal3 P-W : 640 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : isp Starting Camera: stereo Available resolutions for camera: stereo: 1280 x 480 848 x 480 858 x 480 864 x 480 800 x 480 720 x 480 640 x 480 640 x 240 640 x 360 480 x 480 480 x 360 480 x 320 432 x 240 352 x 288 320 x 240 Resolution: 1280 x 480 Found! ------ voxl-camera-server: Preview buffer allocations Internal Exposure for: stereo 1 /builds/voxl-public/modal-pipe-architecture/voxl-camera-server/src/expgain_interface/expgain_interface_factory.cpp 45 Creating exposure interface Creating ModalAI exposure interface Received raw10 frame, checking to see if is actually raw8 Frame was actually 8 bit, sending as is Port : port_J3 Name : stereo Enabled : 1 Type : stereo Api : hal3 P-W : 1280 P-H : 480 P-Fmt : nv21 FPS : 30 OverrideId : -1 AEAlgo : modalai =================MODALAI Auto Exposure Settings================== gain_min: 0 gain_max: 1000 exposure_min_us: 100 exposure_max_us: 33000 desired_msv: 58.000000 k_p_ns: 32000.000000 k_i_ns: 20.000000 max_i: 250.000000 p_good_thresh: 3 exposure_period: 1 gain_period: 2 display_debug: no exposure_offset_for_gain_calc: 8000 ================================================================= ------ voxl-camera-server: Camera server is now running