Skip to content

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

@YHuniv

Description

@YHuniv

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions