ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    voxl-microdds-agent topic list

    Ask your questions right here!
    2
    4
    90
    Loading More Posts
    • 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.
    • J
      jonathankampia
      last edited by jonathankampia

      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!

      1 Reply Last reply Reply Quote 0
      • Beniamino PozzanB
        Beniamino Pozzan
        last edited by

        Hi @jonathankampia , yes you can edit src/modules/microdds_client/dds_topics.yaml in PX4 and rebuilt it to add or remove topics.

        I remember reading somewhere on this forum that the custom branched px4 firmware version may not support/provide some of the data

        I'm don't know about that, it is easier to know which data from upstream PX4 you want and then check to see if it is available (after adjusting the bridge)

        I am working on a project that will involve a VOXL 2 and may need to do direct actuator control

        I guess you want /fmu/in/actuator_motors then. However, to use complete direct actuator control you will need to bring in some extra changes as direct actuator control is not supported in PX4 voxl version.

        This is still better than going through the mavlink and mavros route because for direct actuation you probably want the lowest latency.


        Actually, do you need to control a motor in direct mode or you need to control an auxiliary output (i.e. payload)? This makes a huge difference w.r.t. the topic and the workflow you need to use.

        J 1 Reply Last reply Reply Quote 0
        • J
          jonathankampia @Beniamino Pozzan
          last edited by

          @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!

          1 Reply Last reply Reply Quote 0
          • Beniamino PozzanB
            Beniamino Pozzan
            last edited by

            it's more likely I will be commanding attitude / body rate which are already available

            Indeed. I highly suggest you to use those two unless your application stricly requires direct actuation control.

            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.

            By editing src/modules/microdds_client/dds_topics.yaml you can access any PX4 uorb message so the limit here is just about what has been implemented on PX4 that is or is not available in the voxl version.

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

            the type of offboard control you can achieve is exposed by OffboardControlMode.msg. As you can see in main PX4 you have

            bool position
            bool velocity
            bool acceleration
            bool attitude
            bool body_rate
            bool thrust_and_torque
            bool direct_actuator
            

            I've added thrust_and_torque and direct_actuator one year ago (more or less). However, latest voxl is still using the old version: this old version let's you control via thrust and torque setpoints but does not let you control the single motor individually.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Powered by NodeBB | Contributors