This is with reference to this:
The link is for the calculation of delta_b which I feel is the linear velocity of the drone. The linear component is being derived from the flow values and the angular velocities from the gyro. I, however am not able to find any information on how this formula is derived. Is there any documentation (research paper or so) on this. I found some related literature in Angular Rate Compensation section here https://people.inf.ethz.ch/pomarc/pubs/HoneggerICRA13.pdf, however the formula requires focal length and other parameters that are not available to us.
I am also confused on the reference frame. The documentation states:
The output of the flow when moving in different directions must be as follows:
which says that the +Y of the flow should be forward which I believe is the reason for
body frame velocity
delta_b( +(flow_y_rad - gyro_y_rad) * d, -(flow_x_rad - gyro_x_rad) * d, 0);
as the +Y of the flow corresponds to +X of the drone and +X of the flow corresponds to -Y of the drone. However, flow_y_rad and gyro_y_rad are coming from two reference frames in case of sensors such as thoneflow which dont have a gyro on board. In such a case gyro +X axis would be aligned with +Y of the flow. Is this understanding correct.
The “zero” rotation is when the sensor board and vehicle X-axes are aligned (i.e. the “front” of the vehicle and the board are in the same direction), with rotations increasing in a clockwise direction. PMW3901 modules have a small notch indicating the direction of the back of the board. The diagram shows the orientation of the Bitcraze board to the vehicle that corresponds to
SENS_FLOW_ROT=0(note the notch at the back).
Does this still say that +Y of the flow should be aligned to forward of the drone.