The floating base is unmanned and instead is equipped with a group of sensors that collect information about its status and the condition of the underwater area. One computer is called unit point and corresponds to the floating base and the other one is named Base Point which corresponds to the land-based control center.
Problem Description
In between, an Ethernet network is set up to simulate the link between the two nodes, with varying traffic and connection performance.
Literature Review
The autonomous surface vehicle is capable of retrieving the remotely operated vehicle via a radio link from a land-ground station. The autonomous surface vehicle contains sensors to collect and publish, within the agency, the position, attitude, axial rotation rates and accelerations of the vehicle obtained by GPS and IMU.
Thesis Structure
The platform can be used for reconnaissance, monitoring and light intervention purposes in the underwater environment, allowing telepresence and direct guidance of the operator to the desired location without the expense of manned supply vessels. ROS helps monitor the status of the infrastructure and warns of system failures.
Contributions
History
Why Use ROS
ROS can also integrate with other open source programs, such as gazebo and OpenCv for simulation and image processing respectively. For example, a robot's sensor node sends data as messages to be consumed by any other node.
Applications Using ROS
Roomba uses node drivers to describe its functionalities such as speed, odometer and other features from ROS libraries. Lego NXT is compatible with ROS providing the ability to run applications such as keyboard/joystick teleoperation, wheel odometry, etc.
ROS Terminology
The service client is implemented on the node that requests the specified command and receives results. It is used to execute a single node in the package. The node uses the ROS HOSTNAME environment variable stored on the computer the node is running on as the URI address and the port is set to an arbitrary unique value.
Message Communication
The subscriber node receives the information of the publisher node corresponding to the same topic name registered in the master. Based on this information, the subscriber node directly connects to the publisher node to receive messages.
ROS communication models differences
To exchange messages between these nodes, the connection must first be established using a master. They are complex procedures for long tasks as they do not block operations and they can be anticipated.
Analyze Message Communication Flow
The publisher node sends the URI address and port number of its TCP server in response to the subscriber node's connection request. The subscriber node creates a client for the issuing node using TCPROS and connects to the issuing node.
Messages
The 'msg' file is the message file used by topics and has the file extension . The 'srv' file is the message file used by services, with the file extension .
ROS Tools
The ROS Wiki lists many of the possible tools that are added to the rqt screen as plugins such as 'rqt' plugins. The rqt chart is a tool that shows the correlation between active nodes and the messages being transmitted in the ROS network as a diagram. The 'rqt console' is a viewer in the rqt package that displays messages that are published in rosout 2.16.
CV camera is a ROS camera manager that uses OpenCV capture object to capture images from camera and publish them in topic /cv camera/raw.
SSH Definition
How it works
The SSH protocol uses a client-server model to authenticate two parties and encrypt data between them [17]. It is responsible for negotiating a secure connection, authenticating the person connecting, and creating the correct environment if the credentials are accepted. The client is responsible for initiating the initial TCP handshake with the server, negotiating a secure connection, verifying that the server's identity matches previously recorded information, and providing authentication credentials.
The second phase is to verify the user and discover whether access to the server should be granted 2.18.
Database
Evolution of Databases
Databases have evolved since their beginnings in the 1960s, beginning with hierarchical and network databases, through the 1980s with object-oriented databases, and today with SQL and NoSQL databases and cloud databases. In one view, databases can be classified by type of content: bibliographic, full-text, numerical, and image. There are many different types of 2.19 databases, from the most widespread approach, the relational database, to distributed databases, cloud databases, or NoSQL databases [22].
The objects that will be stored in the database have attributes (ie gender, age) and methods that specify what to do with the data.
SQL Definition
In response, the server processes the SQL statements and returns the responses to the client program. SQL is a language designed to store data, but the data stored in an SQL database is not static. It can be modified at any time using some very simple commands.
With the UPDATE statement, already existing information in an SQL table can be easily modified.
OpenCv
- OpenCv Definition
- Computer Vision
- Haar-Cascade Detection in OpenCv
- YOLO
- OpenCv in ROS
Algorithms are applied to the binary data acquired in the first step to derive low-level information about parts of the image. This process is most commonly used in image processing for object detection and tracking, primarily face detection and recognition. The first cascade classifier is the Viola and Jones face detector. The requirement for this classifier was to be fast to be implemented on low-power CPUs, such as cameras and phones [41]. To train a classifier, it needs samples, which means it needs a lot of images showing the desired object for detection (positive sample) and even more images without the object (negative sample). The best results came from positive images that resemble those in which the desired object is in, except that they are cropped so that only the object is visible [39].
The thicker the predicted bounding box, the more reliable the prediction, which means a higher pc value. The goal is to remove those "shadow" fields surrounding the main projected field [42].
Hypertext Markup Language - HTML
HTML Definition
The cv bridge library converts a cv image into a ROS image message and then republishes it over ROS [1]. HTML documents consist of document tags that act to directly describe the visual appearance of a web page or to provide a directive such as the insertion of visual material or a link to another web page within a document.
How HTML works
A
A link in an HTML document is converted to a link object, which consists of a tag and an anchor.
ROS Communication models
These two client/server models as well as the topic communication model will be further analyzed in the following sections. In the "application" folder, the "CMakeLists.txt" and "package.xml" files are created along with the default folders. Therefore, the build environment is described in the 'CMakeLists.txt' file in the package folder.
This option will include "UnitCall.srv" and "BaseCall.srv" when building the package, which will be used on nodes.
UnitCall Service
Regarding the hardware in the simulation scenario, the Unit machine uses its web cam to detect faces and eyes instead of human bodies. Specifically, in the html code below, four buttons have been created to allow the user to choose what kind of information he wants to receive. Each new message is a new row in the table and their values are placed in the corresponding name.
The project implemented the idea of building a complete security system to inspect and secure a dispersed area from possible violations.
BaseCall Service
ROS Master
To define the machines' hostnames, the first step is to open the /etc/hosts file. Then specify the color of the line, which is in the form of (blue, green, red) with adjustable values, the range is 0-255. To run the application as a single module, a new Flask instance is initialized with the argument name to let Flask know that it can find the HTML template folder (templates) in the same folder where it is located.
Every time there is a new human violation in the area and thus the result of OpenCv j=1, "Unit" informs the "Base" with a warning message.
Network Setup in ROS
OpenCV
The main part of Opencv code block uses LBPH (Local Binary Patterns Histograms) algorithm to detect faces. Since some faces may be closer to the camera, they will appear larger than the faces on the back. Min- Neighbors defines how many objects are detected near the current one before declaring the face found.
This function returns four values: the x and y location of the rectangle, and the width and height (w, h) of the rectangle. These values are needed to draw a rectangle using the built-in rectangle() function.
Sql
Html
The route decorator (@app.route('/')) is used to specify the URL that should trigger the execution of the print items and empty functions, therefore it binds the functions with the URL. These three functions simply render the HTML files print items.html and blank.html using the render template() method. Print items function also contains a MessageBox() method that pops up a message box in the rendered print items Html page under conditions.
Initially, the 'print items' template loads the css file that creates a scroll table where the data will be displayed.
Application Description
UnitCall Development