Was not what the two Rossums dreamed of. Old Rossum only thought of his God-less tricks and the young one of his millards. And that’s not what your R.U.R. shareholders dream of either. They dream of dividends, and their dividends are the ruin of mankind.

- Karel Čapek, R.U.R.: Rossum's Universal Robots

Follow us on

follow_the_Project_on_facebook

Share this page with friends via

email icon facebook icon twitter icon
linkedin icon google plus icon blogger icon

Introducing the Blue Seal Video Controller

info

In this section we are going to introduce all the features of the Blue Seal Video Controller.

The Blue Seal Video Controller is a customizable graphical interface incorporating all the features of the Blue Seal Basic Controller and puts even new one on the desk.

The main purpose of the Video Controller is to provide us with an interface which displays live video stream from the Blue Seal Robot and simultaneously allows us to control the robot via TCP/IP protocol as known from the Basic Controller. Possible ways to use the Video Controller will be discussed in our second tutorial where we will learn how to stream video from a PC or a Robot using gstreamer.

In this article we are going to describe the screen of the Video Controller with all its components. The Video Controller has also a rich variety of settings which we will introduce in section General settings of the BS Controller.

The screen

screen_basic_controller

Right after the start of the Video Controller a pop-up window shows up with a pipeline which has been created at the start of the Video Controller. On the right picture we can see the screen after start when the predefined pipeline displaying a video stream from server at IP = 192.168.0.21 and port = 5000 was already built.
We can build a predefined test pipeline in order to check the functionality of the Blue Seal Video controller and the gstreamer on your device. We will learn how to build a test pipeline or even how to define our own pipeline in the next chapter.
If any error occurred while building the pipeline, a second pop-up window will show up with details about the error.


screen_basic_controller

The screen of the Video Controller is in the landscape mode and divided into three columns. The central column with a text field showing string replies from server and a video screen showing the received video is bordered by two columns with eight vertically located buttons in each one. The buttons can modified or disabled as we will learn on the next chapter.

The panels with buttons can be hidden individually along with the scrollable text field for server's responses in order to use as much of the device's screen for the video as possible. The video screen will automatically adjust its resolution and ration to match the parameters of the displayed video so we do not have to take care of this manually.

Changing the layout

screen_basic_controller

By pressing the Menu button on our device we can enter the Settings which is shown on the right picture. By checking or unchecking appropriate check boxes we can hide or show individual panels, respectively. This can be even done without any need for stopping the Video Controller which allows us to hide the panels we do not need at the moment and show them as they come handy again.

Examples how to modify the screen

Take a look at several possible modifications of the screen as an inspiration. Which one do you prefer for controlling your robot? Which one do you prefer for controlling a program written by yourself?

screen_basic_controller screen_basic_controller

In this article we introduced the Blue Seal Video Controller. The highly adjustable graphical interface for displaying a live video stream and simultaneous sending of TCP/IP commands to a server. The Controller can be used to control the Blue Seal Robot or any of your own program which runs the TCP/IP server as will be shown in first tutorial and display a video stream. We will learn how to stream a video and catch the stream by the Video Controller in second tutorial.



Blue Seal Project created by Jiří Daněk (2013-2016)