Visual Servoing Graphical User Interface

Visual Servoing Graphical User Interfacebutton3

By: Mohd Faid Bin Yahya (PhD Student)


This article is about the design of graphical user interface or simply known as GUI in visual servoing system. Basically, in any vision system, there will be at least 2 image display windows. One window is used to display original image while another one windowused to display processed image. Fig. 1 shows image display widgets where (a) is original image and (b) is processed image. Notice that Fig. 1 (a) also has user interface for tracking cursor in (X, Y) coordinate format, color values (H, S, V) if click event is triggered in the image display, and the speed of the camera in frame per second or FPS. Additionally, Fig. 1 (b) has user interface to display processed image for options after HSV conversion, morphology operation, when locating contour, and when tracking contour of detected markers.


              3a nov15      (a)


  3b nov15


                                                                     Fig. 1.Image display widgets: (a) original image (b) processed image.


Fig. 2 is an example of vision system widget. The widget shows that there is HSV FILTER to convert image from Red-Green-Blue (RGB) channel to Hue-Saturation-Value (HSV) channel. There are slider bars user interface for H, S, and V for their min-max values that user want to filter out. Below HSV FILTER user interface is MORPHOLOGY OPENING user interface so that erosion and dilation can be performed on the processed image. Then, there is also CAMERA CONTROL / SETTING to start image capture device, or save, or load a video file. Subsequently, HSV MARKER will display info regarding the values for RGB to HSV conversion. Finally, VISUAL SERVO controls are used to get desired image for visual servoing system. This desired image will be compared to current captured image so that a robot will adjust its body by minimizing the error between desired and current images.


3c nov15

Fig. 2.Vision system widget.


Note that the GUI shown in this article is designed using Qt user interface, programmed in C++.