Skip to content

flexivrobotics/flexiv_ppdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexiv PPDK


Overview

Flexiv Parallel Program Development Kit (PPDK), a Python-based engineering toolkit for developing Flexiv parallel programs with scalability, maintainability, and modern software practices.

Flexiv parallel programs are traditionally developed using Blockly-based visual programming. While suitable for simple workflows, Blockly becomes limiting when building complex, maintainable, and scalable robotic systems. PPDK provides a Python-based alternative that enables professional software engineering practices for robotic parallel program development.


Compatibility

OS Platform Python interpreter
Linux (Ubuntu 22.04+) x86_64, aarch64 3.10, 3.12
macOS 12+ arm64 3.10, 3.12

Quick Start

Install the package

pip3 install ./ppdk-3.11+1-py3-none-any.whl

Example

from pp.parallel_program import ParallelProgram
from pp.settings import RobotSetting
from pp.core.communication import socket_open, socket_close, socket_send, socket_recv
from pp.core.robot import fault


class MyPP(ParallelProgram):
    def __init__(self, setting: RobotSetting = RobotSetting()):
        super().__init__(setting=setting)

    def pp_test_socket(self, auto_booted: bool = True, auto_looped: bool = False):
        socket_open(1, "127.0.0.1", 8080)
        socket_send(1, "hello world")
        socket_recv(1)
        socket_close(1)

    def func_hello_world(self):
        print("my func")

    def pp_hello_world(self):
        self.func_hello_world()

    def pp_prompt_fault(self):
        fault("test_fault")


if __name__ == "__main__":
    setting = RobotSetting(ip="192.168.2.50")
    pp = MyPP(setting=setting)
    pp.assign()
    pp.enable()
    pp.start()

Documentation

The complete and detailed API documentation can be found in the doc/ folder.

Comprehensive code examples can be found in the pp/examples/ folder.

About

A Python library for creating Flexiv parallel programs.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors