Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Software Development
  3. ROS
  4. voxl-microdds-agent not publishing all topics

voxl-microdds-agent not publishing all topics

Scheduled Pinned Locked Moved ROS
7 Posts 3 Posters 2.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    K.Stute
    Contributor
    wrote on last edited by
    #1

    Hi,

    I have the weird problem where the running agent is not publishing on all topics specified in the clients dds_topics.yaml. E.g. on the topic /fmu/out/senor_baro and /fmu/out/vehicle_odometry everything works fine but nothing is published on /fmu/out/vehicle_status and /fmu/out/vehicle_gps_position even though everything is specified in the .yaml with the corresponding px4_msgs. The vehicle status msg is published by uorb (at least "listener vehicle_status" in the px4 shell gives me a msg) and the microdds agent created a publisher, datawriter and topic. I've rebuild voxl-px4 and the microdds agent to no avail. I honestly dont know what to do next so any advice would be great!

    1 Reply Last reply
    0
    • Zachary Lowell 0Z Offline
      Zachary Lowell 0Z Offline
      Zachary Lowell 0
      ModalAI Team
      wrote on last edited by
      #2

      Hi @K-Stute - I will try to recreate on my end as I have not come across this issue before. Just to confirm - what SDK are you on? and also what repository were you looking at for the dds_topics.yaml?

      Zach

      K 1 Reply Last reply
      0
      • Zachary Lowell 0Z Zachary Lowell 0

        Hi @K-Stute - I will try to recreate on my end as I have not come across this issue before. Just to confirm - what SDK are you on? and also what repository were you looking at for the dds_topics.yaml?

        Zach

        K Offline
        K Offline
        K.Stute
        Contributor
        wrote on last edited by
        #3

        @Zachary-Lowell-0 I'm using a newly flashed sdk 1.2.

        voxl2:~$ voxl-version 
        --------------------------------------------------------------------------------
        system-image: 1.7.6-M0054-14.1a-perf
        kernel:       #1 SMP PREEMPT Wed Mar 20 19:48:52 UTC 2024 4.19.125
        --------------------------------------------------------------------------------
        hw platform:  M0054
        mach.var:     1.0
        --------------------------------------------------------------------------------
        voxl-suite:   1.2.0
        --------------------------------------------------------------------------------
        
        

        And I'm using the repo you've send me in another post (https://github.com/modalai/px4-firmware/blob/voxl-dev/src/modules/microdds_client/dds_topics.yaml) and with that i followed your instructions from your github(https://gitlab.com/voxl-public/voxl-sdk/services/voxl-px4).
        For ros i use ros2 humble in a docker container running the arm64v8/ros:humble-ros-base image with the px4_msgs from this repo https://github.com/PX4/px4_msgs.git.

        I'm investigating a possible problem with the px4_msgs version in your px4-firmware fork and the repo i mentioned above. Maybe this rings a bell.

        Is there anything else i can provide you with?

        1 Reply Last reply
        0
        • Zachary Lowell 0Z Offline
          Zachary Lowell 0Z Offline
          Zachary Lowell 0
          ModalAI Team
          wrote on last edited by
          #4

          Nope! Appreciate the info @K-Stute will be back with a solution soon I hope!

          1 Reply Last reply
          0
          • Zachary Lowell 0Z Offline
            Zachary Lowell 0Z Offline
            Zachary Lowell 0
            ModalAI Team
            wrote on last edited by Zachary Lowell 0
            #5

            Ok @K-Stute I am unable to recreate your issue:

            voxl2:~$ ros2 topic echo /fmu/out/vehicle_status
            timestamp: 1714152702737855
            armed_time: 0
            takeoff_time: 0
            arming_state: 1
            latest_arming_reason: 0
            latest_disarming_reason: 0
            nav_state_timestamp: 15311461
            nav_state_user_intention: 0
            nav_state: 0
            failure_detector_status: 0
            hil_state: 0
            vehicle_type: 1
            failsafe: false
            failsafe_and_user_took_over: false
            gcs_connection_lost: true
            gcs_connection_lost_counter: 0
            high_latency_data_link_lost: false
            is_vtol: false
            is_vtol_tailsitter: false
            in_transition_mode: false
            in_transition_to_fw: false
            system_type: 2
            system_id: 1
            component_id: 1
            safety_button_available: true
            safety_off: true
            power_input_valid: true
            usb_connected: false
            open_drone_id_system_present: false
            open_drone_id_system_healthy: false
            parachute_system_present: false
            parachute_system_healthy: false
            avoidance_system_required: false
            avoidance_system_valid: true
            rc_calibration_in_progress: false
            calibration_enabled: false
            pre_flight_checks_pass: false
            ---
            timestamp: 1714152702778985
            armed_time: 0
            takeoff_time: 0
            arming_state: 1
            latest_arming_reason: 0
            latest_disarming_reason: 0
            nav_state_timestamp: 15311461
            nav_state_user_intention: 0
            nav_state: 0
            failure_detector_status: 0
            hil_state: 0
            vehicle_type: 1
            failsafe: false
            failsafe_and_user_took_over: false
            gcs_connection_lost: true
            gcs_connection_lost_counter: 0
            high_latency_data_link_lost: false
            is_vtol: false
            is_vtol_tailsitter: false
            in_transition_mode: false
            in_transition_to_fw: false
            system_type: 2
            system_id: 1
            component_id: 1
            safety_button_available: true
            safety_off: true
            power_input_valid: true
            usb_connected: false
            open_drone_id_system_present: false
            open_drone_id_system_healthy: false
            parachute_system_present: false
            parachute_system_healthy: false
            avoidance_system_required: false
            avoidance_system_valid: true
            rc_calibration_in_progress: false
            calibration_enabled: false
            pre_flight_checks_pass: false
            ---
            

            The steps I did to do this on a 1.2.0 Voxl-suite -->

            1. Enable/start voxl-px4
            2. sudo apt-get install voxl-ros2-foxy
            3. sudo apt-get install voxl-microdds-agent
            4. sudo apt-get install voxl-mpa-to-ros2
            5. Ensure that microdds-agent service has been started: systemctl start voxl-microdds-agent
            6. voxl-configure-mpa-to-ros2
            7. source /opt/ros/foxy/mpa_to_ros2/install/setup.bash
            8. ros2 topic echo /fmu/out/vehicle_status

            I had to wait about a second for vehicle_status to being publishing as well.

            K 1 Reply Last reply
            0
            • Zachary Lowell 0Z Zachary Lowell 0

              Ok @K-Stute I am unable to recreate your issue:

              voxl2:~$ ros2 topic echo /fmu/out/vehicle_status
              timestamp: 1714152702737855
              armed_time: 0
              takeoff_time: 0
              arming_state: 1
              latest_arming_reason: 0
              latest_disarming_reason: 0
              nav_state_timestamp: 15311461
              nav_state_user_intention: 0
              nav_state: 0
              failure_detector_status: 0
              hil_state: 0
              vehicle_type: 1
              failsafe: false
              failsafe_and_user_took_over: false
              gcs_connection_lost: true
              gcs_connection_lost_counter: 0
              high_latency_data_link_lost: false
              is_vtol: false
              is_vtol_tailsitter: false
              in_transition_mode: false
              in_transition_to_fw: false
              system_type: 2
              system_id: 1
              component_id: 1
              safety_button_available: true
              safety_off: true
              power_input_valid: true
              usb_connected: false
              open_drone_id_system_present: false
              open_drone_id_system_healthy: false
              parachute_system_present: false
              parachute_system_healthy: false
              avoidance_system_required: false
              avoidance_system_valid: true
              rc_calibration_in_progress: false
              calibration_enabled: false
              pre_flight_checks_pass: false
              ---
              timestamp: 1714152702778985
              armed_time: 0
              takeoff_time: 0
              arming_state: 1
              latest_arming_reason: 0
              latest_disarming_reason: 0
              nav_state_timestamp: 15311461
              nav_state_user_intention: 0
              nav_state: 0
              failure_detector_status: 0
              hil_state: 0
              vehicle_type: 1
              failsafe: false
              failsafe_and_user_took_over: false
              gcs_connection_lost: true
              gcs_connection_lost_counter: 0
              high_latency_data_link_lost: false
              is_vtol: false
              is_vtol_tailsitter: false
              in_transition_mode: false
              in_transition_to_fw: false
              system_type: 2
              system_id: 1
              component_id: 1
              safety_button_available: true
              safety_off: true
              power_input_valid: true
              usb_connected: false
              open_drone_id_system_present: false
              open_drone_id_system_healthy: false
              parachute_system_present: false
              parachute_system_healthy: false
              avoidance_system_required: false
              avoidance_system_valid: true
              rc_calibration_in_progress: false
              calibration_enabled: false
              pre_flight_checks_pass: false
              ---
              

              The steps I did to do this on a 1.2.0 Voxl-suite -->

              1. Enable/start voxl-px4
              2. sudo apt-get install voxl-ros2-foxy
              3. sudo apt-get install voxl-microdds-agent
              4. sudo apt-get install voxl-mpa-to-ros2
              5. Ensure that microdds-agent service has been started: systemctl start voxl-microdds-agent
              6. voxl-configure-mpa-to-ros2
              7. source /opt/ros/foxy/mpa_to_ros2/install/setup.bash
              8. ros2 topic echo /fmu/out/vehicle_status

              I had to wait about a second for vehicle_status to being publishing as well.

              K Offline
              K Offline
              K.Stute
              Contributor
              wrote on last edited by K.Stute
              #6

              @Zachary-Lowell-0 Okay maybe this seems to work with foxy but as i mentioned I'm using humble and it seems like there is a mismatch between the version of the px4_msgs. I can provide a docker image to recreate the problem (at least with my voxl-px4 build).

              To recreate use this docker image:
              run with

              docker run -it --network=host learningsql/voxl-px4-hector:tagname
              
              

              Do:

              cd ros2_ws
              colcon build
              source install/setup.bash
              ros2 topic echo /fmu/out/vehicle_status
              

              There should appear no msgs (at least on my system)

              Fix this with:

              rm -rf src/px4_msgs/msg
              unzip /px4_firmware_msgs/msg_voxl_px4.zip
              colcon build
              source install/setup.bash
              ros2 topic echo /fmu/out/vehicle_status
              

              Now there should be msgs on the screen.

              Idk if this is relevant for your px4_msgs fork but at least i found a solution and maybe this thread can help other people.

              Thanks for you help!

              Darshit DesaiD 1 Reply Last reply
              0
              • K K.Stute

                @Zachary-Lowell-0 Okay maybe this seems to work with foxy but as i mentioned I'm using humble and it seems like there is a mismatch between the version of the px4_msgs. I can provide a docker image to recreate the problem (at least with my voxl-px4 build).

                To recreate use this docker image:
                run with

                docker run -it --network=host learningsql/voxl-px4-hector:tagname
                
                

                Do:

                cd ros2_ws
                colcon build
                source install/setup.bash
                ros2 topic echo /fmu/out/vehicle_status
                

                There should appear no msgs (at least on my system)

                Fix this with:

                rm -rf src/px4_msgs/msg
                unzip /px4_firmware_msgs/msg_voxl_px4.zip
                colcon build
                source install/setup.bash
                ros2 topic echo /fmu/out/vehicle_status
                

                Now there should be msgs on the screen.

                Idk if this is relevant for your px4_msgs fork but at least i found a solution and maybe this thread can help other people.

                Thanks for you help!

                Darshit DesaiD Offline
                Darshit DesaiD Offline
                Darshit Desai
                Regular
                wrote on last edited by
                #7

                @Zachary-Lowell-0 @Moderator A really important question here is what if there are two drones publishing the same name FMU topics and you haven't set the domain id different for those drones for data sharing through your custom interfaces. PX4 ROS2 docs provide a way to change the namespace of the FMU topics to be published but MODAL AI docs mention no such thing? Is there a way to do that? As most of the starling systems are being used as a swarm platform this thing is really critical

                1 Reply Last reply
                0

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                ModalAI
                Categories Recent Tags ModalAI.com Docs
                © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups