Pozyx Indoor Position Beacon

Good Morning everyone,
I am doing a project involving a coaxial quadrotor (thus 8 rotors) for indoor flights. I decided to provide xy position with Pozyx UWB device, however, i have some problems configuring them. I read the documentation (Pozyx for Non-GPS Navigation — Copter documentation), however, not everything is clear.
First of all, the drone works with GPS, so i don’t think there are problems concerning the basis configuration of the drone. Moreover, the pozyx system alone (with arduino) works fine. Thus, i think the problem is on the connection between pozyx tag and mission planner. In particular, i noticed that the home position on the map, doesn’t appear after the connection with the ground station. I tried to impose the home by myself, but it returns this error “the command failed to execute”. However, i tried a “fake flight”, arming the motor and moving the drone by hand. Analyzing the logs (log.BCN, and D0,D1,D2,D3, PosX,PosY), the values are correct. In conclusion i think there should be some configurations step i missed somewhere, any clues?

A second doubt is about the data collected. I noticed that if i have 850 istants, D0,D1,D2,D3 (distances from each anchor) have 850 values, while PosX and PosY have many null values, is this due to the online computation of cartesian coordinate?

Sorry for being so long, thank you all in advance

Start by updating to ArduCopter 4.2.1

already done, nothing changes

I noticed my telemetry signal percentage is of 20%, very low with respect to 97% i had before changing the UWB parameters. Is one of those modyfing the telemetry characteristic?

You are probably getting RF interference, hence a lower signal quality.
Increase the distance between antennas

Ok i turn off the bluetooth of PC, and it improved to 100%. However, i cannot see the position of the vehicle yet on the map

i tried a simple mission with take off and land, but it says “mode change to AUTO failed: position required”

Please try to set EKF origin while you are still in STAB mode, as per below picture:

i did some tests. @Giorgio_Rinolfi, i tried to do as you said, however it returnes to me that the EKF rejects that origin from the map (i tried both EKF3 and EKF2, same result). Then i just plug my gps, without enabling it (GPS_TYPE to zero in parameters list), and the drone appeared in the map. I am going to do a second test like this and check the logs. Meanwhile, any possible explanation for this fact?

some updates, i tried again with the gps connected but not enable, this time did not work. I’ll do more tests during the day, if i come up with a solution, i’ll write here

HI, i am still working on this project. I solved the problem. Now, when i set the EKF origin the drone appears in that point. However, after a few seconds, the drone drift of more or less 9 meters from the home, and then return stable, but in the wrong point. In the image attached, the home is the green point at the top, the drone appears there and then moves down. Why? how can i solve? i placed the first anchor in that green point, the second one in East direction (118 deg from North, black line), the third anchor is pointin south and the last one completes the N shape. This drift is a problem since when i start the loiter mission the drone doesn’t stay hold but moves to the home

Recently, I’ve been using a NoopLoop device for beacon purposes on my copter, encountering a similar issue as yours. I’m utilizing both GPS and Beacon functionalities on the copter and aiming to switch between data sources during flight.

Upon powering up the drone, I occasionally noticed a copter icon displaying on the MissionPlanner. To troubleshoot this, I delved into the source code. In the AP_NavEKF3_Measurements.cpp file, within the NavEKF3_core::readRngBcnData() method, I observed that the icon’s appearance on the map is dependent on the number of beacons in use (beacon->count()). If the count is non-zero, the icon displays; otherwise, it remains absent.

Further investigation in the AP_Beacon_Nooploop.cpp file, specifically in the AP_Beacon_Nooploop::parse_node_frame2() method, revealed that there is always data from every node.

Ultimately, in the void AP_Beacon_Nooploop::update(void) section, I discovered that the code requests settings during the parsing of byte data. To test a solution, I commented out the setting part, retried the process, and found that the copter icon consistently appears on the map every time I power up.