Our focus in the project was to develop algorithms for the robots to establish and maintain connectivity, and we used the iRobot Create as our robot platform. We used a Gumstix Verdex as the main robot processor, and attached USB wireless adaptors so that the Creates could set up an ad hoc wireless network.
For the first phase (establishing connectivity), we contributed a novel algorithm that does not require any prior map of the environment, or any map-sharing among the robots in the team. The key idea is that when two robots meet (come within communication range), each robot assigns a unique "position label" to its current position and shares that label with the other robot. Every robot is able to convert its position labels to its coordinate frame, even if no other robot knows where the position is. For example, robot A tells robot B "I am at position A1". In the future, robot B can tell robot A "go to position A1" even if robot B does not know where A1 is. By using position labels and forming a network graph, the robot team can share connectivity information without shared maps or a shared coordinate system, and yet is able to search the graph to find a solution that establishes connectivity to the static towers.
The image above shows the network graph representation for two unique positions of robot R1 on the left, and the corresponding physical positions on the right. The network graph can be shared with other robots in the team without the knowledge of where the positions actually are.
In the second phase of the project, the towers begin moving and the robots have to tether to them to maintain wireless connectivity. This problem is tricky as the towers can start and stop moving at any time, and do not communicate with the robots. Also, the robots have to infer the tower's motion using noisy wireless relative signal strength indication (RSSI).
While a single robot's measurement of RSSI to the tower may be noisy, we used a data-driven approach to establish a minimum and maximum distance to the tower given the RSSI measurement. Using RSSI information from the entire multi-robot team, the tower's position is constrained. In particular, we contributed an algorithm that localizes the tower to a "seeker" robot's coordinate system, and detects the tower's motion, allowing the seeker robot to follow (tether to) the tower as it moves.
The image above shows how the RSSI measurements of R0 and Rj constrain Ri's position.
More details of the algorithms are shown in our journal article, Multi-robot Map-merging-free Connectivity-based Positioning and Tethering in Unknown Environments.
Besides working on the algorithms for the two phases, we also explored potential simulators for the LANdroids project, in particular, we wanted to simulate a new Ember robot that was designed for the project. Below is a video showcasing USARsim and the Ember robot we constructed in the simulator: