精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

驅動LSM6DS3TR-C實現高效運動檢測與數據采集(5)----姿態解算

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2023-11-14 10:11 ? 次閱讀

概述

lsm6ds3trc包含三軸陀螺儀與三軸加速度計。

姿態有多種數學表示方式,常見的是四元數,歐拉角,矩陣和軸角。他們各自有其自身的優點,在不同的領域使用不同的表示方式。在四軸飛行器中使用到了四元數和歐拉角。

姿態解算選用的旋轉順序為ZYX,即IMU坐標系初始時刻與大地坐標系重合,然后依次繞自己的Z、Y、X軸進行旋轉:

繞IMU的Z軸旋轉:航向角yaw

繞IMU的Y軸旋轉:俯仰角pitch

繞IMU的X軸旋轉:橫滾角row

橫滾roll,俯仰pitch,偏航yaw的實際含義如下圖:

由于需要解析姿態角,故將陀螺儀速度修改快一點。

視頻教學

[https://www.bilibili.com/video/BV1MP411i7gy/]

樣品申請

[https://www.wjx.top/vm/OhcKxJk.aspx#]

完整代碼下載

[https://download.csdn.net/download/qq_24312945/87942703]

歐拉角

橫滾角φ:機體繞OBXB轉動,軸Y'B與平面OBXBYB構成的夾角。

俯仰角θ:機體繞OBYB轉動,軸Z'B與平面OBYBZB構成的夾角。

偏航角ψ:機體繞OBZB轉動,軸X'B與平面OBXBZB構成的夾角。

將姿態角從機體坐標系轉換到慣性坐標系中是為了便于分析無人機狀態,反映無人機在慣性坐標系下的姿態運動狀態,利用齊次線性變換可實現坐標系的轉換,旋轉矩陣就是在線性變化中產生的,用REB表示慣性坐標系{E}到機體坐標系{B}的變換。

例如,繞OBXB旋轉必角,此時兩個坐標系存在必的角度差,不再重合。點(x, y, z)的轉換方程為:

可提取轉換矩陣:

同理,繞口OBYB旋轉θ角得:

而繞OBZB旋轉ψ角得:

不同旋轉順序有不同的旋轉矩陣,按照偏航,俯仰,橫滾的順序,即分別繞X-Y-Z旋轉,就可計算出旋轉矩陣REB,REB等于依次旋轉所得的矩陣連乘,且順序為從右向左排列。

萬向節死鎖

當俯仰角θ=±Π/2時,橫滾運動與偏航運動的旋轉軸重合,出現萬向節死鎖現象,在空間失去了一個自由度。如式所示,φ或ψ的變化具有相同的效果,因此不再具有唯一性啊。

四元數法

本文選擇的是四元數法進行姿態解算。無人機姿態解算方法主要有四種,它們各自的優缺點如下圖所示。歐拉角法不能用于計算飛行器的全姿態角,且難以實時計算而不易于工程應用。方向余弦法不會出現“奇點”現象,但計算量大,效率低。四元數法避免了復雜的三角函數運算,變為求解線性微分方程,算法簡單易操作,且不存在角度奇異性問題,可以更好的線性化系統,是一種更實用的工程方法。

四元數的概念誕生在1843年的愛爾蘭,是數學家哈密頓研究空間幾何時提出。在如今的導航技術領域,四元數的優勢逐漸被發現,得到了研究者們的廣泛關注,并逐漸應用在姿態解算領域。

四元數是由四個元構成的數Q(q0,q1,q2,q3) = q0 + q1i + q2j + q3k;其中,q0,q1,q2,q3是實數,i,j,k既是互相正交的單位向量,又是虛單位根號-1。四元數即可看作四維空間中的一個向量,又可以看做一個超復數。對于后續有一個重要的變化需要記?。?/p>

Q=q0 + q1i + q2j + q3k

可視為一個超復數,Q 的共軛復數記為

Q'=q0 - q1i - q2j - q3k

Q°稱為Q的共軛四元數。

同時,有

ij=k,jk=i,ki=j,ji=-k,kj=-i,ik=-j

i2 = j2 = k2 =ijk=-1

其中,i、j、k是相互正交的單位向量,其幾何意義可理解為分別繞三個坐標軸的旋轉,q0、q1、q2、q3為常數,有

通過四元數進行歐拉角求解,可以減少芯片運算負擔,提高運算速度。

一個矢量V相對于坐標系OXYZ固定:V = xi + yj + zk;坐標系OXYZ轉動了Q得到一個新坐標系OX’Y’Z’:V = x’i’ + y’j‘ + z’k’;設四元數Ve、Ve‘

Ve = xi + yj + zk;

Ve’ = x’i + y’j + z’k;

則Ve’ = Q* Ve * Q';

設Q = q0 + q1i + q2j + q3k;則Q' = q0 - q1i - q2j - q3k;

則Ve’ = Q* Ve * Q'=(q0 + q1i + q2j + q3k) * (0+xi + yj + zk) + (q0 - q1i - q2j - q3k)

可以算出

x’=(q0 ^2+q1 ^2-q2 ^2-q3 ^2)x+2(q1q2+ q1q3)y+2(q1q3-q0q2)z

y’ = 2(q1q2-q0q3)x+(q0 ^2-q1 ^2+q2 ^2-q3 ^2)y+2(q2q3+q0q1)z

z’ = 2(q1q3+q0q2)x+2(q2q3-q0q1)y+(q0 ^2-q1 ^2-q2 ^2+q3 ^2)z

結合

可以反推

Pitch  = asin(2 * q2 * q3 + 2 * q0* q1)* 57.3; // pitch ,轉換為度數
        Roll = atan2(-2 * q1 * q3 + 2 * q0 * q2, q0*q0-q1*q1-q2*q2+q3*q3)* 57.3; // rollv
        Yaw = atan2(2*(q1*q2 - q0*q3),q0*q0-q1*q1+q2*q2-q3*q3) * 57.3;   //偏移太大,

將加速度的三維向量轉為單位向量

// 測量正常化
        norm = sqrt(ax*ax + ay*ay + az*az);      
        ax = ax / norm;                   //單位化
        ay = ay / norm;
        az = az / norm;

世界坐標系重力分向量是通過方向旋轉矩陣的最后一列的三個元素乘上加速度就可以算出機體坐標系中的重力向量。

// 估計方向的重力
        vx = 2*(q1*q3 - q0*q2);//由下向上方向的加速度在加速度計X分量 
        vy = 2*(q0*q1 + q2*q3);//由下向上方向的加速度在加速度計X分量 
        vz = q0*q0 - q1*q1 - q2*q2 + q3*q3;//由下向上方向的加速度在加速度計Z分量

姿態解算

雙環PI控制器

陀螺儀能夠迅速響應設備的旋轉,在短時間內誤差較小且可靠。然而,因為溫度漂移、零漂移和積分誤差會隨時間累積,陀螺儀的長時間精度受到影響。在靜止狀態下,加速度計的漂移很小,其傾角求解過程中不存在積分誤差,但在飛行過程中,加速度計受到發動機和機架振動以及轉動和運動加速度的干擾。磁羅盤測量的地磁向量在特定地理范圍內可視為不變,但磁羅盤易受硬磁場和軟磁場干擾。

因此,若系統外環采用九軸姿態傳感器(包括三軸加速度計、三軸磁羅盤和三軸陀螺儀)進行數據融合,磁羅盤易受干擾可能導致融合后的數據仍有較大誤差。為此,在內環使用六軸姿態傳感器(包括三軸加速度計和三軸陀螺儀)進行數據融合,對融合后的傳感器姿態偏差進行二次修正,以提高整體精度。

外環九軸姿態傳感器數據融合,記在飛行器機體坐標系下an=[ax ay az]T和mn=[mx my mz]T分別為加速度計和磁羅盤實際測量得到的重力向量和地磁向量。

記vn=[vx vy vz]T和wn=[mx my mz]T是將地理坐標系下重力向量kb=[0 0 1g]T和地磁向量nb=[nx 0 nz]T(不考慮地理磁偏角因素,將機頭固定向北)通過四元數坐標換算成機體坐標系下的重力向量和地磁向量。向量之間的誤差為坐標軸的旋轉誤差,可以用向量的叉積en=[ex ey ez]T表示,如下所示。

由于我的LSM6DS3TR-C為六軸,不帶三軸陀螺儀,故代碼如下。

//這個叉積向量仍舊是位于機體坐標系上的,而陀螺積分誤差也是在機體坐標系,而且叉積的大小與陀螺積分誤差成正比,正好拿來糾正陀螺。
//(你可以自己拿東西想象一下)由于陀螺是對機體直接積分,所以對陀螺的糾正量會直接體現在對機體坐標系的糾正。

        ex = (ay*vz - az*vy);
        ey = (az*vx - ax*vz);
        ez = (ax*vy - ay*vx);

由于陀螺儀是對機體直接積分,所以,陀螺儀的誤差可以體現為機體坐標的誤差。因此修正坐標軸的誤差可以達到修正陀螺儀誤差的目的,從而將加速度計和磁羅盤進行修正陀螺儀,實現了九軸的數據融合。即如果陀螺儀按照叉積誤差的軸,轉動叉積誤差的角度,就可以消除機體坐標上實際測量的重力向量和地磁向量和坐標換算后的重力向量和地磁向量之間的誤差。

PI調節器的比例部分用于迅速糾正陀螺儀誤差,積分部分用于消除穩態偏差。PI調節器的比例系數和積分系數自己去修正。陀螺儀經過外環PI控制器修正姿態誤差后輸出值為了gn =[gx gy gz]T

// 積分誤差比例積分增益,計算陀螺儀測量的重力向量與估計方向的重力向量之間的誤差。
        exInt = exInt + ex*Ki;
        eyInt = eyInt + ey*Ki;
        ezInt = ezInt + ez*Ki;

        // 調整后的陀螺儀測量,使用叉積誤差來進行比例-積分(PI)修正陀螺儀的零偏。將修正量乘以比例增益Kp,并加上之前計算的積分誤差exInt、eyInt和ezInt。
        gx = gx + Kp*ex + exInt;
        gy = gy + Kp*ey + eyInt;
        gz = gz + Kp*ez + ezInt;
內環的六軸姿態傳感器數據融合是將地理坐標系下的重力場向量與加速度計在機體坐標系下采集到的重力向量進行叉乘,求出兩者向量誤差。并通過PI控制器修正向量誤差,從而達到修正外環九軸數據融合后的陀螺儀的偏差的目的。在每個姿態解算周期讀取出機體坐標系下雙環PI控制后的陀螺儀的角速率

整合四元數率和正?;?根據陀螺儀的測量值和比例-積分修正值,對四元數進行更新。

// 整合四元數率和正?;?根據陀螺儀的測量值和比例-積分修正值,對四元數進行更新。根據微分方程的離散化形式,將四元數的每個分量加上相應的微分項乘以采樣周期的一半(halfT)。
        q0 = q0 + (-q1*gx - q2*gy - q3*gz)*halfT;
        q1 = q1 + (q0*gx + q2*gz - q3*gy)*halfT;
        q2 = q2 + (q0*gy - q1*gz + q3*gx)*halfT;
        q3 = q3 + (q0*gz + q1*gy - q2*gx)*halfT;  

        // 正常化四元數
        norm = sqrt(q0*q0 + q1*q1 + q2*q2 + q3*q3);
        q0 = q0 / norm;
        q1 = q1 / norm;
        q2 = q2 / norm;
        q3 = q3 / norm;

偏航角

六軸傳感器(包括三軸加速度計和三軸陀螺儀)可以用于估算設備在空間中的姿態,包括俯仰角(Pitch)、橫滾角(Roll)和偏航角(Yaw)。然而,六軸傳感器僅依賴陀螺儀和加速度計數據,可能無法準確測量偏航角(Yaw),原因如下:

無磁場參考:六軸傳感器缺少磁羅盤,沒有固定的參考方向。因此,在長時間內,陀螺儀的積分誤差可能導致偏航角估計漂移。

陀螺儀誤差累積:陀螺儀測量的是角速度,要得到偏航角,需要將角速度積分。由于陀螺儀存在零漂、噪聲和溫度漂移等誤差,這些誤差在積分過程中會累積,使得偏航角估計產生較大的漂移。

雖然六軸傳感器可能無法準確測量偏航角,但可以通過將其與磁羅盤(三軸磁場傳感器)結合,形成九軸傳感器(包括三軸加速度計、三軸磁羅盤和三軸陀螺儀),以提高偏航角估計的準確性。九軸傳感器融合了磁場信息,為偏航角提供了一個穩定的參考方向,有助于減小陀螺儀誤差對偏航角估計的影響。

陀螺儀解析代碼

//加速度單位g,陀螺儀rad/s
void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az)
{

        float norm;
        float vx, vy, vz;
        float ex, ey, ez;  

        // 測量正?;?把加計的三維向量轉成單位向量。
        norm = sqrt(ax*ax + ay*ay + az*az);      
        ax = ax / norm;                   //單位化
        ay = ay / norm;
        az = az / norm;      

        // 估計方向的重力,世界坐標系重力分向量是通過方向旋轉矩陣的最后一列的三個元素乘上加速度就可以算出機體坐標系中的重力向量。
        vx = 2*(q1*q3 - q0*q2);//由下向上方向的加速度在加速度計X分量 
        vy = 2*(q0*q1 + q2*q3);//由下向上方向的加速度在加速度計X分量 
        vz = q0*q0 - q1*q1 - q2*q2 + q3*q3;//由下向上方向的加速度在加速度計Z分量


//這個叉積向量仍舊是位于機體坐標系上的,而陀螺積分誤差也是在機體坐標系,而且叉積的大小與陀螺積分誤差成正比,正好拿來糾正陀螺。
//(你可以自己拿東西想象一下)由于陀螺是對機體直接積分,所以對陀螺的糾正量會直接體現在對機體坐標系的糾正。

        ex = (ay*vz - az*vy);
        ey = (az*vx - ax*vz);
        ez = (ax*vy - ay*vx);

        // 積分誤差比例積分增益,計算陀螺儀測量的重力向量與估計方向的重力向量之間的誤差。

        exInt = exInt + ex*Ki;
        eyInt = eyInt + ey*Ki;
        ezInt = ezInt + ez*Ki;                

        // 調整后的陀螺儀測量,使用叉積誤差來進行比例-積分(PI)修正陀螺儀的零偏。將修正量乘以比例增益Kp,并加上之前計算的積分誤差exInt、eyInt和ezInt。
        gx = gx + Kp*ex + exInt;
        gy = gy + Kp*ey + eyInt;
        gz = gz + Kp*ez + ezInt; 

        // 整合四元數率和正常化,根據陀螺儀的測量值和比例-積分修正值,對四元數進行更新。根據微分方程的離散化形式,將四元數的每個分量加上相應的微分項乘以采樣周期的一半(halfT)。
        q0 = q0 + (-q1*gx - q2*gy - q3*gz)*halfT;
        q1 = q1 + (q0*gx + q2*gz - q3*gy)*halfT;
        q2 = q2 + (q0*gy - q1*gz + q3*gx)*halfT;
        q3 = q3 + (q0*gz + q1*gy - q2*gx)*halfT;  

        // 正?;脑獢?/span>
        norm = sqrt(q0*q0 + q1*q1 + q2*q2 + q3*q3);
        q0 = q0 / norm;
        q1 = q1 / norm;
        q2 = q2 / norm;
        q3 = q3 / norm;

        Pitch  = asin(2 * q2 * q3 + 2 * q0* q1)* 57.3; // pitch ,轉換為度數
        Roll = atan2(-2 * q1 * q3 + 2 * q0 * q2, q0*q0-q1*q1-q2*q2+q3*q3)* 57.3; // rollv
        Yaw = atan2(2*(q1*q2 - q0*q3),q0*q0-q1*q1+q2*q2-q3*q3) * 57.3;   //偏移太大,等我找一個好用的

}

上報匿名助手能正常進行解析。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據采集
    +關注

    關注

    38

    文章

    5332

    瀏覽量

    112923
  • 運動檢測
    +關注

    關注

    0

    文章

    31

    瀏覽量

    12545
  • 姿態解算
    +關注

    關注

    0

    文章

    49

    瀏覽量

    8217
收藏 人收藏

    評論

    相關推薦

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(1)----獲取ID

    本文將介紹如何驅動和利用LSM6DS3TR-C傳感器,實現精確的運動感應功能。LSM6DS3TR-C是一款先進的
    的頭像 發表于 11-13 15:45 ?1640次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(1)----獲取ID

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(6)----FIFO數據讀取與配置

    LSM6DS3TR-C是STMicroelectronics公司推出的iNEMO慣性模塊,集成了三軸加速度計和三軸陀螺儀,具備低功耗、強大的運動檢測功能。該傳感器支持多種操作模式,并內置FIFO
    的頭像 發表于 07-18 10:58 ?632次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(<b class='flag-5'>6</b>)----FIFO<b class='flag-5'>數據</b>讀取與配置

    驅動LSM6驅動LSM6DS3TR-C實現高效運動檢測數據采集(7)----MotionFX庫解析空間坐標DS3TR-C實現高效運動檢測數據

    本文將探討如何使用MotionFX庫解析空間坐標。MotionFX庫是一種用于傳感器融合的強大工具,可以將加速度計、陀螺儀和磁力計的數據融合在一起,實現精確的姿態和位置估計。本文將介紹如何初始化
    的頭像 發表于 07-18 11:02 ?709次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6</b><b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(7)----MotionFX庫解析空間坐標<b class='flag-5'>DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據</b>采

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(10)----融合磁力計進行姿態

    MotionFX庫包含用于校準陀螺儀、加速度計和磁力計傳感器的例程。 將磁力計的數據與加速度計和陀螺儀的數據融合,可以大幅提高姿態估計的精度。三軸加速度計提供設備的傾斜信息,陀螺儀提供角速度信息,而磁力計提供方位信息,三者結合可
    的頭像 發表于 08-02 15:50 ?1607次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(10)----融合磁力計進行<b class='flag-5'>姿態</b><b class='flag-5'>解</b><b class='flag-5'>算</b>

    LSM6DS3TR-C使用時工作電流比datasheet上大很多是什么原因?

    使用場景是LSM6DS3TR-C通過SPI一拖四連接單片機,一共有四路這樣的一拖四。 測試時發現電流很大,感覺有點不對,編寫程序使LSM6DS3TR-C間隔5s一個一個使能,會發現穩壓源的輸出電流從
    發表于 03-07 08:08

    請問LSM6DS3TRLSM6DS3TR-C兩個型號能否完全兼容?

    LSM6DS3TR停產買不到了,準備切換LSM6DS3TR-C型號使用。 請問兩者有什么差別?能否直接替換?有成功替換案例嗎?
    發表于 03-14 06:40

    LSM6DS3TR-C數據讀取異常是安利的問題?怎么處理?

    我在使用lsm6ds3tr-c 6軸傳感器時發現,讀取的溫度以及角速度值異常,配置為官方lsm6ds3tr_c_read_data_polling.c文件中
    發表于 03-19 08:15

    LSM6DS3TR-C長時間讀取后角速度輸出為0是什么原因造成的?

    LSM6DS3TR-C 長時間讀取后角速度輸出為0
    發表于 03-20 06:28

    LSM6DS3TR-C角速度輸出為0是什么原因導致的?

    LSM6DS3TR-C在長時間休眠后(6小時以上),角速度輸出為0,短時間休眠輸出正常,這是什么問題?
    發表于 03-21 06:27

    LSM6DS3TR-C的FIFO讀取數據出錯是什么原因造成的?怎么解決?

    使用LSM6DS3TR-C的FIFO,先獲取了FIFO的WaterM標志,該標志置位之后再去獲取當前存在FIFO緩存的數據長度,再去讀取FIFO中對應長度的數據,會出現讀取數據出錯的現
    發表于 03-27 06:05

    請問LSM6DS3TR-C有沒有windows下的測試工具?

    LSM6DS3TR-C有沒有windows下的測試工具
    發表于 05-20 06:22

    LSM6DS3TR-C的低功耗模式和高性能模式有什么區別

    如果我只在 12.5Hz 下操作加速度計,LSM6DS3TR-C 的低功耗模式和高性能模式有什么區別?
    發表于 12-09 06:47

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(2)----配置濾波器

    LSM6DS3TR-C中,加速度計和陀螺儀可以獨立地開啟/關閉,并且可以擁有不同的ODR和功耗模式。 LSM6DS3TR-C有三種可用的操作模式: ● 僅加速度計活動,陀螺儀處于斷電狀態 ● 僅陀螺儀活動,加速度計處于斷電狀態 ● 加速度計和陀螺儀傳感器同時活動
    的頭像 發表于 11-14 09:45 ?695次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(2)----配置濾波器

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(3)----獲取傳感器數據

    一旦傳感器被正確初始化,可以通過SPI或I2C接口向傳感器發送讀取命令,并接收傳感器返回的數據。這個讀取過程包括獲取LSM6DS3TR傳感器提供的加速度計和陀螺儀數據,以及傳感器對應的
    的頭像 發表于 11-14 09:59 ?579次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(<b class='flag-5'>3</b>)----獲取傳感器<b class='flag-5'>數據</b>

    驅動LSM6DS3TR-C實現高效運動檢測數據采集(4)----上報匿名上位機實現可視化

    LSM6DS3TR-C是單芯片“3軸陀螺儀 + 3軸加速度計”的慣性 測量單元(IMU), 五種種可選滿量程的陀螺儀(125/250/500/1000/2000 dps)和加速度計(2/4/8/16
    的頭像 發表于 11-14 10:05 ?657次閱讀
    <b class='flag-5'>驅動</b><b class='flag-5'>LSM6DS3TR-C</b><b class='flag-5'>實現</b><b class='flag-5'>高效</b><b class='flag-5'>運動檢測</b>與<b class='flag-5'>數據采集</b>(4)----上報匿名上位機<b class='flag-5'>實現</b>可視化