Skip to main content

A digital control package for Digital Control System

Project description

Digital Casting System

GitHub - License Python Version Conda Version UV Version ABB Version TwinCAT Version Docker Version

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.

CAD/CAM software and simulation.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

digital_casting_system-0.1.5.tar.gz (8.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

digital_casting_system-0.1.5-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file digital_casting_system-0.1.5.tar.gz.

File metadata

  • Download URL: digital_casting_system-0.1.5.tar.gz
  • Upload date:
  • Size: 8.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for digital_casting_system-0.1.5.tar.gz
Algorithm Hash digest
SHA256 73d447faa3f96bf16b31b463539312d29e2651871a2f728716838b795cbe5c3f
MD5 11ab351a2f727c738acdb7bddcaa9281
BLAKE2b-256 1065b6b35afe268dcae74ad81e54945f33026604b9e3ce33116142ee36a8bbaa

See more details on using hashes here.

File details

Details for the file digital_casting_system-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for digital_casting_system-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e7a59786cec1c702e04acebb07a75aff09ec03ce40502b93bf28e4156fb35420
MD5 d228e69dd487c752291180b846db94bf
BLAKE2b-256 bbaa9685f56e919b8ee9830135ba25df6d90c56d97a69783061573b2b44150c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page