What types of algorithms are used in this type of problems ?
…though I assume you’re asking specifically about the quasi-autonomous movement of the tote-bots? There is no one single “algorithm” to represent or model their movement, it’s a complex control system.
If two grocery carts crash into each other it's not the end of the world. In contrast, if you're writing a distributed database system and you corrupt data then that can be very serious.
It's quite simple to make sure (using e.g. bumpers) that if a robot crashes into the platform then nobody gets hurt.
Of course a towrobot would be better, but it's not really necessary and it also might get stuck.