ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Zachary Lowell 0
    3. Posts
    • Profile
    • Following 0
    • Followers 1
    • Topics 4
    • Posts 225
    • Best 16
    • Controversial 0
    • Groups 1

    Posts made by Zachary Lowell 0

    • RE: Ros2 Humble on Voxl2

      Confirmed - can run the dds with humble running in the docker container:

      voxl2 (M0054):~$ apt-get install voxl-microdds-agent
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      The following NEW packages will be installed:
        voxl-microdds-agent
      0 upgraded, 1 newly installed, 0 to remove and 40 not upgraded.
      Need to get 0 B/4874 kB of archives.
      After this operation, 0 B of additional disk space will be used.
      Get:1 file:/data/voxl-suite-offline-packages ./ voxl-microdds-agent 3.0.0-0 [4874 kB]
      debconf: delaying package configuration, since apt-utils is not installed
      Selecting previously unselected package voxl-microdds-agent.
      (Reading database ... 104493 files and directories currently installed.)
      Preparing to unpack .../voxl-microdds-agent_3.0.0-0_arm64.deb ...
      Unpacking voxl-microdds-agent (3.0.0-0) ...
      Setting up voxl-microdds-agent (3.0.0-0) ...
      voxl2 (M0054):~$ systemctl start voxl-microdds-agent
      voxl2 (M0054):~$ systemctl status voxl-microdds-agent
      ● voxl-microdds-agent.service - voxl-microdds-agent
         Loaded: loaded (/usr/bin/MicroXRCEAgent; disabled; vendor preset: enabled)
         Active: active (running) since Tue 2025-11-25 15:13:37 UTC; 14s ago
       Main PID: 3370 (MicroXRCEAgent)
          Tasks: 28 (limit: 4915)
         CGroup: /system.slice/voxl-microdds-agent.service
                 └─3370 /usr/bin/MicroXRCEAgent udp4 -p 8888
      
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308177] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x00000001, datawriter_id: 0x0DF(5), publisher_id: 0x0DF(3)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308829] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x00000001, topic_id: 0x0E6(2), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.308994] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x00000001, publisher_id: 0x0E6(3), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.309525] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x00000001, datawriter_id: 0x0E6(5), publisher_id: 0x0E6(3)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310013] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x00000001, topic_id: 0x0EB(2), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310133] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x00000001, publisher_id: 0x0EB(3), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310468] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x00000001, datawriter_id: 0x0EB(5), publisher_id: 0x0EB(3)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.310981] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x00000001, topic_id: 0x0F0(2), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.311145] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x00000001, publisher_id: 0x0F0(3), participant_id: 0x001(1)
      Nov 25 15:13:38 m0054 MicroXRCEAgent[3370]: [1764083618.311488] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x00000001, datawriter_id: 0x0F0(5), publisher_id: 0x0F0(3)
      voxl2 (M0054):~$ docker images
      REPOSITORY                               TAG        IMAGE ID       CREATED       SIZE
      ros2-image   ed11b766   1040efe3dc33   2 weeks ago   2.33GB
      voxl2 (M0054):~$ docker run -it --rm --net=host --ipc=host ros2-image /bin/bash
      root@m0054:/# cd
      root@m0054:~# ls
      root@m0054:~# source /opt/ros/humble/setup.bash
      root@m0054:~# ros2 topic list
      /fmu/in/obstacle_distance
      /fmu/in/offboard_control_mode
      /fmu/in/onboard_computer_status
      /fmu/in/sensor_optical_flow
      /fmu/in/telemetry_status
      /fmu/in/trajectory_setpoint
      /fmu/in/vehicle_attitude_setpoint
      /fmu/in/vehicle_command
      /fmu/in/vehicle_mocap_odometry
      /fmu/in/vehicle_rates_setpoint
      /fmu/in/vehicle_trajectory_bezier
      /fmu/in/vehicle_trajectory_waypoint
      /fmu/in/vehicle_visual_odometry
      /fmu/out/battery_status
      /fmu/out/failsafe_flags
      /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_local_position
      /fmu/out/vehicle_odometry
      /fmu/out/vehicle_status
      /parameter_events
      /rosout
      
      posted in ROS
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Ros2 Humble on Voxl2

      @jmltt said in Ros2 Humble on Voxl2:

      Are there instructions on installing docker on target? The modalai guide (https://docs.modalai.com/docker-on-voxl/) references to just use the docker instructions to install via apt, but the docker install instructions linked to require an ubuntu o.s. newer than 20.04 so I wasn't sure if it would work.

      @jmltt please find answers for your questions below:

      1. Are there instructions on installing docker on target? The modalai guide (https://docs.modalai.com/docker-on-voxl/) references to just use the docker instructions to install via apt, but the docker install instructions linked to require an ubuntu o.s. newer than 20.04 so I wasn't sure if it would work. --> I always just use this file to install docker on target on the voxl2 (works for any ubuntu device as well btw): https://github.com/docker/docker-install/blob/master/install.sh

      2. In switching to ros2 humble onboard the voxl2 do I need to update the dds client module and rebuild voxl-px4 and rebuild the voxl-microdds-agent as well? I'm assuming that if they're built to work with ros2 foxy they're going to be dependent on older versions of fast-dds than what humble would be using and might not be compatible -> No you do not need to reinstall the fast dds with a different instance. Keep in mind the DDS is ros2 agnostic and runs as the middleware BUT I will test this out this morning.

      3. For examples the best I can do is show you what I do when running something like ros2 docker containers:

      E.G:

                      -v /usr/include/modal_pipe_common.h:/usr/include/modal_pipe_common.h \
                      -v /usr/include/modal_pipe_client.h:/usr/include/modal_pipe_client.h \
                      -v /usr/include/c_library_v2:/usr/include/c_library_v2 \
                      -v /run/mpa:/run/mpa \
                      -v /usr/bin/voxl-list-pipes:/usr/bin/voxl-list-pipes \
                      -v /usr/include/voxl_cutils.h:/usr/include/voxl_cutils.h \
                      -v /usr/include/cJSON.h:/usr/include/cJSON.h \
                      -v /usr/include/modal_pipe_deprecated.h:/usr/include/modal_pipe_deprecated.h \
                      -v /usr/include/modal_pipe_interfaces.h:/usr/include/modal_pipe_interfaces.h \
                      -v /usr/include/modal_pipe_common.h:/usr/include/modal_pipe_common.h \
                      -v /usr/include/modal_pipe_client.h:/usr/include/modal_pipe_client.h \
                      -v /usr/include/modal_start_stop.h:/usr/include/modal_start_stop.h \
                      -v /usr/lib64/libvoxl_cutils.so:/usr/lib/libvoxl_cutils.so \
                      -v /usr/lib64/libmodal_json.so:/usr/lib/libmodal_json.so \
                      -v /usr/lib64/libmodal_pipe.so:/usr/lib/libmodal_pipe.so \
      		-v /usr/lib/libgbm.so:/usr/lib/aarch64-linux-gnu/libgbm.so \
                      -v /tmp:/tmp \
                      -v /etc/modalai:/etc/modalai \
                      -v /dev:/host/dev"
      
                  docker run --rm -it \
                      --privileged \
                      --net=host \
                      --ipc=host \
                      ${VOLUMES} \
                      -e ROS_DOMAIN_ID=$ROS_DOMAIN_ID \
                      --entrypoint "/bin/bash" \
                      DOCKER_IMAGE_NAME_AND_TAG -c /bin/bash
      
      posted in ROS
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Issues with custom Yolov8

      https://gitlab.com/voxl-public/support/voxl-train-yolov8

      I am assuming you followed this instruction set for training your model?

      posted in VOXL 2 Mini
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Issues with custom Yolov8

      @jeremyrbrown5 if you paste your model and upload it here i can download it and help troubleshoot the issue you are running into

      posted in VOXL 2 Mini
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Starling 2 Max for indoor

      @Jakub-Tvrz said in Starling 2 Max for indoor:

      We haven't bought anything yet, but we are deciding what will be the best for our warehouse inventory application. Of course, we considered the ToF option. But you still say: "however, it is not... great" - does that mean that Starling 2 is better for our application? Or does Dual vs Triple camera for Visual Inertial Odometry also have an impact?

      Reply

      Depends fully on your use case. I will say that PX4's instance of obstacle avoidance is not fantastic, but it is better than nothing. In my opinion I would go w/ the model that has all the bells and whistles in case you need the hardware and decide to develop your own collision avoidance or somethign of that nature.

      posted in Starling & Starling 2
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Issues with custom Yolov8

      @jeremyrbrown5 said in Issues with custom Yolov8:

      @Zachary-Lowell-0 we are using the yolo predict function inside the voxl-docker. I didn't know about voxl-inspect-detections, so I'll try that.

      Reply

      If you are running your model directly on voxl-tflite-server then you can leverage the voxl sdk to detect any outputs from the model. That SDK is what is showing the image on voxl-portal. My guess is since this images arent showing on voxl-portal then you are having an issue during startup.

      Can you run voxl-tflite-server directly on the command line and paste the output in here?

      posted in VOXL 2 Mini
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Issues with custom Yolov8

      @jeremyrbrown5 I will plan on testing this out tomorrow - how are you validatign that it is detecting the rpis? Are you running voxl-inspect-detections tflite_data -a?

      posted in VOXL 2 Mini
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: VOXL Mapper and VOA Support on Starling 2 Max (C28 Configuration)

      You will need the SKU supporting the TOF to accurately run current versions of voxl-mapper and VOA.

      Zach

      posted in Ask your questions right here!
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: External monitor

      The system has an HDMI out so you can plug it into an external monitor yes:

      https://docs.modalai.com/vrx-ground-unit-developer-guide/

      posted in Ask your questions right here!
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Adding yolo v8 to tflite server

      @Ido-Goldstein to run yolov8 run voxl-configure-tflite-server and then when it prompts you to select your model, you can select yolov8. YOLOV11 is also currently supported however is still CPU bound so I would recommend using yolov8 for GPU processing

      posted in Ask your questions right here!
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Starling 2 Max for indoor

      @Jakub-Tvrz said in Starling 2 Max for indoor:

      ● Next Generation PMD ToF image sensor for obstacle avoidance and 3D mapping

      @Jakub-Tvrz if you purchased the starling 2 Max version that comes with the PMD TOF then you will be capable of running PX4's instance of visual obstacle avoidance - however, it is not... great.

      ● Next Generation PMD ToF image sensor for obstacle avoidance and 3D mapping

      https://www.modalai.com/collections/all/products/starling-2-max?variant=49129974169904 <-- this the version you will had to buy for the TOF sensor

      posted in Starling & Starling 2
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Drone Not Stationary in Hover Mode

      @taiwohazeez unsure if I am following this "hover mode" are you attempting to put the drone into HOLD mode? If so HOLD mode on base PX4 isnt supported without a GPS hold, so if you are flying indoors, there is a high likely hood that the GPS is relaying poor data causing the drone to drift a bit. I would recommend in QGC to turn off the GPS via the parameters and instead of going into hold mode, just staying in position mode while letting go of the sticks and see if it holds then

      Zach

      posted in FPV Drones
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Update UDP Port for the voxl-mavlink-server

      @all - you can just change the SYS_ID of each drone and this should solve the port confliction.

      posted in VOXL SDK
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Apriltag relocalization not relocalizing?

      @tomverstappen I am unable to recreate the issue with a starling running 1.5.0 - the output from voxl-vision-hub shows the relative coordinate frame from the tag relative to the camera and was able to get the drone to offset correctly.

      Are there any logs you can paste in here or video?

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Apriltag relocalization not relocalizing?

      Hello All - I will be trying to recraete this issue in the coming days - will keep you all posted.

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: VOXL2 NOT DETECTING APRIL TAG

      Detections is pertinent to voxl-tflite-server and onboard computer vision on yolo, NOT on april tags.

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: VOXL2 NOT DETECTING APRIL TAG

      @taiwohazeez I am not fully convinced you are running the right command still

      Running voxl-inspect-tag shoudl show the following headers:

      ID | XYZ | RPY | SIZE_M | CAM

      As shown in the code below:
      printf("\n"); printf("id:%3d name: %s\n", d.id, d.name); printf("XYZ: %6.2f %6.2f %6.2f \n", (double)d.T_tag_wrt_cam[0], (double)d.T_tag_wrt_cam[1], (double)d.T_tag_wrt_cam[2]); printf("RPY: %6.1f %6.1f %6.1f \n", (double)roll, (double)pitch, (double)yaw); printf("size_m: %4.2f latency_ms: %6.2f\n", (double)d.size_m, latency_ms); printf("cam: %s type: %s\n", d.cam, pipe_tag_location_type_to_string(d.loc_type)); printf("\n");

      https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tag-detector/-/blob/dev/clients/voxl-inspect-tags.c?ref_type=heads

      Just run voxl-inspect-tags and that will output the right data.
      Zach

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: VOXL2 NOT DETECTING APRIL TAG

      Class confidence and detection confidence are pertinent towards voxl tflite server not voxl-tag-detector - are you sure this is the right output?

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: VOXL2 NOT DETECTING APRIL TAG

      Hi @taiwohazeez - can you paste the output? Usually you get NANS or unknown when the locations.txt file isnt filled out meaning the tag detector service is referencing an empty file. Once you paste the output of voxl-inspect-detections I will be able to give you better guidance.

      Thanks!
      Zach

      posted in AprilTag Relocalization
      Zachary Lowell 0Z
      Zachary Lowell 0
    • RE: Using MPA within voxl-docker-mavsdk-cpp

      @Evan-Hertafeld said in Using MPA within voxl-docker-mavsdk-cpp:

      libmodal_pipe

      @Evan-Hertafeld @Jetson-Nano

      You need to share all those files via a volume mount alongside with the /run/mpa directory to allow docker to probe the data and grab from an MPA pipe.

      so in your docker run something like -v /usr/include/modal_start_stop.h:/usr/include/modal_start_stop.h needs to be done - the other option is you just download the actual MPA debian inside your docker image and call it a day - then you will have all the necessary headers, libs, binaries, and you just need to share /run/mpa as a volume to access the data.

      Zach

      posted in Modal Pipe Architecture (MPA)
      Zachary Lowell 0Z
      Zachary Lowell 0