Hello, this is abit late but I am trying to achieve indoor flight with an Optitrack setup using uXRCE dds bridge and ROS2. However, it seems that the optitrack data is not fusing into the ekf2 estimator.
My setup is as follows:
1.) Flash PX4 (master branch firmware) into Pixhawk 6X using QGC
2.) Change UXRCE_DDS_CFG parameter to Telem2
3.) Change EKF2_EV_CTRL parameter to use external vision for everything
4.) Run ROS2 script to publish optitrack data to /fmu/in/vehicle_visual_odometry topic
5.) Run microros agent on the companion computer (Ubuntu 22.04 with ros2 Humble) to start the uXRCE dds agent. The uXRCE dds bridge is connected from FCU (Pixhawk 6x) to the on board computer through telem2 serial.
I can echo out the topics published by the uXRCE dds bridge and I have checked that the optitrack data is indeed being streamed in to the FCU by checking the vehicle_visual_odometry
uORB topic in the nsh. EKF2 does not seem to be using the optitrack pose because vehicle_local_position
uORB message isn’t converging with the optitrack pose… I have looked through the forums / github issues but can’t seem to figure out whats wrong. Did I miss anything out? Do let me know. Thanks!