Digital Casting System
Digital Casting System (DCS) is a Innosuisse project as well as a new novel approach for robotic casting system. it serves part of Scaling up in Digital Casting of Concrete. This package works to transition automated digital casting systems from the laboratory to the industry scale by overcoming the challenges addressed by inline mixing. DCS involves identifying optimal values for comprehensive system parameters, including processing and material characteristics, while carefully considering specific system requirements.
This package has three parts, which contain PLC controller for control components, DCS library for middleware, robotic control, and data handling; lastly, DCS application uses for real-time data recording and production simulation.
Requirements
Operating System and Software.
- Windows 10* or Ubuntu 22.04*
- TwinCAT 3 -- version 3.4
- Docker -- version
CAD/CAM software and simulation.
- ABB RobotStudio -- version 2023/2024
- Rhino and Grasshopper -- version 7
Usage
For further a tutorial, examples, and an API reference, please check out the online documentation HERE: digtial_casting doc
Data visualization and real-time monitoring app Please find the app HERE.
Real-time monitoring and data recording
Use the package from Git
# sync the library
uv sync
# run the main script (requires PLC hardware)
uv run scripts/main.py
PLC Controller
Please find more information HERE under Connect with TwinCAT section.
Robotic control
Real ABB robotic control
With robot support:
pip install digital-casting-system[robot] git+https://github.com/WeiTing1991/compas_rrc.git@main
# clean the stopped container
docker container prune
# compose up and connect with docker container
# Linux/WSL
docker-compose -f ./external_controllers/robot/docker_compas_rrc/real_controller/docker-compose.yml up
# windows
docker-compose -f .\external_controllers\robot\docker_compas_rrc\real_controller\docker-compose.yml up
uv run scripts/main_run_robot.py
Simulation with ABB robot(with virtual controller)
docker
# clean the stopped container
docker container prune
# docker compose up
# Linux/WSL
docker-compose -f ./external_controllers/robot/docker_compas_rrc/real_controller/docker-compose.yml up
# windows
docker-compose -f .\external_controllers\robot\docker_compas_rrc\virtual_controller\docker-compose.yml up
ABB RobotStudios Setup
Please find more information here
CAD/CAM software(Rhino and grasshopper)
Please find more information here
Concrete Controller
The sub-package external_controllers is a package that provides a set of driver to control the concrete casting machines.
More information can be found in digital casting system controller
Development
Clone the repository
git clone https://github.com/USI-FMAA/digital_casting_system.git
# Alternately
git clone --recurse-submodules https://github.com/USI-FMAA/digital_casting_system.git
# if the repository is already cloned
cd digital_casting_system
git submodule update --init --recursive
Update the submodules
# Update the submoudles
git submodule update --remote --merge
git pull --recurse-submodules
# Alternately
git submodule init
cd external_controllers
git checkout master # checkout the lastest version
git pull
# Alternately way
git submodule foreach git pull origin master
Setup the environment
With UV package manger (super fast package management build by rust)
Install UV
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv --version
Create virtual environment
UV
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e .
uv pip install -e '.[dev,doc]'
# optional
uv pip install '.[dev]' # install the development dependencies
uv pip install '.[docs]' # install the documentation dependencies
Alternately with Anaconda package manager
# Create the environment and activate it
conda create --prefix ./.env python=3.10
# Install dependencies
conda activate ./.env
pip install -r requirements.txt
# Install Compas framework
pip install compas
pip install git+git://github.com/WeiTing1991/compas_rrc.git@main
Credits
Author: Wei-Ting Chen
This package created by WeiTing Chen at USI-FMAA and ETHZurich DFab
Metadata
Release files for digital-casting-system 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| digital_casting_system-0.1.5.tar.gz | 8.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| digital_casting_system-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.3 MB
Release files / digital_casting_system-0.1.5.tar.gz
| Download URL | digital_casting_system-0.1.5.tar.gz |
|---|---|
| Size | 8.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73d447faa3f96bf16b31b463539312d29e2651871a2f728716838b795cbe5c3f
|
|
BLAKE2b-256 checksum How to use checksums |
1065b6b35afe268dcae74ad81e54945f33026604b9e3ce33116142ee36a8bbaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Release files / digital_casting_system-0.1.5-py3-none-any.whl
| Download URL | digital_casting_system-0.1.5-py3-none-any.whl |
|---|---|
| Size | 27.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7a59786cec1c702e04acebb07a75aff09ec03ce40502b93bf28e4156fb35420
|
|
BLAKE2b-256 checksum How to use checksums |
bbaa9685f56e919b8ee9830135ba25df6d90c56d97a69783061573b2b44150c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|