ethz-asl / data-driven-dynamics

Data Driven Dynamics Modeling for Aerial Vehicles
Other
99 stars 14 forks source link

Setting rotor diameter results in huge motor constants #105

Closed Jaeyoung-Lim closed 3 years ago

Jaeyoung-Lim commented 3 years ago

Problem Description Setting the rotor diameters to diameter: 0.2032 results in huge motor constants.

I think the values are unreasonable, (probably it makes sense for it to increase about 25 times?)

To reproduce: https://github.com/ethz-asl/data-driven-dynamics/pull/106

Before PR quadrotor_model.yaml

coefficients:
  c_d_wing_xy_lin: 0.022751869230557692
  c_d_wing_xy_offset: 0.005741662399349513
  c_d_wing_xy_quad: 0.0630041928511851
  c_d_wing_xz_stall_90_deg: -0.04128438467976083
  c_d_wing_xz_stall_min: 0.0057110318294756185
  c_d_wing_y_offset: 0.007906539273005816
  intercept: 0.0
  vertical_c_m_drag_z_lin: -10.324851252250626
  vertical_c_m_drag_z_quad: 6.0213939854338685
  vertical_c_m_leaver_lin: -8.33722923229799
  vertical_c_m_leaver_quad: 32.623014913712176
  vertical_c_m_rolling: -1.467193735480539
  vertical_rot_drag_lin: 0.12166778752250448
  vertical_rot_thrust_lin: -0.1425458591033593
  vertical_rot_thrust_quad: 4.003013943813853
metrics:
  R2: 0.9781734959524644
model:
  vertical_:
  - dataframe_name: u0
    description: front right rotor
    position:
    - 0.13
    - 0.22
    - -0.023
    rotor_0: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: -1
  - dataframe_name: u1
    description: back left rotor
    position:
    - -0.13
    - -0.2
    - -0.023
    rotor_1: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: -1
  - dataframe_name: u2
    description: front left rotor
    position:
    - 0.13
    - -0.2
    - -0.023
    rotor_2: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: 1
  - dataframe_name: u3
    description: back right rotor
    position:
    - -0.13
    - 0.2
    - -0.023
    rotor_3: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: 1
numper of samples: 5650

After PR quadrotor_model.yaml

coefficients:
  c_d_wing_xy_lin: 0.02275186923057826
  c_d_wing_xy_offset: 0.005741662398774494
  c_d_wing_xy_quad: 0.06300419285146497
  c_d_wing_xz_stall_90_deg: -0.041284384679179054
  c_d_wing_xz_stall_min: 0.005711031829141788
  c_d_wing_y_offset: 0.007906539272867441
  intercept: 0.0
  vertical_c_m_drag_z_lin: -29803.363896948467
  vertical_c_m_drag_z_quad: 17381.150752720474
  vertical_c_m_leaver_lin: -4890.203454982687
  vertical_c_m_leaver_quad: 19135.035849196163
  vertical_c_m_rolling: -1.4671937354805777
  vertical_rot_drag_lin: 0.12166778752301603
  vertical_rot_thrust_lin: -16.989613335289164
  vertical_rot_thrust_quad: 2347.968620383804
metrics:
  R2: 0.9781734959524644
model:
  vertical_:
  - dataframe_name: u0
    description: front right rotor
    diameter: 0.2032
    position:
    - 0.13
    - 0.22
    - -0.023
    rotor_0: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: -1
  - dataframe_name: u1
    description: back left rotor
    diameter: 0.2032
    position:
    - -0.13
    - -0.2
    - -0.023
    rotor_1: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: -1
  - dataframe_name: u2
    description: front left rotor
    diameter: 0.2032
    position:
    - 0.13
    - -0.2
    - -0.023
    rotor_2: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: 1
  - dataframe_name: u3
    description: back right rotor
    diameter: 0.2032
    position:
    - -0.13
    - 0.2
    - -0.023
    rotor_3: null
    rotor_axis:
    - 0
    - 0
    - -1
    rotor_type: RotorModel
    turning_direction: 1
numper of samples: 5650
Jaeyoung-Lim commented 3 years ago

Actually probably looks reasonable (or equivalent to rotor diameter 1

Figure_2