日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Arduino 接入 MPU9250六轴

發布時間:2023/12/31 综合教程 44 生活家
生活随笔 收集整理的這篇文章主要介紹了 Arduino 接入 MPU9250六轴 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用MPU9250獲得加速,角速度及地磁計數據。

接線使用Arduino上的SCL接Mpu9250的SCL,SDA接SDA,3.3v或5v供電。

使用I2C連接,通過MPU9250不同地址,我們可以獲得不同的數據,即加速度和角速度地址為0x68。

而地磁計地址為0x0C。

下面是代碼:

#include <Wire.h>
 
#define    MPU9250_ADDRESS            0x68
#define    MAG_ADDRESS                0x0C
 
#define    GYRO_FULL_SCALE_250_DPS    0x00  
#define    GYRO_FULL_SCALE_500_DPS    0x08
#define    GYRO_FULL_SCALE_1000_DPS   0x10
#define    GYRO_FULL_SCALE_2000_DPS   0x18
 
#define    ACC_FULL_SCALE_2_G        0x00  
#define    ACC_FULL_SCALE_4_G        0x08
#define    ACC_FULL_SCALE_8_G        0x10
#define    ACC_FULL_SCALE_16_G       0x18
 
 
 
// This function read Nbytes bytes from I2C device at address Address. 
// Put read bytes starting at register Register in the Data array. 
void I2Cread(uint8_t Address, uint8_t Register, uint8_t Nbytes, uint8_t* Data)
{
  // Set register address
  Wire.beginTransmission(Address);
  Wire.write(Register);
  Wire.endTransmission();
 
  // Read Nbytes
  Wire.requestFrom(Address, Nbytes); 
  uint8_t index=0;
  while (Wire.available())
    Data[index++]=Wire.read();
}
void I2CwriteByte(uint8_t Address, uint8_t Register, uint8_t Data)
{
  // Set register address
  Wire.beginTransmission(Address);
  Wire.write(Register);
  Wire.write(Data);
  Wire.endTransmission();
}
 
 
// Initializations
void setup()
{
  // Arduino initializations
  Wire.begin();
  Serial.begin(115200);
 
  // Configure gyroscope range
  I2CwriteByte(MPU9250_ADDRESS,27,GYRO_FULL_SCALE_2000_DPS);
  // Configure accelerometers range
  I2CwriteByte(MPU9250_ADDRESS,28,ACC_FULL_SCALE_16_G);
  // Set by pass mode for the magnetometers
  I2CwriteByte(MPU9250_ADDRESS,0x37,0x02);
 
  // Request first magnetometer single measurement
  I2CwriteByte(MAG_ADDRESS,0x0A,0x16);
 
 
}


long int cpt=0;
// Main loop, read and display data
void loop()
{
   // ____________________________________
  // :::  accelerometer and gyroscope ::: 
 
  // Read accelerometer and gyroscope
  uint8_t Buf[14];
  I2Cread(MPU9250_ADDRESS,0x3B,14,Buf);
 
  // Create 16 bits values from 8 bits data
 
  // Accelerometer
  int16_t ax=-(Buf[0]<<8 | Buf[1]);
  int16_t ay=-(Buf[2]<<8 | Buf[3]);
  int16_t az=Buf[4]<<8 | Buf[5];
 
  // Gyroscope
  int16_t gx=-(Buf[8]<<8 | Buf[9]);
  int16_t gy=-(Buf[10]<<8 | Buf[11]);
  int16_t gz=Buf[12]<<8 | Buf[13];
 
    // Display values
 
  // Accelerometer
//  Serial.print (ax,DEC); 
//  Serial.print ("	");
//  Serial.print (ay,DEC);
//  Serial.print ("	");
//  Serial.print (az,DEC);  
//  Serial.print ("	");
// 
//  // Gyroscope
//  Serial.print (gx,DEC); 
//  Serial.print ("	");
//  Serial.print (gy,DEC);
//  Serial.print ("	");
//  Serial.print (gz,DEC);  
//  Serial.print ("	");
  //delay(100); 


  


  // Read magnetometer data  
  I2CwriteByte(MAG_ADDRESS,0x37,0x02);
  uint8_t Mag[7];  
  I2Cread(MAG_ADDRESS,0x03,7,Mag);
  // Magnetometer
  int16_t mx=-(Mag[0]<<8 | Mag[1]);
  int16_t my=-(Mag[2]<<8 | Mag[3]);
  int16_t mz=-(Mag[4]<<8 | Mag[5]);
  
  
  // Magnetometer
  Serial.print (mx,DEC); 
  Serial.print ("	");
  Serial.print (my,DEC);
  Serial.print ("	");
  Serial.print (mz,DEC);  
  Serial.print ("	");
  
  // End of line
  Serial.println("");
  //delay(100);    
}

View Code

使用mahony算法,地磁計融合與不融合地磁計算四元數。

使用mahony方法進行計算。

只使用acc與gyro計算姿態,主要的計算步驟如下:    

第一:將acc單位化。

第二:預測慣性向量,根據現有的四元數作預測,q為四元數,v為預測慣性向量。

第三:誤差計算,e為實際測量acc向預測v的叉乘,結果為一個旋轉誤差。

第四:PI補償

即當eInt為,計算eInt為下:

第五:計算四元數導, w為角速度:

第六:更新:

當使用地磁計進行數據融合時,重新計算。    

第一:單位化acc與mag。

第二:計算h ,地磁參考方向,其中為q的共軛四元數。

第三:計算重力與地磁估計方向

第四:計算誤差

第五:與不使用地磁計相同,計算累計誤差,根據PI進行計算Gyro,

即當eInt為,計算eInt為下:

第五:計算四元數導, w為角速度:

