Catalyst is a task-oriented robotic software language designed to harness the possibilities and constraints of robotic systems, enabling developers to build efficient, reliable, and scalable robotic applications. Catalyst leverages the principles of Constructor Theory, focusing on tasks as fundamental transformations governed by the laws of physics. At its core is the Counterfactual API, which helps define what tasks CAN and CAN'T be achieved within the physical constraints of the environment.
This project introduces a modular approach to robotic software development, ensuring that tasks can be composed, extended, and managed efficiently across a variety of use cases, from industrial automation to autonomous robotics.
Catalyst aims to redefine robotic software by providing a precise and practical framework that empowers both developers and non-developers to create robotic systems that operate within their physical limits. The vision for Catalyst revolves around the idea of task modularity and counterfactual reasoning, ensuring that every robotic operation is well-defined, reliable, and physically possible.
By providing a Counterfactual API with CAN and CAN'T declarations, Catalyst introduces an intuitive way to compose robotic behaviors. It allows teams to create modular, data-driven, and scalable robotic applications that operate seamlessly in diverse environments. Catalyst's task-oriented architecture makes it suitable for a broad audience, including robotics engineers, product managers, and software developers.
-
Complexity in Robotic Development: Traditional robotic development requires complex, low-level programming that is inaccessible to non-developers. Catalyst simplifies this by providing a task-oriented, modular approach that abstracts the complexity of robotic tasks.
-
Lack of Modularity in Task Execution: Most robotic software lacks flexibility in defining and reusing tasks. Catalyst’s modular design allows for tasks to be composed, extended, and reused across different applications, improving scalability and development efficiency.
-
Uncertainty and Safety in Task Execution: Robotic systems often operate in uncertain environments where predicting outcomes is critical. Catalyst uses foundation models to enhance real-time decision-making and ensure safe execution by understanding what tasks are physically possible (CAN) and impossible (CAN'T).
-
Scalability and Adaptability in Changing Environments: As robotic systems scale, they face challenges in adapting to new tasks and environments. Catalyst’s integration with predictive models and foundation models enables robots to adapt dynamically to their surroundings.
-
Counterfactual API: A task-oriented API that defines what can and cannot be achieved, ensuring all operations adhere to the physical constraints of the environment.
-
Modular Task Composition: Tasks are treated as modular components (APIs) that can be composed, extended, and reused, enabling scalable and flexible robotic systems.
-
Foundation Model Integration: Catalyst integrates foundation models to enhance task execution, enabling real-time decision-making, uncertainty quantification, and task prediction.
-
Seamless Cloud Integration: Built with a cloud-native architecture in mind, Catalyst allows for easy integration with cloud-based robotic systems, providing scalability and access to real-time data.
-
Accessible to Non-Developers: Catalyst is designed with accessibility in mind, providing tools and visual interfaces for non-technical stakeholders to define and manage tasks without deep coding knowledge.
Here's a typical workflow in Catalyst, showcasing its task-oriented approach:
-
Task 1: Detect Object
- CAN: Detect objects using a camera sensor.
- CAN'T: Detect objects beyond a certain size or weight.
-
Task 2: Classify Object
- CAN: Classify objects into predefined categories using a foundation model.
- CAN'T: Classify objects with insufficient data or ambiguous visual cues.
-
Task 3: Sort Object
- CAN: Sort objects into the correct bin based on weight and size limits.
- CAN'T: Sort objects that exceed bin capacity or safety thresholds.
This modular workflow can be expanded, adjusted, and optimized as needed, providing flexible task execution.
-
The Philosophy of Constructor Theory
Author(s): David Deutsch
Link: https://www.constructortheory.org/portfolio/the-philosophy-of-constructor-theory/ -
The Science of Can and Can't
Author(s): Chiara Marletto Link: https://www.chiaramarletto.com/books/the-science-of-can-and-cant/ -
The information-theoretic foundation of thermodynamic work extraction
Author(s): Chiara Marletto Link: https://www.constructortheory.org/portfolio/the-information-theoretic-foundation-of-thermodynamic-work-extraction/ -
Developments in unitary quantum theory
Author(s): Sam Kuyper Link: https://ora.ox.ac.uk/objects/uuid:22cc9ee5-1425-4824-8a3a-242ac9b5f00f
-
Platform Engineering with Kubernetes Author(s): Mauricio Salaboy Link: https://www.salaboy.com/
-
Robotics for Programmers Author(s): Andreas Bihlmaier Link: https://www.salaboy.com/
Bash, Git, Cloud-Native, Kubernetes, Tekton, React, Tensorflow, Keras, ROS
To start using Catalyst, follow these steps:
- Clone the Repository:
git clone https://github.com/your-username/catalyst.git cd catalyst