SG/Cellrobot 0983dd4892 feat: enhance interactive movement script with pump and valve control; update speed configuration in movement settings 5 months ago
..
config 0983dd4892 feat: enhance interactive movement script with pump and valve control; update speed configuration in movement settings 5 months ago
src 58e17fce68 feat: retry defeeding next time; add max cell limits to magazine handling; rename variables for clarity and improve error handling 5 months ago
README.md b2334a5f29 ref: restructure project for better clarity 8 months ago
__init__.py b2334a5f29 ref: restructure project for better clarity 8 months ago
requirements.txt c6af701f62 ref: update configuration handling with pydantic; replace LoggerSingleton with standard logging module; 8 months ago
setup.py b2334a5f29 ref: restructure project for better clarity 8 months ago

README.md

Robot Control Project

This project implements a 2D portal robot capable of picking battery cells, reading data matrices, managing measurement requests via a REST API, and sorting cells based on measurement results.

Project Structure

  • src/: Contains the main application code.

    • api/: Handles the REST API for managing robot tasks.
    • robot/: Contains the robot's control logic and movement.
    • vision/: Manages the vision-related functionalities, including data matrix reading.
    • main.py: The entry point of the application.
  • tests/: Contains unit tests for the application modules.

  • requirements.txt: Lists the dependencies required for the project.

Features

  • REST API for starting measurements and managing robot tasks.
  • Robot control for picking, inserting, and sorting battery cells.
  • Navigation and movement logic for the robot.
  • Vision capabilities for reading data matrices from battery cells.

Installation

  1. Clone the repository.
  2. Navigate to the project directory.
  3. Install the required dependencies:

    pip install -r requirements.txt
    

Usage

Run the application using:

python src/main.py

Testing

To run the tests, use:

pytest