From ESE497 Wiki
A simulation based heuristic algorithm is used to determine commands for constructive robotic movement. This utilizes the system’s simulation function by simulating new microphone placements and determining the potential resolution improvement for each new placement. Specifically, this is done by simulating robot movement in each of the system’s four degrees of freedom. The simulation runs in both directions from the current position in each degree of freedom. In this way a number of simulations are performed to model robotic movements in a variety of different directions.
The simulated movements which produce a significant resolution improvement are then used as the commands for the next actual robotic movement. This process is performed until the microphones have been moved to a configuration which best optimizes localization resolution, given the physical constraints of movement. This process uses a threshold, as described here Threshold Criteria, which is designed to stop adaptive movement once new movement's substantial enough resolution improvements.
The four degrees of freedom which the algorithm seeks to optimize are the:
- Distance between the robots
- Orientation of the robots with respect to the source
- Movement in the horizontal axis with respect to the source (shifting movement)
- Movement in the vertical axis with respect to the source (approaching/retreating movement)
The adaptive algorithm also utilizes the robots’ rotational capability to point each of the microphone pairs to best face the source, further improving estimation.
The block diagram below helps illustrate this concept.
Starting at the top left, the source estimation is computed for the given microphone position and source position. The resolution of this estimation is then estimated as our critical resolution variable. With this information the simulation based heuristic algorithm is then run. As can be seen on the very right of the diagram robotic movement is simulated for the four degrees of freedom mentioned above. Each of these simulations takes place once sequentially and then again, for reasons explained here. If these two sequences of simulations results in a final robot position with a significant resolution improvement, then the algorithm commands the system to update the actual robotic positions to reflect these simulated positions. At this point the system is at the ‘Robot Movement Command’ block and by LabVIEW’s communication with the robot’s microcontroller, the ‘Arrival at New Position’ will have taken place. Finally, as can be seen by the next arrow, a new source estimation can then be computed and this information is used as feedback in order to further optimize microphone placement.