Autonomous robots must utilize rich sensory data to make safe control decisions. Often, compute-constrained robots require assistance from remote computation (''the cloud'') if they need to invoke compute-intensive Deep Neural Network perception or control models. Likewise, a robot can be remotely teleoperated by a human during risky scenarios. However, this assistance comes at the cost of a time delay due to network latency, resulting in stale/delayed observations being used in the cloud to compute the control commands for the present robot state. Such communication delays could potentially lead to the violation of essential safety properties, such as collision avoidance. This paper develops methods to ensure the safety of teleoperated robots with stochastic latency. To do so, we use tools from formal verification to construct a shield (i.e., run-time monitor) that provides a list of safe actions for any delayed sensory observation, given the expected and worst-case network latency. Our shield is minimally intrusive and enables networked robots to satisfy key safety constraints, expressed as temporal logic specifications, with high probability. Our approach gracefully improves a teleoperated robot's safety vs. efficiency trade-off as a function of network latency, allowing us to quantify performance gains for WiFi or even future 5G networks. We demonstrate our approach on a real F1/10th autonomous vehicle that navigates in crowded indoor environments and transmits rich LiDAR sensory data over congested WiFi links.
翻译:自主机器人必须利用丰富的感官数据来做出安全控制的决定。 计算受限制的机器人通常需要远程计算( “ 云 ” ) 的帮助,如果他们需要使用计算密集的深神经网络的感知或控制模型。 同样, 机器人可以在危险情况下由人类远程远程操作。 然而, 此项援助的代价是网络延迟导致的时间延迟, 从而导致在云中使用停滞/ 延迟的观测来计算当前机器人状态的控制指令。 这种通信延迟可能会导致违反基本的安全特性, 如避免碰撞等。 本文开发了确保具有透视性延缓度的远程操作机器人安全性的方法。 为了做到这一点, 我们使用正式核查工具来建造屏蔽( 即运行时监视器), 提供一份安全行动清单, 用于任何延迟的感官观测, 并且考虑到预期的和最坏的网络 。 我们的屏蔽是最小的侵入性, 使网络能够满足关键的安全限制, 表现为时间逻辑性规格, 甚至概率很高。 为了做到这一点, 我们的方法改进了透明性网络的运行速度, 从而实现 透明性 透明性 透明性, 透明性 透明性 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行 运行