Practical Considerations and Applications for Autonomous Robot Swarms