  Communication between robots and the server is a major problem for cloud
robotic systems. In this paper, we address the problem caused by data loss
during such communications, and propose an efficient buffering algorithm,
called AFR, to solve the problem. We model the problem into an optimization
problem to maximize the received Quantity of Information (QoI). Our AFR
algorithm is formally proved to achieve near-optimal QoI, which has a lower
bound that is a constant multiple of the unrealizable optimal QoI. We implement
our AFR algorithm in ROS without changing the interface or API for the
applications. Our experiments on two cloud robot applications show that our AFR
algorithm can efficiently and effectively reduce the impact of data loss. For
the remote mapping application, the RMSE caused by data loss can be reduced by
about 20%. For the remote tracking application, the probability of tracking
failure caused by data loss can be reduced from about 40%-60% to under 10%.
Meanwhile, our AFR algorithm introduces time overhead of under 10 microseconds.
