P
USRE44737EExpiredUtilityPatentIndex 56

Three-dimensional position calibration of audio sensors and actuators on a distributed computing platform

Assignee: RAYKAR VIKAS CPriority: May 9, 2003Filed: Apr 25, 2008Granted: Jan 28, 2014
Est. expiryMay 9, 2023(expired)· nominal 20-yr term from priority
Inventors:RAYKAR VIKAS CKOZINTSEV IGORLIENHART RAINER
G01S 5/18
56
PatentIndex Score
2
Cited by
53
References
90
Claims

Abstract

A first computing device transmitting a wireless signal to a second and third computing devices, the signal requesting an actuator of the second computing device generate an acoustic signal to be received by a sensor of the third computing device, wherein the actuator and sensor are unsynchronized. The first computing device computes, based on an time estimate for the acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, a physical location of the actuator of the second computing device and the sensor of the third computing device.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 an actuator of a first computing device generating an acoustic signal, wherein a time-varying delay occurs between when the first computing device issues a command to generate the acoustic signal and when the actuator generates the acoustic signal, the time-varying delay at least due to time-varying processor load of the first computing device; 
 transmitting, with the first computing device, a timestamp indicating when the first computing device issued the command to generate the acoustic signal; 
 a sensor of a second computing device receiving the acoustic signal; 
 generating an estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device based on the timestamp indicating when the first computing device issued the command to generate the acoustic signal, wherein the sensor of the second computing device and actuator of the first computing device are unsynchronized; 
 a third computing device computing, based on the time estimate of the time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device, a physical location of at least one of a set including the sensor of the second computing device and the actuator of the first computing device, wherein computing the physical location of at least one of the set including the sensor of the second computing device and the actuator of the first computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the physical location of the at least one of the set including the sensor of the second computing device and the actuator of the first computing device and (ii) the time-varying delay between when the first computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal; 
 a sensor of a fourth computing device receiving the acoustic signal; and 
 generating a second an estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device based on the timestamp indicating when the first computing device issued the command to generate the acoustic signal, wherein the actuator of the first computing device and the sensor of the fourth computing device are unsynchronized; and 
 the third computing device computing, based on the second estimate of the time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device, a physical location of at least one of a set including the sensor of the fourth computing device and the actuator of the first computing device, wherein computing the physical location of at least one of the set including the sensor of the fourth computing device and the actuator of the first computing device includes jointly estimating, using the NLS computation, (i) the physical location of the at least one of the set including the sensor of the fourth computing device and the actuator of the first computing device and (ii) the time-varying delay between when the first computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       2. The method of  claim 1 , wherein the method further includes:
 an actuator of the second computing device generating a second acoustic signal, wherein a second time-varying delay occurs between when the second computing device issues a command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the second computing device; 
 transmitting, with the second computing device, a second timestamp indicating when the second computing device issued the command to generate the second acoustic signal; 
 a sensor of a first computing device receiving the second acoustic signal; 
 generating a third an estimate of a time for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device based on the second timestamp indicating when the second computing device issued the command to generate the second acoustic signal; and 
 the third computing device computing, based on the third estimate of the time for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device, a physical location of at least one of a set including the sensor of the first computing device and the actuator of the second computing device, wherein computing the physical location of at least one of the set including the sensor of the first computing device and the actuator of the second computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the sensor of the first computing device and the actuator of the second computing device and (ii) the second time-varying delay between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal. 
 
     
     
       3. The method of  claim 2 , wherein the actuator of the first computing device is a speaker. 
     
     
       4. The method of  claim 3 , wherein the sensor of the second computing device is a microphone. 
     
     
       5. The method of  claim 4 , wherein the acoustic signals generated by the first and second computing devices are selected from a group comprising of maximum length sequence signal and a chirp signal. 
     
     
       6. The method of  claim 1 , further including:
 estimating an emission start time of when the acoustic signal was emitted from the actuator.   
     
     
       7. The method of  claim 6 , wherein the estimating of the emission start time includes the first computing device using a loopback device to estimate the emission start time; and
 using the emission start time to determine the estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor second computing device.   
     
     
       8. The method of  claim 1 , wherein the method further includes prior to the third computing device computing the physical locations, computing an initial estimation of the physical location of the sensor of the second computer and actuator of the first computer via a video modality. 
     
     
       9. The method of  claim 1 , wherein the method further includes prior to the third computing device computing the physical locations of the sensor of the second computer, computing an initial estimation of the physical location of the sensor of the second computer and actuator of the first computer via multidimensional scaling. 
     
     
       10. A method comprising:
 a first computing device transmitting a wireless signal to a second computing device and a third computing devices device, the signal requesting an actuator of the second computing device generate an acoustic signal to be received by a sensor of the third computing device, wherein the actuator and sensor are unsynchronized at least due to a time-varying delay occurs between when the second computing device issues a command to generate the acoustic signal and when the actuator generates the acoustic signal, the time-varying delay at least due to time-varying processor load of the second computing device; and 
 the first computing device computing, based on a time estimate for the acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, a physical location of at least one of a set including the actuator of the second computing device and the sensor of the third computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the second computing device and the sensor of the third computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the set including the actuator of the second computing device and the sensor of the third computing device and (ii) the time-varying delay between when the second computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       11. The method of  claim 10 , wherein the method further includes:
 the first computing device transmitting the wireless signal to the second computing device and a fourth computing devices device, the signal requesting the actuator of the second computing device generate the acoustic signal to be received by a sensor of the fourth computing device, wherein the actuator and the sensor of the fourth computing device are unsynchronized; and 
 the first computing device computing, based on an time estimate for the acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device, a physical location of at least one of a set including the actuator of the second computing device and the sensor of the fourth computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the second computing device and the sensor of the fourth computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the actuator of the second computing device and the sensor of the fourth computing device and (ii) the time-varying delay between when the second computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       12. The method of  claim 11 , wherein the method further includes:
 the first computing device transmitting a second wireless signal to the second computing device and the third computing devices device, the signal requesting an actuator of the third computing device generate an a second acoustic signal to be received by a sensor of the second computing device, wherein the actuator of the third computing device and a sensor of the second computing device are unsynchronized at least due to a second time-varying delay occurs between when the third computing device issues a command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the third computing device; and 
 the first computing device computing, based on an a time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device, a physical location of at least one of a set including the actuator of the third computing device and the sensor of the second computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the third computing device and the sensor of the second computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the actuator of the third computing device and the sensor of the second computing device and (ii) the second time-varying delay between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal. 
 
     
     
       13. The method of  claim 12 , wherein the actuator of the second computing device is a speaker. 
     
     
       14. The method of  claim 13 , wherein the sensor of the third computing device is a microphone. 
     
     
       15. The method of  claim 14 , wherein the acoustic signals to be generated by the second and third computing devices are selected from a group comprising of maximum length sequence signal, and a chirp signal. 
     
     
       16. The method of  claim 10 , further including: estimating an emission start time of when the acoustic signal was emitted from the actuator of the second computing device. 
     
     
       17. The method of  claim 16 , wherein estimating the emission start time includes the second computing device using a loopback device to estimate the emission start time; using emission start time to determine the estimate of a time for the acoustic signal to travel from the actuator of the second computing device to the sensor third computing device. 
     
     
       18. The method of  claim 10 , wherein the method further includes:
 prior to the first computer determining a physical location of at least one of the group including the actuator of the second computing device and the sensor of the third computer, the first computer computing an initial estimation of the physical location of the actuator of the second computer and the sensor of the third computing device via video modality. 
 
     
     
       19. The method of claim  10  11, wherein the method further includes:
 prior to the first computer determining a physical location of at least one of the group including the actuator of the second computing device and the sensor of the third fourth computer, the first computer computing an initial estimation of the physical location of the actuator of the second computer and the sensor of the third fourth computing device via video modality. 
 
     
     
       20. A non-transitory machine readable medium having stored thereon a set of instructions, which when executed, cause the machine to perform a method comprising of:
 an actuator of a first computing device generating an acoustic signal, wherein a time-varying delay occurs between when the first computing device issues a command to generate the acoustic signal and when the actuator generates the acoustic signal, the time-varying delay at least due to time-varying processor load of the first computing device; 
 transmitting, with the first computing device, a timestamp indicating when the first computing device issued the command to generate the acoustic signal; 
 a sensor of a second computing device receiving the acoustic signal; 
 generating an estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device based on the timestamp indicating when the first computing device issued the command to generate the acoustic signal, wherein the sensor of the second computing device and the actuator of the first computing device are unsynchronized; and 
 a third computing device computing, based on the time estimate of the time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device, a physical location of at least one of a set including the sensor of the second computing device and the actuator of the first computing device, wherein computing the physical location of at least one of the set including the sensor of the second computing device and the actuator of the first computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the set including the sensor of the second computing device and the actuator of the first computing device and (ii) the time-varying delay between when the first computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       21. The non-transitory machine readable medium of  claim 20 , wherein the method further includes:
 a sensor of a fourth computing device receiving the acoustic signal; and 
 generating a second an estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device based on the timestamp indicating when the first computing device issued the command to generate the acoustic signal, wherein the actuator of the first computing device and the sensor of the fourth computing device are unsynchronized; and 
 the third computing device computing, based on the second estimate of time for the acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device, a physical location of at least one of a set including the sensor of the fourth computing device and the actuator of the first computing device, wherein computing the physical location of at least one of the set including the sensor of the fourth computing device and the actuator of the first computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the sensor of the fourth computing device and the actuator of the first computing device and (ii) the time-varying delay between when the first computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       22. The non-transitory machine readable medium of  claim 21 , wherein the method further includes:
 an actuator of the second computing device generating a second acoustic signal, wherein a second time-varying delay occurs between when the second computing device issues a command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the second computing device; 
 transmitting, with the second computing device, a second timestamp indicating when the second computing device issued the command to generate the second acoustic signal; 
 a sensor of a first computing device receiving the second acoustic signal; 
 generating a third an estimate of a time for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device based on the second timestamp indicating when the second computing device issued the command to generate the second acoustic signal; and 
 the third computing device computing, based on the third estimate of time for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device, a physical location of at least one of a set including the sensor of the first computing device and the actuator of the second computing device, wherein computing the physical location of at least one of the set including the sensor of the first computing device and the actuator of the second computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the sensor of the first computing device and the actuator of the second computing device and (ii) the second time-varying delay between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal. 
 
     
     
       23. The non-transitory machine readable medium of  claim 22 , wherein the actuator of the first computing device is a speaker. 
     
     
       24. The non-transitory machine readable medium of  claim 23 , wherein the sensor of the second computing device is a microphone. 
     
     
       25. The non-transitory machine readable medium of  claim 24 , wherein the acoustic signals generated by the first and second computing devices are selected from a group comprising of maximum length sequence signal and a chirp signal. 
     
     
       26. The machine readable medium of  claim 20 , further including:
 estimating an emission start time of when the acoustic signal was emitted from the actuator.   
     
     
       27. The machine readable medium of  claim 26 , wherein the estimating of the emission start time includes the first computing device using a loopback device to estimate the emission start time; and
 using the emission start time to determine the estimate of a time for the acoustic signal to travel from the actuator of the first computing device to the sensor second computing device.   
     
     
       28. The non-transitory machine readable medium of  claim 20 , wherein the method further includes:
 prior to the third computing device computing the physical locations, computing an initial estimation of the physical location of the sensor of the second computer and actuator of the first computer via a video modality. 
 
     
     
       29. The non-transitory machine readable medium of  claim 20 , wherein the method further includes:
 prior to the third computing device computing the physical locations, computing an initial estimation of the physical location of the sensor of the second computer and actuator of the first computer via multidimensional scaling. 
 
     
     
       30. A non-transitory machine readable medium having stored thereon a set of instructions, which when executed, cause the machine to perform a method comprising of:
 a first computing device transmitting a wireless signal to a second computing device and a third computing devices device, the signal requesting an actuator of the second computing device generate an acoustic signal to be received by a sensor of the third computing device, wherein the actuator and sensor are unsynchronized at least due to a time-varying delay occurs between when the second computing device issues a command to generate the acoustic signal and when the actuator generates the acoustic signal, the time-varying delay at least due to time-varying processor load of the second computing device; and 
 the first computing device computing, based on a time estimate for the acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, a physical location of at least one of a set including the actuator of the second computing device and the sensor of the third computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the second computing device and the sensor of the third computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the set including the actuator of the second computing device and the sensor of the third computing device and (ii) the time-varying delay between when the second computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       31. The non-transitory machine readable medium of  claim 30 , wherein the method further includes:
 the first computing device transmitting the wireless signal to the second computing device and a fourth computing devices device, the signal requesting the actuator of the second computing device generate the acoustic signal to be received by a sensor of the fourth computing device, wherein the actuator and the sensor of the fourth computing device are unsynchronized; and 
 the first computing device computing, based on an time estimate for the acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device, a physical location of at least one of a set including the actuator of the second computing device and the sensor of the fourth computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the second computing device and the sensor of the fourth computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the actuator of the second computing device and the sensor of the fourth computing device and (ii) the time-varying delay between when the second computing device issues the command to generate the acoustic signal and when the actuator generates the acoustic signal. 
 
     
     
       32. The non-transitory machine readable medium of  claim 31 , wherein the method further includes:
 the first computing device transmitting a second wireless signal to the second computing device and the third computing devices device, the signal requesting an actuator of the third computing device generate an a second acoustic signal to be received by a sensor of the second computing device, wherein the actuator of the third computing device and a sensor of the second computing device are unsynchronized at least due to a second time-varying delay occurs between when the third computing device issues a command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the third computing device; and 
 the first computing device computing, based on an a time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device, a physical location of at least one of a set including the actuator of the third computing device and the sensor of the second computing device; 
 wherein computing the physical location of at least one of the set including the actuator of the third computing device and the sensor of the second computing device includes jointly estimating, using the NLS computation, (i) the at least one of the set including the actuator of the third computing device and the sensor of the second computing device and (ii) the second time-varying delay between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal. 
 
     
     
       33. The non-transitory machine readable medium of  claim 32 , wherein the actuator of the second computing device is a speaker. 
     
     
       34. The non-transitory machine readable medium of  claim 33 , wherein the sensor of the third computing device is a microphone. 
     
     
       35. The non-transitory machine readable medium of  claim 34 , wherein the acoustic signals to be generated by the second and third computing devices are selected from a group comprising of maximum length sequence signal, and a chirp signal. 
     
     
       36. The machine readable medium of  claim 30 , further including:
 estimating an emission start time of when the acoustic signal was emitted from the actuator of the second computing device.   
     
     
       37. The machine readable medium of  claim 36 , wherein estimating the emission start time includes the second computing device using a loopback device to compute the emission start time;
 using emission start time to determine the estimate of a time for the acoustic signal to travel from the actuator of the second computing device to the sensor third computing device.   
     
     
       38. The non-transitory machine readable medium of  claim 30 , wherein the method further includes:
 prior to the first computer determining a physical location of at least one of the group including the actuator of the second computing device and the sensor of the third computer, the first computer computing an initial estimation of the physical location of the actuator of the second computer and the sensor of the third computing device via video modality. 
 
     
     
       39. The non-transitory machine readable medium of claim  30  31, wherein the method further includes:
 prior to the first computer determining a physical location of at least one of the group including the actuator of the second computing device and the sensor of the third fourth computer, the first computer computing an initial estimation of the physical location of the actuator of the second computer and the sensor of the third fourth computing device via video modality. 
 
     
     
       40. A method comprising:
 causing an actuator of a first computing device to generate a first acoustic signal;   receiving a first timestamp indicating when the first computing device issued a command to generate the first acoustic signal, wherein a first time-varying delay occurs between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the first computing device;   receiving a first time of arrival signal from a second computing device having a sensor, wherein the first time of arrival signal is indicative of a time for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device, wherein the actuator of the first computing device and the sensor of the second computing device are unsynchronized at least due to the first time-varying delay;   receiving a second time of arrival signal from a third computing device having a sensor, wherein the second time of arrival signal is indicative of a time for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the third computing device, wherein the actuator of the first computing device and the sensor of the third computing device are unsynchronized at least due to the first time-varying delay;   computing, based on i) the first time of arrival signal and ii) the first timestamp, at least one of a physical location of the sensor of the second computing device or a physical location of the actuator of the first computing device, wherein computing at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal; and   computing, based on i) the second time of arrival signal and ii) the first timestamp, at least one of a physical location of the sensor of the third computing device or the physical location of the actuator of the actuator of the first computing device, wherein computing at least one of the physical location of the sensor of the third computing device or the physical location of the actuator of the first computing device includes jointly estimating, using the NLS computation, (i) the at least one of the physical location of the sensor of the third computing device or the physical location of the actuator of the first computing device and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal.   
     
     
       41. The method of claim 40, wherein causing the actuator of the first computing device to generate the first acoustic signal comprises transmitting a wireless signal to the first computing device that requests that the actuator of the first computing device generate the first acoustic signal. 
     
     
       42. The method of claim 40, wherein the first time of arrival signal includes a time for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device. 
     
     
       43. The method of claim 40, wherein the first time of arrival signal includes a time at which the first acoustic signal arrived at the sensor of the second computing device. 
     
     
       44. The method of claim 40, wherein the second time of arrival signal includes a time for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the third computing device. 
     
     
       45. The method of claim 40, wherein the second time of arrival signal includes a time at which the first acoustic signal arrived at the sensor of the third computing device. 
     
     
       46. The method of claim 40, wherein the first computing device includes a sensor;
 wherein the second computing device includes an actuator;   wherein the method further comprises:   causing the actuator of the second computing device to generate a second acoustic signal;   receiving a second timestamp indicating when the second computing device issued a command to generate the second acoustic signal, wherein a second time-varying delay occurs between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the first acoustic signal, the second time-varying delay at least due to time-varying processor load of the second computing device;   receiving a third time of arrival signal from the first computing device, wherein the third time of arrival signal is indicative of a time for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device, wherein the actuator of the second computing device and the sensor of the first computing device are unsynchronized at least due to the second time-varying delay; and   computing, based on i) the third time of arrival signal and ii) the second timestamp, at least one of a physical location of the sensor of the first computing device or a physical location of the actuator of the second computing device, wherein computing at least one of the physical location of the sensor of the first computing device or the physical location of the actuator of the second computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the sensor of the first computing device or the physical location of the actuator of the second computing device and (ii) the second time-varying delay between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal.   
     
     
       47. The method of claim 40, wherein the actuator of the first computing device is a speaker. 
     
     
       48. The method of claim 47, wherein the sensor of the second computing device is a microphone. 
     
     
       49. The method of claim 40, wherein the first acoustic signal is a maximum length sequence signal or a chirp signal. 
     
     
       50. The method of claim 40, further comprising computing an initial estimate of the physical location of the sensor of the second computing device and an initial estimate of the physical location of the actuator of the first computing device based on information captured by a camera. 
     
     
       51. The method of claim 40, further comprising computing an initial estimate of the physical location of the sensor of the second computing device and an initial estimate of the physical location of the actuator of the first computing device via multidimensional scaling. 
     
     
       52. A method comprising:
 causing an actuator of a first computing device to generate a first acoustic signal, the first acoustic signal to be received by a sensor of a second computing device, wherein the actuator of the first computing device and the sensor of the second computing device are unsynchronized at least due to a first time-varying delay that occurs between when the first computing device issues a command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the first computing device;   computing at the third computing device, based on a time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device, at least one of a physical location of the actuator of the first computing device or a physical location of the sensor of the second computing device, wherein computing at least one of the physical location of the actuator of the first computing device or the physical location of the sensor of the second computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the first computing device or the physical location of the sensor of the second computing device and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device is based on (i) a first timestamp, transmitted by the first computing device, that indicates when the first computing device issues the command to generate the first acoustic signal, and (ii) a time when the second computing device receives the first acoustic signal.   
     
     
       53. The method of claim 52, wherein the first acoustic signal is to be received by a sensor of a fourth computing device, wherein the actuator of the first computing device and the sensor of the fourth computing device are unsynchronized at least due to the first time-varying delay that occurs between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;
 wherein the method further comprises the third computing device computing, based on a time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device, at least one of the physical location of the actuator of the first computing device or a physical location of the sensor of the fourth computing device, wherein computing at least one of the physical location of the actuator of the first computing device or the physical location of the sensor of the fourth computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the first computing device or the physical location of the sensor of the fourth computing device and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device is based on (i) the first timestamp that indicates when the first computing device issues the command to generate the first acoustic signal, and (ii) a time when the fourth computing device receives the first acoustic signal.   
     
     
       54. The method of claim 53, further comprising:
 causing an actuator of the second computing device to generate a second acoustic signal, the second acoustic signal to be received by a sensor of the first computing device, wherein the actuator of the second computing device and the sensor of the first computing device are unsynchronized at least due to a second time-varying delay that occurs between when the second computing device issues a command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the second computing device; and   computing at the third computing device, based on a time estimate for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device, at least one of a physical location of the actuator of the second computing device or a physical location of the sensor of the first computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the first computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the first computing device and (ii) the second time-varying delay between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal;   wherein the time estimate for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device is based on (i) a third timestamp, transmitted by the second computing device, that indicates when the second computing device issues the command to generate the second acoustic signal, and (ii) a time when the first computing device receives the second acoustic signal.   
     
     
       55. The method of claim 52, wherein the actuator of the first computing device is a speaker. 
     
     
       56. The method of claim 55, wherein the sensor of the second computing device is a microphone. 
     
     
       57. The method of claim 52, wherein the first acoustic signal is a maximum length sequence signal or a chirp signal. 
     
     
       58. The method of claim 52, further comprising computing at the third computing device an initial estimate of the physical location of the sensor of the second computing device and an initial estimate of the physical location of the actuator of the first computing device based on information captured by a camera. 
     
     
       59. The method of claim 52, further comprising computing at the third computing device an initial estimate of the physical location of the sensor of the second computing device and an initial estimate of the physical location of the actuator of the first computing device via multidimensional scaling. 
     
     
       60. A first computing device comprising:
 a communication device;   a processor configured to:
 cause an actuator of a second computing device to generate a first acoustic signal, wherein a first time-varying delay occurs between when the second computing device issues a command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the second computing device, 
 receive a first time of arrival signal from a third computing device having a sensor, wherein the first time of arrival signal is indicative of a time for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, wherein the actuator of the second computing device and the sensor of the third computing device are unsynchronized at least due to the first time-varying delay that occurs between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, 
 receive a second time of arrival signal from a fourth computing device having a sensor, wherein the second time of arrival signal is indicative of a time for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device, wherein the actuator of the second computing device and the sensor of the fourth computing device are unsynchronized at least due to the first time-varying delay that occurs between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, 
 compute, based on i) the first time of arrival signal and ii) an estimate of a time at which the first acoustic signal is emitted from the actuator of the second computing device, at least one of a physical location of the actuator of the second computing device or a physical location of the sensor of the third computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, and 
 compute, based on i) the second time of arrival signal and ii) the estimate of the time at which the first acoustic signal is emitted from the actuator of the second computing device, at least one of the physical location of the actuator of the actuator of the second computing device or a physical location of the sensor of the fourth computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device includes jointly estimating, using the NLS computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal. 
   
     
     
       61. The first computing device of claim 60, wherein the processor is configured to cause the first computing device to transmit a request signal to the second computing device that requests that the actuator of the second computing device generate the first acoustic signal. 
     
     
       62. The first computing device of claim 61, wherein the first communication device is a wireless communication device, and wherein the request signal is a wireless request signal. 
     
     
       63. The first computing device of claim 60, wherein the first time of arrival signal includes a time for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device. 
     
     
       64. The first computing device of claim 60, wherein the first time of arrival signal includes a time at which the first acoustic signal arrived at the sensor of the third computing device. 
     
     
       65. The first computing device of claim 60, wherein the second time of arrival signal includes a time for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device. 
     
     
       66. The first computing device of claim 60, wherein the second time of arrival signal includes a time at which the first acoustic signal arrived at the sensor of the fourth computing device. 
     
     
       67. The first computing device of claim 60, wherein the second computing device includes a sensor;
 wherein the third computing device includes an actuator;   wherein the processor is configured to:   cause the actuator of the third computing device to generate a second acoustic signal, wherein a second time-varying delay occurs between when the third computing device issues a command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the third computing device,   receive a third time of arrival signal from the second computing device, wherein the third time of arrival signal is indicative of a time for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device, wherein the actuator of the third computing device and the sensor of the second computing device are unsynchronized at least due to the second time-varying delay that occurs between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal; and   compute, based on i) the third time of arrival signal and ii) the estimate of the time at which the second acoustic signal is emitted from the actuator of the third computing device, at least one of a physical location of the actuator of the third computing device or a physical location of the sensor of the second computing device, wherein computing at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device includes jointly estimating, using the NLS computation, (i) the at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device and (ii) the second time-varying delay between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal.   
     
     
       68. The first computing device of claim 60, wherein the first acoustic signal is a maximum length sequence signal or a chirp signal. 
     
     
       69. The first computing device of claim 60, wherein the processor is configured to cause the first computing device to compute an initial estimate of the physical location of the sensor of the third computing device and an initial estimate of the physical location of the actuator of the second computing device based on information captured by a camera. 
     
     
       70. The first computing device of claim 60, wherein the processor is configured to cause the first computing device to compute an initial estimate of the physical location of the sensor of the second computing device and an initial estimate of the physical location of the actuator of the first computing device via multidimensional scaling. 
     
     
       71. A first computing device comprising:
 a communication device;   a processor configured to:   cause an actuator of a second computing device to generate a first acoustic signal, the first acoustic signal to be received by a sensor of a third computing device, wherein the actuator of the second computing device and the sensor of the third computing device are unsynchronized at least due to a first time-varying delay that occurs between when the second computing device issues a command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the second computing device, and   compute, based on a time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, at least one of a physical location of the actuator of the second computing device or a physical location of the sensor of the third computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device is based on (i) a first timestamp, transmitted by the second computing device, that indicates when the second computing device issues the command to generate the first acoustic signal, and (ii) a time when the third computing device receives the first acoustic signal.   
     
     
       72. The first computing device of claim 71, wherein the first acoustic signal is to be received by a sensor of a fourth computing device, wherein the actuator of the second computing device and the sensor of the fourth computing device are unsynchronized at least due to the first time-varying delay that occurs between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal;
 wherein the processor is configured to compute, based on a time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device, at least one of the physical location of the actuator of the second computing device or a physical location of the sensor of the fourth computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device is based on (i) the first timestamp that indicates when the second computing device issues the command to generate the first acoustic signal, and (ii) a time when the fourth computing device receives the first acoustic signal.   
     
     
       73. The first computing device of claim 72, wherein the processor is configured to:
 cause an actuator of the third computing device to generate a second acoustic signal, the second acoustic signal to be received by a sensor of the second computing device, wherein the actuator of the third computing device and the sensor of the second computing device are unsynchronized at least due to a second time-varying delay that occurs between when the third computing device issues a command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the third computing device; and   compute, based on a time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device, at least one of a physical location of the actuator of the third computing device or a physical location of the sensor of the second computing device, wherein computing at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device and (ii) the second time-varying delay between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal;   wherein the time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device is based on (i) a fourth timestamp, transmitted by the third computing device, that indicates when the third computing device issues the command to generate the second acoustic signal, and (ii) a time when the second computing device receives the second acoustic signal.   
     
     
       74. The first computing device of claim 71, wherein the first acoustic signal is a maximum length sequence signal or a chirp signal. 
     
     
       75. The first computing device of claim 71, wherein the processor is configured to cause the first computing device to compute an initial estimate of the physical location of the sensor of the third computing device and an initial estimate of the physical location of the actuator of the second computing device based on information captured by a camera. 
     
     
       76. The first computing device of claim 71, wherein the processor is configured to compute an initial estimate of the physical location of the sensor of the third computing device and an initial estimate of the physical location of the actuator of the second computing device via multidimensional scaling. 
     
     
       77. The first computing device of claim 71, wherein the processor is configured to cause the first computing device to transmit a request signal to the second computing device that requests that the actuator of the second computing device generate the first acoustic signal. 
     
     
       78. The first computing device of claim 77, wherein the communication device is a wireless communication device, and wherein the request signal is a wireless request signal. 
     
     
       79. A system comprising:
 a first computing device having an actuator, wherein the first computing device is configured to cause the actuator of the first computing device to generate a first acoustic signal, wherein a first time-varying delay occurs between when the first computing device issues a command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the first computing device;   a second computing device having a sensor;   wherein the sensor of the second computing device and the actuator of the first computing device are unsynchronized at least due to the first time-varying delay that occurs between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;   a third computing device;   a fourth computing device having a sensor;   wherein the sensor of the fourth computing device and the actuator of the first computing device are unsynchronized at least due to the first time-varying delay that occurs between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;   wherein the third computing device is communicatively coupled to the first computing device, the second computing device and the fourth computing device;   wherein the first computing device is configured to transmit a first timestamp that indicates when the first computing device issued the command to generate the first acoustic signal;   wherein one of the second computing device or the third computing device is configured to generate, based on the first timestamp, a first time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the second computing device:   wherein the third computing device is configured to compute, based on the first time estimate, at least one of a physical location of the sensor of the second computing device or a physical location of the actuator of the first computing device, wherein computing at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device, and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal;   wherein one of the fourth computing device or the third computing device is configured to generate, based on the first timestamp, a second time estimate for the first acoustic signal to travel from the actuator of the first computing device to the sensor of the fourth computing device; and   wherein the third computing device is configured to compute, based on the second time estimate, at least one of a physical location of the sensor of the fourth computing device or the physical location of the actuator of the first computing device, wherein computing at least one of the physical location of the sensor of the fourth computing device or the physical location of the actuator of the first computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the sensor of the fourth computing device or the physical location of the actuator of the first computing device, and (ii) the first time-varying delay between when the first computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal.   
     
     
       80. The system of claim 79, wherein the first computing device includes a sensor;
 wherein the second computing device includes an actuator, wherein the second computing device is configured to cause the actuator of the second computing device to generate a second acoustic signal, wherein a second time-varying delay occurs between when the second computing device issues a command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the second computing device;   wherein the second computing device is configured to transmit a second timestamp that indicates when the second computing device issued the command to generate the second acoustic signal;   wherein one of the first computing device or the third computing device is configured to generate, based on the second timestamp, a third time estimate for the second acoustic signal to travel from the actuator of the second computing device to the sensor of the first computing device; and   wherein the third computing device is configured to compute, based on the third time estimate, at least one of a physical location of the sensor of the first computing device or a physical location of the actuator of the second computing device, wherein computing at least one of the physical location of the sensor of the first computing device or the physical location of the actuator of the second computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the sensor of the first computing device or the physical location of the actuator of the second computing device, and (ii) the second time-varying delay between when the second computing device issues the command to generate the second acoustic signal and when the actuator of the second computing device generates the second acoustic signal.   
     
     
       81. The system of claim 80, wherein the actuator of the first computing device is a speaker. 
     
     
       82. The system of claim 81, wherein the sensor of the second computing device is a microphone. 
     
     
       83. The system of claim 82, wherein each of the first acoustic signal and the second acoustic signal is one of a maximum length sequence signal or a chirp signal. 
     
     
       84. The system of claim 79, wherein the third computing device is configured to compute an initial estimation of the physical location of the sensor of the second computing device and an initial estimation of the physical location of the actuator of the first computing device via a video modality prior to the third computing device computing at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device. 
     
     
       85. The system of claim 79, wherein the third computing device is configured to compute an initial estimation of the physical location of the sensor of the second computing device and an initial estimation of the physical location of the actuator of the first computing device via multidimensional scaling prior to the third computing device computing at least one of the physical location of the sensor of the second computing device or the physical location of the actuator of the first computing device. 
     
     
       86. A first computing device comprising:
 a wireless communication device;   a processor configured to:   cause the wireless communication device to transmit a wireless signal to a second computing device and a third computing device, the wireless signal requesting an actuator of the second computing device to generate a first acoustic signal to be received by a sensor of the third computing device, wherein the actuator of the second computing device and the sensor of the third computing device are unsynchronized at least due to a first time-varying delay that occurs between when the second computing device issues a command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal, the first time-varying delay at least due to time-varying processor load of the second computing device, and   compute, based on a time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device, at least one of a physical location of the actuator of the second computing device or a physical location of the sensor of the third computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device includes jointly estimating, using a nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device, and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the third computing device is based on (i) a first timestamp that indicates when the second computing device issues the command to generate the first acoustic signal, and (ii) a time when the third computing device receives the first acoustic signal.   
     
     
       87. The first computing device of claim 86, wherein the processor is configured to:
 cause the wireless communication device to transmit the wireless signal to the second computing device and a fourth computing device, the wireless signal requesting the actuator of the second computing device to generate the first acoustic signal to be received by a sensor of the fourth computing device, wherein the actuator of the second computing device and the sensor of the fourth computing device are unsynchronized at least due to the first time-varying delay that occurs between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the first computing device generates the first acoustic signal; and   compute, based on a time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device, at least one of a physical location of the actuator of the second computing device or a physical location of the sensor of the fourth computing device, wherein computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the fourth computing device and (ii) the first time-varying delay between when the second computing device issues the command to generate the first acoustic signal and when the actuator of the second computing device generates the first acoustic signal;   wherein the time estimate for the first acoustic signal to travel from the actuator of the second computing device to the sensor of the fourth computing device is based on (i) the first timestamp that indicates when the second computing device issues the command to generate the first acoustic signal, and (ii) a time when the fourth computing device receives the first acoustic signal.   
     
     
       88. The first computing device of claim 87, wherein the processor is configured to:
 cause the wireless communication device to transmit a second wireless signal to the second computing device and the third computing device, the second wireless signal requesting an actuator of the third computing device to generate a second acoustic signal to be received by a sensor of the second computing device, wherein the actuator of the third computing device and the sensor of the second computing device are unsynchronized at least due to a second time-varying delay that occurs between when the third computing device issues a command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal, the second time-varying delay at least due to time-varying processor load of the third computing device; and   compute, based on a time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device, at least one of a physical location of the actuator of the third computing device or a physical location of the sensor of the second computing device, wherein computing at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device includes jointly estimating, using the nonlinear least squares (NLS) computation, (i) the at least one of the physical location of the actuator of the third computing device or the physical location of the sensor of the second computing device, and (ii) the second time-varying delay between when the third computing device issues the command to generate the second acoustic signal and when the actuator of the third computing device generates the second acoustic signal;   wherein the time estimate for the second acoustic signal to travel from the actuator of the third computing device to the sensor of the second computing device is based on (i) a fourth timestamp that indicates when the third computing device issues the command to generate the second acoustic signal, and (ii) a time when the second computing device receives the second acoustic signal.   
     
     
       89. The first computing device of claim 86, wherein the processor is configured to compute an initial estimation of the physical location of the actuator of the second computing device and an initial estimation of the physical location of the actuator of the sensor of the third computing device via information captured by a camera, prior to computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device. 
     
     
       90. The first computing device of claim 86, wherein the processor is configured to compute an initial estimation of the physical location of the actuator of the second computing device and an initial estimation of the physical location of the sensor of the third computing device via multidimensional scaling, prior to computing at least one of the physical location of the actuator of the second computing device or the physical location of the sensor of the third computing device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.