hebiros_temperature_model.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace hebiros {
4 namespace sim {
5 
6 // A simple multi-stage actuator temperature model.
8 public:
9  static TemperatureModel createX5();
10  static TemperatureModel createX8();
11 
12  void update(double power_in, double dt);
13 
14  // Winding temperature
15  double getMotorWindingTemperature() { return t_w_; }
16  double getMotorHousingTemperature() { return t_h_; }
17  double getActuatorBodyTemperature() { return t_b_; }
18 
19 private:
21  double r_wh, double r_hb, double r_be,
22  double c_w, double c_h, double c_b);
23 
24  // Thermal resistances: winding-housing, housing-body, body-environment
25  const double r_wh_;
26  const double r_hb_;
27  const double r_be_;
28 
29  // Thermal capacitances: winding, housing, body
30  const double c_w_;
31  const double c_h_;
32  const double c_b_;
33 
34  // State variables - these are the bodies for which we
35  // model temperature
36  double t_w_{34.0}; // Motor winding
37  double t_h_{34.0}; // Motor housing
38  double t_b_{32.0}; // Actuator body
39 
40  // Environment temperature (in *C) ; assume room temperature + fudge factor
41  static constexpr double t_e_{32.0};
42 };
43 
44 }
45 }
void update(double power_in, double dt)
TemperatureModel(double r_wh, double r_hb, double r_be, double c_w, double c_h, double c_b)


hebiros_gazebo_plugin
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:13:55