OptSample: A Resilient Buffer Management Policy for Robotic Systems based on Optimal Message Sampling

09/07/2019
by   Yu-Ping Wang, et al.
Tsinghua University
0

Modern robotic systems have become an alternative to humans to perform risky or exhausting tasks. In such application scenarios, communications between robots and the control center have become one of the major problems. Buffering is a commonly used solution to relieve temporary network disruption. But the assumption that newer messages are more valuable than older ones is not true for many application scenarios such as explorations, rescue operations, and surveillance. In this paper, we proposed a novel resilient buffer management policy named OptSample. It can uniformly sampling messages and dynamically adjust the sample rate based on run-time network situation. We define an evaluation function to estimate the profit of a message sequence. Based on the function, our analysis and simulation shows that the OptSample policy can effectively prevent losing long segment of continuous messages and improve the overall profit of the received messages. We implement the proposed policy in ROS. The implementation is transparent to user and no user code need to be changed. Experimental results on several application scenarios show that the OptSample policy can help robotic systems be more resilient against network disruption.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 6

06/15/2021

Age of Information for Small Buffer Systems

Consider a message processing system whose objective is to produce the m...
03/28/2021

MT-lib: A Topology-aware Message Transfer Library for Graph500 on Supercomputers

We present MT-lib, an efficient message transfer library for messages ga...
09/19/2018

Stop, Think, and Roll: Online Gain Optimization for Resilient Multi-robot Topologies

Efficient networking of many-robot systems is considered one of the gran...
12/06/2019

ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Ranking

