Issues with a simple indoor positioning

I’m playing with yet another indoor positioning system.

OpenMV Cam M7
M12 fisheye lens
ESP32-WROOM-32
bread board
and PC generate mavlink vision odometry packets for the copter with LED markers.
Although it’s primitive and won’t be for practical use, it works in some extent. There are a few problems I don’t know how to handle.
My copter is sometimes slowly swinging horizontally:


Here is the NTUN log of VelX and DVelX for the above video.

Looks VelX over/undershooting for some reason. Curiously VelY tracks DVelY better always. Thoughts?

The log file is here
log-20180304.bin (517.6 KB)
and the setting I’m using is

COMPASS_USE=0
EK2_ENABLE=0
EK3_ENABLE=1
EK3_GPS_TYPE=0
EK3_ALT_SOURCE=3
VISO_TYPE=1
PSC_VELXY_P=2.0
PSC_VELXY_I=1.0
PSC_VELXY_D=0.5
PSC_POSXY_P=1.0

I’ll upload other parameters if needed.

Another issue I can’t solve yet is that it takes fairy long time to start position control. It takes ~30 seconds usually until the message
‘APM: EKF3 IMU0 started relative aiding’
shown, though sometimes I’ve got that message earlier. I suspect that I’ve sent VISION_POSITION_DELTA and GPS_GLOBAL_ORIGIN packets in some wrong way.

1 Like

Really interesting project here , I will certainly give it a try. Did you tried skipping the SPI-ESP32-WIFI and just feed the PC with UART?
Keep on the good work!!

Btw the host program link is broken

I haven’t tried any wired connections yet.
Thanks for pointing out wrong link. I’ve fixed it.