Simulación Matlab del algoritmo de posicionamiento espacial tridimensional basado en la fusión de uwb e IMU

Tabla de contenido

1. Vista previa de las representaciones de operaciones del algoritmo.

2.Algoritmo que ejecuta la versión del software

3. Algunos programas básicos

4. Descripción general de la teoría de algoritmos

5. Ingeniería de programa completo de algoritmos.


1. Vista previa de las representaciones de operaciones del algoritmo.

2.Algoritmo que ejecuta la versión del software

matlab2022a

3. Algunos programas básicos

..........................................................................


kkk = 0;
for EbN0 = EbN0_sub
    kkk
    kkk = kkk + 1;
    
    for jj1 = 1:Tag_Num
        jj1
        rng(jj1);
        for jj = 1:num_bits
            
            %TAG to BS1
            delay_1         = round(time_bs_tag(1,jj1)/ts);
            xx1             = zeros(1,delay_1);
            %传播时延
            delay_1_1(jj,:) = [xx1 sig(1:end-length(xx1))];
            %UWB
            h_4             = uwb_channel(dist_bs_tag(1,jj1)); 
            %信号经过信道
            conv_data1      = conv(delay_1_1(jj,:),h_4); 
            UWB_chan1(jj,:) = conv_data1(1:length(sig));
            
            
            
            %TAG to BS2
            delay_2         = round(time_bs_tag(2,jj1)/ts);
            xx2             = zeros(1,delay_2);
            %传播时延
            delay_2_1(jj,:) = [xx2 sig(1:end-length(xx2))];
            h_2             = uwb_channel(dist_bs_tag(2,jj1));
            conv_data2      = conv(delay_2_1(jj,:),h_2);
            UWB_chan2(jj,:) = conv_data2(1:length(sig));

            %TAG to BS3
            delay_3         = round(time_bs_tag(3,jj1)/ts);
            xx3             = zeros(1,delay_3);
            %传播时延
            delay_3_1(jj,:) = [xx3 sig(1:end-length(xx3))];
            h_3             = uwb_channel(dist_bs_tag(3,jj1));
            conv_data3      = conv(delay_3_1(jj,:),h_3);
            UWB_chan3(jj,:) = conv_data3(1:length(sig));

            %TAG to BS4
            delay_4         = round(time_bs_tag(4,jj1)/ts);
            xx4             = zeros(1,delay_4);
            %传播时延
            delay_4_1(jj,:) = [xx4 sig(1:end-length(xx4))];
            h_4             = uwb_channel(dist_bs_tag(4,jj1));
            conv_data4      = conv(delay_4_1(jj,:), h_4);
            UWB_chan4(jj,:) = conv_data4(1:length(sig));   
        end

        for jj = 1:num_bits
            UWB_chan1n(jj,:) = awgn(UWB_chan1(jj,:)/max(UWB_chan1(jj,:)),EbN0,'measured');
            UWB_chan2n(jj,:) = awgn(UWB_chan2(jj,:)/max(UWB_chan2(jj,:)),EbN0,'measured');
            UWB_chan3n(jj,:) = awgn(UWB_chan3(jj,:)/max(UWB_chan3(jj,:)),EbN0,'measured');
            UWB_chan4n(jj,:) = awgn(UWB_chan4(jj,:)/max(UWB_chan4(jj,:)),EbN0,'measured');
        end

        
        %自适应前沿检测
        %自适应前沿检测

..........................................................
        
    end
end


