Close

KiteView Software Overview

A project log for Kite Propulsion

Harnessing the wind with robot controlled kites

E. RobotGrE. RobotGr 05/01/2022 at 10:380 Comments

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.

Features

Hue tracking

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

Camera

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

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. 

Actuators

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.

Code Used

The following libraries are used:

The following code is used:

Next Steps

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.

Discussions