Installation
Hello World!
Task definition
Result description
Examples
Skeletons
Papers
Generic task sequencer that captures typical sequencing problems encountered in robot applications.
- Easily integrated into complex solution workflows
- Standalone executable with file interface (.seq, .json, .xml), .dll function calls,
Docker contained REST - Provides close-to-optimal (but not necessarily optimal) solutions quickly
- Compact solver based on an open-source VRP solver engine - Google-OR-Tools
- Arbitrary dimension - 2D, 3D or robotic joint space planning
- Build-in cost functions - Euclidian, Max, Manhattan, Trapezoid Time, Matrix
- General description language to describe sequencing problems
- Order constraints
- Resource handling
Visual Studio 2019 Solution:
- ProSeqqoLib - .NET 5.0 Class Library
- ProSeqqoConsole - .NET 5.0 Console Application
- ProSeqqoTest - .NET 5.0 MSTest Framework Application
- ProSeqqoVisualization - .NET 5.0 WPF Application
- Example
- Example/HelloWorld
- Example/Skeletons
* ProSeqqoWebService - ASP.NET 5.0 REST Web Service
Configurations defined in task space or robot configuration space in arbitrary dimensions.
These configurations filled into a hierarchy; every configuration take place in a Motion
, Task
, Alternative
and Process
.
The distance between the configurations can be defined by a matrix or calculated automatically with the selected function.
The result of the execution is a list of Positions corresponds to the following:
- Each of the n Processes has to be executed
- by selecting one of the given Alternatives…
- And executing every Task of the alternative…
- By visiting every Configuration of one possible Motion of the given Task.
The given task translated to a general travelling salesman (GTSP) graph as an input of the Google-OR-Tools VRP solver.
Parameters and description language available here and result description is here.
- Precedence constraints between Motions
- Precedence constraints between Processes
- Only one motion used in a task (Disjunctive constraint, generated automatically)
- Only one alternative used in a process (Disjunctive constraint, generated automatically)
- Cyclic and acyclic sequences with optional start and finish configuration.
- Automatic cost computation - Euclidian, Max, Manhattan, Trapezoid time
- Arbitrary costs by matrix
- Penalty for tool path or motion interruption.
- Resource and resource changeover cost handling.
- Metaheuristic configuration and time limit for VRP solver by OR-Tools.
- Standalone executable
- Dynamic Link Library (DLL)
- Visual Studio 2019 Solution
Docker Container - REST API
Installation details are available here.
- Camera-based pick and place
- Cube pick and place with multiple grasp configuration and many order constraints
- Robotic drawing
- Laser engraving
- Three-step grinding of furniture parts
Hello World! available here.
Examples and description available here.
Code and file skeletons here.
Documentation is here.
If you find any bugs, please report them! I am also happy to accept pull requests from anyone.
You can use the issue tracker to report bugs, ask questions, suggest new features or personally:
Kovács András - [email protected]
Zahorán László - [email protected]
License