A computer program product comprising instructions embodied in non-transitory media that, when the instructions are executed by a computer, cause the computer to perform a method of path planning for a mobile robot in the presence of K obstacles, where K is at least one, wherein each of the K obstacles has a shape model indicating a shape BK of the obstacle and a density function PK (x) representing probabilistic position of said obstacle, the method comprising:
- repeating the following steps for each potential path of at least two different potential paths:
- determining a swept area A of the mobile robot along the potential path within a given time interval;
- and
- calculating for the potential path, based on the density function of each obstacle and swept area A, an upper bound FD on the total probability of at least one collision between the mobile robot and the K obstacles;
- selecting, from the at least two different potential paths based on the upper bounds calculated for the at least two different potential paths, a path for navigating the mobile robot through the obstacles;
- and
- based on the selected path, generating a mobile robot control signal.