This panel is used to configure the stick parameters for manual and assisted manual of the control system.

Stick Configuration

  • YR: matrix to mapp stick inputs R into a vector called Y.
  • Y0: offset matrix, it is needed to configure correctly the vector.
  • Wizard Stick: allows the user to work out YR and Y0 matrices using an assistant.

The movement that the pilot makes on the stick produces variations on a vector called R. The values reached by the components of R are limited between 0 and 1. These stick movements need to be processed to produce the input signals that will go into the navigation system (in the case of arcade), or directly into the servos (purely manual). The process begins by mapping each one of the sticks inputs to a vector called Y which has the size of the number of servos and relates the sticks with each one of them.

For example, let’s consider a quadrocopter. In this case, if the pilot wants to apply more thrust, he moves one stick up so one value of R will become different from zero. In reality, this movement should produce an increase in the rotation speed of the four engines, so here the mapping will be that an increase in one component of R (throttle stick) has to produce an increase in the rotation of four engines, i.e one component of R affects four components of Y. Doing that with the rest of stick positions (pitch, yaw, roll) will generate a matrix, YR, which will transform the stick position into a servo movement.


These values of YR indicate the slope for the transformation between values of R and Y (its relation), so an offset has to be indicated to obtain the final expression. The equation that transforms raw stick inputs R to Y is: Y=YR*R+Y0.

  • YR: Raw Channels to servo transformation matrix.
  • R: Inputs from Stick.
  • Y0: Offset after applying transformation to servos.

The offset is calculated by setting R and Y with a specific value. For example, considering the neutral position of the sticks (0.5, Rn), and the neutral position of servos (it depends on the aircraft, Yn), if all the components of R and Y are set to these values, the solution for the offset vector will be: Y0=Yn-YR*Rn.

The process will end here if the manual mode is used, but if the arcade mode is used, the objective is to obtain control input for the controller so the Y vector has to be further processed. The components of Y are transformed to “real” servo movement through the curve of each actuator (the one that appears in section 6.6.1). Then, the US matrix will transform the servo movement (S) into control inputs for the system (U).

Wizard Stick

All the procedure explained can be carried out by the assistant. Let’s consider a quadcopter configuration. Once the matrix US has been established, it possible to select the Wizard Stick option.

Wizard Stick

In this panel, users can select the output and the stick channel. In addition, it is possible to Configure Neutrals, this  option computes the offset.

Wizard Stick – Configure Neutrals

User have to set the neutral position of the stick, in this case 0.5. On the other hand, the neutral position of servos is 0, this means that motors are not working.

Finally, user have to press Accept and check if all values set are correct. The following image shows the YR matrix and the offset computed.

YR Matrix and Offset

Note: It might be some configurations such as a hybrid plataform that it is not possible to use the assistant due to number of channels. For this plataform a same channel is used for plane and quadcopter configuration. So, the stick configuration has to be done manually.


The option  is used to select which servos will “listen” the commands sent by the stick. If the servo is selected (green box), it means that servo will be moved if a stick channel is configure to do so. On the other side, if a servo is not selected (gray box), it will ignore the commands sent from the stick.


Stick sources

It is possible to set multiple joystick inputs with the respective priority, from top to bottom.

  • UAV : It is the source of the Stick information. Local represents the actual autopilot, Pipe fixed the information form virtual sticks and Cloud the Stick information received form the cloud service.
  • Port: From each source it is posible to have more than one Stick information, Port it is an identifier to distinguish them.
  • Time:  Defines the time to consider the source inactive.  Therefore the Stick information will be always the source with higher priority and active. Once it is considered inactive the following active source will send the Stick information.
  • ON: Enables the source.
  • Overwrite: If marked the Stick information is overwritten  by that source.