Skip to main content

No project description provided

Project description

๐Ÿค– RoboCafe Control System

A Python-based GUI application to operate and calibrate an automated robotic coffee and ice-cream station. The system is built with PySide6 and designed for use with xArm robotic arms, coffee/ice-cream machines, cup dispensers, shields, and Vendista for client payments.


๐Ÿš€ Features

  • Component Health Check: Run diagnostics on all machines (robotic arm, dispensers, dumping mechanism, etc.).
  • Manual & Assisted Calibration: Adjust arm positions via interactive GUI with drag-and-drop node editor and live coordinate control (XYZ + RPY).
  • Flow-Based Node Editor: Design custom delivery paths using a visual flowchart system.
  • Recipe Editor: Create and edit recipes that define arm actions and sequences.
  • Operator & Client Modes: Seamlessly switch between technician/operator and client-facing interfaces.
  • Environment Settings Panel: Easily update network settings and relay mappings through .env.
  • Logging & Error Handling: Centralized logging with loguru, robust error management, and safe shutdown prompts.

๐Ÿ–ฅ๏ธ Screenshots

(Insert screenshots of the schematic view, calibration controls, and client UI here)


๐Ÿงฑ Project Structure


robotic-coffee-station/
โ”œโ”€โ”€ app.py                       # App entry point
โ”œโ”€โ”€ gui/                         # GUI layers
โ”‚   โ”œโ”€โ”€ operator/
โ”‚   โ”‚   โ”œโ”€โ”€ calibration.py       # Calibration system (schematic + node editor)
โ”‚   โ”‚   โ””โ”€โ”€ settings.py          # Network/device settings manager
โ”œโ”€โ”€ hardware/
โ”‚   โ”œโ”€โ”€ arm/controller.py        # xArm SDK interface or mock
โ”‚   โ””โ”€โ”€ relays/plc.py            # PLC-based relay controller
โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ logger.py                # loguru setup
โ”‚   โ””โ”€โ”€ helpers.py               # pathfinder, helpers
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ calibration.json         # Flowchart connections
โ”‚   โ”œโ”€โ”€ components.json          # Schematic component coordinates
โ”‚   โ”œโ”€โ”€ nodes.json               # Node positions and calibration info
โ”œโ”€โ”€ resources/
โ”‚   โ””โ”€โ”€ icons/                   # UI icons for devices
โ”œโ”€โ”€ .env                         # Environment config (Vendista keys, IPs, ports)
โ”œโ”€โ”€ pyproject.toml               # Poetry config
โ”œโ”€โ”€ README.md


โš™๏ธ Setup

Requirements

  • Python 3.10+
  • Poetry
  • xArm SDK (for real arm control)
  • PySide6, loguru, python-dotenv

Installation

# Clone the repo
git clone https://github.com/yourusername/robotic-coffee-station
cd robotic-coffee-station

# Install dependencies
poetry install

# Create .env file
cp .env.example .env
# Edit .env to configure relay IPs, Vendista keys, etc.

Run the App

poetry run python app.py

๐Ÿ”‘ Environment Variables (.env)

RELAY_IP=192.168.1.130
RELAY_UTP_PORT=5005
BUFFER_SIZE=1024
XARMAPI=192.168.1.191

DISPENSER_S=all00000001
DISPENSER_M=all00000010
BIN=all00000100
SHIELD=all00001000

VENDISTA_API_KEY=your-secure-key

๐Ÿงช Testing

To run tests (planned or future):

poetry run pytest tests/

๐Ÿงฐ Tech Stack

  • Python 3.10+
  • PySide6 โ€“ GUI
  • loguru โ€“ Logging
  • dotenv โ€“ Environment variable handling
  • xArm SDK โ€“ Robotic arm control
  • Poetry โ€“ Dependency management
  • QGraphicsScene โ€“ Custom node editor & schematic layout

๐Ÿ“Œ Status

This project is actively developed. Calibration logic and schematic interface are operational. Recipes, client interface, and Vendista integration are in progress.


๐Ÿ“ƒ License

MIT License. See LICENSE file for details.


๐Ÿ‘ค Author

Developed by Nemkov M, 2025.

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

mini_coffee-0.1.0.tar.gz (173.5 kB view details)

Uploaded Source

Built Distribution

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

mini_coffee-0.1.0-py3-none-any.whl (204.4 kB view details)

Uploaded Python 3

File details

Details for the file mini_coffee-0.1.0.tar.gz.

File metadata

  • Download URL: mini_coffee-0.1.0.tar.gz
  • Upload date:
  • Size: 173.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0

File hashes

Hashes for mini_coffee-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fe4eb38381b1679e74767baf10e7c8c53daccaade85f0af4d90b7a8763999062
MD5 7f46ac3cdf1adb7478b274cd5b20541b
BLAKE2b-256 6cf51b092a39a352d732f28d61e70e9a7c5f780078a1dfb3989e43c577691d52

See more details on using hashes here.

File details

Details for the file mini_coffee-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mini_coffee-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 204.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0

File hashes

Hashes for mini_coffee-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2fcee49959b1f05b24342c650ad36a366407ebc65aa1ba2f132d585960b97ef
MD5 5bab30c1eefdc67c3cfd701d1e44c657
BLAKE2b-256 939a8dbfbc9f57a3a61140b331a240933504541a6226f10938fb91842da47281

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