Model Checking for Closed-Loop Robot Reactive Planning

Christopher Chandler, Bernd Porr, Alice Miller, Giulia Lafratta
11/16/2023
cs.LOcs.AIcs.RO

No official code found. Best implementation: berndporr/real_time_robot_model_checking (1 star, Apache-2.0, last commit 2026-02-19).

Abstract

In this paper, we show how model checking can be used to create multi-step plans for a differential drive wheeled robot so that it can avoid immediate danger. Using a small, purpose built model checking algorithm in situ we generate plans in real-time in a way that reflects the egocentric reactive response of simple biological agents. Our approach is based on chaining temporary control systems which are spawned to eliminate disturbances in the local environment that disrupt an autonomous agent from its preferred action (or resting state). The method involves a novel discretization of 2D LiDAR data which is sensitive to bounded stochastic variations in the immediate environment. We operationalise multi-step planning using invariant checking by forward depth-first search, using a cul-de-sac scenario as a first test case. Our results demonstrate that model checking can be used to plan efficient trajectories for local obstacle avoidance, improving on the performance of a reactive agent which can only plan one step. We achieve this in near real-time using no pre-computed data. While our method has limitations, we believe our approach shows promise as an avenue for the development of safe, reliable and transparent trajectory planning in the context of autonomous vehicles.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Real-Time Model Checking for Closed-Loop Robot Reactive Planning

12C, C++Dec 26, 20258 months agoApache-2.0
model-checkingreal-timerealtimerobotics

Similar Papers

Cite this paper

@article{chandler2023model,
  title  = {Model Checking for Closed-Loop Robot Reactive Planning},
  author = {Christopher Chandler and Bernd Porr and Alice Miller and Giulia Lafratta},
  year   = {2023},
  eprint = {2311.09780},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2311.09780v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2311.09780.svg)](https://codeofpaper.com/paper/2311.09780)

Discussion