Mapping algorithms for mobile robots