Essay on Ros Network Problem

Last Updated: 11 Feb 2023
Pages: 7 Views: 119

This part will be examined network problems in Robotic Operating Systems which are network issues in simple robotic systems and a network issues in multiple interconnected robotic systems. These systems are consisting of two or more ROS network, each with its own roscore node. These systems are generally used in multi robot systems either mobile platforms or manipulators. ROS framework provides solutions for these systems. This part discusses two different configurations of simple ROS networks, each with a single computer, and more complex ROS networks each with two or more computers.

Simple ROS i.e. each robot has its own ROS network, usually wired or wireless. In single robots, a single roscore manages all the communications between all the ROS nodes, either in a single computer or multiple computers in the same network. This is different for multiple interconnected ROS and a little more complicated. When more than one robot needs to exchange information, there are often two possible solutions, creating a single large ROS network managed by a single roscore node, or creating a mechanism that allows the exchange of information between ROS subsystems. Both of these methods, that multiple ROS or simple ROS, have advantages depending on the desired action. Besides these advantages, there are connection problems in itself.

These problems have more than one adequate or inadequate solution. The inadequacy of these solutions is often caused by evolving and changing networks because these new events need to be updated. In some cases the links are inadequate and need to be added to new networks, for example, the lack of networks will slow down the flow. The slowdown of the flow and the delays occur often cause big problems in large systems. Solutions based on the desired or occurred problems usually need renewal. The ROS framework already provides a solution for multiple master systems called multimaster_fkie.

Order custom essay Essay on Ros Network Problem with free plagiarism report

feat icon 450+ experts on 30 subjects feat icon Starting from 3 hours delivery
Get Essay Help

Multimaster_fkie basically consists of two nodes: master_discovery and master_sync nodes. It periodically sends mulicast messages to the public network to ensure that other possible ROS masters are aware of their presence and also detect all other ROS masters. The local roscore checks for changes to the local network and notify any other ROS masters in the public network of these changes. Uses information provided for other master_discovery nodes to save remote topics and services to the local roscore. It is also used to update information about information, topics, and services provided by remote master_discovery nodes. It can be configured to select which hosts, topics, and services to synchronize or ignore. By default, all hosts are synchronized with all threads and services, so it is good practice to synchronize only the absolute minimum number of topics and services to reduce the required bandwidth.

The master_sync node synchronizes only the remote threads or services with the local roscore. To be able to reverse, the remote roscore must have its own master_sync node. The multimaster_fkie solution supports only topics and services, but because they are installed on 5 topics, actions are implicitly supported. You cannot remotely access the parameter server for each roscore. As in a standard ROS system, when points, services, or actions are recorded in remote ROS subsystems, a point-to-point socket is created to directly connect two or more nodes, and the configuration changes (a new publisher / subscriber appears or disappears, etc.). This multi-main solution is currently supported in both ROS Hydro and ROS Indigo, but is only supported under the kitty frame.

Network configuration for single computer ROS networks is easier than multiple computer systems. Because Multimaster_fkie does not support remote initialization of an ROS node on a different ROS network, there is no need to exchange files between computers in different ROS networks so that common computers can access different computers without a password. However, if there is no DNS server to provide a connection between host names and IP addresses in the network, these files must be made manually by modifying the master files. This is necessary to ensure proper operation of the ROS frame. Each master_discovery node sends and receives information from other master_discovery nodes on the same public network using the multicast feature.

Nowadays, almost all network adapters support this feature, but Ubuntu systems are disabled by default. The multicast feature is very important on multimaster_fkie based multi-host ROS systems, because if it is not enabled, the initial setup and operation may appear correct, but after 10 minutes all network connections are closed. In addition to enabling multicasting, it must also select a multicast address group for all computers that will be used to notify others of changes to any master_discovery node. Once the local ROS nodes know the remote nodes provided by the master_discovery and master_sync nodes, the network connection designed for remote networks must be properly routed to ensure communication between nodes in different ROS networks.

This can be easily achieved by adding static routes to the router, access point, or computer used to manage the common network. However, each computer must have a unique IP address to correctly orient the track to the destination. In this case, the simplest solution is to use the IP address of the public network assigned to each computer as the ROS_MASTER_URI variable. Therefore, although all computers use separate roscore nodes, there is no need to add static routes because they share the same network interface. This solution is no longer available when there are several computers in each of the local networks. (Juan & Cotarelo, 2015)

