Pixhawk 4 is not receiving Mocap data over uORB

Hello all,
I’m having trouble getting mocap data into the pixhawk over uORB, below are the details of my setup:

  • Pixhawk 4
  • Mocap streaming over vrpn
  • Ros node retrieving Mocap data on vrpn topic and publishing it over uORB to vehicle_visual_odometry
  • EKF2_AID_MASK is set to 24
  • EKF2_HGT_MODE is set to vision

Unfortunately the forums will not let me upload the code directly, so here is a link to my slack post with the publisher code I am using included. Slack

steps taken:

  1. Downloaded the pixhawk firmware at GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software
  2. Get the PX4 docker docker pull px4io/px4-dev-nuttx
  3. Edit rtps_message_ids.yaml (attached to slack message)
  4. make px4_fmu-v5/agent and client
  5. Flash pixhawk 4 with built firmware
  6. begin mocap stream over vrpn
  7. use fastrtpsgen to create an example vehicle_visual_odometry project, edit it to subscribe to data coming from the mocap stream and publish over uORB to the drone (publisher code attached)
  8. run the micrortps_client and agent
  9. run my publisher
  10. verify mocap data is published on /vrpn_client_node/drone/pose (it is)

I also have a local position subscriber that succesfully gets the local position estimate from the drone over uORB, so I know communication does work.

Thank you in advance for any help! Let me know if anything was unclear or if more information is required.

I would prefer not to post logs publicly as they contain information data, however the logs show that no mocap data is coming in at all over the vehicle_vision_odometry topic.

Have you managed to solve it?