欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1548|回復: 1
打印 上一主題 下一主題
收起左側

mpu6050如何求解自然軸的角度 附程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:967636 發表于 2022-4-5 16:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原子的程序可以通過四元數的方式求出機體的俯仰角/橫滾角/航向角
/*
        q0 = quat[0] / q30;        //q30格式轉換為浮點數
                q1 = quat[1] / q30;
                q2 = quat[2] / q30;
                q3 = quat[3] / q30;
                //計算得到俯仰角/橫滾角/航向角
                *pitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3;        // pitch反正弦
                *roll  = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3;        // roll反正切
                *yaw   = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3;        //yaw反正切

*/
但是與自然軸的角度 怎么去求呢?
若使用下方的程序是需要每次使用前手動校準嗎?還是通過四元數可以求出mpu6050的Z軸與重力的角度?
/*
short MPU6050_Get_Angle(float x,float y,float z,u8 dir)
{
        float temp;
        float res=0;
        switch(dir)
        {
                case 0://與自然Z軸的角度
                        temp=sqrt((x*x+y*y))/z;
                        res=atan(temp);
                        break;
                case 1://與自然X軸的角度
                        temp=x/sqrt((y*y+z*z));
                        res=atan(temp);
                        break;
                case 2://與自然Y軸的角度
                        temp=y/sqrt((x*x+z*z));
                        res=atan(temp);
                        break;
        }
        return res*1800/3.14;//把弧度轉換成角度
}
*/
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:967636 發表于 2022-4-5 16:42 | 只看該作者
使用的是DMP庫
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表