python之3D散点图,mpu9250获取的YAW,PITCH,ROLL做3D图

这段时间买了块数梅派,做了一个I2C驱动mpu9250的测试,成功输出了yaw,pitch,roll三个姿态角。但是鉴于不懂这数据是如何描述的,想来先看看用python坐下3D图试试。
pitch是围绕X轴旋转,也叫做俯仰角。当X轴的正半轴位于过坐标原点的水平面之上(抬头)时,俯仰角为正,否则为负。
yaw是围绕Y轴旋转,也叫偏航角。即机头右偏航为正,反之为负。
roll是围绕Z轴旋转,也叫翻滚角。机体向右滚为正,反之为负。
首先,我已经获取到了一组数据,大概380条。是用sqlite3记录的,为了在树梅派使用sqlite3还费了些功夫。先用pandas打开数据库。

    cx = sqlite3.connect("mpu9250.db")
    df = pd.read_sql_query("select * from mpu9250 ;", cx)
   yaw = pd.DataFrame(df, columns = ['yaw'])
    pitch = pd.DataFrame(df, columns = ['pitch'])
    roll =  pd.DataFrame(df, columns = ['roll'])

获取姿态角数据之后,就可以作图了,下面是作图的代码

    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(yaw, pitch, roll)
    ax.set_xlabel('pitch')
    ax.set_ylabel('yaw')
    ax.set_zlabel('roll')
    ax.view_init(elev = 10, azim=235)
    plt.show() 

在这里插入图片描述看来数据量太少,无法看出信息,本来是想验证下获取的数据是否正确的,看来只有先仔细看过代码之后,熟悉姿态角用法之后再重新做验证了。

猜你喜欢

转载自blog.csdn.net/weixin_42866931/article/details/84845486