KiteView is the software that tracks the kite using computer vision. This is key to controlling the kites for autonomous flight.
The goal is for KiteView to control the kite to its target location and communicate with the steering module microcontroller to move the motors.
KiteView is built on Processing.org (desktop Processing version 3). The reason for choosing this was for the fast customizability of the interface, tracking, filtering, and more, as well as connectivity to serial ports, all in one place. This flexibility is needed for the fast paced changing development of this type of robot system.
The hue of the kite is tracked using computer vision. There are parameters in the code to change such as the range of the hue.
Set the landscape line
Connect to microcontroller over uart
In the middle of the view is the camera. This can either be a usb camera feed, or from a usb video source. The camera is 1296 x 972 pixels, scaled by 0.5x to this size.
Data logging of the trace points (x, y, w, h) is saved to a .csv file in the sketch’s data folder. Data is logged on each time a trace point is added.
The pitch and yaw user interface elements will control the motors on the steering module. Reel is similar, but will be a separate module. This is a work in progress and dependent on the communication to the microcontroller. The interface might change.
The following libraries are used:
The following code is used:
On my computer, the frames per second that is able to be achieved ranges from 4 - 10 fps.
In the future, the aim is for this to be running on a single board computer, such as the Nvidia Jetson Nano.
The next step is to get bidirectional communication working to the microcontroller.