Commit messages record code changes (e.g., feature modifications and bug...
09/20/2019

How Much Do Unstated Problem Constraints Limit Deep Robotic Reinforcement Learning?

Deep Reinforcement Learning is a promising paradigm for robotic control ...
03/13/2020

How Fast Can We Insert? A Performance Study of Apache Kafka

Message brokers see widespread adoption in modern IT landscapes, with Ap...
06/23/2020

Evaluation of Sampling Methods for Robotic Sediment Sampling Systems

Analysis of sediments from rivers, lakes, reservoirs, wetlands and other...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Fig. 1: An application scenario of the OptSample policy, 3D reconstruction. At the robot side, RGB images and depth images are captured with Kinect and sent to the control center; at the control center, these images are received and used to construct a 3D model with InfiniTAM. (a) The input RGB images. (b) The ground truth, which is constructed offline. (c) The result when communicating using native ROS. (d) The result when communicating using ROS enhanced by OptSample. In (c) and (d), same number of images are lost due to temporary network disruption, but the result in (d) looks better than (c) because of the proposed OptSample policy.

Modern robotic systems have become an alternative to humans to perform risky or exhausting tasks, such as military, exploration, rescue operations, surveillance, and large-scale cleaning operations. In such application scenarios, communications between robots and the control center have become one of the major problems.

Network connections, especially wireless ones, are not always stable. Network connections could be temporarily broken when a robot moves out of range of wireless network, switches among network source points, shielded by obstacles, or affected by environments such as underwater. In this case, buffering is a commonly used solution. When network connections are temporarily broken, new messages are put into a buffer waiting for future transmission. However, buffers are limited in size due to limited memory. When the buffer is full, one simple solution is to discard the oldest message to make room for the new message. This solution is commonly used by robotic middleware such as Robot Operating System (ROS) [23]. This solution is reasonable when newer messages are considered more valuable than the older ones. However, we find that this assumption is not true for many application scenarios.

Take the rescue scenario as an example. A rescue robot traverses the accident area and captures images at 30 frames per second (fps) and sent them back to the control center. Suppose that the system suffer a temporary network disruption for 5 seconds. During this time, the robot is still capturing images and has to put them into the internal buffer. If the size of the internal buffer is 30, we will have to discard 120 images. The trivial solution described above will result in discarding the oldest 120 images. In this case, the control center can not get any information about 4 seconds and we have completely no idea if someone needs to be rescued at that time. What makes the situation worse, if a victim is out of range of wireless network, the robot can “see” the victim, but the control center cannot.

In the above case, the assumption that newer messages are more valuable than the older ones is not true. If we manage to discard 120 images uniformly from a range of 5 seconds, after the network connection is restored, the control center will still receive images as if the robot is capturing images at 6 fps. The control center can still be more confidence that the robot did not miss any victims. Overall, uniformly sampled messages are more preferred than newest messages in this situation.

Similar requirement can be found in many scenarios, such as Simultaneous Localization And Mapping (SLAM) and 3D reconstruction. Information provided by an image (either RGB or depth) could be largely covered by its adjacent images. Therefore, if we have to discard 50 images from 100 images, it is better to discard one message from every two images, than to discard the first 50 images. What we need is a new buffer management policy.

Besides, things could be worse when the bandwidth is limited. The resolutions of nowadays depth cameras have become higher and higher. Although the bandwidth of wireless network is also increasing, it is not feasible to transmit raw images via commodity WiFi routers. In this case, images come to the buffer faster than they leave. Therefore, the buffer is always full which makes the buffer management policy more vulnerable to temporary network disruption. Explicitly sampling images to a lower frame rate provides an easy solution. But the frame rate is hard to decide since it is affected by various factors including image resolutions, compression algorithm and quality, network bandwidth and the number of robots. Higher frame rate will not relieve the problem, and lower frame rate will waste more information. Deciding the frame rate depending on run time situations is a promising solution.

In this paper, we proposed a novel resilient buffer management policy, named OptSample. The main purpose is to sample messages uniformly. The sample rate is decided with run time situations. When temporary network disruption occurs, rather than discarding oldest messages, the sample rate is gradually decreased. Thus, we can avoid losing a long continuous segment of messages but multiple short segments of messages. Experimental results show that OptSample policy is suitable for many application scenarios.

The main contributions of this paper include:

(1) We propose a novel buffer management policy named OptSample, which is resilient against temporary network disruption.

(2) We define an evaluation function to estimate the profit of a message sequence. We prove and show with simulation that the OptSample policy can get results very close to the optimal profit.

(3) We implement the OptSample policy in ROS. The implementation is transparent to user and no user code need to be modified.

(4) We test the OptSample policy with several applications including surveillance, 3D reconstruction and SLAM. Results show that it is more resilient against network disruption.

The rest of this paper is organized as follows. Section II discusses alternative solutions and related work. Section III introduces the OptSample policy and its implementation. Section IV evaluates the OptSample policy and compares the result with prior works. Finally, we conclude in Section V.

Ii Related Work

Ii-a Communication Problem in Robotic Systems

Communications have been a major problem in many robotic systems. Saeedi et al. gave a nice review on multiple-robot SLAM algorithms [25]. They considered communications as one of the ten major problems in multiple-robot SLAM.

Many researchers focus on the problem of the decentralized system framework [18, 3, 24, 17, 1, 21]. They assume that there are no network infrastructure and robots can only communicate to each other when they meet. But these systems need to store information on each robot for a long period of time, and a burst of communications occur when robots meet. Therefore, they can only communicate information about their estimated poses and it is not feasible to communicate information about the environment. In order to enable robots communicating large information with limited resources, the messages also need be uniformly sampled just like our motivating scenarios.

In a centralized system framework, sampling input data is the most commonly used solution to relieve limited network bandwidth. Golodetz et al. [9] aimed to reconstruct dense 3D models with collaborative agents. They explicitly pointed out the communication problem. After some experiments and comparison, they compressed the sensor images and sampled the image frames to about 10 fps. Dong et al. [6] performed collaborative scanning for dense 3D reconstruction with multiple robots. They also sampled the sensor data. New sensor data were collected when the robot has moved more than a given distance, or rotated more than a given angle. The given distance and angle were decided by the speed of their robots. By the sampling, the sensor data were collected at roughly 1 fps which was the processing capability of OctoMap [11]. In practice, deciding the sample rate needs experiments and can not adapt dynamic environments.

Ii-B Quality of Service Policies

Quality of Service (QoS) policies are designed to meet the needs of different scenarios. It is one of the main reasons to the effort of upgrading ROS with ROS2 [7]. Although integrating with Data Distribution System (DDS) [22] introduces performance issues [19], it is still a promising solution. However, existing QoS policies are not suitable for our motivating scenarios.

The reliability configuration decides the choice of UDP or TCP connections; the history and depth configurations decide the queue size of the buffer; the durability configuration decides whether publishers keep messages locally if there are no subscribers; the deadline configuration describes the real-time requirement; the liveliness configuration decides whether heartbeat messages employed; the latency budget configuration decides the minimal interval between two messages. The latency budget configuration is the most related policy because it implies the maximal frequency. But in our motivating scenarios, a dynamic sample rate is needed.

Ii-C Buffer Management for Other Applications

Buffer management policies have been researched for the last decade. Practice networks are modeled as Delay Tolerant Network (DTN) [2] or Opportunistic Networks [26]. When the buffer is full, a sequence of simple drop schemes have been proposed, such as Drop Oldest, Drop Youngest, Drop Front and Drop Last [4]. Enhanced policies assume that each message have a different profit, and the goal is to maximize the total profit of the remaining messages [8]. According to the application scenarios, different type of messages may have different profits, such as IPTV [15, 13, 27, 29, 14]. For example, when transmitting video frames [28], P message, B message and I message will be given different profits. However, in our motivating scenarios, the profit of a message is not decided by itself but the distance to its nearest remaining messages. Therefore, we need a new evaluation function to estimate the profit of a message sequence.

Iii Design and Implementation

In this section, we first formally define the problem we have described. After analyzing a naive solution, we further improve it to become our resilient buffer manage policy. At last, we introduce our implementation on ROS and its usage.

Iii-a Problem Definition

As we have described, we would like to receive more messages and we prefer the received message sequence to be uniformly sampled. Therefore, we need to define what is a uniformly sampled sequence.

Suppose an ordered number sequence with , we define its Profit as the sum of a evaluation function of the difference between each two adjacent numbers (Equ. 1).

(1)

The evaluation function can be replaced with any function that satisfies the two following properties:

Lemma 1: , . It indicates that receiving one more message between two messages is always better.

Lemma 2: , if and , then . It indicates that a message nearer to the middle of other two messages is better.

With this definition, we can easily prove that when we fix and , the highest profit of all such sequences is . Also, when the number in the sequence is also fixed, the highest profit of all such sequences is taken when all the differences between adjacent numbers are the same. This represents our key assumption:

Assumption 1: For all sequences , when , , and are fixed, uniformly sampled messages are more valuable.

Thus, we can describe the transmission problem as follows. The publisher sends a sequence of messages labeled . After transmission, the subscriber receives a sequence which is a subset of . We would like to get a better profit of the sequence .

Specially, we would like to find a buffer management policy that can handle temporary network disruption. This problem can be described as follows. Suppose we have a buffer of length which is empty initially. During the network disruption, the publisher sends messages labeled . We assume that messages before and after these messages are normally received. Under this configuration, only out of messages can be received by the subscriber (). The goal of a buffer management policy is to get a best profit of the received messages as .

Under this definition, we can evaluate the buffer management policy of ROS. ROS employs a naive buffer management policy called Drop Oldest. When a new message come and the buffer is full, the oldest message is discarded to make room for the new message. As a result, the buffer management policy of ROS chooses the newest messages to transmit. Therefore, the profit of these messages is . Note that the last part of the value represents the profit of the first received message which is labeled .

Iii-B Resilient Buffer Management Policy

The ideal output sequence of this problem is , where equals . It is not feasible if is not an integer but the optimal solution can be obtained with their nearest integers. This optimal solution is still not practical because we do not know the exact in advance. For example, when and , the optimal solution is ; when , the optimal solution is . However, we have already discarded the message at , we can not find it back when . Obviously, a practical buffer management policy can only sample messages from the buffer to make room for new messages. Therefore, this optimal solution can only act as an oracle.

Our policy can be described as follows. When the buffer becomes full, we will uniformly sample messages from the buffer so that messages remains. The average distance between adjacent messages changes from 1 to . Newer messages are also sampled at the same rate until the buffer becomes full again. When the buffer becomes full again, we sample messages from the buffer again so that messages remains. Thus, the average distance between adjacent messages becomes . We can repeat the above operations until messages is processed (either remain in the buffer or discarded at some time).

Here, is the key parameter that affects the result. Lower leads to discarding less input messages but also leads to more round of sampling messages from the buffer if is fixed. We can deduce the final average distance and its corresponding profit (shown in Equ. 2). We can find that the lower bound of the distance is always which is not related with . But the upper bound of the distance is . In order to lower the distance, we should lower .

(2)

must be greater than 1 by its nature, otherwise we cannot make any rooms for new messages. It is easy to implement when we let . We call this policy as 2-Sample. Whenever the buffer is full and a new message arrives, we sample a message from every two messages and the sampling rate is doubled. Fig. 2 shows an example of this policy. As we can see, an obvious shortcoming of the 2-Sample policy is half of the buffer is empty when . This is consistent with Equ. 2 that the upper bound of the distance is almost .

Fig. 2: An example of the 2-Sample policy (). Whenever the buffer is full and a new message arrives, we sample a message from every two messages and the sampling rate is doubled.

In order to lower this upper bound, we should further decrease . The smallest possible seems to be , which means to make at least one room for new messages after sampling the buffer. In order not to fall back to the Drop Oldest policy of ROS, the key is to sampling uniformly rather than simply discard the first message in the buffer.

To achieve this, we record the position we will discard at the next time when the buffer is full, and move it towards the end of the buffer. When the position is at the end of the buffer, the sample rate is increased and the position is moved to the begin of the buffer. Fig. 3 shows an example. As long as no messages are taken from the buffer, the buffer is always full.

Fig. 3: An example of the OptSample policy (). When a new message arrives and the buffer is full, the highlighted position is discarded and move to the next position. When the position is at the end of the buffer, the sampling rate is increased and the position is moved back to the begin.

The equivalent of OptSample is since it double the sample rate every new messages. This is even smaller than .

Iii-C Simulation Result

In order to show the advantage of our OptSample policy, we run a simulation. In this simulation, we take , and check the change of the profit while new messages arrives. The result is shown in Fig. 4. From this figure, we can see that our OptSample policy performs almost the same with the ideal Oracle policy and exactly the same with some (42, 43, 86, 87, 174, 175, …).

Fig. 4: Simulation results of different buffer management policies (). The horizontal axis is the number of messages arrived () and the vertical axis is the profit of the remained messages. ROS (blue) performs the worst since it keeps the last messages and leaves a big gap before the first kept message. The 2-Sample policy (orange) performs better, but the profit seriously decline when a buffer sampling happens. The Oracle (red) is an ideal but not practical policy which give us a reference. The OptSample policy (green) performs almost the same with the Oracle.

Note that increasing the buffer size will decrease the effective and increase the lower bound of the profit. Besides, the profit of the Oracle policy is about , therefore increasing the buffer size will generally increase the profit.

Iii-D Implementation on ROS

We implement the OptSample policy based on ROS. We modify the code of the class TransportSubscriberLink which locates at the ros_comm project and is linked into libroscpp.so. The pseudo code is shown in Fig. 5. The Enqueue function is implemented as part of the TransportSubscriberLink::enqueueMessage method; and the Dequeue function is implemented as part of the TransportSubscriberLink::startMessageWrite method.

Fig. 5: The pseudo code of the OptSample policy. The main process (line 8–21) is demonstrated with Fig. 3. Besides, line 2–7 gives a chance of half the sampling distance and line 26–29 update the next discarded position when a message is taken.

Since we implement the policy at the roscpp level, it is totally transparent to user and no user code need to be modified at all. Note that when the network bandwidth is not the bottleneck and no temporary disruption occur, the buffer is never full and the OptSample policy is not triggered. Therefore, our OptSample policy does not affect normal communications.

Iv Evaluation

Fig. 6: An application scenario of the OptSample policy, surveillance. At the robot side, RGB images are captured and sent to the control center; at the control center, these images are received and recorded as evidence. An attacker disturbs the wireless network for 5 seconds and steals the treasure during this time. (a) With native ROS, the attacker is not shown in the images received by the control center. (b) With the OptSample policy, the attacker is captured in a few images.

In this section, we show how our OptSample policy affects several application scenarios. In the following experiment, the control center is equipped with Intel Core i7-8750H @2.20GHz 12x CPU, 16GB memory and GeForce GTX 1080 GPU. The control center and the robot are connected via a 54Mbps WiFi router. The ROS version is Lunar on Ubuntu 16.04. It is one of the most recent ROS version [5].

In order to make better comparisons, all sensor data (i.e. RGB images, depth images, and laser data) in the following experiments are recorded with rosbag and replay multiple times to get result with different policies.

Iv-a Surveillance

The first application scenario is surveillance. We deploy a laptop with a camera to monitor a “treasure”. It keeps sending compressed images to the control center at 30 fps. A malicious attacker manages to disturb the wireless network for 5 seconds and steals the treasure during this time. The buffer size of the publisher is set to 20.

The result is shown in Fig. 6. With native ROS, the attacker is not shown in any of the surveillance images received by the control center; but with the OptSample policy, the attacker is captured in a few images. Analysis can tell us that with native ROS, the attacker has a time gap of about seconds to fulfill the theft; while with the OptSample, the attacker has to disturb the wireless network for about seconds to give him the same time gap to fulfill the theft. Obviously, the OptSample policy causes great trouble for the attacker.

Iv-B 3D Reconstruction

The second application scenario is 3D reconstruction. We employ InfiniTAM [12] as the reconstruction algorithm. It is a widely used vision based reconstruction algorithm and very efficient in time when equipped with modern GPU. RGB images and depth images are captured with Kinect at the robot side. These images are published via two separated topics at 10 fps. The control center subscribes these two topics, synchronizes them, and uses them to reconstruct a 3D model. We cut the wireless network for 5 seconds on purpose to simulate a temporary network disruption. The buffer size of the publisher is set to 20.

The result is shown in Fig. 1. From Fig. 1(a), we can see that in this scenario, adjacent images provide similar information, and our assumption is true. With native ROS (Fig. 1(c)), a long segment of messages are lost and the reconstructed model appears an observable gap; but with the OptSample policy (Fig. 1(d)), the reconstructed model seems not affected by the network disruption. In fact, the result model of the OptSample policy is not as dense as the ground truth, but it seems good enough.

Iv-C Slam

Fig. 7: An application scenario of the OptSample policy, SLAM. At the robot side, RGB images, depth images and laser scan data are collected and sent to the control center; at the control center, these data are received and used to map the environment with RTAB-Map. (a) The input RGB images. (b) The ground truth, which is generated offline. (c) The result when communicating using native ROS. (d) The result when communicating using ROS enhanced by OptSample. In (c) and (d), the same amount of data are lost due to temporary network disruption, but the result in (d) looks better than (c) because of the proposed OptSample policy.

The third application scenario is SLAM. We employ RTAB-Map [16, 20] as the SLAM algorithm. It is one of the SLAM algorithms that have integrated with ROS as ROS node and nodelet and can be visualized with rviz [10]. RGB images, depth images, and laser scan data are collected at the robot side. The RGB images and depth images are synchronized at the robot side, and then published as RGBD messages at about 8 fps. The control center launch a RTAB-Map node which subscribes these topics as input data. We cut the wireless network for 5 seconds on purpose to simulate a temporary network disruption. The buffer size of the publisher is set to 20.

The result is shown in Fig. 7. From Fig. 7(a), we can see that in this scenario, adjacent images provide similar information, and our assumption is true. With native ROS (Fig. 7(c)), the robot appears to stop and “teleport” at the control center, and there are gaps in the mapped environment; but with the OptSample policy (Fig. 7(d)), the path of the robot is more continuous and there are no obvious gaps in the mapped environment.

Overall, we have shown with three application scenarios that the OptSample policy provides better resilience against network disruption. There are more application scenarios as long as the assumption that uniformly sampled messages are more valuable is true. Besides, during the above experiments, no user code is modified. We can switch between native ROS and the OptSample policy by simply replacing the libroscpp.so.

V Conclusion

We have presented a novel buffer management policy called OptSample. By uniformly sampling the message buffer, the OptSample policy is more resilient against temporary network disruption. We explain that common solutions make an assumption that newer messages are more valuable than older messages but this assumption is not always true. We define an evaluation function to model the new assumption that uniformly sampled messages are more valuable. Based on this function, our analysis and simulation shows that the OptSample policy is very close to the optimal oracle policy.

We have integrated the OptSample policy with ROS. The implementation is transparent to user and no user code needs to be changed. Experimental results show that our OptSample policy is more resilient than native ROS in several application scenarios.

References

  • [1] N. Atanasov, J. L. Ny, K. Daniilidis, and G. J. Pappas (2015) Decentralized active information acquisition: theory and application to multi-robot SLAM. In IEEE International Conference on Robotics and Automation, ICRA 2015, Seattle, WA, USA, 26-30 May, 2015, pp. 4775–4782. External Links: Link, Document Cited by: §II-A.
  • [2] Y. Cao and Z. Sun (2013) Routing in delay/disruption tolerant networks: A taxonomy, survey and challenges. IEEE Communications Surveys and Tutorials 15 (2), pp. 654–677. External Links: Link, Document Cited by: §II-C.
  • [3] L. Carlone, M. E. K. Ng, J. Du, B. Bona, and M. Indri (2010) Rao-blackwellized particle filters multi robot SLAM with unknown initial correspondences and limited communication. In IEEE International Conference on Robotics and Automation, ICRA 2010, Anchorage, Alaska, USA, 3-7 May 2010, pp. 243–249. External Links: Link, Document Cited by: §II-A.
  • [4] Y. Chen, W. Yao, M. Zong, and D. Wang (2016) An effective buffer management policy for opportunistic networks. In Collaborate Computing: Networking, Applications and Worksharing - 12th International Conference, CollaborateCom 2016, Beijing, China, November 10-11, 2016, Proceedings, pp. 242–251. External Links: Link, Document Cited by: §II-C.
  • [5] N. DeMarinis, S. Tellex, V. P. Kemerlis, G. Konidaris, and R. Fonseca (2019) Scanning the internet for ROS: A view of security in robotics research. In International Conference on Robotics and Automation, ICRA 2019, Montreal, QC, Canada, May 20-24, 2019, pp. 8514–8521. External Links: Link, Document Cited by: §IV.
  • [6] S. Dong, K. Xu, Q. Zhou, A. Tagliasacchi, S. Xin, M. Nießner, and B. Chen (2019) Multi-robot collaborative dense scene reconstruction. ACM Trans. Graph. 38 (4), pp. 84:1–84:16. External Links: Link, Document Cited by: §II-A.
  • [7] E. Fernandez (2019) ROS 2 quality of service policies. Note: http://design.ros2.org/articles/qos.html Cited by: §II-B.
  • [8] M. H. Goldwasser (2010) A survey of buffer management policies for packet switches. SIGACT News 41 (1), pp. 100–128. External Links: Link, Document Cited by: §II-C.
  • [9] S. Golodetz, T. Cavallari, N. A. Lord, V. A. Prisacariu, D. W. Murray, and P. H. S. Torr (2018) Collaborative large-scale dense 3d reconstruction with online inter-agent pose optimisation. IEEE Trans. Vis. Comput. Graph. 24 (11), pp. 2895–2905. External Links: Link, Document Cited by: §II-A.
  • [10] D. Hershberger, D. Gossow, and J. Faust (2019) Rviz - ros wiki. Note: http://wiki.ros.org/rviz Cited by: §IV-C.
  • [11] A. Hornung, K. M. Wurm, M. Bennewitz, C. Stachniss, and W. Burgard (2013) OctoMap: an efficient probabilistic 3d mapping framework based on octrees. Auton. Robots 34 (3), pp. 189–206. External Links: Link, Document Cited by: §II-A.
  • [12] O. Kähler, V. A. Prisacariu, J. P. C. Valentin, and D. W. Murray (2016) Hierarchical voxel block hashing for efficient integration of depth images. IEEE Robotics and Automation Letters 1 (1), pp. 192–197. External Links: Link, Document Cited by: §IV-B.
  • [13] S. Kim and Y. Won (2017) Frame rate control buffer management technique for high-quality real-time video conferencing system. In Advances in Computer Science and Ubiquitous Computing - CSA/CUTE 2017, Taichung, Taiwan, 18-20 December., pp. 777–783. External Links: Link, Document Cited by: §II-C.
  • [14] T. Kimura and M. Muraguchi (2017) Buffer management policy based on message rarity for store-carry-forward routing. In 23rd Asia-Pacific Conference on Communications, APCC 2017, Perth, Australia, December 11-13, 2017, pp. 1–6. External Links: Link, Document Cited by: §II-C.
  • [15] A. Krifa, C. Barakat, and T. Spyropoulos (2008) Optimal buffer management policies for delay tolerant networks. In Proceedings of the Fifth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, SECON 2008, June 16-20, 2008, Crowne Plaza, San Francisco International Airport, California, USA, pp. 260–268. External Links: Link, Document Cited by: §II-C.
  • [16] M. Labbé and F. Michaud (2019) RTAB-map as an open-source lidar and visual simultaneous localization and mapping library for large-scale and long-term online operation. J. Field Robotics 36 (2), pp. 416–446. External Links: Link, Document Cited by: §IV-C.
  • [17] M. T. Lazaro, L. M. Paz, P. Pinies, J. A. Castellanos, and G. Grisetti (2013) Multi-robot SLAM using condensed measurements. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, November 3-7, 2013, pp. 1069–1076. External Links: Link, Document Cited by: §II-A.
  • [18] K. Y. K. Leung, T. D. Barfoot, and H. H. T. Liu (2010) Decentralized localization of sparsely-communicating robot networks: A centralized-equivalent approach. IEEE Trans. Robotics 26 (1), pp. 62–77. External Links: Link, Document Cited by: §II-A.
  • [19] Y. Maruyama, S. Kato, and T. Azumi (2016) Exploring the performance of ROS2. In 2016 International Conference on Embedded Software, EMSOFT 2016, Pittsburgh, Pennsylvania, USA, October 1-7, 2016, pp. 5:1–5:10. External Links: Link, Document Cited by: §II-B.
  • [20] Mathieu Labbe (2019) Rtabmap_ros - ros wiki. Note: http://wiki.ros.org/rtabmap_ros Cited by: §IV-C.
  • [21] J. Panerati, M. Minelli, C. Ghedini, L. Meyer, M. Kaufmann, L. Sabattini, and G. Beltrame (2019) Robust connectivity maintenance for fallible robots. Auton. Robots 43 (3), pp. 769–787. External Links: Link, Document Cited by: §II-A.
  • [22] G. Pardo-Castellote (2003) OMG data-distribution service: architectural overview. In 23rd International Conference on Distributed Computing Systems Workshops (ICDCS 2003 Workshops), 19-22 May 2003, Providence, RI, USA, pp. 200–206. External Links: Link, Document Cited by: §II-B.
  • [23] M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, and A. Ng (2009) ROS: an open-source robot operating system. In IEEE International Conference on Robotics and Automation, ICRA, Workshop on Open Source Software, Kobe, Japan, Cited by: §I.
  • [24] L. Sabattini, N. Chopra, and C. Secchi (2013) Decentralized connectivity maintenance for cooperative control of mobile robotic systems. I. J. Robotics Res. 32 (12), pp. 1411–1423. External Links: Link, Document Cited by: §II-A.
  • [25] S. Saeedi, M. Trentini, M. Seto, and H. Li (2016) Multiple-robot simultaneous localization and mapping: A review. J. Field Robotics 33 (1), pp. 3–46. External Links: Link, Document Cited by: §II-A.
  • [26] S. Sati, C. Probst, and K. Graffi (2016) Analysis of buffer management policies for opportunistic networks. In 25th International Conference on Computer Communication and Networks, ICCCN 2016, Waikoloa, HI, USA, August 1-4, 2016, pp. 1–8. External Links: Link, Document Cited by: §II-C.
  • [27] G. Scalosub (2017) Towards optimal buffer management for streams with packet dependencies. Computer Networks 129, pp. 207–214. External Links: Link, Document Cited by: §II-C.
  • [28] H. Wu and H. Ma (2013) DSVM: A buffer management strategy for video transmission in opportunistic networks. In Proceedings of IEEE International Conference on Communications, ICC 2013, Budapest, Hungary, June 9-13, 2013, pp. 2990–2994. External Links: Link, Document Cited by: §II-C.
  • [29] L. Yang, W. S. Wong, and M. H. Hajiesmaili (2017) An optimal randomized online algorithm for qos buffer management. POMACS 1 (2), pp. 36:1–36:26. External Links: Link, Document Cited by: §II-C.