Hi,
I went through the steps for calibrating thrust_scaler
, documented here. The mass of the drone and battery was 1.2kg, and thus I set total_mass=1.2
. Starting with thrust_scaler=200
I iteratively updated it until it reached the correct set-point of z=1
, with a final value of thrust_scaler=102
.
I then added weight to the drone. I added exactly 500g to the drone, and thus changed the total_mass=1.7kg
. However I noticed that running the same test, the drone only reaches z=0.5
.
My instinct tells me to rerun the iterative process of finding a new thrust_scaler
. However reading more into the documentation it mentions this:
This does not include adding payloads (you should adjust total_mass parameter for that.
So I now a bit lost as the best move forward. More generally I notice that there are several params
in the launch file:
<node name="lqg_controller" pkg="lqg_control" type="lqg_control_node" output="screen" if="$(eval not use_velctrl_only)">
<param name="controller_rate" type="int" value="45" />
<param name="total_mass" type="double" value="$(arg total_mass)"/>
<param name="use_stricter_gains" type="bool" value="false" />
<param name="estimator_rate" type="int" value="50" />
<param name="bias_compensation" type="string" value="$(arg bias_compensation)" />
<param name="mass_estimation" type="bool" value="true" />
<param name="mass_correction" type="bool" value="false" />
<param name="enable_flatness_ff" type="bool" value="$(arg enable_flatness_ff)" />
</node>
For example mass_correction
, bias_compensation
, total_mass
. Is there documentation anywhere as to what each do? Also any suggestions about my current issue with changing the weight?