Integrating Visual ODOM with ArduPilot SITL

I have been working on ardupilot SITL simulation with the IRIS drone .
the main issue i am facing is i am unable to integrate the visual odom with the simulation propely
i am using vins mono where it takes the image data from the simulation camera out and then generates odom
the main issue is the visual odom wont start till there is any imu excitation.
and then in order to start the visual odom i have to move the drone
but to make the drone do some motions it needs visual odom for the prearm check and stuff
i have also pretty much removed the use of GPS completely

pretty much all of odom is set to use optical flow or vo

i am really stuck here
there are also not much docuentation or examples to learn from
would really appreciate the help

commands that i used:

mavproxy.py --console --map --aircraft test --master=:14550
ros2 launch ardupilot_gz_bringup iris_runway.launch.py

also used to this to try mapping the visual odom

ros2 run mavros mavros_node --ros-args -p fcu_url:=udp://127.0.0.1:14550@14555 -r /mavros/odometry/in:=/vins_estimator/odometry

commands i used from vins mono

ros2 launch vins_estimator euroc.launch.py
ros2 launch feature_tracker vins_feature_tracker.launch.py

the config files and launch files where changed as per the simulation needs

I am relatively a beginner in this area, so kindly help.

Here are some outputs

other info
i am using ROS2 Humble

ubuntu22.04