Skip to content

Commit 1eaca2d

Browse files
committed
update: motionparserのPCIDSにもパラメータを追加
1 parent f215783 commit 1eaca2d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

modules/MotionParser.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ vector<Motion*> MotionParser::createMotions(Robot& robot, string& commandFilePat
554554
// PCIDS: IMU角度補正直進に、カメラ画像の色検出による停止条件を追加した動作
555555
// [1]:double 距離[mm], [2]:double 速度[mm/s], [3-5]:double 角度補正PIDゲイン(kp, ki, kd),
556556
// [6-8]:int HSV下限, [9-11]:int HSV上限, [12-15]:int ROI座標[px] ([12]左上x, [13]左上y,
557-
// [14]幅, [15]高さ), [16-17]:int 解像度[px] ([16]幅, [17]高さ)
557+
// [14]幅, [15]高さ), [16-17]:int 解像度[px] ([16]幅, [17]高さ), [18]:double 最低走行距離[mm]
558558
case COMMAND::PCIDS: {
559559
CameraServer::BoundingBoxDetectorRequest detectionRequest;
560560

@@ -565,9 +565,15 @@ vector<Motion*> MotionParser::createMotions(Robot& robot, string& commandFilePat
565565
= cv::Rect(stoi(params[12]), stoi(params[13]), stoi(params[14]), stoi(params[15]));
566566
detectionRequest.resolution = cv::Size(stoi(params[16]), stoi(params[17]));
567567

568+
double minimumDistance = 0.0;
569+
if(params.size() > 18) {
570+
minimumDistance = stod(params[18]);
571+
}
572+
568573
auto pcds = new PictureColorDistanceStraight(
569574
robot, stod(params[1]), stod(params[2]),
570-
PidGain(stod(params[3]), stod(params[4]), stod(params[5])), detectionRequest);
575+
PidGain(stod(params[3]), stod(params[4]), stod(params[5])), detectionRequest,
576+
minimumDistance);
571577
motionList.push_back(pcds);
572578
break;
573579
}

0 commit comments

Comments
 (0)