• R/O
  • SSH
  • HTTPS

team-ncxx-sl: Commit


Commit MetaInfo

Révision386 (tree)
l'heure2017-09-09 23:17:07
Auteurono0617

Message de Log

(empty log message)

Change Summary

Modification

--- trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/Stairs.h (revision 385)
+++ trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/Stairs.h (revision 386)
@@ -75,14 +75,14 @@
7575 const int MORTOR_ANG_STOP_RANGE = 90; // 段差を昇ったあとから停止する位置の誤差許容範囲(左右モーターの合計回転角度)
7676 const int MORTOR_ANG_SPIN_RIGHT = 540; // スピン時の距離(右モーターの回転角度)
7777 const int MORTOR_ANG_SPIN_LEFT = -540; // スピン時の距離(左モーターの回転角度)
78- const int MORTOR_ANG_SEARCH_LINE_FORWARD = 120; // ライン探索時の前進距離(左右モーターの合計回転角度)
79- const int MORTOR_ANG_SEARCH_LINE_BACKWARD = -120; // ライン探索時の後進距離(左右モーターの合計回転角度)
78+ const int MORTOR_ANG_SEARCH_LINE_FORWARD = 90; // ライン探索時の前進距離(左右モーターの合計回転角度)
79+ const int MORTOR_ANG_SEARCH_LINE_BACKWARD = -60; // ライン探索時の後進距離(左右モーターの合計回転角度)
8080 const int MORTOR_ANG_SEARCH_LINE_CHANGE_ANGLE_RIGHT = 30; // スピン時の距離(右モーターの回転角度)
8181 const int MORTOR_ANG_SEARCH_LINE_CHANGE_ANGLE_LEFT = -30; // スピン時の距離(左モーターの回転角度)
8282 const int MORTOR_ANG_STEP_DOWN = 300; // 段差を昇るときに走行する距離(左右モーターの合計回転角度)
8383 const int MORTOR_ANG_FOR_STOP_DIFF_MAX = 30; // 段差上昇後の停止位置に移動する際、目標位置までの差分距離のMAX値。(これ以上は同じForward値となるよという閾値)
8484 const int MORTOR_ANG_ADJUST_LINE_FORWARD = 120; // ライントレース走行による位置調整時の前進距離(左右モーターの合計回転角度)
85- const int MORTOR_ANG_ADJUST_LINE_BACKWARD = -90; // ライントレース走行による位置調整時の後進距離(左右モーターの合計回転角度)
85+ const int MORTOR_ANG_ADJUST_LINE_BACKWARD = -80; // ライントレース走行による位置調整時の後進距離(左右モーターの合計回転角度)
8686 const int MORTOR_ANG_LINE_EDGE_CHANGE_FORWARD1 = 120;
8787 const int MORTOR_ANG_LINE_EDGE_CHANGE_FORWARD2 = 60;
8888
--- trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/StartToGoalL.cpp (revision 385)
+++ trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/StartToGoalL.cpp (revision 386)
@@ -13,8 +13,8 @@
1313 {
1414 // 左右モータ総合回転角平均
1515 double totalAvg = (motor_ang_r + motor_ang_l) / 2;
16-// forward = 30;
17-//
16+ //forward = 30;
17+
1818 if(totalAvg < 2600) {
1919 // スタートストレート(スタートからA地点まで)
2020 mode = FirstStraight;
@@ -25,20 +25,18 @@
2525 // 次モードのforward値
2626 minSpeed = 90;
2727 }
28- else if(totalAvg < 7400) {
28+ else if(totalAvg < 5000) {
2929 // 第1カーブ(A地点からB地点まで)
3030 mode = Curve;
3131 }
3232 else if(totalAvg < 8800) {
33- //mode = Straight;
34- forward = 120;
33+ mode = Curve2;
3534 }
3635 else if(totalAvg < 9500) {
37- forward = 95;
38-// // スピードダウン
39-// mode = SpeedDown;
40-// // 次モードのforward値
41-// minSpeed = 80;
36+ // スピードダウン
37+ mode = SpeedDown;
38+ // 次モードのforward値
39+ minSpeed = 90;
4240 }
4341 else if(totalAvg < 12000) {
4442 mode = Scurve;
@@ -46,8 +44,7 @@
4644 else if(totalAvg < 14050) {
4745 mode = Straight;
4846 }
49- else if(totalAvg < 16250) {
50-// else if(totalAvg < 15900) {
47+ else if(totalAvg < 16140) {
5148 // スピードダウン
5249 mode = SpeedDown2;
5350 // 次モードのforward値
@@ -66,25 +63,30 @@
6663 // }
6764 return false;
6865 }
69-//
70-//void Stairs::updatePidValue() {
71-//
72-// switch (modeUpdatePidValue)
73-// {
74-// case BlackLineTraceMode:
75-// // 黒と白の中間を走るPID制御を実施
76-// PIDMgr->SetColor(LIGHT_BLACK, LIGHT_WHITE);
77-// turn = PIDMgr->GetTurnValue();
78-// break;
79-// case GrayLineTraceMode:
80-// // グレーと白の中間を走るPID制御を実施
81-// PIDMgr->SetColor(LIGHT_GRAY, LIGHT_WHITE);
82-// turn = PIDMgr->GetTurnValue();
83-// break;
84-// }
85-//}
8666
67+void StartToGoalL::updatePidValue() {
8768
69+ const signed int LIGHT_GRAY2 = 25;
70+ const signed int LIGHT_WHITE2 = 40;
71+ const signed int LIGHT_BLACK2 = 5;
72+
73+ switch (mode)
74+ {
75+ case SpeedDown2:
76+ // グレーと白の中間を走るPID制御を実施
77+ PIDMgr->SetColor(LIGHT_GRAY2, LIGHT_WHITE2);
78+ turn = PIDMgr->GetTurnValue();
79+ break;
80+ default:
81+ // 黒と白の中間を走るPID制御を実施
82+ PIDMgr->SetColor(LIGHT_BLACK2, LIGHT_WHITE2);
83+ turn = PIDMgr->GetTurnValue();
84+ break;
85+
86+ }
87+}
88+
89+
8890 /*PID制御処理呼び出し
8991 modeによる適正値を設定し、PID制御呼び出し*/
9092 void StartToGoalL::SetPIDData() {
@@ -121,6 +123,9 @@
121123 else if(mode == Curve) {
122124 forward = 90;
123125 }
126+ else if(mode == Curve2) {
127+ forward = 110;
128+ }
124129 else if(mode == Scurve) {
125130 forward = 90;
126131 }
--- trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/StartToGoalL.h (revision 385)
+++ trunk/src/hrp2_beta7/sdk/workspace/sample_cpp2/course/StartToGoalL.h (revision 386)
@@ -1,7 +1,9 @@
11 #ifndef STARTTOGOALL_H
22 #define STARTTOGOALL_H
3+#define LIGHT_GRAY 25
34
45 #include "BaseCourse.h"
6+#include "CommonApp.h"
57
68 class StartToGoalL : public BaseCourse{
79 public:
@@ -11,6 +13,7 @@
1113 void SetPIDData();
1214 bool IsNextCourse();
1315 void setForward();
16+ void updatePidValue();
1417 private:
1518 int mode = 0;
1619 enum RunMode {
@@ -19,6 +22,7 @@
1922 SpeedDown,
2023 SpeedDown2,
2124 Curve,
25+ Curve2,
2226 Scurve
2327 };
2428 };
Afficher sur ancien navigateur de dépôt.