GSensor 碰撞檢測方法與實現


 

  最近在調行車記錄儀的碰撞檢測,當前使用的方法是根據使用量程給出閥值,當某一瞬間的某一軸的加速度突變的絕對值大於閥值,則認為發生碰撞事件;

        if (g_gsensorInfoSave.x != AXIS_INIT_VALUE) {
            x_diff = abs(gsensorValue.x - g_gsensorInfoSave.x);   
            if (x_diff > x_range) {
                printf("gsensor event: Emerg.\n");
            }
        }
        g_gsensorInfoSave.x = gsensorValue.x;

 

  然后想看看網上有沒有其它方法,就有了以下的內容。

  參考:車載碰撞和側翻算法實現

  方法類似,上面的方法是計算出某一軸與自然坐標的夾角,當某一夾角大小發生突變達到指定閥值時,則認為發生碰撞或側翻;

  x軸與自然坐標的夾角

double toDegrees_x(int x_val, int y_val, int z_val)
{
    double rad2;
    double degree2;
    
    rad2 = atan((double)x_val / sqrt(y_val * y_val + z_val * z_val));
    degree2 = rad2 * 180 / PI;

    return degree2;
}

 

事件;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM