Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual Odometry from VICON not reflected in /fmu/out/vehicle_local_position despite EKF2 settings and topic publication #221

Open
YHuniv opened this issue Mar 24, 2025 · 2 comments

Comments

@YHuniv
Copy link

YHuniv commented Mar 24, 2025

Hello,

I did : https://docs.px4.io/main/en/ros2/user_guide.html#install-px4
for Rapi4_Pixhawk 6x Ethernet connexion , the communication seems to works well and topics are published.

I'm currently working on integrating a VICON motion capture system with PX4 . I'm trying to use the visual odometry data as the primary source of localization indoors.

✅ What I did:
Parameter Configuration (via QGroundControl):

EKF2_EV_CTRL = 11 → (Horizontal position, vertical position, yaw).

EKF2_HGT_REF = vision.

EKF2_MAG_TYPE = none.

EKF2_EV_DELAY = 10

Data publishing:

I wrote a Python script that publishes data to the PX4 topic /fmu/in/vehicle_visual_odometry.
Confirmed via ros2 topic echo that the topic is being updated correctly.

❌ Issue:
Despite all this, I do not receive any updates on /fmu/out/vehicle_local_position. It's either not being published at all, or not fusing the data from VICON.

Additionally, the initial position of the drone, as reported by the VICON system, is (0, 0, 0.2) in the VICON frame.

When running:

ros2 run px4_ros_com offboard_control

the drone does not take off correctly — only three motors spin.

For reference, the drone is physically aligned with the VICON frame, especially the X-axis.

Any help on how to make it working ? Thanks

@DronecodeBot
Copy link

This issue has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/visual-odometry-from-vicon-not-reflected-in-fmu-out-vehicle-local-position-despite-ekf2-settings-and-topic-publication/44497/1

@damien-robotsix
Copy link

damien-robotsix commented Mar 26, 2025

I have a similar issue. Publishing to /fmu/in/vehicle_visual_odometry. I have been digging and the message is well received by EKF2 and fused apparently. I put a print in Ekf::fuseYaw and there is a innovation in the EKF. However, I still not have proper orientation data in /fmu/out/vehicle_odometry.

Still working on it. Hopefully I let you know if I find out.

This is happening in v1.15, v1.14 was fine.

EDIT: I found out my issue and it was specific to simulation. So probably not related to yours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants