Skip to content

Files

Latest commit

 

History

History

instock_connector

Instock <> InOrbit Connector

MIR <> InOrbit Connector

OS Python 3.10 Python 3.11
Linux TeamCity TeamCity
Qodana TeamCity --

Overview

This repository contains the InOrbit Robot Connector for the Instock ASRS. Making use of Instock REST API and InOrbit's Edge SDK, the Connector allows the integration of Instock ASRS with your fleet on InOrbit, unlocking interoperability.

A single instance of the Connector is capable of controlling an entire Instock ASRS.

Features

By integrating InOrbit's Python Edge SDK with Instock's API, the Connector unlocks the following key features on InOrbit's platform:

  • Visualizing: Grid configuration, status, current pick, etc.
  • Picking Actions from the ASRS
  • Camera feed integration (optional)

Requirements

Setup

There are two ways for installing the connector Python package.

  1. From PyPi: pip install inorbit-instock-connector

  2. From source: clone the repository and install the dependencies:

cd instock_connector/
virtualenv .venv
. .venv/bin/activate
pip install -r requirements.txt

Configure the Connector:

Deployment

Run the Connector manually

Once all dependencies are installed and the configuration is complete, the Connector can be run as a Python script. The entry point is inorbit_instock_connector/src/main.py (run with --help for details).

# Add the environment variables, activate the virtual environment and run the Connector
cd instock_connector/
export $(grep -v '^#' config/.env | xargs) && \
source .venv/bin/activate && \
python inorbit_instock_connector/src/main.py -c config/myinstock.example.yaml -r instock-asrs-1

A script was provided to help run the Connector.

$ ./instock_connector/scripts/start.sh
Usage: ./instock_connector/scripts/start.sh <config_basename>.<robot_id> [<args>]
example: `./instock_connector/scripts/start.sh local.instock-asrs-1 -v` runs the connector with the 'config/local.yaml' configuration and the arguments '-r instock-asrs-1 -v'
The script will start the InOrbit Instock Connector with the specified YAML configuration and robot from the config directory. Extra arguments will be passed to the connector.
Available configurations:
myinstock.example

Run the Connector as a service

To run the Connector as a service, you can use the provided systemd service file. It can be installed by running scripts/install_service.sh.

Example: create a service named instock-connector.myinstock.example.instock-asrs-1 that runs the Connector with config/myinstock.example.yaml as a config file and the robot ID instock-asrs-1:

./instock_connector/scripts/install_service.sh myinstock.example.instock-asrs-1

The service can be enabled at boot and started with

sudo systemctl enable instock-connector.<config_basename>.<robot_id>.service
sudo systemctl start instock-connector.<config_basename>.<robot_id>.service

Next Steps

A few areas of improvement in our feature-set include:

  • Multi-order status tracking - currently we list a "latest order" sent through the connector
  • Add articles as a data-source
  • Add article movements as a data-source

If you'd like to contribute, please see CONTRIBUTING.md for more information!

Powered by InOrbit