Browse Source

删除两轮小车走迷宫时横向移动功能

corvin 4 years ago
parent
commit
40ea74fa0f
1 changed files with 0 additions and 41 deletions
  1. 0 41
      src/infrared_maze/src/infrared_maze.cpp

+ 0 - 41
src/infrared_maze/src/infrared_maze.cpp

@@ -279,46 +279,6 @@ int controlTurn(int flag)
     return 0;
 }
 
-/**********************************************************
- * Description:控制小车移动在过道中间,比较左右两边的距离后
- *   然后进行水平左右移动.使小车保持在过道中间位置.
- **********************************************************/
-void horizMoveMiddle(float tolerance)
-{
-    float diff = 0.0; //计算左右两边距离差
-    float begin_yaw = 0.0;
-    float now_left  = 0.0;
-    float now_right = 0.0;
-
-    turnFlag = HORIZ_MOVE;
-    yawSrvClient.call(yawSrv); //记录平移前的角度,作为标准进行修正
-    begin_yaw = yawSrv.response.yaw;
-
-    distSrvClient.call(distSrv);
-    now_left = distSrv.response.left_dist; //获取左边距离
-    ros::Duration(0.02).sleep();//在获取两次传感器值之间需要加延迟
-    distSrvClient.call(distSrv);
-    now_right = distSrv.response.right_dist;//获取右边距离
-
-    diff = now_left - now_right;
-    ROS_INFO("diff:%f,left:%f,right:%f", diff, now_left, now_right);
-    while((fabs(diff)>tolerance)&&(now_left!=(float)0.3)&&(now_right!=(float)0.3))
-    {
-        ros::Duration(0.1).sleep(); //delay 100ms
-        yawUpdate(begin_yaw); //用于修正转歪的角度
-
-        distSrvClient.call(distSrv);
-        now_left = distSrv.response.left_dist;
-        ros::Duration(0.02).sleep();//在获取两次传感器值之间需要加延迟
-        distSrvClient.call(distSrv);
-        now_right = distSrv.response.right_dist;
-
-        diff = now_left - now_right; //计算左右距离差值
-    }
-    //当平移结束后立刻停止移动
-    publishTwistCmd(0, 0); //stop move
-}
-
 /***************************************************************************
  * Description:检查三个传感器数据,然后控制小车移动.这里需要防止小车在原地
  *   进行连续两次旋转,在每次转弯后必须有个直行.这里需要注意的是当小车在转弯
@@ -345,7 +305,6 @@ void checkInfraredDist(float infrared_f,float infrared_l,float infrared_r,
     {
         //始终控制小车保持在过道的中间位置
         ROS_WARN("go Forward ! yaw_data: %f", start_yaw_data);
-        horizMoveMiddle(tolerance);
         turnFlag = GO_FORWARD;
         flag = 0; //设置直行标志
     }