Table of Contents
Fetching ...

AcousTools: A `Full-Stack', Python-Based, Acoustic Holography Library

Joshua Mukherjee, Giorgos Christopoulos, Zhouyang Shen, Sriram Subramanian, Ryuji Hirayama

TL;DR

Acoustic holography software lacks a unified full-stack solution that covers setup, propagation, phase retrieval, analysis, and hardware control, hindering interoperability and reproducibility. AcousTools is a Python-based library that implements a five-stage full-stack (Setup, Propagators, Solvers, Analysis, Hardware) with interchangeable components (piston model and Boundary Element Method for propagation; IB, GS-PAT, naive, WGS, implicit-gradient solvers; OpenMPD-driven hardware). It provides end-to-end development capabilities and demonstrates a dual-trap optimization by minimizing Gor'kov potential for a droplet while maximizing pressure for a solid particle, with real-world validation, illustrating open, benchmarkable interoperability. It aims to become an open-source standard for interoperable acoustic holography research, enabling reproducibility and rapid development of mid-air haptics, volumetric displays, and related applications.

Abstract

Acoustic Holography is an emerging field where mid-air ultrasound is controlled and manipulated for novel and exciting applications. These range from mid-air haptics, volumetric displays, contactless fabrication, and even chemical and biomedical applications such as drug delivery. To develop these applications, a software framework to predict acoustic behaviour and simulating resulting effects, such as applied forces or scattering patterns is desirable. There have been various software libraries and platforms that attempt to fill this role, but there is yet to be a single piece of software that acts as a 'full-stack' solution. We define this full-stack as the process from abstraction to physicalisation starting with setup, modelling acoustic propagation, transducer phase retrieval, sound field analysis, and control of the acoustic holographic hardware itself. Existing methods fail to fulfil one or more of these categories. To address this, we present AcousTools, a Python-based acoustic holography library, designed to support the full suite of acoustic holographic applications and we show AcousTools's ability to meet each step of the full-stack's requirements. AcousTools has the potential to become the standard code library for acoustic holography, with the uniquely complete suite of features wrapped in a language that is known to be easy to use, AcousTools will increase the ability for researchers to develop novel applications as well as accurately review other's work. The full-stack, aside from software, will also be useful for researchers - providing a way to view and compare methodologies by understanding where they fit into the stack.

AcousTools: A `Full-Stack', Python-Based, Acoustic Holography Library

TL;DR

Acoustic holography software lacks a unified full-stack solution that covers setup, propagation, phase retrieval, analysis, and hardware control, hindering interoperability and reproducibility. AcousTools is a Python-based library that implements a five-stage full-stack (Setup, Propagators, Solvers, Analysis, Hardware) with interchangeable components (piston model and Boundary Element Method for propagation; IB, GS-PAT, naive, WGS, implicit-gradient solvers; OpenMPD-driven hardware). It provides end-to-end development capabilities and demonstrates a dual-trap optimization by minimizing Gor'kov potential for a droplet while maximizing pressure for a solid particle, with real-world validation, illustrating open, benchmarkable interoperability. It aims to become an open-source standard for interoperable acoustic holography research, enabling reproducibility and rapid development of mid-air haptics, volumetric displays, and related applications.

Abstract

Acoustic Holography is an emerging field where mid-air ultrasound is controlled and manipulated for novel and exciting applications. These range from mid-air haptics, volumetric displays, contactless fabrication, and even chemical and biomedical applications such as drug delivery. To develop these applications, a software framework to predict acoustic behaviour and simulating resulting effects, such as applied forces or scattering patterns is desirable. There have been various software libraries and platforms that attempt to fill this role, but there is yet to be a single piece of software that acts as a 'full-stack' solution. We define this full-stack as the process from abstraction to physicalisation starting with setup, modelling acoustic propagation, transducer phase retrieval, sound field analysis, and control of the acoustic holographic hardware itself. Existing methods fail to fulfil one or more of these categories. To address this, we present AcousTools, a Python-based acoustic holography library, designed to support the full suite of acoustic holographic applications and we show AcousTools's ability to meet each step of the full-stack's requirements. AcousTools has the potential to become the standard code library for acoustic holography, with the uniquely complete suite of features wrapped in a language that is known to be easy to use, AcousTools will increase the ability for researchers to develop novel applications as well as accurately review other's work. The full-stack, aside from software, will also be useful for researchers - providing a way to view and compare methodologies by understanding where they fit into the stack.

Paper Structure

This paper contains 23 sections, 14 equations, 7 figures, 2 tables.

Figures (7)

  • Figure 1: The acoustic holography full-stack (top) describes the workflow for acoustic holography. A developer begins on the left and progresses to the right, moving from the most abstract stages (defining modelling parameters and modelling propagation) to the most physical stages (examining physical metrics of a sound field and producing that sound field in reality). This framework allows the analysis of different acoustic holography software based on the stages they support -- the ideal software would allow a developer to complete every stage using a single software package. AcousTools uniquely addresses all stages in the full stack as shown in this example (bottom), from (1) defining the board and scatterer for levitation setup (i.e., a flat array and rabbit reflector), (2) computing the sound propagation using the scattering profile, (3) solving for the transducers' activation to focus sound waves above the rabbit's head, and then (4) analysing the acoustic force on a small particle (shown as blue arrows) before (5) finally rendering this in the real-world hardware.
  • Figure 2: Comparison of using the free-field, piston model (left) and the boundary element method (right), when generating a focal point below a sound-scattering overhang (the target position is marked with a blue cross). Both are rendered using BEM to show the discrepancy caused from solving for transducer activations with an insufficiently accurate model. In the piston model case, the waves are reflected off of the top of the bridge section as the propagator did not consider it, meaning waves cannot be focused at the target. Contrastingly, BEM is able to take into account the reflections and focus at the desired location.
  • Figure 3: Examples of using different meshes as the definition for transducer arrays creating a focal point in the origin of the working area (high pressure region at the centre of each subfigure). For a given mesh, a transducer is placed at each cell centre with the normal of the mesh defining the transducer normal, with normals pointing into the working volume inside the mesh. a) flat array similar to a common setup used in practice AcousticElements, b) Sphere c) Cube d) Teapot. For each array, the mesh is d so that the limits of the mesh in the x-axis is $\pm$11.8cm, centred at the origin (except the flat array which is translated down in order to give a working volume above it) and the normals point towards the origin.
  • Figure 4: The result of using the gradient descent solver to minimise Gor'kov potential at one point and maximise pressure at another. This can be seen in both the top (pressure) figure, with a area of low pressure surrounded by high pressure lobes at one point while the other has high pressure at the target. The bottom figure (Gor'kov potential) also shows this with a minima of Gor'kov potential at one point and a maxima at the other.
  • Figure 5: The various analysis metrics that have been discussed visualised in the xz plane (constant y=0). A minima of pressure surrounded by high pressure corresponds to a minima of Gor'kov potential which denotes areas of zero net-force (neglecting gravity). The regions that a particle would be trapped for levitation also correspond to the areas where force converges (positive displacement leads to a negative force and visa-versa) which leads to a high value for stiffness. Note, the visualisation plane is offset from the plane the focal point sits in to avoid very small forces.
  • ...and 2 more figures