# voxl-microdds-agent topic list

Source: https://forum.modalai.com/topic/4329/voxl-microdds-agent-topic-list
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2025-04-08 18:56:08 UTC by jon
Replies: 3 · Views: 906

## jon · 2025-04-08 18:56:08 UTC

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_motors
/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!

## Reply by Beniamino Pozzan · 2025-04-09 18:39:52 UTC

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.

## Reply by jon · 2025-04-10 13:32:15 UTC (in reply to Beniamino Pozzan)

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

## Reply by Beniamino Pozzan · 2025-04-11 20:44:20 UTC

> 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](https://github.com/PX4/PX4-Autopilot/blob/main/msg/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](https://github.com/PX4/PX4-Autopilot/pull/22222) (more or less). However, latest voxl is still using the [old version](https://github.com/modalai/px4-firmware/blob/f645637bbda43e392892c23b33f03ed9d61de8a6/msg/OffboardControlMode.msg): this old version let's you control via thrust and torque setpoints but does not let you control the single motor individually.
