   {
     if (variable_flag == false)
     {      
+      imu.begin();
+
       odom_pose[0] = 0.0;
       odom_pose[1] = 0.0;
       odom_pose[2] = 0.0;

*******************************************************************************/
void updateTF(geometry_msgs::TransformStamped& odom_tf)
{
  odom.header.frame_id = "odom";
  odom.child_frame_id = "base_link";
  odom_tf.header = odom.header;
  odom_tf.child_frame_id = "base_footprint";
  odom_tf.transform.translation.x = odom.pose.pose.position.x;
  odom_tf.transform.translation.y = odom.pose.pose.position.y;
  odom_tf.transform.translation.z = odom.pose.pose.position.z;
  odom_tf.transform.rotation = odom.pose.pose.orientation;
}

/*******************************************************************************

    wheel_r = 0.0;

  delta_s     = WHEEL_RADIUS * (wheel_r + wheel_l) / 2.0;
  theta       = atan2f(imu.quat[1]*imu.quat[2] + imu.quat[0]*imu.quat[3], 
                0.5f - imu.quat[2]*imu.quat[2] - imu.quat[3]*imu.quat[3]);

  delta_theta = theta - last_theta;

  v = delta_s / step_time;
