AmpLabs helps teams build better batteries.
Building off of the great Open Source work related to the Battery Data Genome, we are developing the components to realize an Open Source Battery Data Platform to help the entire battery value chain cut down on redundant work.
We want to close the gaps on solved problems so that teams can focus on building better batteries.
Try out the live hosted version of AmpLabs by visiting https://app.amplabs.ai
If you are interested in deploying AmpLabs in your own lab, you can do so with the Ampcloud Service
If you are interested in reviewing and giving feedback on the schema that AmpLabs natively runs, you can do so at AmpLabs Battery Datafile (BDF)
Inspired by Battery Lifecycle Framework with integrations into other community projects such as BEEP and Galvanalyser. AmpLabs puts these components together in a scalable and performant way to bring the concepts introduced by the Battery Data Genome in a user friendly manner.
2 Fundamental Problems facing the Battery Industry as Identified in the Principles of the Battery Data Genome
> Establishing the data and metadata conventions that will make heterogeneous data useful and enable interoperability, and rapid, large-scale capture of data from many sources and contributors
> Modern data science methods require large amounts of data and the battery community lacks the requisite scalable, standardized data hubs required for immediate use of these approaches. Lack of uniform data practices is a central barrier to the scale problem.
Build useful software that anyone who works with batteries can use
Build a sturdy foundation upon which other developers can build on top
Build a library of reusable components that develop software & data standards
Library of Cycler Converters
Dashboard with Standard Plots
How AmpLabs’ Software is organized?
AmpLabs’ Software Stack contains 5 conceptual components: Producer, Agent, Warehouse, Client, and Consumer.
The Producer creates the data. This would generally refer to something like a battery cycler or electric car that generates data about a battery.
The Agent is responsible for cleaning and collecting that data, and uploading it to the central data Warehouse. An Agent would be run by the same person running the Producer, and the Warehouse is the central data store that enables the rest of the data analysis and sharing.
A Client would be the application that gives a user easy access to their data. (It’s worth nothing that in many cases, an Agent and Client may be a single package.) Finally the Consumer is the aforementioned end user, who is interested in exploring and analyzing the data.
The components for the Agent, Warehouse, and Client are made real in the ampcloud-service repo
More info for how the conceptual structure maps to specific code will be the focus for each of the following sections.
What cyclers are supported?
What columns are required from each type of cycler? What units are expected?
- How do I configure or tell the agent where to look for data
File based systems
SQL based systems
What triggers a data collection event? is there a user defined schedule? Is the user supposed to kick off individual jobs?
How does the agent handle ongoing tests?
Where is my data stored?
Can I use my own instance of SQL (or whatever database technology the project uses).
Is the schema exposed? i.e. can I query the warehouse directly?
Since the goal of the “client” is to give users easy access to the data, we would like to build tools with which a user simply selects what data the user wants to plot, and then the tools output that plot.
I propose the following instructions.
For a new user to start, the new user should get Amplabs “user_token” and “cell_id” first.
The main purpose of the Client is to provide easy access to the data for users. The Client includes tools with which a user can simply select what battery data they want to plot, and then the tools output that battery data plot.
Access the Amplabs Client
Standard data tools and practices built from the data hub standards will create a new data app marketplace.