One of the problems, connection between robots during the flow of errors and cannot create the correct flow. The main ways to create the network are to provide the desired services or to identify the publisher or subscriber links with other nodes. Both methods communicate through the message types specified. Some types are provided by the kernel packages, but message types can be defined by individual packages. They can be implemented as immediately replace components with similar interfaces, eliminating the need to stop the system for various changes. Multi component outputs can be multiplexed to an input for another component, which allows parallel resolution of the various components.

Components in various programming languages can only be connected to the messaging system by applying the appropriate connectors. Nodes can be created over a network of devices, running the code and the implementation of Inter Process Communication (IPC) and Remote Procedure Call (RPC) systems. Using two previous points, you can connect directly to feeds from remote hardware without optionally writing any extra code. A few years after the errors occurred, the system's architecture created a number of reusable packages that were easy to integrate.

Alternative approaches such as MRPT, CARMEN, LCM, Player, Microsoft RDS and others provide some of these features, but not all of them. Design reductions are often the lack of support for various devices, which are the limitation of language support, unsupported communication between processes, or the most difficult problem to solve. At the same time, each module receives only the data or messages with using Publish/Subscribe when it requests. (Ademovic, 2015)

Another problem is connection problems that occur in outdoor robots. In a ROS application, the robot software is generally distributed to multiple network components, where each component acts as a server or client, and which also forms the ROS network in which the robot data is broadcast acted as the domain. For indoor robots, a local ROS network is sufficient through a Wi-Fi hotspot. However, for outdoor robots, a remote ROS network is required to connect the ROS application to the cloud. Although a number of cloud-based solutions support this, it is difficult to implement them because ROS must be configured to facilitate the flow of unique, versatile and simultaneous robot data. As an alternative approach that offers exclusive, secure and direct ROS-ROS, Port Forwarding eliminates the need for special middleware software and the complexity of configuration and setup. However, Port Forwarding has its own challenges.

Initially, it is important to know in advance about the need to update all of the networked components' Internet addresses and the port forwarding settings they usually make when these addresses change. The results show that robot performance under Port Forwarding is the same as cloud-based solutions, but requires part of the installation time. The authors developed a series of shell scripts that monitor and update the Port Forwarding settings automatically when the Internet addresses of all networked components have changed and resolved. Port Forwarding can be seen as a suitable option for ROS system networks in the same way as cloud-based solutions. ROS provides tools to connect applications to the cloud; for example, the rosbridge package that allows non-ROS clients, such as web applications, to publish or subscribe to any ROS topics by moving JSON format messages over the Internet.

Language and platform-independent can interact with any ROS-based robot from any platform that understands JSON, without any ROS customer. Another solution that is cloud-based is android by connecting ROS enabled robots to android and Google's cloud services. This is accomplished using rosjava and android_core packages, which allow ROS to be implemented in Java and android, respectively. Together, they allow developers to create android Apps that can interact with ROS enabled robots. However, the difficulties in using android are the same as rosbridge, rosjava and android_core, allowing building blocks to develop only ROS-android applications, but developers still need improvements.

For every ROS message in the robot application, the ROS network must write the rosjava code to facilitate the flow of versatile and simultaneous robot data. It requires extensive knowledge of advanced concepts in android App development, such as background process and concurrency. In addition, it is fundamentally different in C ++ (ROS language) and Java software architecture, so developers need to manage these differences when associating ROS with android. However, these platforms have limits.

The best way to define these boundaries is an analogy that thinks of Rosbridge and cloud robot platforms as a manual and automatic transmission in the vehicle and the automatic transmission make some use, but the driver still needs to drive. The same applies to cloud-robot platforms while the developers provide the scaffolding that connects the various technologies. For example, RoboEarth platform Rapyuta, KnowRob, WIRE, etc. It consists of various components.

So, when using this platform, these individual components and also rosbridge, web servers, database design, web application and so on. Finally, using these open source platforms brings concerns about data security and privacy as robot data is exposed to anyone exposed to unwanted access to private and private applications. The remote ROS network does not work without further setup. This is because each modem / router acts as a protection that prevents all incoming.

Cite this Page

Essay on Ros Network Problem. (2023, Feb 11). Retrieved from https://phdessay.com/essay-on-ros-network-problem/

Don't let plagiarism ruin your grade

Run a free check or have your essay done for you

plagiarism ruin image

We use cookies to give you the best experience possible. By continuing we’ll assume you’re on board with our cookie policy

Save time and let our verified experts help you.

Hire writer