You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					36 lines
				
				846 B
			
		
		
			
		
	
	
					36 lines
				
				846 B
			| 
								 
											6 years ago
										 
									 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DEGREES_TO_RADIANS 0.017453292519943295
							 | 
						||
| 
								 | 
							
								#define RADIANS_TO_DEGREES (1.0 / DEGREES_TO_RADIANS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define MAX_ANGLE_OFFSET (10.0 * DEGREES_TO_RADIANS)
							 | 
						||
| 
								 | 
							
								#define MAX_ANGLE_OFFSET_TH  (9.0 * DEGREES_TO_RADIANS)
							 | 
						||
| 
								 | 
							
								#define MIN_STIFFNESS  0.5
							 | 
						||
| 
								 | 
							
								#define MAX_STIFFNESS  2.0
							 | 
						||
| 
								 | 
							
								#define MIN_SR  0.5
							 | 
						||
| 
								 | 
							
								#define MAX_SR  2.0
							 | 
						||
| 
								 | 
							
								#define MIN_SR_TH  0.55
							 | 
						||
| 
								 | 
							
								#define MAX_SR_TH  1.9
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class ParamsLearner {
							 | 
						||
| 
								 | 
							
								  double cF0, cR0;
							 | 
						||
| 
								 | 
							
								  double aR, aF;
							 | 
						||
| 
								 | 
							
								  double l, m;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  double min_sr, max_sr, min_sr_th, max_sr_th;
							 | 
						||
| 
								 | 
							
								  double alpha1, alpha2, alpha3, alpha4;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  double ao;
							 | 
						||
| 
								 | 
							
								  double slow_ao;
							 | 
						||
| 
								 | 
							
								  double x, sR;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  ParamsLearner(cereal::CarParams::Reader car_params,
							 | 
						||
| 
								 | 
							
								                double angle_offset,
							 | 
						||
| 
								 | 
							
								                double stiffness_factor,
							 | 
						||
| 
								 | 
							
								                double steer_ratio,
							 | 
						||
| 
								 | 
							
								                double learning_rate);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  bool update(double psi, double u, double sa);
							 | 
						||
| 
								 | 
							
								};
							 |