P_est0 = [x_est0',y_est0',z_est0'];
P_est1 = [x_est1',y_est1',z_est1'];

figure;
plot(toa_error0,'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
 
hold on
title('估计误差')
 
axis([0,Tag_Num,0,2]);
ylabel('cm');


figure
axis([0 10 0 10 0 10]);  
for i=1:BS_Num      
    plot3(BS_pos(i,1),BS_pos(i,2),BS_pos(i,3),'ko','MarkerFace','y','MarkerSize',8);
    hold on
end
hold on
for i=1:Tag_Num
plot3(Tag(i,1),Tag(i,2),Tag(i,3),'k^','MarkerFace','b','MarkerSize',6);
hold on
plot3(x_est1(i),y_est1(i),z_est1(i),'ks','MarkerFace','r','MarkerSize',6);
hold on
end

grid on
xlabel('cm');
ylabel('cm');
zlabel('cm');


save R.mat toa_error1
36_003m

4. Descripción general de la teoría de algoritmos

         El algoritmo de posicionamiento espacial tridimensional basado en la fusión de UWB e IMU es un método de posicionamiento que combina las ventajas respectivas de la onda de pulso inalámbrica (UWB) y la unidad de medición inercial (IMU). UWB calcula la distancia midiendo el tiempo de transmisión de la señal. Tiene las ventajas de una alta precisión y una gran capacidad antiinterferente, pero es susceptible a los efectos de trayectorias múltiples y al ruido ambiental. La IMU calcula la información de actitud y posición midiendo la aceleración y la velocidad angular, que es dinámica y en tiempo real, pero está limitada por errores de medición de la aceleración y deriva.

        Al fusionar estas dos tecnologías, sus ventajas se pueden aprovechar al máximo para mejorar la precisión y la estabilidad del posicionamiento. Específicamente, UWB puede proporcionar información de distancia de alta precisión para calcular la posición y actitud del objetivo, mientras que IMU puede proporcionar información de aceleración y velocidad angular en tiempo real para corregir errores de medición y deriva de UWB, al tiempo que mejora la velocidad de respuesta y la robustez del sistema.

       A continuación se presenta un algoritmo de posicionamiento espacial tridimensional basado en la fusión de UWB e IMU. Su principio y fórmula matemática son los siguientes:

  1. posicionamiento UWB

         UWB adopta el método de posicionamiento de estaciones base duales. Suponiendo que las coordenadas de posición de las dos estaciones base son (x1, y1, z1) y (x2, y2, z2), y las coordenadas de posición del objetivo son (x, y, z), puede La siguiente fórmula calcula la diferencia de distancia entre el objetivo y las dos estaciones base:

Δd = (x2-x1)² + (y2-y1)² + (z2-z1)² - (x-x1)² - (y-y1)² - (z-z1)²

        Entre ellos, (x, y, z) son las coordenadas de posición del objetivo, (x1, y1, z1) y (x2, y2, z2) son las coordenadas de posición de las dos estaciones base respectivamente. Según la diferencia de distancia y las coordenadas de las dos estaciones base, se pueden enumerar y resolver dos ecuaciones para obtener las coordenadas de posición del objetivo (x, y, z).

asistencia IMU

       La IMU puede proporcionar información de aceleración y velocidad angular en tiempo real para corregir errores de medición y deriva de UWB. Específicamente, la IMU puede proporcionar un sensor de aceleración y un giroscopio para medir la información de aceleración y velocidad angular respectivamente. Al integrar y suavizar esta información, se puede obtener la información de actitud y posición del objetivo.

       Durante el proceso de fusión, la información de aceleración y velocidad angular de la IMU se puede utilizar como datos auxiliares de UWB para corregir los resultados de la medición de UWB. Específicamente, la información de aceleración de la IMU se puede usar para calcular la velocidad y la aceleración del objetivo para corregir los resultados de la medición de distancia UWB, y la información de velocidad angular de la IMU se puede usar para corregir los resultados de la medición del ángulo UWB. Esto da como resultado una mayor precisión y robustez del sistema.

Algoritmo de fusión

      El algoritmo de posicionamiento espacial tridimensional basado en la fusión de UWB e IMU incluye principalmente dos etapas: etapa de adquisición de datos y etapa de fusión de datos. En la etapa de recopilación de datos, información como la posición, velocidad, aceleración y velocidad angular del objetivo se recopila a través de UWB e IMU; en la etapa de fusión de datos, los datos recopilados se fusionan para obtener la posición, velocidad, aceleración, velocidad angular y otra información del objetivo.
El proceso de solución se puede optimizar utilizando el método de mínimos cuadrados, el filtro de Kalman y otros métodos según sea necesario. Por ejemplo, el algoritmo de filtro de Kalman se puede utilizar para fusionar los datos de UWB e IMU para obtener la posición del objetivo, la velocidad, la aceleración, la velocidad angular y otra información más precisa. El proceso de implementación específico es el siguiente:

(1) Inicializar la matriz de estado y la matriz de control;
(2) Recopilar datos a través de UWB e IMU;
(3) Usar los datos recopilados para calcular la matriz de estado y la matriz de control;
(4) Calcular la matriz de estado y la matriz de control de acuerdo con la Fórmula del filtro de Kalman Cálculo iterativo;
(5) Calcule la posición final, velocidad, aceleración, velocidad angular y otra información del objetivo en función de los resultados iterativos.

Ventajas del algoritmo


El algoritmo de posicionamiento espacial tridimensional basado en la fusión de UWB e IMU tiene las siguientes ventajas:
(1) Alta precisión: mediante la fusión de UWB e IMU, se puede reducir el impacto del ruido ambiental en la precisión del posicionamiento y se puede mejorar la robustez del El algoritmo se puede mejorar;
(2) Rendimiento en tiempo real Fuerte: la información de aceleración y velocidad angular de la IMU puede proporcionar información de actitud y posición en tiempo real, corregir los resultados de la medición de distancia UWB y acortar el tiempo de respuesta del sistema; ( 3) Alta confiabilidad: a través de la tecnología de fusión de datos para procesar datos de múltiples sensores, puede
reducir el impacto de una falla de un solo sensor en el rendimiento del sistema;
(4) Gran escalabilidad: este algoritmo se puede aplicar a una variedad de escenarios, como robots. posicionamiento, conducción sin conductor, etc.

5. Ingeniería de programa completo de algoritmos.

OOOOO

OOO

oh

Supongo que te gusta

Origin blog.csdn.net/aycd1234/article/details/132768516
Recomendado
Clasificación