The best sort of worker is the cheapest worker. The one that has the least needs. What young Rossum invented was a worker with the least needs possible. He had to make him simpler. He threw out everything that wasn't of direct use in his work, that’s to say, he threw out the man and put in the robot. Miss Glory, robots are not people. They are mechanically much better than we are, they have an amazing ability to understand things, but they don't have a soul.

- 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

Basics about the Blue Seal Project

The Blue Seal Project is consisting of two, more or less, independent parts:


1) The Robot

start_screen

Aim of this part of the project was to design and construct a compact robot capable of motion. The heart of the robot consists of a batery pack providing power to the Raspberry Pi computer and two stepper motors. The computer can be accessed and programmed through robot`s own wifi network created by an on-board wifi access point router Tenda W311U+.

The robot is equipped with an all-in-one accelerometer and gyroscope sensor MPU-6050. Moreover, distance of the robot to an obstacle can be determined by an ultrasonic sensor HC-SR04. On the board is also the Raspberry Pi camera module, which provides possibility for furter experiments with robotic vision.

Since the project is quite complex, I decided not to tackle the robotic vision, not even some simple artificial inteligence problem and stear the robot by a remote controller, so far. Since I was quite demandfull about the properties of the controller, I had to create one, which gets us to second part of the project.



2) The Controller

start_screen

The second part of the project is using the robot`s own wifi network to control it through TCP/IP messages. The aim of this part was to create a highly customizable TCP/IP controller, which can be used for different applications and purposes. Further, I was interested into stearing the robot on large distances with my phone over the wifi even over obstacles. For this purpose I found a way how to stream a video directly to an Android phone or tablet and even send commands to the robot from the same screen.

Therefore, I designed an Android application consisting of two parts:

a) The Basic Controller

start_screen

The Basic controller consists of two rows of four buttons and a dial-up button field of nine buttons. On right picture we can see how the buttons are distributed.

Image of any button and message sent to the robot after the button is pressed can be customized for every single button individually. There is a galery of more than 50 images to choose from. Moreover, two lines of text on top of the screen show received informations from the robot. Informations as the robot's oriantation (in angles) or distance to the closest obstacle in front of the robot.

There is a textfield at the bottom of the screen informing us about the sent commands, their status or error occured during sending.

b) The Video Controller

start_screen

Thanks to the the build-in wifi adapter`s large transmission rate we can stream live video with near-zero latency and use this to controll the robot even if we do not see it directly.

The Video Controller shows the streamed video and offers the possibility to send further commands to the robot from a single screen.

The screen is divided into three pannels, where two identical panels (each one has eigth buttons) are located on the right and on the left of the screen. The layout can be seen on left picture. The central panel is designed to show the received video stream from the robot. The buttons are customizable and can be even made unenabled to prevent user to press them unwillingly when only few buttons are needed for full control of the robot.


I used the video framework provided by Gstreamer to capture the video stream and display it on the central pannel thanks to succesful implementatiton of Gstreamer SDK for Android applications.



About the author

foto_of_author

My name is Jiří Daněk. I am 27 and I was born in Czech Republic. Currenntly, I am studying theoretical physics in Heidelberg, Germany.

I was always interrested in computers and programming as an amateur. Few years ago, I was charmed by the recent boom of amateur robotics and I decided to make a robot on my own. I spent nearly two year working on this project, but I have learnt so many thing from so many no-so-closely-related fields, that I do not regret even a single minute spent on this project.

In order to build the robot, I needed to learn basics in electrical engineering needed to design and build the battery pack and the main energy circuit.

Further, I had to learn to work with Linux, which brought me few dreamless nights, but the results was worth it, since I was able to programm the brain of my robot to work just as I intended.

Finally, I had to learn how to create an Android application and, even worse, to learn about the Gstreamer SDK and how to implement in in the application. During half a year of hopeless work I learn basics on video processing in computers, about pipelines, pads, containers, codecs and different elements. The more the work seemed hopeless the more I was happy on any occasion, when different parts of the project started to fit together as planned at the early beginning of planning.

The final relief came when I saw the video streamed from the robot on my phone in the real time. This success motivated me to create these web page to share with people what I have learnt and what I have created.

If you are interrested in the Blue Seal Project please support the cause by a donation.



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