(self, alpha, beta)
| 228 | return steer, throttle, brake, metadata |
| 229 | |
| 230 | def _get_action_beta(self, alpha, beta): |
| 231 | x = torch.zeros_like(alpha) |
| 232 | x[:, 1] += 0.5 |
| 233 | mask1 = (alpha > 1) & (beta > 1) |
| 234 | x[mask1] = (alpha[mask1]-1)/(alpha[mask1]+beta[mask1]-2) |
| 235 | |
| 236 | mask2 = (alpha <= 1) & (beta > 1) |
| 237 | x[mask2] = 0.0 |
| 238 | |
| 239 | mask3 = (alpha > 1) & (beta <= 1) |
| 240 | x[mask3] = 1.0 |
| 241 | |
| 242 | # mean |
| 243 | mask4 = (alpha <= 1) & (beta <= 1) |
| 244 | x[mask4] = alpha[mask4]/torch.clamp((alpha[mask4]+beta[mask4]), min=1e-5) |
| 245 | |
| 246 | x = x * 2 - 1 |
| 247 | |
| 248 | return x |
| 249 | |
| 250 | def control_pid(self, waypoints, velocity, target): |
| 251 | ''' Predicts vehicle control with a PID controller. |
no outgoing calls
no test coverage detected