Skip to content

pyri-project/pyri-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyRI Open Source Teach Pendant Core Module

The Python Restricted Industrial (PyRI) Open Source Teach Pendant is designed to provide a simple, high-level programming environment for Open-Source ecosystems like Robot Raconteur and ROS. The objective is to allow engineers who are not software experts to access the powerful capabilities of these ecosystems. It provides a simple programming environment using Blockly, Restricted Python, and a top-level state machine. The Python Restricted Industrial Python dialect is a simplified subset of Python intended to be easier to use for novice programmers, to be more robust, and to be more verifiable than standard Python. This project also includes plans for a prototype teach pendant and runtime cabinet based on a Raspberry Pi, Surface Tablet, and NUC.

Demo video: https://www.youtube.com/watch?v=9KSYgGpG8mk

Get started with PyRI by installing from using pip from a private package server. See Documentation for the available documentation. It is highly recommended that the Robot Raconteur training simulator be installed and used to learn to use the software.

To install, run the following commands in a new directory. Only tested on Windows. Python 3.9 x64 is required.

c:\python39\python -m venv venv
venv\Scripts\activate
python -m pip install --upgrade pip

python -m pip install  --extra-index-url=https://pyri-project.github.io/pyri-package-server/  pyri-core pyri-cli pyri-device-manager pyri-devices-states pyri-program-master pyri-robotics pyri-robotics-motion-program pyri-sandbox pyri-variable-storage pyri-vision pyri-webui-server pyri-webui-resources

pyri-cli webui-install --extra-index-url=https://pyri-project.github.io/pyri-package-server/ pyri-robotics-browser pyri-webui-browser pyri-vision-browser pyri-robotics-motion-program-browser

PyRI is now installed. To run, execute:

pyri-core --db-file=my_project.db

Use Firefox or Chrome to open http://localhost:8000 to see the user interface.

The PyRI software is designed to work with Robot Raconteur device drivers, and Robot Raconteur proxy services for ROS devices. See https://github.com/robotraconteur/robotraconteur-directory for a directory of available drivers.

To install the training simulator, see https://github.com/robotraconteur-contrib/robotraconteur_training_sim/blob/master/README.md . It is highly recommended that the training simulator be used to learn the PyRI software.

Documentation

Blocks and Functions Reference:

Development Reference:

pyri-core Service

The pyri-core package contained in this repository contains the pyri-core service. This service is used to launch the other microservices that make up the teach pendant runtime. See pyri_software_architecture.md for more information on how this works.

Command line example:

pyri-core --db-file=my_project.db

Command line arguments:

Option Type Required Description
--db-file= File Either --db-file or --db-url The file to store the user database in using SQLite format
--db-url= SQLAlchemy URL Either --db-file or --db-url The SQLAlchemy URL of the database to use
--no-add-default-devices Flag No Disable adding default devices to a new project database

The database file to store the user program must be specified as --db-file or --db-url. The --db-url option can use an arbitrary database supported by SQLAlchemy. Other extension packages may add additional command line options to pyri-core. Check the documentation for each package for more information.

PyRI Packages

PyRI currently consists of the following packages:

Optional packages

Additional developer tools:

Teach Pendant Device:

Acknowledgment

This work was supported in part by Subaward No. ARM-TEC-19-01-F-24 from the Advanced Robotics for Manufacturing ("ARM") Institute under Agreement Number W911NF-17-3-0004 sponsored by the Office of the Secretary of Defense. ARM Project Management was provided by Christopher Adams. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of either ARM or the Office of the Secretary of Defense of the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes, notwithstanding any copyright notation herein.

This work was supported in part by the New York State Empire State Development Division of Science, Technology and Innovation (NYSTAR) under contract C160142.

PyRI is developed by Rensselaer Polytechnic Institute, Wason Technology, LLC, and contributors.

About

Python Restricted Industrial (PyRI) Open Source Teach Pendant Core Package

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages