9
TESTING
There are two GUI screens that are currently implemented: the COM port
setup tab and the motor variable tab. Additional screens planned for the future
include a inertial measurements tab, a control parameters tuning tab, and a
high level command tab.
The motor control tab has several features that are important. At the top
of the pane is a dynamic graph that will display in real time it’s received infor-
mation. This feature was one of the deciding factors to use Python instead of
some other language. The graph can be automatically or user scaled on either
axis, and is updated behind the scenes with the received serial strings.
Below the graph is the motor parameter table. This table displays all rel-
evant information about each motor, including: motor number rotations per
second desired rotations per second voltage current electronic speed controller
PWM command thrust torque
K
P
of the motor PID controller
K
I
of the motor
PID controller
K
D
of the motor PID controller The table is updated in real
time based on the received strings. Some fields are editable as well (such as
K
P ID
and DRPM), and when changed AT will send these values through the
serial port as a $ATXXX string (Note: this feature is still in development). This
table is generated at runtime so it is easy to change the number of motors and
the motor parameters. This was done in particular to support the same AT
program for hexrotors and octorotors as well as quadrotors.
9
Testing
Testing is a critical part of any project, and the Anzhelka project is no
exception. All hardware and software is tested thoroughly to ensure correctness.
As more time passes we will work on developing automated tests, including
regression tests once the project becomes mature.
9.1
Hardware Testing
Because hardware is a physical entity it is subjected to many more points of
failure. Parts can be flawed from the factory, assembled wrongly, or miscalcu-
lated.
9.1.1
Frame
The frame is rigid and is made up from nearly the same exact components
for all 4 booms. The center of the frame is the only thing that is not duplicated,
however the top side and bottom side are nearly identical with minor mounting
differences and the center plates are symmetric about the
z
axis. Each boom
needs to be identical in both size and weight to ensure proper balancing.
Once each boom is assembled it should weigh identically to the other booms.
If there is too much of a difference in the weight of the booms it could could
cause the center of mass to change too dramatically. Therefore the booms must
be matched.
29