ROBOCART; A self-navigating shopping cart for the supermarket

ROBOCART investigates a simulated supermarket cart that follows a customer, plans routes, responds to a checkout command and returns to a charging location when its battery state requires it. The central idea is to combine prediction with path planning so that the cart can move towards where the customer is likely to be, rather than continually chasing an outdated position.

Following a Moving Target

A fixed destination is comparatively straightforward: once a route is planned, the goal stays put. A customer can turn, stop or move behind an obstacle. A route towards the latest observation may already be out of date by the time the cart follows it.

Prediction offers a possible improvement, but introduces uncertainty. Extrapolating motion can help during steady movement and mislead the cart during a sudden stop. The system therefore needs updated observations, not one prediction that is treated as permanently correct.

The report describes human tracking, trajectory prediction, automatic path planning and charging behaviours. These are demonstrated in simulation; they are not evidence of a deployed cart navigating safely around shoppers.

How Prediction and Planning Differ

The Kalman-filter component combines a motion-model prediction with new measurements. The relative uncertainty of those sources determines how strongly the estimate changes when an observation disagrees with the forecast. The filter is an estimator, not an obstacle-avoidance algorithm.

A* then searches for a route through the map. It combines accumulated route cost with an estimate of the cost still required to reach the destination. Its usefulness depends on the map, movement rules and heuristic; a grid-optimal path is not necessarily the smoothest or dynamically feasible physical trajectory.

graph TD
  A[Customer observations] --> B[Kalman state estimate]
  B --> C[Predicted customer position]
  C --> D[A-star route planning]
  E[Obstacle map and updates] --> D
  F[Checkout or charging state] --> G[Select current destination]
  C --> G
  G --> D
  D --> H[Simulated cart movement]
  H --> A

Original explanatory diagram separating estimation, destination selection and route planning, rather than a reproduced report figure.

These layers solve different failure modes. A good forecast can still point behind an obstacle, while a valid route can become irrelevant after the customer changes direction. Updating both the target and the map is necessary for responsive following.

What the Report Finds

The report compares planned A* routes with reference optimal paths and explains the design choices. It also reports up to 13% less following time in certain scenarios when Kalman-filter trajectory prediction is used.

That is a best reported scenario improvement, not a universal saving. A meaningful comparison must keep the customer trajectory, map and cart constraints aligned between conditions. Otherwise, a shorter observed time may reflect an easier route rather than the benefit of prediction.

The charging and checkout behaviours demonstrate how following fits into a broader task state. A checkout request changes the destination, while low battery triggers a charging destination. Their presence does not establish the reliability of battery hardware or a real supermarket deployment.

Interpretation and Reproduction

The project illustrates a modular design: estimate motion, decide the current task, plan a route and update the simulated world. That separation makes it easier to inspect why a route changed and to replace one component without confusing its role with the others.

Exact reproduction of the timing result would require a matching repository revision, maps, customer trajectories, filter parameters and simulation settings. The original repository and report remain available below; they are source materials, not a newly added tutorial package.

Physical use would introduce additional questions about sensing, braking, pedestrian interaction and uncertainty that the simulated result does not settle.

Testing and Real-World Use

This could be tested by replaying identical simulated customer trajectories with and without prediction, including turns and stops while comparing following time and route failures. In service-robot research, the architecture could help study how predictive tracking and map updates support a robot accompanying a moving person.

Original Demonstrations

ROS Path Planning with A*

The simulated cart follows a customer, switches to the paying area on command and selects a nearby charging station when its battery state is low.

Grid-Based Path Planning

This 500 × 500 map visualises route planning and destination changes in the simulated shopping task.

Path Planning with Prediction

The prediction demonstration adds a Kalman-filter estimate of the customer’s future position.

Updating Obstacles

This demonstration includes map updates as obstacles appear in the simulated environment.

Report and Original Code

The February 2023 report documents the work, separately from its later repository deposit. The original code repository and original path-planning document provide implementation context.