第六:更新:

  #include <Wire.h>
   
  #define    MPU9250_ADDRESS            0x68
  #define    MAG_ADDRESS                0x0C
   
  #define    GYRO_FULL_SCALE_250_DPS    0x00  
  #define    GYRO_FULL_SCALE_500_DPS    0x08
  #define    GYRO_FULL_SCALE_1000_DPS   0x10
  #define    GYRO_FULL_SCALE_2000_DPS   0x18
   
  #define    ACC_FULL_SCALE_2_G        0x00  
  #define    ACC_FULL_SCALE_4_G        0x08
  #define    ACC_FULL_SCALE_8_G        0x10
  #define    ACC_FULL_SCALE_16_G       0x18
  
  float Kp = 1;
  float Ki = 0.0;
  
  double eInt1=0.0;
  double eInt2=0.0;
  double eInt3=0.0;

  double q1=1.0;
  double q2=0.0;
  double q3=0.0;
  double q4=0.0;
  
  double delta_t = 1.0/256.0;
  long t_pre;

   
  // This function read Nbytes bytes from I2C device at address Address. 
  // Put read bytes starting at register Register in the Data array. 
  void I2Cread(uint8_t Address, uint8_t Register, uint8_t Nbytes, uint8_t* Data)
  {
    // Set register address
    Wire.beginTransmission(Address);
    Wire.write(Register);
    Wire.endTransmission();
   
    // Read Nbytes
    Wire.requestFrom(Address, Nbytes); 
    uint8_t index=0;
    while (Wire.available())
      Data[index++]=Wire.read();
  }
  void I2CwriteByte(uint8_t Address, uint8_t Register, uint8_t Data)
  {
    // Set register address
    Wire.beginTransmission(Address);
    Wire.write(Register);
    Wire.write(Data);
    Wire.endTransmission();
  } 
   
  // Initializations
  void setup()
  {
    // Arduino initializations
    Wire.begin();
    Serial.begin(115200);
    // Configure gyroscope range
    I2CwriteByte(MPU9250_ADDRESS,27,GYRO_FULL_SCALE_2000_DPS);
    // Configure accelerometers range
    I2CwriteByte(MPU9250_ADDRESS,28,ACC_FULL_SCALE_16_G);
    // Set by pass mode for the magnetometers
    I2CwriteByte(MPU9250_ADDRESS,0x37,0x02);
   
    // Request first magnetometer single measurement
    I2CwriteByte(MAG_ADDRESS,0x0A,0x16);
    
  }
  
  double quaternionProd1(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r1;
  }

  double quaternionProd2(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r2;
  }
  double quaternionProd3(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r3;
  }
  double quaternionProd4(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r4;
  }
  
  void MahonyUpDate(double delta_t,double ax, double ay,double az, double gx, double gy, double gz, double mx, double my, double mz)
  {
    double a_norm = sqrt(ax*ax+ay*ay+az*az);
    if(a_norm==0)
    {
          Serial.print ("
");
          Serial.print ("Acc errer. 
");
          return;
    }
    ax = ax/a_norm;
    ay = ay/a_norm;
    az = az/a_norm;
  
    double m_norm = sqrt(mx*mx+my*my+mz*mz);
    if(m_norm==0)
    {
          Serial.print ("
");
          Serial.print ("Mag errer. 
");
          return;
    }
    mx = mx/m_norm;
    my = my/m_norm;
    mz = mz/m_norm;


    double mq1,mq2,mq3,mq4;
    double h1,h2,h3,h4;
    double qdot1,qdot2,qdot3,qdot4;

    
    //Magwick mag 
    mq1 = quaternionProd1(q1,q2,q3,q4,0,mx,my,mz);
    mq2 = quaternionProd2(q1,q2,q3,q4,0,mx,my,mz);
    mq3 = quaternionProd3(q1,q2,q3,q4,0,mx,my,mz);
    mq4 = quaternionProd4(q1,q2,q3,q4,0,mx,my,mz);

    h1 = quaternionProd1(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h2 = quaternionProd2(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h3 = quaternionProd3(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h4 = quaternionProd4(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    float b2 = sqrt( h2*h2 +h3*h3);
    float b4 = h4;
  
    float v1 = 2*(q2*q4-q1*q3);
    float v2 = 2*(q1*q2+q3*q4);
    float v3 = 2*(q1*q1-q2*q2-q3*q3+q4*q4);
  
    float w1 = 2*b2*(0.5-q3*q3-q4*q4)+2*b4*(q2*q4-q1*q3);
    float w2 = 2*b2*(q2*q3 - q1*q4)+2*b4*(q1*q2+q3*q4);
    float w3 = 2*(q1*q3 + q2*q4)+2*b4*(0.5-q2*q2-q3*q3);
  
    float e1 = ay*v3 - az*v2 + my*w3 - mz*w2;
    float e2 = -ax*v3 + az*v1 - mx*w3 + mz*w1;
    float e3 = ax*v2 - ay*v1 + mx*w2 - my*w1;


//    //Magwick acc
//    float v1 = 2*(q2*q4-q1*q3);
//    float v2 = 2*(q1*q2+q3*q4);
//    float v3 = q1*q1-q2*q2-q3*q3+q4*q4;
//    float e1 = ay*v3 - az*v2;
//    float e2 = -ax*v3 + az*v1;
//    float e3 = ax*v2 - ay*v1;


    //errer 
    eInt1 = eInt1 + e1*delta_t;
    eInt2 = eInt2 + e2*delta_t;
    eInt2 = eInt2 + e2*delta_t;
    //PI
    gx = gx + Kp*e1 +Ki*eInt1;
    gy = gy + Kp*e2 +Ki*eInt2;
    gz = gz + Kp*e3 +Ki*eInt3;

    //q dot
    qdot1 = 0.5* quaternionProd1(q1,q2,q3,q4, 0,gx,gy,gz);
    qdot2 = 0.5* quaternionProd2(q1,q2,q3,q4, 0,gx,gy,gz); 
    qdot3 = 0.5* quaternionProd3(q1,q2,q3,q4, 0,gx,gy,gz);   
    qdot4 = 0.5* quaternionProd4(q1,q2,q3,q4, 0,gx,gy,gz);
    //quaternion calculate
    q1 = q1 + qdot1*delta_t;
    q2 = q2 + qdot2*delta_t;
    q3 = q3 + qdot3*delta_t;
    q4 = q4 + qdot4*delta_t;
    //unify
    double norm_q = sqrt(q1*q1+q2*q2+q3*q3+q4*q4);            
    q1 = q1/norm_q;
    q2 = q2/norm_q;
    q3 = q3/norm_q;
    q4 = q4/norm_q;
    

    
    Serial.print (q1,DEC); 
    Serial.print ("	");
    Serial.print (q2,DEC);
    Serial.print ("	");
    Serial.print (q3,DEC);  
    Serial.print ("	");
    Serial.print (q4,DEC); 
    Serial.print ("	");
    Serial.println("");
  }
  
  
  void loop()
  {
    // ____________________________________
    // :::  accelerometer and gyroscope ::: 
   
    // Read accelerometer and gyroscope
    uint8_t Buf[14];
    I2Cread(MPU9250_ADDRESS,0x3B,14,Buf);
   
    // Create 16 bits values from 8 bits data
   
    // Accelerometer
    int16_t ax=-(Buf[0]<<8 | Buf[1]);
    int16_t ay=-(Buf[2]<<8 | Buf[3]);
    int16_t az=Buf[4]<<8 | Buf[5];
   
    // Gyroscope
    int16_t gx=-(Buf[8]<<8 | Buf[9]);
    int16_t gy=-(Buf[10]<<8 | Buf[11]);
    int16_t gz=Buf[12]<<8 | Buf[13];

    double ax1 = ax/2048.0;
    double ay1 = ay/2048.0;
    double az1 = az/2048.0;

    double gx1 = gx*3.14/16.4/180;
    double gy1 = gy*3.14/16.4/180;
    double gz1 = gz*3.14/16.4/180;   
    // Display values
    // Accelerometer
    Serial.print (ax1,DEC); 
    Serial.print ("	");
    Serial.print (ay1,DEC);
    Serial.print ("	");
    Serial.print (az1,DEC);  
    Serial.print ("	");
    // Gyroscope
    Serial.print (gx1,DEC); 
    Serial.print ("	");
    Serial.print (gy1,DEC);
    Serial.print ("	");
    Serial.print (gz1,DEC);  
    Serial.print ("	");
  
  
    // Read magnetometer data  
    I2CwriteByte(MAG_ADDRESS,0x37,0x02);
    uint8_t Mag[7];  
    I2Cread(MAG_ADDRESS,0x03,7,Mag);
    // Magnetometer
    int16_t mx=-(Mag[3]<<8 | Mag[2]);
    int16_t my=-(Mag[1]<<8 | Mag[0]);
    int16_t mz=-(Mag[5]<<8 | Mag[4]);  
    
    double mx1 = mx*0.6;
    double my1 = my*0.6;
    double mz1 = mz*0.6;
    // Magnetometer
//    Serial.print (mx1,DEC); 
//    Serial.print ("	");
//    Serial.print (my1,DEC);
//    Serial.print ("	");
//    Serial.print (mz1,DEC);  
//    Serial.print ("	");

    //run mahony algrithom
    long time = millis();
    double delta_t = (time - t_pre)/1000.0;
//    Serial.print (delta_t,DEC);  
//    Serial.print ("	");
    MahonyUpDate(delta_t,ax1,ay1,az1,gx1,gy1,gz1,mx1,my1,mz1);
    t_pre = time;
    // End of line

    //delay(100);    
  }
  

配合ros,使用arduino。

#include <Wire.h>

  #include <ros.h>
  #include <sensor_msgs/Imu.h> 

  ros::NodeHandle  nh;
  sensor_msgs::Imu imu_sensor;
  ros::Publisher imu_sensor_pub("imu", &imu_sensor);
  
  #define    MPU9250_ADDRESS            0x68
  #define    MAG_ADDRESS                0x0C
   
  #define    GYRO_FULL_SCALE_250_DPS    0x00  
  #define    GYRO_FULL_SCALE_500_DPS    0x08
  #define    GYRO_FULL_SCALE_1000_DPS   0x10
  #define    GYRO_FULL_SCALE_2000_DPS   0x18
   
  #define    ACC_FULL_SCALE_2_G        0x00  
  #define    ACC_FULL_SCALE_4_G        0x08
  #define    ACC_FULL_SCALE_8_G        0x10
  #define    ACC_FULL_SCALE_16_G       0x18
  
  float Kp = 5;
  float Ki = 0.0;
  
  double eInt1=0.0;
  double eInt2=0.0;
  double eInt3=0.0;

  double q1=1.0;
  double q2=0.0;
  double q3=0.0;
  double q4=0.0;

  long t_pre;

  
  // This function read Nbytes bytes from I2C device at address Address. 
  // Put read bytes starting at register Register in the Data array. 
  void I2Cread(uint8_t Address, uint8_t Register, uint8_t Nbytes, uint8_t* Data)
  {
    // Set register address
    Wire.beginTransmission(Address);
    Wire.write(Register);
    Wire.endTransmission();
   
    // Read Nbytes
    Wire.requestFrom(Address, Nbytes); 
    uint8_t index=0;
    while (Wire.available())
      Data[index++]=Wire.read();
  }
  void I2CwriteByte(uint8_t Address, uint8_t Register, uint8_t Data)
  {
    // Set register address
    Wire.beginTransmission(Address);
    Wire.write(Register);
    Wire.write(Data);
    Wire.endTransmission();
  } 
   
  // Initializations
  void setup()
  {
    // Arduino initializations
    Wire.begin();
    nh.initNode();
    nh.advertise(imu_sensor_pub);
    I2CwriteByte(MPU9250_ADDRESS,27,GYRO_FULL_SCALE_2000_DPS);
    I2CwriteByte(MPU9250_ADDRESS,28,ACC_FULL_SCALE_16_G);
    I2CwriteByte(MPU9250_ADDRESS,0x37,0x02);
    I2CwriteByte(MAG_ADDRESS,0x0A,0x16);
    //ros initialize

  }
  
  double quaternionProd1(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r1;
  }

  double quaternionProd2(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r2;
  }
  double quaternionProd3(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r3;
  }
  double quaternionProd4(double a1,double a2,double a3,double a4,double b1,double b2,double b3,double b4)
  {
    double r1,r2,r3,r4;
    r1 = a1*b1-a2*b2-a3*b3-a4*b4;
    r2 = a1*b2+a2*b1+a3*b4-a4*b3;
    r3 = a1*b3-a2*b4+a3*b1+a4*b2;
    r4 = a1*b4+a2*b3-a3*b2+a4*b1;

    return r4;
  }
  
  void MahonyUpDate(double delta_t,double ax, double ay,double az, double gx, double gy, double gz, double mx, double my, double mz)
  {
    double a_norm = sqrt(ax*ax+ay*ay+az*az);
    if(a_norm==0)
    {
          Serial.print ("
");
          Serial.print ("Acc errer. 
");
          return;
    }
    ax = ax/a_norm;
    ay = ay/a_norm;
    az = az/a_norm;
  
    double m_norm = sqrt(mx*mx+my*my+mz*mz);
    if(m_norm==0)
    {
          Serial.print ("
");
          Serial.print ("Mag errer. 
");
          return;
    }
    mx = mx/m_norm;
    my = my/m_norm;
    mz = mz/m_norm;


    double mq1,mq2,mq3,mq4;
    double h1,h2,h3,h4;
    double qdot1,qdot2,qdot3,qdot4;

    
    //Magwick mag 
    mq1 = quaternionProd1(q1,q2,q3,q4,0,mx,my,mz);
    mq2 = quaternionProd2(q1,q2,q3,q4,0,mx,my,mz);
    mq3 = quaternionProd3(q1,q2,q3,q4,0,mx,my,mz);
    mq4 = quaternionProd4(q1,q2,q3,q4,0,mx,my,mz);

    h1 = quaternionProd1(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h2 = quaternionProd2(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h3 = quaternionProd3(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    h4 = quaternionProd4(mq1,mq2,mq3,mq4,q1,-q2,-q3,-q4);
    float b2 = sqrt( h2*h2 +h3*h3);
    float b4 = h4;
  
    float v1 = 2*(q2*q4-q1*q3);
    float v2 = 2*(q1*q2+q3*q4);
    float v3 = 2*(q1*q1-q2*q2-q3*q3+q4*q4);
  
    float w1 = 2*b2*(0.5-q3*q3-q4*q4)+2*b4*(q2*q4-q1*q3);
    float w2 = 2*b2*(q2*q3 - q1*q4)+2*b4*(q1*q2+q3*q4);
    float w3 = 2*(q1*q3 + q2*q4)+2*b4*(0.5-q2*q2-q3*q3);
  
    float e1 = ay*v3 - az*v2 + my*w3 - mz*w2;
    float e2 = -ax*v3 + az*v1 - mx*w3 + mz*w1;
    float e3 = ax*v2 - ay*v1 + mx*w2 - my*w1;


//    //Magwick acc
//    float v1 = 2*(q2*q4-q1*q3);
//    float v2 = 2*(q1*q2+q3*q4);
//    float v3 = q1*q1-q2*q2-q3*q3+q4*q4;
//    float e1 = ay*v3 - az*v2;
//    float e2 = -ax*v3 + az*v1;
//    float e3 = ax*v2 - ay*v1;


    //errer 
    eInt1 = eInt1 + e1*delta_t;
    eInt2 = eInt2 + e2*delta_t;
    eInt2 = eInt2 + e2*delta_t;
    //PI
    gx = gx + Kp*e1 +Ki*eInt1;
    gy = gy + Kp*e2 +Ki*eInt2;
    gz = gz + Kp*e3 +Ki*eInt3;

    //q dot
    qdot1 = 0.5* quaternionProd1(q1,q2,q3,q4, 0,gx,gy,gz);
    qdot2 = 0.5* quaternionProd2(q1,q2,q3,q4, 0,gx,gy,gz); 
    qdot3 = 0.5* quaternionProd3(q1,q2,q3,q4, 0,gx,gy,gz);   
    qdot4 = 0.5* quaternionProd4(q1,q2,q3,q4, 0,gx,gy,gz);
    //quaternion calculate
    q1 = q1 + qdot1*delta_t;
    q2 = q2 + qdot2*delta_t;
    q3 = q3 + qdot3*delta_t;
    q4 = q4 + qdot4*delta_t;
    //unify
    double norm_q = sqrt(q1*q1+q2*q2+q3*q3+q4*q4);            
    q1 = q1/norm_q;
    q2 = q2/norm_q;
    q3 = q3/norm_q;
    q4 = q4/norm_q;

    imu_sensor.orientation.x = q1;
    imu_sensor.orientation.y = q2;
    imu_sensor.orientation.z = q3;
    imu_sensor.orientation.w = q4;
                
  }

  
  void loop()
  {
    // ____________________________________
    // :::  accelerometer and gyroscope ::: 
   
    // Read accelerometer and gyroscope
    uint8_t Buf[14];
    I2Cread(MPU9250_ADDRESS,0x3B,14,Buf);
   
    // Create 16 bits values from 8 bits data
   
    // Accelerometer
    int16_t ax=-(Buf[0]<<8 | Buf[1]);
    int16_t ay=-(Buf[2]<<8 | Buf[3]); 
    int16_t az=Buf[4]<<8 | Buf[5];
   
    // Gyroscope
    int16_t gx=-(Buf[8]<<8 | Buf[9]);
    int16_t gy=-(Buf[10]<<8 | Buf[11]);
    int16_t gz=Buf[12]<<8 | Buf[13];

    double ax1 = ax/2048.0;
    double ay1 = ay/2048.0;
    double az1 = az/2048.0;

    double gx1 = gx*3.14/16.4/180;
    double gy1 = gy*3.14/16.4/180;
    double gz1 = gz*3.14/16.4/180;   

    imu_sensor.header.frame_id = "base_link";
    imu_sensor.angular_velocity.y = gy1;
    imu_sensor.angular_velocity.x = gx1;
    imu_sensor.angular_velocity.z = gz1;

    imu_sensor.linear_acceleration.x = ax1;
    imu_sensor.linear_acceleration.y = ay1;
    imu_sensor.linear_acceleration.z = az1;

    float angular_vel[9]={1e6, 0, 0, 0, 1e6, 0, 0, 0, 1e-6};
    float orientation[9]={1e6, 0, 0, 0, 1e6, 0, 0, 0, 1e-6};
    for(int i=0; i<9; i++){
      imu_sensor.orientation_covariance[i] = angular_vel[i];
      imu_sensor.angular_velocity_covariance[i] = orientation[i]; 
    }
  
    // Read magnetometer data  
    I2CwriteByte(MAG_ADDRESS,0x37,0x02);
    uint8_t Mag[7];  
    I2Cread(MAG_ADDRESS,0x03,7,Mag);
    // Magnetometer
    int16_t mx=-(Mag[3]<<8 | Mag[2]);
    int16_t my=-(Mag[1]<<8 | Mag[0]);
    int16_t mz=-(Mag[5]<<8 | Mag[4]);  
    
    double mx1 = mx*0.6;
    double my1 = my*0.6;
    double mz1 = mz*0.6;


    //run mahony algrithom
    long time = millis();
    double delta_t = (time - t_pre)/1000.0;

    MahonyUpDate(delta_t,ax1,ay1,az1,gx1,gy1,gz1,mx1,my1,mz1);
    t_pre = time;
    
    // End of line
    imu_sensor_pub.publish(&imu_sensor);
    nh.spinOnce();
    delay(10);    
  }
  

View Code

總結

以上是生活随笔為你收集整理的Arduino 接入 MPU9250六轴的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品黄色在线观看 | 日韩av在线免费播放 | 美腿丝袜一区二区三区 | 在线视频a | 日韩免费一二三区 | 天天色天天操综合 | 欧美黄色特级片 | 香蕉视频网站在线观看 | 成人久久影院 | 国产成人久久av免费高清密臂 | 日本午夜在线亚洲.国产 | 在线午夜电影神马影院 | 91成熟丰满女人少妇 | 高潮久久久久久久久 | 91麻豆精品国产91久久久更新时间 | 99热这里有| 国产一区私人高清影院 | 一级特黄aaa大片在线观看 | 亚洲日日日 | 色吧久久 | 91在线影视 | 福利视频精品 | 中文字幕在线观看网址 | 狠狠色丁香婷婷综合最新地址 | 91成人天堂久久成人 | 国产成人久久 | 五月综合激情婷婷 | 日韩免费在线观看网站 | 91探花视频 | 日韩精品久久久 | 又污又黄网站 | 国产精品久久久久久爽爽爽 | 黄色大片日本免费大片 | 麻豆国产在线播放 | 九九视频热 | 在线免费观看av网站 | av在线看片 | 久久手机免费观看 | 亚洲在线视频免费 | 成人黄色电影在线 | 欧美成人基地 | 综合影视 | 亚洲三级在线 | 精品国产电影一区 | 狠狠色伊人亚洲综合网站色 | 在线观看国产一区 | 日本性视频| 精品久久久影院 | 精一区二区 | 国产精品欧美在线 | 天天艹天天爽 | 正在播放国产一区二区 | 中文有码在线 | 美国三级黄色大片 | 亚洲成人免费 | 成年人看片网站 | 精品国产资源 | 成人资源在线播放 | 欧美一二三视频 | 国产成人在线网站 | 日韩免费一区二区 | 亚洲美女精品视频 | 欧美日本高清视频 | 人人爽影院 | 亚洲三级黄| 亚洲激情在线观看 | www.神马久久 | 久久综合狠狠狠色97 | 成人黄色一级视频 | av大片免费在线观看 | 伊人五月天.com | 天天操天天干天天插 | 欧美aa一级| 亚洲成av人影片在线观看 | 黄在线免费观看 | 夜夜躁日日躁狠狠躁 | 亚洲资源网 | 午夜影视av | 欧洲色综合| 国产中文在线视频 | 黄色大片入口 | 久久黄色片 | 91丨九色丨勾搭 | 天天爽综合网 | 国产一区在线精品 | 中文资源在线观看 | 中文字幕免费观看全部电影 | 日本精品一区二区在线观看 | 九色福利视频 | 欧美性色黄 | 香蕉久久久久久av成人 | 成人一区二区三区在线观看 | 人人精久 | 色欧美综合 | 午夜影院一级片 | 伊人久久在线观看 | 色综合色综合久久综合频道88 | av在线永久免费观看 | 亚洲国产色一区 | 日韩高清免费电影 | 在线观看免费一区 | 青青河边草免费直播 | 在线观看中文字幕2021 | 色五月成人 | 欧美三级高清 | 国产视频手机在线 | 在线日韩亚洲 | 美女免费视频网站 | 国产一区二区免费 | 成人av资源 | 最近中文字幕免费av | 国产欧美久久久精品影院 | 五月婷婷色播 | 91精品视频一区 | 激情欧美国产 | a'aaa级片在线观看 | 最新国产精品拍自在线播放 | 五月婷婷色播 | 久久久久久中文字幕 | 97在线观看免费高清完整版在线观看 | 久久综合精品一区 | 国产精品免费小视频 | 激情欧美一区二区免费视频 | 亚洲午夜久久久久 | 日韩精品久久久久久久电影99爱 | 毛片区 | 伊在线视频 | 人人爽久久久噜噜噜电影 | 欧美影片 | 国产视频资源在线观看 | 999色视频| 99久久久久成人国产免费 | 十八岁以下禁止观看的1000个网站 | 激情av一区二区 | 超碰公开在线 | 国产一级二级视频 | 99久久精品电影 | 日韩系列| 午夜视频一区二区三区 | 免费网站在线观看人 | 成年人在线看视频 | 亚洲在线观看av | 久久免费看毛片 | 九色激情网 | 国产亚洲在线视频 | 99色视频 | 正在播放亚洲精品 | 国产亚洲精品久久久久久久久久 | www.亚洲精品视频 | 欧美日韩国产在线 | 久久久国产精品成人免费 | 久久精品在线 | 亚洲欧美精品在线 | www.国产在线观看 | www.色就是色 | av在观看| 国产视频 亚洲视频 | 国产成人三级在线播放 | 久久国产精品色av免费看 | 成人久久毛片 | 婷婷五情天综123 | 在线中文字幕av观看 | 97色资源 | 久久精品在线 | 久久爱资源网 | 91精品视频一区 | 一区二区三区久久 | 操操操天天操 | 日韩在线视频一区二区三区 | 久久久久久国产精品久久 | av中文在线| 成人av电影免费 | 亚洲婷婷综合色高清在线 | 蜜臀av网站| 日本性高潮视频 | 又爽又黄又无遮挡网站动态图 | 天天操月月操 | 99久久久久久 | 中文区中文字幕免费看 | 高清不卡毛片 | 久99视频| 在线观看成人小视频 | 国产亚洲成av片在线观看 | 免费 在线 中文 日本 | 亚洲人成免费 | 91系列在线| 91日韩在线视频 | 99久久婷婷国产综合精品 | 国产一区视频在线 | 五月天婷亚洲天综合网鲁鲁鲁 | 久久精品电影网 | 一级黄色视屏 | 在线观看亚洲国产 | 久在线观看视频 | 国产精品白浆 | 丁香综合av | 少妇bbbb搡bbbb搡bbbb | 婷婷色在线观看 | 视频在线观看入口黄最新永久免费国产 | av高清免费 | 天天人人 | 欧美精品在线一区二区 | 天天艹天天 | 成人三级网址 | 九九九热精品免费视频观看 | 国产精品久久久久久久久久妇女 | 成人av免费在线看 | www.黄色片.com | 中文字幕在线看片 | 精品国产资源 | 国产精品永久免费视频 | 欧美一区二区在线看 | 国产成人免费网站 | av免费福利 | 深夜男人影院 | 精品国偷自产国产一区 | 国产极品尤物在线 | 91成人网在线| 色婷婷久久久综合中文字幕 | 色射色| 午夜日b视频 | 久插视频| 国产精品电影在线 | 欧美日韩在线电影 | 中文字幕xxxx | 六月色婷婷 | 黄色一级大片在线观看 | 手机av在线网站 | 久久精品在线 | 97在线观看视频国产 | 日本黄色大片免费 | 精品国产一区二区三区久久久 | 美女在线观看网站 | 国产小视频免费在线网址 | 欧美日韩精品在线 | 二区三区视频 | 狠狠干.com | 亚洲区视频在线 | 久久黄色免费视频 | 成人黄色电影免费观看 | 在线观看av网站 | www91在线观看 | 日韩精品一区二区三区在线播放 | 国产成人在线免费观看 | 97人人爽人人 | 国产.精品.日韩.另类.中文.在线.播放 | 日韩av影片在线观看 | 精品久久久久久亚洲综合网 | 亚洲午夜精品在线观看 | 日韩高清毛片 | 国产一区欧美一区 | 少妇搡bbb | 久久久久福利视频 | 国产精品一区二区 91 | 日本久久久久久久久久久 | 亚洲一区精品人人爽人人躁 | 日韩av五月天 | 欧美巨大| 在线观看精品黄av片免费 | 91精品一区二区在线观看 | av手机版 | 国产一级在线 | 国产精品99久久久久 | 成人在线视频免费看 | 日韩精品在线免费观看 | 操操操夜夜操 | 国产精品永久在线观看 | 99精品偷拍视频一区二区三区 | 在线观看www视频 | av电影 一区二区 | 99国产一区 | 97超碰中文 | 正在播放国产91 | 91免费版在线 | 亚洲黄色av网址 | 91福利在线导航 | a√资源在线 | 色婷婷 亚洲 | 亚洲综合欧美精品电影 | 99精品视频在线观看 | 久久视频这里有久久精品视频11 | 综合天堂av久久久久久久 | 国产精品久久久久久一区二区三区 | 99国产精品视频免费观看一公开 | 黄污污网站| 中文字幕一区在线 | 精品国产亚洲一区二区麻豆 | 视频一区二区在线观看 | 国产原厂视频在线观看 | 国产精品久久久久久久久搜平片 | 久久天天躁狠狠躁亚洲综合公司 | 免费视频在线观看网站 | 久久ww| 日韩精品黄 | 亚洲免费av网站 | 国产理论片在线观看 | 天天综合网久久综合网 | 亚洲精品一区二区网址 | 夜夜操狠狠操 | 国产91精品久久久久 | 久久精品视频在线 | 在线国产视频一区 | 欧美成人aa | 五月婷婷丁香网 | 亚洲欧美综合精品久久成人 | 中文字幕观看av | 久久免费视频7 | 色狠狠久久av五月综合 | 久艹视频在线免费观看 | 久久午夜免费观看 | 久久精品91久久久久久再现 | 激情五月在线视频 | 99人成在线观看视频 | 亚洲人成人99网站 | 国产小视频你懂的在线 | 99色亚洲 | 日韩在线电影一区二区 | 99精品视频免费观看视频 | 国产亚洲在线 | 日韩一二区在线 | 久久精品一二三区 | 成人av高清在线观看 | 亚洲精品一区二区三区高潮 | 四虎www | 久久激情综合网 | 亚洲视频国产 | 欧美成人理伦片 | 狠狠干成人综合网 | 亚洲有 在线 | 中文字幕91在线 | 欧美有色 | 中文字幕在线国产精品 | 日本三级在线观看中文字 | 国产精品久久免费看 | jizzjizzjizz亚洲 | 国产精品免费不卡 | 激情综合网在线观看 | 又色又爽又黄高潮的免费视频 | 欧美激情综合色 | 欧美日韩精品在线播放 | 99精品视频免费观看视频 | 麻豆国产精品永久免费视频 | 午夜美女网站 | 精品国产一区二区三区四区在线观看 | 青青河边草手机免费 | 最近中文字幕大全中文字幕免费 | 在线观看涩涩 | 一级黄色片网站 | 欧美日韩一区二区在线观看 | 成人久久18免费网站 | 日日碰狠狠躁久久躁综合网 | www五月天 | 成人久久精品 | 国产午夜在线观看 | 福利视频在线看 | 久久免费美女视频 | 欧美日韩天堂 | 日韩av电影网站在线观看 | 成人精品一区二区三区电影免费 | 天堂资源在线观看视频 | 久久免费播放视频 | 成人国产一区 | 日本99久久| 久久影视精品 | 国产视频91在线 | v片在线看 | 日韩精品2区 | 日批网站在线观看 | 激情网五月 | 精品国产理论片 | 亚洲免费在线观看视频 | 国产精品视频最多的网站 | 欧美精品久久久久久久久老牛影院 | 亚洲成熟女人毛片在线 | www.五月天婷婷 | www.在线观看视频 | 天堂av在线网 | 天天做天天爱天天爽综合网 | 久久精品欧美日韩精品 | 国产精品专区在线观看 | 66av99精品福利视频在线 | 日本免费一二三区 | 国产糖心vlog在线观看 | 最近最新mv字幕免费观看 | 三级av免费看 | 国产视频在线免费 | 99r在线 | av色图天堂网 | 一级久久精品 | 亚洲精品视频在线播放 | 精品国产伦一区二区三区观看体验 | 天堂网一区二区三区 | 九九热免费观看 | 成人av电影在线观看 | 久久成人午夜 | 国产一级二级av | 国产视频午夜 | 五月婷婷爱| 一级黄色免费 | av再线观看 | 亚洲午夜精品久久久 | 久久免费视频精品 | 久久久九色精品国产一区二区三区 | 欧美无极色 | 欧美永久视频 | 亚洲一区网站 | 97人人模人人爽人人喊中文字 | 欧美最猛性xxxxx免费 | 香蕉视频4aa| 成人黄大片视频在线观看 | 国产精品永久久久久久久www | 免费在线观看国产精品 | 国产精品久久在线 | 日韩影视在线观看 | 18女毛片 | 久久精品久久精品久久39 | 久久久综合电影 | a久久久久久 | 九九九视频在线 | 深夜视频久久 | 久久国产视频网站 | av一区二区三区在线 | 久草在线视频中文 | 黄色网址中文字幕 | 美女视频黄的免费的 | 日本精品视频免费 | 久久久久国产精品午夜一区 | 91成人精品一区在线播放69 | 美女黄视频免费 | 又长又大又黑又粗欧美 | 日韩高清不卡一区二区三区 | 久久久久久久久免费 | 日韩精品免费在线视频 | 美女网站一区 | 涩涩网站免费 | 久久欧洲视频 | 国产大陆亚洲精品国产 | 精品一区二区三区久久久 | 免费观看一区二区 | 日韩在线免费看 | 亚洲天堂网站 | 国产视频久久久 | 五月天综合激情网 | 成人在线视频在线观看 | 中文字幕欧美激情 | 日韩草比 | 美女视频黄,久久 | 免费a v在线 | 天天干com | 麻豆一区二区三区视频 | 6699私人影院| 国产精品va视频 | 欧美天堂视频在线 | 国产成人综合图片 | 国产在线精品国自产拍影院 | 99久热在线精品视频观看 | 国产精品国产三级国产专区53 | 狠狠夜夜 | 天天做天天射 | 亚洲视频每日更新 | 成人一级影视 | 中文字幕免费观看视频 | 四虎视频| 久久在线看| 91精品国产欧美一区二区 | 国产精品免费麻豆入口 | 毛片精品免费在线观看 | 日本深夜福利视频 | 中文字幕网站视频在线 | 伊人电影天堂 | 久草在线视频网 | 久草在线视频精品 | 免费国产视频 | 一级黄色片在线播放 | 最新真实国产在线视频 | 成人av亚洲 | 色网站免费在线观看 | 特级毛片在线 | 欧美黄色软件 | 天天综合网天天 | 日本电影黄色 | 九九久久久久久久久激情 | 精品极品在线 | 在线观看视频你懂的 | 五月婷香 | 国产精品18videosex性欧美 | 99热超碰 | 天天色天天综合 | 亚洲砖区区免费 | 色综合色综合色综合 | 在线国产黄色 | 日韩视频免费观看高清 | 国产色一区 | 国产精品美女免费视频 | 最近免费中文字幕 | 最近更新好看的中文字幕 | 免费国产一区二区 | 亚洲一二视频 | 国产精品资源在线观看 | 人人揉人人揉人人揉人人揉97 | 久久不见久久见免费影院 | 成人蜜桃 | 91精品视频免费看 | 中文国产在线观看 | 国产97在线播放 | 日韩理论电影在线观看 | 激情伊人五月天久久综合 | 久久综合九色 | 成人av网站在线 | 偷拍精品一区二区三区 | 人人干人人草 | 久久狠狠一本精品综合网 | 欧美视频在线观看免费网址 | 国产精品久久久久久久久久久杏吧 | 国产精品美女在线 | 日本久久精品 | 久久男人视频 | 激情综合色综合久久 | 久久国产精品久久精品 | 久久99久国产精品黄毛片入口 | 91久久久久久久 | 操综合 | 狠狠的日日 | 亚洲成人999| 国产精品免费久久久久久久久久中文 | 色综合网在线 | 日韩在线视频观看 | 国产亚洲永久域名 | 久久免费视频这里只有精品 | 欧美一区二区在线 | 天天爱综合 | 91桃色在线观看视频 | 毛片永久免费 | 亚洲精品一区二区久 | 欧美成人一区二区 | www免费视频com━ | 99国产情侣在线播放 | 日产中文字幕 | 亚a在线 | 在线中文字母电影观看 | 5月丁香婷婷综合 | 久久精品1区| 精品一二三区 | 久久草在线视频国产 | 一级免费片 | 亚洲理论在线观看电影 | 日韩亚洲在线视频 | 成人一级片在线观看 | 伊人天堂久久 | 91理论片午午伦夜理片久久 | 中文字幕色综合网 | 亚洲一片黄 | 97碰碰精品嫩模在线播放 | 五月天久久久久久 | 亚洲视频久久久 | 久久久国产日韩 | 日本性久久 | 99国产精品视频免费观看一公开 | 高清免费在线视频 | 97品白浆高清久久久久久 | 日本婷婷色 | 丁香婷婷综合激情五月色 | 中文字幕 国产精品 | 亚洲国产成人精品电影在线观看 | 色婷婷狠狠五月综合天色拍 | 人人要人人澡人人爽人人dvd | 成人中文字幕在线 | 亚洲每日更新 | 亚洲成人第一区 | 91亚洲精品国偷拍 | 久久99九九99精品 | 久久精品一区二区三区四区 | 久草在线免费资源站 | sesese图片 | 人人插人人费 | 中午字幕在线 | 亚洲1区 在线 | 国产亚洲综合精品 | 麻豆视频免费在线播放 | 激情电影影院 | 亚洲午夜久久久久久久久电影网 | 在线观看视频免费播放 | 天天射狠狠干 | 在线观看你懂的网址 | 91成人免费观看视频 | 精品96久久久久久中文字幕无 | 91精品久久香蕉国产线看观看 | 香蕉视频啪啪 | 亚洲视频电影在线 | 人人要人人澡人人爽人人dvd | 久久神马影院 | 久久免费观看少妇a级毛片 久久久久成人免费 | 日韩av免费一区二区 | 免费激情在线电影 | 日韩一二三 | av免费网站在线观看 | 伊人影院99| 国产一区二区久久精品 | 天天爽天天爽天天爽 | 国产精彩在线视频 | 激情综合中文娱乐网 | 亚洲精品国偷拍自产在线观看 | 欧美一区免费观看 | 日韩av中文在线 | 最新久久免费视频 | 黄污污网站| 精品国产乱子伦一区二区 | 国产精品不卡在线 | 成人三级av| 国产91成人在在线播放 | 99久久国产免费,99久久国产免费大片 | 亚洲国产高清视频 | 国产在线精品一区二区不卡了 | 99国产精品免费网站 | 亚洲美女免费精品视频在线观看 | 久久日本视频 | 国产精品一区二区中文字幕 | 蜜桃麻豆www久久囤产精品 | 亚洲视频aaa| 色婷婷亚洲综合 | 欧美男男激情videos | 国产网站av| 日韩mv欧美mv国产精品 | 日韩美女黄色片 | 国产69久久精品成人看 | 婷婷丁香激情综合 | 成人免费视频网站 | 久久伊人综合 | 2018精品视频 | 97日日碰人人模人人澡分享吧 | 91av视频在线观看 | 欧美日在线 | 色婷婷国产在线 | 在线免费观看黄网站 | 免费日韩一级片 | 国产精品嫩草影视久久久 | 亚洲一级片免费观看 | h视频在线看 | 日本精品视频免费观看 | 久久草在线精品 | 国产美女网 | 久久色亚洲 | 亚洲三级毛片 | 国产成人av在线 | 狠狠色综合欧美激情 | 伊人狠狠操 | 国模一区二区三区四区 | 美女网站黄免费 | 又粗又长又大又爽又黄少妇毛片 | 国产99久久久精品视频 | 国产精品网在线观看 | 国产短视频在线播放 | 日韩理论 | 亚洲精品视频在线观看视频 | 国产精品久久久久久久久费观看 | 最近中文字幕第一页 | 免费av网站在线 | 看片一区二区三区 | 国产成人久久精品一区二区三区 | 狂野欧美激情性xxxx欧美 | 日日夜夜天天久久 | 成人av影院在线观看 | 久久免费视频在线观看30 | av丁香花| 久久99这里只有精品 | 精品一二三四视频 | 色丁香色婷婷 | 国产免费精彩视频 | 一区二区电影网 | 中文字幕在线观看完整版电影 | 国产精品男女视频 | 亚洲精品在线免费观看视频 | 干干操操 | 九七人人干 | 日日碰夜夜爽 | 久草视频在线免费看 | 777视频在线观看 | 精品999| 在线播放日韩av | 国产一卡在线 | 免费成人在线视频网站 | 欧美资源在线观看 | 亚洲资源在线网 | 国产破处在线视频 | 成人一区不卡 | 婷婷丁香五 | 国产高清99 | 一区中文字幕在线观看 | 亚洲va综合va国产va中文 | 日韩高清一区二区 | 97超碰人人澡| 1024在线看片| 特级西西444www高清大视频 | 最新av网站在线观看 | 最新国产中文字幕 | 97视频免费 | 欧美另类高潮 | 中文字幕乱码电影 | 国产一区二区三区高清播放 | av日韩中文| 日本三级中文字幕在线观看 | 国产成人福利在线 | 国产成人精品一区二三区 | 99久久爱 | 人人添人人澡人人澡人人人爽 | 中文字幕一区二区三区四区 | 日韩免费在线视频 | 欧美在线视频一区二区三区 | 天天干干 | 国产成人精品一区二区在线 | 国产精品18毛片一区二区 | 草在线 | 中文字幕在线视频精品 | 国产精品免费视频久久久 | 一级理论片在线观看 | 国产精品久久99精品毛片三a | 中文字幕中文字幕在线中文字幕三区 | 777久久久| 日韩av一区二区三区在线观看 | 日韩高清一区二区 | 亚洲激情 在线 | 国产中文字幕网 | 久草视频免费 | 91精品国产乱码久久桃 | 欧美一级艳片视频免费观看 | 亚洲精品毛片一级91精品 | 午夜精品视频在线 | 久久高视频 | 久久精品99久久 | 高清av网 | 色香蕉在线 | 99这里只有| 91黄色小视频 | 在线观看一区 | 久草免费福利在线观看 | 天天干天天做 | 天天干天天搞天天射 | 国产成人精品综合久久久久99 | 999成人精品| 最新婷婷色 | 在线看片91| 麻豆传媒视频观看 | 五月激情久久 | 亚洲国产成人精品电影在线观看 | 免费视频黄色 | 91在线视频播放 | 国产免费高清 | 欧美日韩精品免费观看 | 色综合 久久精品 | 2024国产精品视频 | 亚洲爱爱视频 | 在线观看日韩中文字幕 | av免费片| 欧美aa一级片 | 免费av在线播放 | 欧美极品少妇xbxb性爽爽视频 | 在线看的毛片 | 97超碰色偷偷 | 亚洲一区二区三区四区在线视频 | 亚洲精品久久久久58 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 午夜久久久久久久 | 国产精品久久伊人 | 中文字幕久久网 | 伊人久久精品久久亚洲一区 | 国产一级淫片免费看 | 亚洲精品91天天久久人人 | 免费午夜网站 | 天天摸夜夜添 | 一区免费在线 | 国产精品va | 九九九热精品免费视频观看 | 男女拍拍免费视频 | 日本在线成人 | 亚洲精品欧美成人 | 九九视频免费在线观看 | 国产一区二区在线视频观看 | 欧美日韩亚洲精品在线 | 超碰人人做 | 天天天干天天射天天天操 | 久久久久99精品国产片 | 欧美久草网 | 精品国自产在线观看 | 国产精品一区二区在线播放 | av视屏在线| 亚洲网站在线看 | 欧美va天堂va视频va在线 | 日韩av看片 | 天堂激情网 | 日韩videos| 免费观看成人网 | 国产一区视频免费在线观看 | 婷婷精品国产欧美精品亚洲人人爽 | avove黑丝| 在线观看片 | 日韩色一区二区三区 | 久黄色| 欧美日韩在线精品 | 欧美视频网址 | 久草在| 久久久久久久国产精品影院 | 久久激情五月丁香伊人 | av中文资源在线 | 久精品视频免费观看2 | 视色网站 | 亚洲黄色在线 | 99在线观看免费视频精品观看 | 一区二区三区高清在线 | 综合激情| 99精品一区二区 | 91黄视频在线观看 | 国产成人精品一区二区三区免费 | 久久精品伊人 | 欧美最猛性xxxxx(亚洲精品) | 国产精品9区 | 在线免费黄色av | 日韩美精品视频 | 日韩一区二区三区不卡 | 一区二区伦理电影 | 久久久久成人精品免费播放动漫 | 欧美午夜久久久 | 精品1区2区3区 | 精品欧美日韩 | 夜夜爽天天爽 | 日韩资源视频 | 最新在线你懂的 | 国产精品久久久亚洲 | 婷婷综合伊人 | 亚洲精品视频一二三 | 日韩视频免费观看高清完整版在线 | 一区二区三区电影大全 | 人人草人人做 | 国产精品久久久久久一区二区 | 人人爽人人爽人人爽学生一级 | 天天干天天做天天爱 | 99视频偷窥在线精品国自产拍 | 狠狠操狠狠插 | 欧美在线日韩在线 | 欧美午夜精品久久久久 | 成年人黄色在线观看 | 欧美日韩1区2区 | 国产精品久久久久av | 国产成人一二片 | 国产91免费在线观看 | 日韩三级视频 | 欧美日韩中文国产一区发布 | www久草 | 日日干干夜夜 | 欧美日韩视频免费看 | 黄色三级在线看 | 久草精品网 | 日韩欧美在线综合网 | 成人久久18免费网站 | 亚洲开心色 | www.福利 | 国产在线一区二区 | 日韩午夜电影院 | 97在线观看免费高清完整版在线观看 | 四虎免费在线观看视频 | 波多野结衣一区二区三区中文字幕 | 一区二区免费不卡在线 | 久久草在线免费 | 成人97人人超碰人人99 | 国产一二三精品 | av中文在线观看 | 美女网站在线观看 | 亚洲精品小区久久久久久 | 亚洲色图27p | 欧美另类网站 | 成人黄色在线看 | 麻豆一精品传二传媒短视频 | 深爱激情开心 | 国产成人精品一区一区一区 | 伊人宗合| 中文字幕色播 | 国产成人久久av977小说 | 欧美福利网址 | 天堂资源在线观看视频 | 波多野结衣在线观看视频 | 婷婷五天天在线视频 | 少妇按摩av | 国产福利在线免费 | 国产一级免费片 | 日韩av手机在线看 | 午夜在线观看 | 操久| 亚洲精品99久久久久久 | 亚洲精品xxx| av大片网址 | 久久久久99精品国产片 | 日本少妇视频 | 日韩v在线91成人自拍 | 伊人永久在线 | 女人18精品一区二区三区 | 99热999| 国产天天爽| 日韩欧美高清在线 | 日韩一区二区久久 | 久久亚洲热| 97电影网手机版 | 国产中文字幕视频在线观看 | 亚洲精品在线观看视频 | 国产精品久久久久久久久久久杏吧 | 精品久久久精品 | 欧美激情精品久久久久久免费 | 国产高清免费 | 亚洲久草网 | 久久精品网站视频 | 国产午夜一区二区 | 免费av小说 | 97看片网 | 亚洲精品在线视频观看 | 精品99免费 | 国产一级片视频 | 久久精品精品电影网 | 国精产品永久999 | www.夜色.com | 久久精品国产99国产 | 在线午夜av | 粉嫩一二三区 | 美女精品在线 | 国产成人一区二区三区影院在线 | 国产无区一区二区三麻豆 | 日韩在线观看你懂的 | 99国产成+人+综合+亚洲 欧美 | 免费a v观看| 免费看片色 | 美女网站黄免费 | 色婷婷av国产精品 | 看片网站黄 | 亚洲一区免费在线 | 丁香综合五月 | 日日夜夜国产 | 人人精久 | 欧美成人在线网站 | 亚洲欧美视频在线播放 | 少妇搡bbbb搡bbb搡aa | 日日夜夜中文字幕 | 国产精品手机看片 | 国内亚洲精品 | 日韩精品在线免费观看 | 99热这里只有精品久久 | 欧美一级片免费观看 | 天天操综合网站 | 国产免费高清视频 | 亚洲精品小视频在线观看 | 久久精品视频在线 | 婷婷丁香av | 国产日产亚洲精华av | 免费观看一级成人毛片 | 国产一区二区免费在线观看 | 在线播放 亚洲 | 国产精品免费在线播放 | 91porny九色91啦中文 | 久久精品国产成人 | 97在线免费视频观看 | 国产精品免费久久久久影院仙踪林 | 黄色成人在线观看 | 国内精品中文字幕 | 欧美精品久久久久久久久免 | 免费在线精品视频 | 亚洲砖区区免费 | 欧美在线视频一区二区三区 | 日韩在线视频一区 | 国内丰满少妇猛烈精品播放 | 精品一区电影国产 | 欧美在线1区| 国产国产人免费人成免费视频 | 国产精品久久久久久久久久新婚 | 色综合天天射 | 日韩欧美在线综合网 | 久久在线免费 | 色视频网站免费观看 | 日韩成人黄色av | 夜色.com| 草久草久 | www久久99 | 日韩专区 在线 | 制服丝袜在线91 | 国产成人久久av | 欧美日在线 | 激情深爱.com | www免费看片com| 国产精品视频大全 | 亚洲午夜小视频 | 99精品国产一区二区三区麻豆 | 日本在线观看一区二区三区 | 日韩国产精品一区 | 99成人精品| 天天干天天在线 | 好看的国产精品视频 | 婷婷视频导航 | 天天干天天在线 | 国产一区二区免费看 | 毛片网站免费在线观看 | 国产精品成人国产乱 | 天天摸日日操 | 日韩三级视频 |