|
|
@@ -66,10 +66,19 @@ func main() {
|
|
66
|
66
|
StubPorts: false,
|
|
67
|
67
|
Controller: "heading",
|
|
68
|
68
|
TargetSize: 2,
|
|
69
|
|
- SteeringOffset: -0.1,
|
|
|
69
|
+ SteeringOffset: -0.06,
|
|
70
|
70
|
}
|
|
71
|
71
|
config.Add("Options", "", options)
|
|
72
|
72
|
|
|
|
73
|
+ rotPID := &rover.PID{
|
|
|
74
|
+ Kp: 0.15,
|
|
|
75
|
+ Ki: 0.35,
|
|
|
76
|
+ UMax: 1.0,
|
|
|
77
|
+ UMin: -1.0,
|
|
|
78
|
+ TiLimit: 0.2,
|
|
|
79
|
+ }
|
|
|
80
|
+ config.Add("Rate of turn", "rot", rotPID)
|
|
|
81
|
+
|
|
73
|
82
|
headingPID := &rover.PID{
|
|
74
|
83
|
Kp: 1,
|
|
75
|
84
|
UMax: 0.3,
|
|
|
@@ -116,6 +125,8 @@ func main() {
|
|
116
|
125
|
controller = &rover.SysIdentController{}
|
|
117
|
126
|
case "speed":
|
|
118
|
127
|
controller = &rover.SpeedController{PID: speedPID}
|
|
|
128
|
+ case "rot":
|
|
|
129
|
+ controller = &rover.ROTController{PID: rotPID}
|
|
119
|
130
|
case "heading":
|
|
120
|
131
|
controller = &rover.HeadingController{PID: headingPID}
|
|
121
|
132
|
case "waypoint":
|